# 需求文档:P13 小程序前端联调补齐与格式统一 ## 概述 小程序前端页面已完成 H5 原型还原(P6~P9),但在 MOCK 数据排查中发现多处功能点未对接真实数据或逻辑缺失。本 SPEC 统一收敛这些遗漏项,确保每个页面在联调后数据展示完整、格式统一。 ## 需求来源 - PRD:`docs/prd/specs/P13-miniapp-fe-polish.md` - 依赖:P6~P9 前端页面 + P3 认证 + P4 核心业务 + 后端接口 ## 需求列表 ### 通用规则(跨页面) - REQ-G1:微信头像与用户信息 — 登录成功后从后端获取用户信息(avatarUrl、nickName、role、storeName),三个 banner 页面(task-list、performance、performance-records)统一从全局用户信息读取 avatarUrl,无头像时显示默认占位图 - REQ-G2:当月预估判断 — 当查看月份 = 当前自然月时显示"预估"标签,历史月份不显示。影响页面:performance、performance-records、board-finance - REQ-G3:绩效折算(折前/折后)— 后端返回 hours(折后)和 hoursRaw(折前),两者不同时展示"折前 Xh"灰色小字 - REQ-G4:储值等级显示规则 — 根据 balance 计算等级文案(无/少/一般/多/非常多),工具函数放 utils/storage-level.ts ### 各页面功能点 - REQ-T1.2:task-list 比同期数据 — 后端返回与上月同期差值(数值),前端展示 +¥X / -¥X + ↑/↓ 箭头 - REQ-T1.3:task-list 放弃原因 — 从后端 task 对象的 abandonReason 字段获取展示 - REQ-T1.4:task-list 盖戳动画 — 改为页面加载后始终播放,不依赖 tierCompleted - REQ-T3.3:performance-records 总笔数 — 使用后端返回的 totalCount 字段,不再前端 records.length 计算 - REQ-T4.1:task-detail 手机号码 — 从 detail 获取 customerPhone,不再硬编码空字符串 - REQ-T4.3:task-detail 行动建议 — 后端返回 actionSuggestions: string[],前端在维客线索下方展示为卡片列表 - REQ-T5.2:customer-service-records 本月服务次数 — 前端类型定义补齐 totalServiceCount - REQ-T5.3:customer-service-records 课程标签 — 后端返回 courseType 枚举,前端直接映射,不再 includes 猜测 - REQ-T6.1:board-finance AI 智能洞察 — 后端返回 aiInsights 数组,前端动态渲染 - REQ-T10.1:coach-detail 任务执行统计 — 后端返回 taskStats,前端从 API 获取,不再硬编码 ### 数据格式统一 - REQ-FMT-1:补充格式化工具函数 — formatDateShort、formatDateFull、formatDays、formatStorageLevel、formatTrendValue - REQ-FMT-2:全页面格式化调用审查 — 确保所有金额/计数/百分比/课时/时间/空值均通过已有格式化函数处理 - REQ-FMT-3:接口端格式对齐 — 后端返回原始数值,前端负责格式化;所有 null/undefined/0 统一展示为 `--` ## 验收标准 - AC-G1.1:三个 banner 页面展示微信头像,无头像时显示默认占位图 - AC-G1.2:用户昵称、角色、门店名称正确展示 - AC-G2.1:本月数据显示"预估"标签,历史月份不显示 - AC-G2.2:board-finance 本月时间筛选时,经营一览标题含"预估"字样 - AC-G3.1:存在折算差异时,课时旁显示"折前 Xh"灰色小字 - AC-G3.2:无折算差异时不显示"折前" - AC-G4.1:task-detail 储值区域根据 balance 正确显示等级文案 - AC-G4.2:balance 为 0 时显示"无" - AC-T1.2:比同期显示为数值差(如 +¥1,200),非百分比 - AC-T1.3:已放弃任务卡片展示放弃备注 - AC-T1.4:页面加载后盖戳动画始终播放 - AC-T3.3:总笔数使用后端 totalCount - AC-T4.1:手机号码从 detail 获取 - AC-T4.3:行动建议卡片列表正确渲染 - AC-T5.2:totalServiceCount 类型定义完整 - AC-T5.3:课程标签基于枚举映射 - AC-T6.1:AI 智能洞察动态渲染 - AC-T10.1:任务执行统计从 API 获取 - AC-FMT:所有页面数据格式统一,空值显示 `--`