# 小程序前端 → 后端接口需求记录 > 记录小程序前端在硬编码审计中发现的、需要后端配合的接口需求。 > 创建时间:2026-03-18 --- ## REQ-1:技能类型配置接口 - 来源页面:`board-coach` - 当前状态:`SKILL_OPTIONS` 硬编码 5 项(全部/中🎱/🎯斯诺克/小组课/打赏课) - 需求:门店技能类型应可配置,需要后端提供配置接口 - 建议接口:`GET /api/xcx/config/skill-types` - 返回格式:`{ skills: Array<{ value: string; text: string }> }` - 优先级:P2(联调阶段处理) --- ## REQ-2:对话图标颜色固定化 - 来源页面:`chat-history` - 当前状态:`iconGradient` 每次渲染随机分配颜色,刷新后颜色会变 - 需求:颜色应按对话 ID 哈希固定,无需后端配合 - 前端方案:已改为按 `id` 字符串哈希取模,从 6 色渐变数组中固定选取 - 状态:✅ 已完成(前端自行处理) --- ## REQ-3:开发模式 openid 上线安全 - 来源页面:`login` - 当前状态:开发模式使用固定 `dev_test_openid`,通过 `API_BASE.startsWith("http://127.0.0.1")` 判断 - 风险:如果 `isDevMode` 判断逻辑被绕过,可能存在安全隐患 - 需求:上线前确保后端 `/api/xcx/dev-login` 接口在生产环境不可用 - 建议:后端通过环境变量控制 dev-login 路由注册,生产环境不注册该路由 - 优先级:P0(上线前必须处理) --- ## REQ-4:`authUser` 字段扩展 - 来源页面:`performance-records`、`my-profile`、`coach-detail` - 当前状态:`globalData.authUser` 仅有 `userId`、`status`、`nickname` - 需求:多个页面需要展示当前用户的角色、门店名、助教等级等信息 - 建议:`GET /api/xcx/me` 返回扩展字段,前端存入 `authUser` - 新增字段: | 字段 | 类型 | 说明 | 来源 | |------|------|------|------| | `role` | `string` | 用户角色(如"助教") | 后端用户表 | | `storeName` | `string` | 所属门店名称 | 后端门店表 | | `coachLevel` | `string?` | 助教等级(junior/middle/senior/star) | 后端助教表(仅助教角色有) | | `avatar` | `string?` | 用户头像 URL | 后端用户表 | - 优先级:P1(联调阶段处理) --- ## REQ-5:筛选选项全平台共用 - 来源页面:`board-coach`、`board-customer` - 当前状态:`SORT_OPTIONS`(6 项排序维度)、`TIME_OPTIONS`(6 项时间范围)、维度选项等硬编码在前端 - 决定:这些筛选选项全平台共用,暂保持前端硬编码 - 后续:如果需要动态调整,再改为后端配置接口 - 状态:🔒 暂不处理