6.7 KiB
6.7 KiB
安心验静态数据与展示映射审计
审计时间:2026-04-23
一、已确认的真实问题
1. 后台订单详情页存在“接口有值但页面没展示完整”的问题
- 文件:
admin-web/src/pages/orders/index.vue - 现象:
- 接口已返回
product_info.color - 接口已返回
extra_info.condition_desc/remark - 页面原先只展示了
size_spec和usage_status - 导致后台看到的内容与接口实际内容不一致,且卡片出现大面积空白
- 接口已返回
- 本轮已修复:
- 商品信息区补充
颜色 / 规格 - 补充信息区补充
补充说明
- 商品信息区补充
2. 鉴定作业台也存在同类字段遗漏
- 文件:
admin-web/src/pages/appraisal-tasks/index.vue - 现象:
- 页面已有
product_info.color - 但工作区与上下文区未展示,导致检测侧看到的信息不完整
- 页面已有
- 本轮已修复:
- 商品与送检区补充
颜色 / 规格 - 工作台左侧上下文区补充
颜色 / 规格
- 商品与送检区补充
3. 用户端多个页面在接口失败时会静默回退到 mock 数据
- 风险级别:高
- 问题本质:
- 页面请求失败后,没有给用户明确错误态
- 而是继续显示
src/mocks/app.ts中的示例数据 - 会造成“接口已经失败,但页面仍像有真实数据”的错觉
- 这类问题比普通静态文案更危险,因为会直接影响业务判断
二、前端仍在使用 mock / fallback 的页面
1. 用户端高风险页面
以下页面在请求失败时,会直接沿用 mock 或 fallback 数据:
user-app/src/pages/home/index.vueuser-app/src/pages/address/index.vueuser-app/src/pages/message/index.vueuser-app/src/pages/mine/index.vueuser-app/src/pages/order/detail.vueuser-app/src/pages/order/shipping.vueuser-app/src/pages/report/detail.vueuser-app/src/pages/help/index.vueuser-app/src/pages/help/detail.vueuser-app/src/pages/settings/index.vueuser-app/src/pages/support/index.vueuser-app/src/pages/support/detail.vueuser-app/src/pages/support/create.vueuser-app/src/pages/verify/result.vue
统一来源:
user-app/src/mocks/app.ts
2. 风险说明
- 订单、报告、消息、地址、工单、验真都属于真实业务数据
- 这些页面不适合在接口失败时展示示例数据
- 正确策略应该是:
- 显示错误态
- 提供重试按钮
- 保留空态,但不能伪造业务内容
三、后端接口本身仍是静态拼装的数据
1. 首页接口
- 文件:
server-api/app/controller/app/HomeController.php - 当前静态内容:
bannersservice_entriesquick_entriestrust_metricstrust_pointsfaqs
- 当前只有
category_entries来自数据库
补充说明:
user-app/src/pages/home/index.vue原先没有消费banners- 即使接口已经返回首页头图文案,前端页面也仍然使用写死标题
- 本轮已修复为直接读取接口
banners[0]
2. 帮助中心接口
- 文件:
server-api/app/controller/app/HelpCenterController.php - 当前问题:
- 帮助分类与文章内容全部写在控制器里
- 搜索和分类筛选只是对本地数组做过滤
- 结论:
- 当前帮助中心已经“可用”,但本质仍是写死内容,不是后台可运营内容
3. 设置页协议入口
- 文件:
server-api/app/controller/app/SettingsController.php - 当前静态内容:
legal_entries- 跳转的帮助中心关键词
4. 下单预览协议文案
- 文件:
server-api/app/controller/app/AppraisalController.php - 当前静态内容:
preview()中的agreementsservice_agreementprivacy_policyappraisal_notice
四、前端仍然硬编码的业务选项
这些不一定是 bug,但如果要达到“后台可维护、线上可运营”的标准,后续建议逐步改成可配置或接口下发。
1. 用户端
user-app/src/pages/support/create.vue- 工单类型
typeOptions
- 工单类型
user-app/src/pages/support/index.vue- 常见问题快捷入口
quickTypes
- 常见问题快捷入口
user-app/src/pages/appraisal/product.vue- 颜色建议
colorSuggestions - 规格建议
sizeSuggestions
- 颜色建议
user-app/src/pages/appraisal/extra.vue- 购买渠道
- 使用情况
- 附件情况
2. 管理后台
admin-web/src/pages/orders/index.vue- 服务筛选项
- 状态筛选项
admin-web/src/pages/appraisal-tasks/index.vue- 阶段筛选项
- 状态筛选项
- 结果选项
admin-web/src/pages/reports/index.vue- 服务筛选项
- 报告状态项
- 结果项
admin-web/src/pages/tickets/index.vue- 工单类型与状态筛选
说明:
- 这类枚举型选项短期内可以先保留
- 但工单类型、结果模板、服务文案如果未来需要运营调整,建议迁移为后台字典表或系统配置
五、已发现的“假入口 / 假交互”
user-app/src/pages/appraisal/upload.vue查看示例按钮无实际功能查看拍摄示例入口无实际功能
user-app/src/pages/home/index.vue- 未识别的快捷入口会落到“该功能正在完善中”
user-app/src/pages/mine/index.vue- 未识别入口也会落到“该功能正在完善中”
六、推荐开发顺序
P0:先清掉会误导真实业务判断的 fallback
优先处理以下页面:
- 订单详情
- 报告详情
- 消息中心
- 地址管理
- 工单列表 / 工单详情
- 设置页
- 验真页
目标:
- 失败时显示明确错误状态,不再显示 mock 业务数据
P1:把接口里已返回但页面没展示完整的字段补齐
优先处理以下模块:
- 后台订单详情
- 鉴定作业台
- 用户端订单详情
- 报告详情页的商品摘要 / 估值摘要一致性
目标:
- 页面展示与接口字段保持一致
- 同一份订单数据在用户端、后台、报告端口径一致
P2:把后端静态内容迁移为可维护内容
优先处理:
- 首页内容
- 帮助中心
- 设置页协议入口
- 下单预览协议区
推荐做法:
- 新建内容配置表 / 帮助中心表 / 协议配置表
- 后台增加内容维护入口
- 用户端改为读取接口配置
P3:把前端硬编码枚举逐步改为字典化
优先处理:
- 工单类型
- 鉴定结果模板
- 用户端下单辅助枚举
七、建议的下一步落地动作
- 先移除用户端业务页面对
user-app/src/mocks/app.ts的依赖,改为错误态 + 重试。 - 统一订单 / 报告 / 鉴定任务三端字段口径,补齐
color、condition_desc、remark、accessories等实际字段。 - 设计内容配置模型,把首页、帮助中心、协议说明迁到后台管理。
- 最后再做字典化,把工单类型、辅助选项、结果模板迁到接口配置。