Files
赵忠林 81324cbb82 fix(index): 修复首页铃铛权限漏洞和非门店用户新订单提醒
- 针对铃铛红点和计数,改为仅门店角色可见
- 新订单提醒回调增加角色校验,非门店不弹Toast和震动
- 订单管理页增加访问控制,非门店自动跳回防止越权访问
- 保留消息点击事件中对角色的原有区分逻辑
- 弹窗宽度调整及登录同步逻辑未变动
2026-07-15 03:24:53 +08:00

21 lines
1.8 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.

# 2025-07-15 工作日志
## 关于页面隐藏开发者登录
-`src/pages/user/about/index.tsx` 底部版权信息上添加了点击 11 次弹出隐藏登录弹窗的功能
- 登录方式:手机号 + 短信验证码,复用 `loginBySms` / `sendSmsCaptcha` APIfrom `@/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` 判断(店员→订单管理,普通用户→消息通知页),无需修改