feat(login): 支持用户ID、邮箱及超级管理员短信验证码登录

- 在登录参数中新增 userId 和 email 字段,支持多种登录凭证
- 新增 loginByUserId、loginByEmail 和 loginBySuperAdminSms 三种登录API
- 新增跨租户查询管理员账号接口 listAdminsByEmailAll
- 登录页支持账号登录与手机号登录标签切换,添加动画效果
- 账号登录中合并用户ID及邮箱登录逻辑,增加输入格式验证
- 调整登录表单UI和交互,优化输入框占位及样式
- 更新登录时的用户信息及租户ID本地存储逻辑
- 修正登录页版权信息为 websopy Inc.
This commit is contained in:
2026-07-20 11:35:49 +08:00
parent 4a91140a76
commit f0efe079e7
5 changed files with 269 additions and 111 deletions

View File

@@ -0,0 +1,24 @@
# 2026-07-20 工作记录
## 复制 site-vue 登录页到 mp-vue
`/Users/gxwebsoft/VUE/site-vue/src/views/passport/login` 的登录页复制到当前项目 `mp-vue/src/views/passport/login`
### 关键发现
- 两边 `components/` 子目录完全一致,无需复制;仅 `index.vue` 有差异源为重构后的新版本22387 字节)。
- 源登录页重构后依赖 site-vue 专属 APImp-vue 原本缺失:
- `loginByUserId` / `loginByEmail`:写死了外部地址 `https://server.websoft.top/api/...`(非 mp-vue 后端)
- `loginBySuperAdminSms`:走 `SERVER_API_URL + '/loginBySuperAdminSms'`
- `listAdminsByEmailAll`(来自 `@/api/system/user`):同样指向 `server.websoft.top`
- 用户确认采用「完整移植含 API」方案保留上述 websoft.top 硬编码地址(已知风险:登录会打到 site-vue 后端,需确认 mp-vue 后端是否支持这些接口)。
### 已改动文件
1. `src/views/passport/login/index.vue` —— 直接覆盖为源版本。
2. `src/api/passport/login/index.ts` —— 新增 `loginByUserId``loginBySuperAdminSms``loginByEmail` 三个函数。
3. `src/api/system/user/index.ts` —— 新增 `listAdminsByEmailAll` 函数。
4. `src/api/passport/login/model/index.ts` —— LoginParam 增加 `userId``email` 字段。
### 验证
- 所有 import 符号在 mp-vue 中均存在(`@/router``QrCodeStatusResponse``QrLogin` 组件、`configWebsiteField` 等)。
- 两边 `User` 模型字段一致(含 `isSuperAdmin``templateId`),表单初值与 `LoginForm` 类型匹配。
- 已触发 `vue-tsc --noEmit` 全量类型检查(后台任务)确认无编译错误。