包含多个会话的累积代码变更: - backend: AI 聊天服务、触发器调度、认证增强、WebSocket、调度器最小间隔 - admin-web: ETL 状态页、任务管理、调度配置、登录优化 - miniprogram: 看板页面、聊天集成、UI 组件、导航更新 - etl: DWS 新任务(finance_area_daily/board_cache)、连接器增强 - tenant-admin: 项目初始化 - db: 19 个迁移脚本(etl_feiqiu 11 + zqyy_app 8) - packages/shared: 枚举和工具函数更新 - tools: 数据库工具、报表生成、健康检查 - docs: PRD/架构/部署/合约文档更新 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.6 KiB
2.6 KiB
P9→NS1/RNS1 缺失项 #2:助教详情页档位进度时间轴的视觉规范
简要结论
- 状态:⚠️ 部分解决
- 风险等级:🟠 中
- 已实现
perf-progress-bar进度条组件(含渐变填充、刻度标记、高光/火花动画),但非 P9 定义的"时间轴"样式,缺少当前档位高亮节点和升档动画。
详细审查
审查范围
apps/backend/app/schemas/xcx_coaches.py—tier_nodes字段定义apps/backend/app/services/coach_service.py—_build_tier_nodes()实现apps/miniprogram/miniprogram/components/perf-progress-bar/— 进度条组件apps/miniprogram/miniprogram/pages/coach-detail/coach-detail.wxml— 绩效概览区域apps/miniprogram/miniprogram/pages/coach-detail/coach-detail.ts— 进度条数据构建
发现
-
后端:tier_nodes 数据已返回
CoachDetailResponse.tier_nodes: list[float]已定义_build_tier_nodes()从配置表读取档位节点
-
前端:进度条组件已实现,但非时间轴
perf-progress-bar组件实现了水平进度条,含:- 渐变填充条(
ppb-fill+ppb-gradient-bar) - 刻度标记(
ppb-ticks,由ticks数组动态渲染) - 高光动画(
ppb-shine)和火花动画(ppb-spark) - 当前档位高亮(
ppb-tick--doneclass)
- 渐变填充条(
- 但这是水平进度条,非 P9 定义的垂直时间轴样式
- 缺少 P9 定义的"档位节点"(tierNodes)的时间轴展示(如里程碑节点、连接线、当前位置标记)
-
动画已实现但非"升档动画"
- 高光(shine)和火花(spark)是循环播放的装饰动画
- 非 P9 定义的"升档时触发的庆祝动画"
-
前端 tier_nodes 未使用 API 数据
coach-detail.ts中tierNodes硬编码为[0, 100, 130, 160, 190, 220],注释标注 "Mock,实际由接口返回"- API 返回的
tier_nodes未被前端消费
证据
前端硬编码 tierNodes:
const tierNodes = [0, 100, 130, 160, 190, 220] // Mock,实际由接口返回
进度条组件刻度渲染(水平进度条,非时间轴):
<view class="ppb-ticks">
<text wx:for="{{ticks}}" wx:key="value"
class="ppb-tick {{currentTier >= index ? 'ppb-tick--done' : ''}}">
{{item.label}}
</text>
</view>
建议(如未完全解决)
- 将前端
tierNodes改为使用 API 返回的detail.tierNodes数据 - 如需时间轴样式,新建
tier-timeline组件,展示垂直时间轴(里程碑节点 + 连接线 + 当前位置) - 添加升档动画:当
currentTier变化时触发一次性庆祝效果