Files
template-10582/.workbuddy/memory/2026-06-04.md
赵忠林 b130d4ac4c refactor(customer): 优化客户数据查询和表单字段校验
- 移除新增客户页面对手机号的必填和格式校验
- 修改手机号字段标签为“手机号/微信号”,取消必填和长度限制
- 新增判断当前用户是否为超级管理员逻辑
- 抽取并统一构建客户查询参数方法,根据权限动态设置筛选条件
- 优化客户列表数据获取逻辑,支持超级管理员查看全部客户
- 调整依赖项,更新使用了新构建的查询参数函数
- 增强状态统计接口参数构建,统一调用参数生成函数
- 优化副作用 Hook 依赖,保证数据加载时机正确
2026-06-04 17:15:48 +08:00

75 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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/` 正常输出