feat: 累积功能变更 — 聊天集成、租户管理、小程序更新、ETL 增强、迁移脚本

包含多个会话的累积代码变更:
- 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>
This commit is contained in:
Neo
2026-04-06 00:03:48 +08:00
parent 70324d8542
commit 6f8f12314f
515 changed files with 76604 additions and 7456 deletions

View File

@@ -0,0 +1,61 @@
# P8→NS1/RNS1 缺失项 #13助教看板的排名序号展示
## 简要结论
- 状态:❌ 未解决
- 风险等级:🟡 低
- 助教卡片列表中没有排名序号(如 #1#2#3)展示
## 详细审查
### 审查范围
- `apps/miniprogram/miniprogram/pages/board-coach/board-coach.wxml`
- `apps/miniprogram/miniprogram/pages/board-coach/board-coach.ts`
- `apps/miniprogram/miniprogram/pages/board-coach/board-coach.wxss`
### 发现
1. **无排名序号渲染**WXML 中 `coach-card``wx:for` 循环没有使用 `wx:for-index` 来展示排名序号
2. **无排名字段**TS 的 `CoachItem` 接口中没有 `rank` 字段
3. **无排名样式**WXSS 中没有 `rank``序号``number` 等相关样式类
4. **卡片结构**:当前卡片结构为 `头像 → 姓名+等级+技能+右侧指标 → 底部客户列表`,没有排名序号的位置
### 证据
WXML 中助教列表渲染(无排名序号):
```xml
<view class="coach-list">
<view class="coach-card" wx:for="{{coaches}}" wx:key="id"
data-id="{{item.id}}" bindtap="onCoachTap"
hover-class="coach-card--hover">
<view class="card-row">
<!-- 头像 -->
<view class="card-avatar avatar-{{item.avatarGradient}}">
<text class="avatar-text">{{item.initial}}</text>
</view>
<!-- 信息区(无排名序号) -->
<view class="card-info">
...
</view>
</view>
</view>
</view>
```
CoachItem 接口(无 rank 字段):
```typescript
interface CoachItem {
id: string
name: string
initial: string
avatarGradient: string
level: string
// ... 无 rank 字段
}
```
### 建议
1. **评估必要性**:排名序号在看板场景中有助于快速识别排名位置,但也会增加视觉噪音。需确认 P8 原型中是否明确要求显示
2. **如需实现**
- 方案 A推荐利用 `wx:for``index` 直接渲染,在头像左侧或上方添加 `#{{index + 1}}` 序号
- 方案 B在卡片左上角添加小圆形排名徽章前 3 名用金/银/铜色区分
- 在 WXML 的 `card-row` 开头添加:`<text class="rank-num">#{{index + 1}}</text>`
3. **客户看板同理**:如果助教看板需要排名序号,客户看板的列表也应考虑一致性