6.6 KiB
小程序全页面硬编码汇总与处置方案
生成时间:2026-03-18 | 最后更新:2026-03-18 覆盖页面:18 个(全部业务页面)
一、分类说明
| 类别 | 说明 | 行动 |
|---|---|---|
| ✅ 已修复 | 已完成修改 | — |
| 📋 已决策-暂不动 | 用户已确认处置方式,当前不改 | 联调时处理 |
| 🔒 保留 | 合理的 UI 文案/默认值/样式常量 | 不动 |
二、✅ 已修复的硬编码
2.1 时间/日期硬编码 → 动态计算 ✅
| # | 页面 | 字段 | 原值 | 修改结果 |
|---|---|---|---|---|
| 1 | customer-service-records | currentYear |
2026 |
new Date().getFullYear() |
| 2 | customer-service-records | currentMonth |
2 |
new Date().getMonth() + 1 |
| 3 | customer-service-records | maxYearMonth |
202602 |
动态计算当前年月 |
| 4 | customer-service-records | minYearMonth |
202601 |
动态计算(当前年月 - 12 个月) |
| 5 | performance-records | currentYear |
2026 |
new Date().getFullYear() |
| 6 | performance-records | currentMonth |
2 |
new Date().getMonth() + 1 |
| 7 | performance-records | monthLabel |
'2026年2月' |
动态拼接 |
2.2 用户信息 → 从 globalData.authUser 读取 ✅
| # | 页面 | 字段 | 原值 | 修改结果 |
|---|---|---|---|---|
| 8 | performance-records | coachName |
'小燕' |
onLoad() 从 app.globalData.authUser.nickname 读取 |
| 9 | performance-records | coachLevel |
'星级' |
onLoad() 从 app.globalData.authUser.coachLevel 读取 |
| 10 | performance-records | storeName |
'球会名称店' |
onLoad() 从 app.globalData.authUser.storeName 读取 |
| 11 | my-profile | mockUserProfile |
{name:'小燕',...} |
onShow() 从 app.globalData.authUser 读取,删除 mock import |
2.3 全局 UI 常量抽取 ✅
| # | 页面 | 原代码 | 修改结果 |
|---|---|---|---|
| 12 | my-profile | confirmColor: '#e34d59' |
CONFIRM_DANGER_COLOR(from ui-constants.ts) |
| 13 | task-detail | confirmColor: '#e34d59' |
CONFIRM_DANGER_COLOR(from ui-constants.ts) |
| 14 | notes | confirmColor: '#e34d59' |
CONFIRM_DANGER_COLOR(from ui-constants.ts) |
新建
utils/ui-constants.ts,CONFIRM_DANGER_COLOR引用vi-colors.ts的GLOBAL_COLORS.error
2.4 死代码 / 无效路由清理 ✅
| # | 页面 | 问题 | 修改结果 |
|---|---|---|---|
| 15 | customer-detail | 未使用的 mockCustomerDetail import |
已删除 |
| 16 | apply | 无效路由 /pages/mvp/mvp |
→ /pages/task-list/task-list |
| 17 | no-permission | 无效路由 /pages/mvp/mvp |
→ /pages/task-list/task-list |
| 18 | reviewing | 无效路由 /pages/mvp/mvp |
→ /pages/task-list/task-list |
| 19 | router | 死路由 'settings': '' |
已删除 |
2.5 交互优化 ✅
| # | 页面 | 问题 | 修改结果 |
|---|---|---|---|
| 20 | chat-history | iconGradient 随机分配 |
改为按对话 ID 哈希固定(hashIndex() 函数) |
2.6 类型定义扩展 ✅
| # | 文件 | 修改 |
|---|---|---|
| 21 | typings/index.d.ts |
authUser 接口新增 role?、storeName?、coachLevel?、avatar? 字段 |
三、📋 已决策-暂不动
3.1 Mock 数据(联调时替换)
| # | 页面 | 字段 | 用户决策 |
|---|---|---|---|
| 1 | customer-service-records | customerPhone/relationIndex 等 |
Mock 数据,联调时从接口取 |
| 2 | performance-records | mock 数据不一致(totalCount/totalHours/totalIncome) | 联调时 API 替换,暂不修 |
3.2 筛选选项(全平台共用,暂前端硬编码)
| # | 页面 | 常量 | 用户决策 |
|---|---|---|---|
| 3 | board-coach | SKILL_OPTIONS |
后端需配置接口(已记录 REQ-1) |
| 4 | board-coach | SORT_OPTIONS |
全平台共用,暂保持 |
| 5 | board-customer | 维度/项目选项 | 全平台共用,暂保持 |
3.3 其他已决策项
| # | 页面 | 项目 | 用户决策 |
|---|---|---|---|
| 6 | no-permission | 管理员姓名 厉超 |
保持硬编码(只有一个管理员) |
| 7 | login | dev_test_openid |
上线前处理(已记录 REQ-3) |
后端接口需求已记录于
docs/miniprogram-dev/API-requirement.md(REQ-1 ~ REQ-5)
四、🔒 保留不动的硬编码
以下硬编码属于合理的 UI 文案、样式常量或默认值,无需修改:
4.1 UI 文案(各页面通用)
所有页面的以下文案保留不动:
- 加载态:
加载中... - 错误态:
加载失败,请重试/重新加载/重试 - 空态:
暂无数据/暂无备注记录/暂无对话记录/暂无助教数据等 - 底部提示:
— 已加载全部记录 — - 导航栏标题(各页面
.json中的navigationBarTitleText) - 业务术语标签:
定档/折前/预估/召回/回访等
4.2 statusBarHeight 回退值
所有页面的 statusBarHeight 默认值(20 或 44)作为 wx.getWindowInfo() 的兜底值,保留不动。
4.3 setTimeout 模拟延迟
所有页面的 setTimeout(400~600ms) 模拟网络延迟,联调时统一替换为真实 API 调用。当前阶段保留不动(改了也没意义,联调时整体重构 loadData())。
4.4 路由路径
各页面中的 wx.navigateTo / wx.reLaunch / wx.switchTab 路径硬编码,属于小程序标准做法,保留不动。
4.5 样式映射常量
board-coach:LEVEL_CLASS/SKILL_CLASS/SORT_TO_DIM/TIME_OPTIONSchat-history:ICON_GRADIENTS(6 组 CSS 渐变色)- 各页面的
courseTypeClass/avatarGradient等样式映射
4.6 表单校验规则
apply: 手机号正则!/^\d{11}$/、球房 IDmaxlength="5"login: 错误提示文案(账号已被禁用/登录凭证无效等)
4.7 Mock 数据本体
所有 mockXxx 数据(包括页面内联和 mock-data.ts 中的)在联调前保留不动。联调时统一替换为 API 调用。
五、变更统计
本轮共修复 21 项硬编码问题,涉及 14 个文件:
| 类别 | 数量 |
|---|---|
| 时间/日期动态化 | 7 |
| 用户信息 globalData 读取 | 4 |
| UI 常量抽取 | 3 |
| 死代码/无效路由清理 | 5 |
| 交互优化(哈希固定) | 1 |
| 类型定义扩展 | 1 |
涉及文件:performance-records.ts、customer-service-records.ts、my-profile.ts、task-detail.ts、notes.ts、chat-history.ts、customer-detail.ts、apply.ts、no-permission.ts、reviewing.ts、router.ts、ui-constants.ts(新建)、vi-colors.ts(已有)、typings/index.d.ts