- 针对铃铛红点和计数,改为仅门店角色可见 - 新订单提醒回调增加角色校验,非门店不弹Toast和震动 - 订单管理页增加访问控制,非门店自动跳回防止越权访问 - 保留消息点击事件中对角色的原有区分逻辑 - 弹窗宽度调整及登录同步逻辑未变动
21 lines
1.8 KiB
Markdown
21 lines
1.8 KiB
Markdown
# 2025-07-15 工作日志
|
||
|
||
## 关于页面隐藏开发者登录
|
||
- 在 `src/pages/user/about/index.tsx` 底部版权信息上添加了点击 11 次弹出隐藏登录弹窗的功能
|
||
- 登录方式:手机号 + 短信验证码,复用 `loginBySms` / `sendSmsCaptcha` API(from `@/api/passport/login`)
|
||
- 点击计数使用 `useRef` 保证快速点击时的同步性,超过 3 秒未点击自动重置
|
||
- 步数提示从**第 6 次**点击开始显示(Android 开发者模式风格)
|
||
- **(已更新)** 弹窗布局完全对齐 `sms-login.tsx` 写法:验证码行取消 `gap-2`/`flex-1` 包裹,改用 `flex items-center` 直接放 Input + Button;登录按钮取消 `block`/`shape`/`style`,改用 `className='w-full rounded-lg p-2'` + 外层 `flex justify-center`,解决小程序中 Button 不显示的问题
|
||
- 弹窗宽度从 300px 加宽到 **340px**
|
||
- 登录成功后调用 `useUserContext().syncFromStorage()` 同步 React 登录态(`loginBySms` 内部已写入 storage 但不返回数据)
|
||
- 弹窗 UI 使用 NutUI `Input` + `Button`,带 60 秒倒计时
|
||
|
||
## 修复首页铃铛权限漏洞和非门店用户新订单提醒
|
||
- **问题1**:非门店角色用户也能通过铃铛进入订单管理页
|
||
- **问题2**:新订单提醒(红点badge + Toast)对非门店用户也显示
|
||
- **修复**:
|
||
1. `src/pages/index/index.tsx`:铃铛 badge 显示条件从 `isLoggedIn` 改为 `isClerk`(红点和计数仅门店角色可见)
|
||
2. `src/pages/index/index.tsx`:`onNewOrders` 回调增加 `isClerkRef.current` 检查,非门店角色不弹 Toast/震动
|
||
3. `src/pages/store/orders/index.tsx`:订单管理页增加访问控制,`getMyClerk()` 校验非门店角色自动跳回(防御性拦截)
|
||
- `handleMessageClick` 中已有 `isClerk` 判断(店员→订单管理,普通用户→消息通知页),无需修改
|