# 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` 判断（店员→订单管理，普通用户→消息通知页），无需修改
