fix(order): 修复订单与用户页面登录校验和跳转逻辑

- 订单列表页未登录时弹出登录引导弹窗,而非直接跳转
- 登录页登录成功添加订单列表为白名单,支持登录后回跳订单页
- 我的页面菜单和订单按钮未登录时增加登录弹窗拦截
- 需登录菜单项添加 requireAuth 标记并视觉降级为半透明
- 订单快捷入口增加登录拦截和登录后回跳逻辑
- 修改“联系电话”为新号码,更新联系信息
This commit is contained in:
2026-07-14 01:48:12 +08:00
parent fd03ed80fd
commit 596fa27d60
5 changed files with 57 additions and 15 deletions

View File

@@ -112,7 +112,22 @@ adapter `/list` 接口忽略分页,一次返回全部收藏;前端 `listShop
页面缺少登录校验——`useEffect` 直接调用 `loadOrders`,未登录时 `user?.userId``undefined`,后端未按用户过滤直接返回了订单。
### 修改
- **`src/pages/order/list.tsx`**采用项目标准模式 A与 commission.tsx 等页面一致):
- **`src/pages/order/list.tsx`**
1.`useUser()` 获取 `isLoggedIn`
2. `useEffect``if (!isLoggedIn)` 守卫 → `Taro.navigateTo('/passport/login')` + return
3. render 中 `if (!isLoggedIn) return null`
2. `useEffect`未登录时调用 `requireLogin({ action: 'viewOrder', redirect: '/pages/order/list', content: '登录后才能查看订单,是否前往登录?' })` 弹窗引导,而不是直接跳转
3. render 中 `if (!isLoggedIn) return null` 兜底,避免未登录时渲染订单内容
- **`src/passport/login.tsx`**:登录成功后的 `tabBarUrls` 白名单补全 `pages/order/list`,确保从订单入口登录后能 `switchTab` 回订单页
## 我的页面未登录可点击需登录功能 Bug 修复2026-07-14
### 问题
`pages/user/user` 未登录时,点击「我的订单」下的按钮(待付款/待发货/待收货/已完成、「全部订单」、以及菜单中的「升级VIP会员」「我的钱包」「收货地址」「我的收藏」都能直接跳转页面。
### 修改
- **`src/pages/user/user.tsx`**
1. 导入 `requireLogin` from `@/utils/login-guard`
2. 给需要登录的菜单项加 `requireAuth: true` 标记升级VIP会员/门店中心/我的钱包/收货地址/我的收藏)
3. 新增 `handleMenuClick(item)``requireAuth` 项调用 `requireLogin` 弹窗拦截,已登录才 `navigateTo`
4. 新增 `handleOrderTabClick(status)``handleViewAllOrders()`:订单入口 `requireLogin` 拦截,并加 `redirect: '/pages/order/list'` 让登录后回跳订单页
5. 未登录时需登录的菜单项和订单按钮加 `opacity-50` 视觉降级
6. 「帮助中心」「设置」不需要登录,保持原样