Просмотр исходного кода

docs: 我的页面电商风格改造设计

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Xiaogang Liao 2 месяцев назад
Родитель
Сommit
66c2a7bbdd
1 измененных файлов с 102 добавлено и 0 удалено
  1. 102 0
      docs/superpowers/specs/2026-08-12-profile-ecommerce-style-design.md

+ 102 - 0
docs/superpowers/specs/2026-08-12-profile-ecommerce-style-design.md

@@ -0,0 +1,102 @@
+# 我的页面电商风格改造设计
+
+日期:2026-08-12
+状态:已批准(用户确认五宫格 + 不保留待完成任务)
+
+## 背景
+
+"我的"页面(`pages/profile-main/profile.vue`)当前布局偏家庭教育工具风。用户希望将其改造成类似电商小程序"我的"页面的常见结构:订单状态宫格 + 购物车 + 收货地址 + 设置菜单。
+
+## 当前结构
+
+1. 身份卡(保留)
+2. 家庭成员速览(保留)
+3. 个人成就统计(保留)
+4. 待办提醒区(`reminder-section`,条件显示:待完成任务/待付款/待收货/售后)
+5. 功能入口网格(`menu-grid-section`:家庭成员/家庭挑战/成长记录/健康报告/测评预约/设置)
+6. 退出登录(保留)
+
+## 目标结构
+
+1. 身份卡(不变)
+2. 家庭成员速览(不变)
+3. 个人成就统计(不变)
+4. **"我的订单"五宫格区块**(常驻显示,替代原待办提醒区)
+5. **设置菜单项**(替代原功能入口网格中的设置,放在退出登录上方)
+6. 退出登录(不变)
+
+## 改动明细
+
+### ① 待办提醒区 → "我的订单"电商区块(常驻)
+
+```
+┌─────────────────────────────┐
+│ 我的订单             全部订单 › │
+│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
+│ │ 💳   │ │ 📦   │ │ 🚚   │ │ 🔧   │ │ 📋   │ │
+│ │ 待付款 │ │ 待发货 │ │ 待收货 │ │ 售后  │ │ 全部  │ │
+│ │ (N)  │ │ (N)  │ │ (N)  │ │ (N)  │ │ (N)  │ │
+│ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ │
+│ ┌───────────┐ ┌───────────┐                │
+│ │ 🛒 购物车(N) │ │ 📍 收货地址  │                │
+│ └───────────┘ └───────────┘                │
+└─────────────────────────────┘
+```
+
+- 五宫格:待付款 / 待发货 / 待收货 / 售后 / 全部订单
+  - 前四格带数量角标(对应订单状态数),点击跳 `/pages/shop/order-list/order-list?status=<value>` 定位对应 tab
+  - 第五格"全部订单"不带角标,点击跳 `/pages/shop/order-list/order-list`
+- 下方一行两个入口:
+  - 购物车(带数量角标)→ `/pages/shop/cart/cart`
+  - 收货地址 → `/pages/shop/address/address`
+- 原"待完成任务"提醒**不保留**(用户确认)
+- 原 `hasReminders` 条件显示逻辑移除,该区块常驻
+
+### ② 功能入口网格 → 整个删除
+
+`menu-grid-section`(家庭成员/家庭挑战/成长记录/健康报告/测评预约)全部移除。原网格中的"设置"移至下方菜单区。
+
+### ③ 设置 → 菜单项形式(退出登录上方)
+
+```
+┌─────────────────────────────┐
+│ ⚙️ 设置                    › │  ← 复用现有 goToSettings()(ActionSheet)
+├─────────────────────────────┤
+│ 🚪 退出登录                  │  ← 不变
+└─────────────────────────────┘
+```
+
+- 设置项复用现有 `goToSettings()` 逻辑(ActionSheet:完善信息/家庭成员/邀请加入/设置密码/隐私设置/关于浠艾福)
+
+### ④ 附带修正
+
+1. **订单字段映射修正**:`loadOrderCounts()` 现有映射把 `paid` 放到"待付款",错误。后端返回 `pending/paid/shipped/refunding`,修正为:
+   - 待付款 = `pending`
+   - 待发货 = `paid`
+   - 待收货 = `shipped`
+   - 售后 = `refunding`
+   - 全部 = `total`
+2. **购物车角标加载**:`loadCartCount()` 方法已存在但 `loadAllData()` 未调用,补上调用。
+3. **order-list 支持 status 参数**:`pages/shop/order-list/order-list.vue` 的 `onLoad()` 目前不读取 query 参数,改为 `onLoad(options)` 读取 `options.status` 并设置 `currentStatus`,实现宫格定位。
+
+## 数据流
+
+- `onShow` → `loadAllData()` → `loadOrderCounts()`(订单角标)+ `loadCartCount()`(购物车角标)
+- 点击宫格/购物车/收货地址 → `uni.navigateTo` 对应页面
+
+## 错误处理
+
+- 订单/购物车接口失败:沿用现有 `.catch(function() {})` 静默处理,角标显示 0
+- 后端接口 404(如 `profile-stats` 未部署):静默失败,不影响页面渲染
+
+## 验证
+
+- `node --check` 提取的 script 块语法检查
+- 微信开发者工具人工验证:五宫格显示、角标数字、各入口跳转、设置菜单、退出登录
+- 需 HBuilderX 重新打包生效
+
+## 范围外
+
+- 不改动 `pages/profile/index.vue`(分包旧入口,使用 ProfileMenu 组件)
+- 不改动 `components/ProfileMenu.vue`
+- 不改动个人成就统计区数据加载逻辑