Files
Neo-ZQYY/docs/miniprogram-dev/api-audit/my-profile.md

4.2 KiB
Raw Blame History

my-profile 页面数据来源排查

排查日期2026-03-18 页面路径pages/my-profile/my-profile

概览

分类 数量 说明
Mock 数据 1 mockUserProfile — 用户信息全量 mock
硬编码数据 5 路由映射、弹窗文案、菜单 key 等
已对接 API 0 ⚠️ 无任何 API 调用
前端计算/派生 1 TabBar 选中态同步
路由参数 0
WXML 硬编码文案 5 菜单文字、弹窗文案

一、Mock 数据

1.1 mockUserProfile🔴 高风险 — 页面核心数据全量 mock

属性
来源文件 utils/mock-data.ts
导入方式 import { mockUserProfile } from '../../utils/mock-data'
赋值位置 data.userInfo = mockUserProfile(页面初始化)
类型定义 UserProfile { name, avatar, role, storeName }

Mock 值:

字段 Mock 值 联调后应来自
name '小燕' API — 用户昵称
avatar '/assets/images/avatar-coach.png' API — 用户头像 URL
role '助教' API — 用户角色
storeName '朗朗桌球' API — 所属门店名称

影响范围: 用户信息卡片区域(头像、姓名、角色标签、门店名)全部依赖此 mock。

二、硬编码数据

# 文件 位置 内容 风险等级 说明
1 router.ts MENU_ROUTE_MAP 'chat-history''/pages/chat-history/chat-history' 🟢 菜单路由映射
2 router.ts MENU_ROUTE_MAP 'notes''/pages/notes/notes' 🟢 菜单路由映射
3 router.ts MENU_ROUTE_MAP 'settings'''(空字符串) 🟡 设置页未实现,点击无响应
4 .ts onLogout() title: '确认退出', content: '确认退出当前账号吗?' 🟢 弹窗文案
5 .ts onLogout() confirmColor: '#e34d59' 🟢 确认按钮颜色
6 .ts onLogout() url: '/pages/login/login' 🟢 退出后跳转路径

三、已对接 API

⚠️ 无。 本页面当前未调用任何 API。

代码中有两处 TODO 注释明确标注:

  • .ts L4: // TODO: 联调时替换为真实 API 获取用户信息
  • .ts L11: // TODO: 联调时在此刷新用户信息

预期对接 API

端点(推测) 用途 替换目标
GET /api/xcx/me 或专用 profile 接口 获取当前用户信息 mockUserProfile

四、前端计算/派生数据

# 数据 来源 说明
1 TabBar active: 'my' this.getTabBar().setData() onShow 时同步 custom-tab-bar 选中态
2 route getMenuRoute(key) 纯函数 MENU_ROUTE_MAP 查找菜单 key 对应的页面路径

五、路由参数

无。本页面为 TabBar 页面,不接收路由参数。

六、WXML 硬编码文案

# 内容 位置 建议
1 "备注记录" menu-text 可保留
2 "助手对话记录" menu-text 可保留
3 "退出账号" menu-text 可保留
4 菜单图标路径 /assets/icons/menu-notes.svg menu-icon image src 🟢 低,静态资源
5 visible="{{true}}" ai-float-button 🟢 低,控制 AI 按钮显示

七、联调 TODO

# 优先级 事项 当前状态 说明
1 🔴 P0 替换 mockUserProfile 为真实 API 数据 未开始 页面核心数据全量 mock需对接用户信息接口
2 🟡 P1 onShow 中添加 API 刷新逻辑 未开始 确保每次进入页面获取最新用户信息
3 🟡 P1 确认用户信息接口字段映射 未开始 name/avatar/role/storeName 需与后端字段对齐
4 🟢 P2 移除 mock-data.tsmockUserProfile 的导入 未开始 API 对接完成后清理

结论: my-profile 页面当前处于纯 mock 状态,用户信息卡片(姓名、头像、角色、门店)全部来自硬编码 mock 数据,是联调优先级最高的待办项。菜单跳转和退出登录逻辑已实现,无需额外对接。