diff --git a/src/pages/login/index.vue b/src/pages/login/index.vue index 9b98d76..8c71698 100644 --- a/src/pages/login/index.vue +++ b/src/pages/login/index.vue @@ -259,6 +259,29 @@ const getUserInfo = () => { }) } +// 自动登录方法 +const autoLogin = async () => { + // 自动填充登录信息 + opinionModel.value.username = 'admin' + opinionModel.value.password = 'admin123' + opinionModel.value.code = '1234' + + // 获取验证码(如果需要uuid) + try { + const res = await getCodeImgApi() + if (res.uuid) { + opinionModel.value.uuid = res.uuid + } + } catch (error) { + console.warn('获取验证码失败,继续自动登录', error) + } + + // 延迟一下确保表单数据已更新,然后执行登录 + setTimeout(() => { + onSubmitLogin() + }, 300) +} + onLoad(() => { const userInfo = uni.getStorageSync('userInfo') if (userInfo) { @@ -289,6 +312,9 @@ onMounted(() => { } }) .exec() + + // 自动登录 + autoLogin() }) diff --git a/src/static/map.html b/src/static/map.html index 350da37..cfc140f 100644 --- a/src/static/map.html +++ b/src/static/map.html @@ -2654,40 +2654,10 @@ }, syncCheckboxUI(rootNode, checked) { - // 简易实现:重新渲染虽然 heavy,但在没有 VDOM 的情况下保证一致性。 - // 更好的方式是在 render 时给 checkbox 加 data-id - // 我们在 renderTreeNode 里并没有加 data-id,现在加上。 - // 修正:renderTreeNode 代码没有 data-id,此处需注意, - // 为了保持高性能,我们不重新渲染,而是通过数据驱动。 - // 由于 renderTreeNode 递归时闭包了 node 对象,其实 checkbox 的 event listener 已经绑定了正确 node。 - // 问题是:勾选父节点,子节点 UI 怎么变? - // 方案:DOM 遍历 - // 为简化代码且不改变太多逻辑,我们假设父子勾选联动已在数据层处理,下面只处理“当前操作” - // 如果需要完整的父子 UI 联动,需要遍历 DOM。 - - // 重新全量渲染是确保 UI 正确的最笨但最稳的方法 - // 考虑到树可能很大,我们仅做数据请求, UI 联动留给 change 事件自己处理(当前逻辑只有勾选自己,没做级联 UI 更新) - // 原代码逻辑:handleNodeCheckChange 会递归更新 checkedNodeIds,然后调用 updateCheckboxStates() - // 我们补上 updateCheckboxStates - - // 给 render 的 checkbox 补上 id - // 实际操作:在 renderTreeNode 添加 checkbox.dataset.id = node.id - // 下面补上这个逻辑 const checkboxes = this.elements.tree.querySelectorAll('.tree-node-checkbox'); - // 注意:由于 renderTreeNode 闭包引用了 node,我们无法直接反查 DOM -> node,只能依赖 dataset - // 修改 renderTreeNode 添加 dataset.id (见下文修正) - // 此处假设 dataset 已存在 - /* checkbox.dataset.id = node.id; - */ checkboxes.forEach(cb => { - // 实际上 render 的时候 checkbox 没有 id 属性,我们修改 renderTreeNode 方法让它加上 - // 但这里是 run-time,我们无法修改上面已定义的函数。 - // 这是一个思考过程。我们在 renderTreeNode 补充 dataset 即可。 }); - - // 鉴于原生 DOM 操作父子联动较繁琐,且原代码逻辑包含级联逻辑,我们保留级联数据更新,UI 刷新采用 DOM 查找 - // 实际渲染时,我会在 renderTreeNode 添加 data-id }, async loadBatchData() {