- 移除新增客户页面对手机号的必填和格式校验 - 修改手机号字段标签为“手机号/微信号”,取消必填和长度限制 - 新增判断当前用户是否为超级管理员逻辑 - 抽取并统一构建客户查询参数方法,根据权限动态设置筛选条件 - 优化客户列表数据获取逻辑,支持超级管理员查看全部客户 - 调整依赖项,更新使用了新构建的查询参数函数 - 增强状态统计接口参数构建,统一调用参数生成函数 - 优化副作用 Hook 依赖,保证数据加载时机正确
75 lines
3.5 KiB
Markdown
75 lines
3.5 KiB
Markdown
# 2026-06-04 工作日志
|
||
|
||
## 登录页迁移 (paopao-taro → template-10582)
|
||
|
||
从 `/Users/gxwebsoft/VUE/paopao-taro/src/passport/login.tsx` 迁移微信手机号快捷登录功能到当前项目。
|
||
|
||
### 变更文件
|
||
1. **`src/passport/login.tsx`** — 完全重写,从手机号+密码表单登录改为微信手机号快捷登录
|
||
- 使用 `openType='getPhoneNumber'` 微信授权登录
|
||
- 调用 `/wx-login/loginByMpWxPhone` 接口
|
||
- 支持邀请参数解析与推荐关系绑定
|
||
- 登录后自动绑定 openid、处理邀请关系
|
||
- 品牌「南南佐顿门窗」,TenantId = 10582
|
||
- 无 logo.png 资源,改用品牌名首字「南」文字 logo
|
||
|
||
2. **`src/passport/login.scss`** — 新建,从 paopao-taro 迁移的渐变背景登录页样式
|
||
- 紫蓝渐变背景 + 浮动圆圈动画
|
||
- 绿色微信登录按钮
|
||
- 自定义协议勾选框
|
||
|
||
3. **`src/utils/invite.ts`** — 新增 `checkAndHandleInviteRelation` 函数
|
||
- 登录成功后自动检查并处理待处理的邀请关系
|
||
- 复用已有的 `handleInviteRelation` 函数
|
||
|
||
### 依赖确认
|
||
- `@/api/layout`: `getWxOpenId`, `getUserInfo` ✅ 已有
|
||
- `@/utils/server`: `saveStorageByLoginUser`, `SERVER_API_URL` ✅ 已有
|
||
- `@/utils/invite`: `parseInviteParams`, `saveInviteParams`, `trackInviteSource`, `hasPendingInvite` ✅ 已有
|
||
- `@/config/app`: `TenantId` ✅ 已有 (config/app.ts, TenantId='10582')
|
||
|
||
### 构建验证
|
||
- `taro build --type weapp` 构建成功,无编译错误
|
||
|
||
## 个人资料完善流程优化 (2026-06-04 17:07)
|
||
|
||
### 1. 头像检查逻辑简化(仅检查头像)
|
||
**文件**: `src/pages/index/Header.tsx`
|
||
- `reload()` 中移除昵称检查,仅检查 `hasAvatar`
|
||
- 移除监听 `nickname === '微信用户'` 的 `useEffect` 自动跳转逻辑
|
||
- 新增 `useDidShow` 钩子:从 profile 页返回时重新检查头像状态
|
||
|
||
### 2. Profile 页面移除昵称字段
|
||
**文件**: `src/user/profile/profile.tsx`
|
||
- 删除昵称 `Form.Item`、`getWxNickname` 函数
|
||
- 移除 `Input` 导入和 `InputEvent` 类型定义
|
||
- 保留头像上传、性别、备注等字段
|
||
|
||
### 3. 修复头像更新后不立即刷新
|
||
**根因**: `useUser` 使用 `useState`,每个组件实例独立持有 state。profile 页更新 `user` 后,UserCard 组件无法感知变化。
|
||
**修复**: `src/pages/user/components/UserCard.tsx` 新增 `useDidShow`,页面显示时调用 `fetchUserInfo()` 重新拉取用户数据。
|
||
|
||
### 4. 修复登出时 Avatar/Nickname 存储未清除
|
||
**文件**: `src/hooks/useUser.ts`
|
||
- `logoutUser()` 补充清除 `Taro.removeStorageSync('Avatar')` 和 `Taro.removeStorageSync('Nickname')`,防止切换账号时数据残留。
|
||
|
||
## 后台管理按钮新增 PC 端引导页 (2026-06-04 17:10)
|
||
|
||
### 背景
|
||
用户中心页 UserCell.tsx 中"后台管理"按钮(仅管理员可见)原本跳转到首页占位,现改为引导用户到 PC 端后台。
|
||
|
||
### 变更
|
||
1. **新增页面 `src/admin/redirect/index.tsx`** — PC 端引导页
|
||
- 显示"请在电脑端打开后台管理"提示
|
||
- 展示管理后台地址 `https://nnlzdmc.websoft.top`
|
||
- "复制链接并在电脑浏览器打开"按钮(`Taro.setClipboardData`)
|
||
- 底部提示使用 Chrome/Edge 浏览器
|
||
|
||
2. **修改 `src/pages/user/components/UserCell.tsx`** — 第 40 行
|
||
- `onClick` 从 `Taro.reLaunch({url: '/pages/index/index'})` 改为 `navTo('/admin/redirect/index', true)`
|
||
|
||
3. **路由注册** — `app.config.ts` admin 分包已包含 `redirect/index`(已存在配置)
|
||
|
||
### 构建验证
|
||
- `taro build --type weapp` 成功,dist 目录下 `admin/redirect/` 正常输出
|