chore(audit): 2026-04-20 历史批次预审 + 文档同步 + .gitignore 修正
- 新增 docs/audit/changes/2026-04-20__historical-batch-pre-audit.md 157 文件分批盘点审计(7 条主线 + 10 项高/中风险 + 2 份迁移 SQL DDL 清单) - 补追 docs/audit/changes/2026-04-15__meituan-settle-core-sync.md 原审计产物因 .gitignore 屏蔽长期未入仓,本次一并追回 - 刷新 docs/audit/audit_dashboard.md(33 条审计记录) - .gitignore 白名单放行 docs/audit/changes/*.md 与 audit_dashboard.md 同时屏蔽 changes/changes/ 嵌套误产物目录 - 新增 docs/specs/audit-gap-recovery/tasks.md 扫描嵌套目录发现 96 份 D 类孤本(从未入过 git history), 生成独立 PRD 供单开任务清理与补追 - 文档同步(高风险项): - apps/backend/docs/API-REFERENCE.md (+69) - apps/miniprogram/README.md (+50) - apps/etl/connectors/feiqiu/docs/architecture/data_flow.md (+52/-2) - apps/etl/connectors/feiqiu/docs/architecture/system_overview.md (+5/-3) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -89,6 +89,7 @@ apps/miniprogram/
|
||||
| `pages/customer-detail/customer-detail` | 客户详情页(完整档案 + AI 洞察 + 维客线索) | |
|
||||
| `pages/customer-service-records/customer-service-records` | 客户服务记录页(按日期分组的消费记录) | |
|
||||
| `pages/coach-detail/coach-detail` | 助教详情页(业绩数据 + 客户列表) | |
|
||||
| `pages/coach-service-records/coach-service-records` | 助教业绩明细页(管理者视角,查看指定助教的业绩明细) | |
|
||||
| `pages/chat/chat` | AI 对话页(SSE 流式输出,按上下文进入对话) | |
|
||||
| `pages/chat-history/chat-history` | 对话历史列表页 | |
|
||||
| `pages/dev-tools/dev-tools` | 开发调试面板(仅 develop 环境,通过 dev-fab 浮动按钮进入) | |
|
||||
@@ -118,6 +119,50 @@ apps/miniprogram/
|
||||
| service-record-card | `components/service-record-card/` | 服务记录单项卡片 |
|
||||
| star-rating | `components/star-rating/` | 星级评分组件 |
|
||||
|
||||
## 业绩明细双视角
|
||||
|
||||
业绩明细存在两个严格隔离的页面,职责互不交叉:
|
||||
|
||||
- `performance-records`(助教自查)
|
||||
- 视角:当前登录用户(无需 coachId)
|
||||
- 权限:无需额外守卫
|
||||
- 点击单条记录:跳 `task-detail?taskId=xxx`(关注任务)
|
||||
- `coach-service-records`(管理者查看)
|
||||
- 视角:指定助教,coachId 必传(来自 URL query)
|
||||
- 权限:`view_board_coach`
|
||||
- 点击单条记录:跳 `customer-detail?memberId=xxx`(关注客户)
|
||||
|
||||
coach-service-records 页面约定:
|
||||
|
||||
- 入口:`coach-detail` 页面的"查看更多"按钮
|
||||
- `onShow` 必须通过 `checkPageAccess('view_board_coach')` 守卫
|
||||
- 数据源:
|
||||
- Banner:`fetchCoachBanner(coachId)` 轻量接口
|
||||
- 记录:`fetchPerformanceRecords({ year, month, coachId, page, pageSize })`
|
||||
- 源码:`miniprogram/pages/coach-service-records/*`
|
||||
|
||||
## 共享工具
|
||||
|
||||
业绩进度条动画参数与计算逻辑的单一源头:`miniprogram/utils/perf-progress.ts`。被 `task-list.ts` 与 `coach-detail.ts` 共同使用,避免双份漂移。
|
||||
|
||||
导出清单:
|
||||
|
||||
- 常量:`SHINE_SPEED`、`SPARK_DELAY_MS`、`SPARK_DUR_MS`、`NEXT_LOOP_DELAY_MS`、`SHINE_WIDTH_RPX`
|
||||
- 类型:`TickItem` 接口
|
||||
- 函数:`calcShineDur`、`buildTicks`、`buildProgressBarData`
|
||||
|
||||
新建同类动画参数或档位刻度逻辑时,统一落在此文件,禁止在页面脚本内就地写常量。
|
||||
|
||||
## 数据规范
|
||||
|
||||
### 散客标记(isScattered)
|
||||
|
||||
后端判定规则:`member_id <= 0` 时在响应字段上标记 `isScattered = true`,标识该条记录为散客(无会员档案)。
|
||||
|
||||
涉及页面:`coach-detail`、`performance-records`、`coach-service-records`、`customer-detail`。
|
||||
|
||||
前端渲染约定:为承载散客信息的节点追加 CSS 类 `--scattered`,以置灰方式区分于实名会员;散客条目不提供跳转到 `customer-detail` 的入口。
|
||||
|
||||
## 后端 API 集成
|
||||
|
||||
### API 地址配置
|
||||
@@ -210,6 +255,11 @@ POST /api/xcx-auth/login → 重新登录获取完整令牌(含 site_id + ro
|
||||
| `/api/xcx/chat/messages` | GET | 通过上下文查消息 |
|
||||
| `/api/xcx/chat/stream` | POST | SSE 流式对话 |
|
||||
|
||||
### services/api.ts 近期新增
|
||||
|
||||
- `fetchCoachBanner(coachId: number)` — 轻量助教 banner 数据,供 `coach-service-records` 顶部卡片复用
|
||||
- `fetchPerformanceRecords({ year, month, page, pageSize, coachId? })` — 新增可选 `coachId` 参数;不传为助教自查视角(后端以当前登录用户过滤),传入则为管理者查看视角(后端按权限码 `view_board_coach` 分流校验)
|
||||
|
||||
> 完整接口契约见 [`docs/miniprogram-dev/API-contract.md`](../../docs/miniprogram-dev/API-contract.md)
|
||||
> 后端 API 参考见 [`apps/backend/docs/API-REFERENCE.md`](../backend/docs/API-REFERENCE.md)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user