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

1.8 KiB
Raw Blame History

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.tsxonNewOrders 回调增加 isClerkRef.current 检查,非门店角色不弹 Toast/震动
    3. src/pages/store/orders/index.tsx:订单管理页增加访问控制,getMyClerk() 校验非门店角色自动跳回(防御性拦截)
  • handleMessageClick 中已有 isClerk 判断(店员→订单管理,普通用户→消息通知页),无需修改