Files
Neo 70324d8542 chore: 文档与 IDE 配置整理
- .kiro/specs/ → docs/specs/(41 个历史需求 spec 迁移,移除 .config.kiro)
- CLAUDE.md 三层拆分:根文件精简 + apps/backend/CLAUDE.md + .claude/commands/
- 新增 /spec-close、/pre-change 两个工作流命令
- DDL 基线刷新(从测试库重新导出 11 个文件,dws 35→38 表,biz 18→21 表)
- BD_Manual → BD_manual 命名统一(48 个文件)
- 修复 3 处文档与数据库不一致(auth.users.status 默认值、scheduled_tasks 字段、RLS 视图数)
- 新增 BD_manual_public_rbac_tables.md(public schema 8 张 RBAC/工作流表)
- 合并 biz.trigger_jobs 文档(10→12 字段,归档独立文档)
- docs/database/README.md 索引更新

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 00:02:37 +08:00

61 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 需求文档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.2task-list 比同期数据 — 后端返回与上月同期差值(数值),前端展示 +¥X / -¥X + ↑/↓ 箭头
- REQ-T1.3task-list 放弃原因 — 从后端 task 对象的 abandonReason 字段获取展示
- REQ-T1.4task-list 盖戳动画 — 改为页面加载后始终播放,不依赖 tierCompleted
- REQ-T3.3performance-records 总笔数 — 使用后端返回的 totalCount 字段,不再前端 records.length 计算
- REQ-T4.1task-detail 手机号码 — 从 detail 获取 customerPhone不再硬编码空字符串
- REQ-T4.3task-detail 行动建议 — 后端返回 actionSuggestions: string[],前端在维客线索下方展示为卡片列表
- REQ-T5.2customer-service-records 本月服务次数 — 前端类型定义补齐 totalServiceCount
- REQ-T5.3customer-service-records 课程标签 — 后端返回 courseType 枚举,前端直接映射,不再 includes 猜测
- REQ-T6.1board-finance AI 智能洞察 — 后端返回 aiInsights 数组,前端动态渲染
- REQ-T10.1coach-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.2board-finance 本月时间筛选时,经营一览标题含"预估"字样
- AC-G3.1:存在折算差异时,课时旁显示"折前 Xh"灰色小字
- AC-G3.2:无折算差异时不显示"折前"
- AC-G4.1task-detail 储值区域根据 balance 正确显示等级文案
- AC-G4.2balance 为 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.2totalServiceCount 类型定义完整
- AC-T5.3:课程标签基于枚举映射
- AC-T6.1AI 智能洞察动态渲染
- AC-T10.1:任务执行统计从 API 获取
- AC-FMT所有页面数据格式统一空值显示 `--`