bindbox-game/.trae/documents/修复“用户概览”无数据显示.md
邹方成 87ad4177b1
Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 39s
feat(工作台): 实现管理端工作台接口并优化数据展示
feat(抽奖动态): 修复抽奖动态未渲染问题并优化文案展示
fix(用户概览): 修复用户概览无数据显示问题
feat(新用户列表): 在新用户列表显示称号明细
refactor(待办事项): 移除代办模块并全宽展示实时动态
feat(批量操作): 限制为单用户操作并在批量时提醒
fix(称号分配): 防重复分配称号的改造计划
perf(接口性能): 优化新用户和抽奖动态接口性能
feat(订单漏斗): 优化订单转化漏斗指标计算
docs(测试计划): 完善盲盒运营API核查与闭环测试计划
2025-11-16 14:00:29 +08:00

1.2 KiB

问题诊断

  • 前端 active-user.vue 将图表数据 xAxisLabels/chartData 改为普通数组,未使用 Vue 响应式;页面初始为空数组且后续赋值不触发渲染,导致“用户概览没有数据”。
  • 指标列表 list 同为普通数组,数值更新不触发视图刷新。
  • 后端 GET /api/admin/dashboard/user_overview 正常返回,但前端未正确展示。

修复方案

  • xAxisLabelschartData 改为 ref<string[]>/ref<number[]>,用 .value 填充;模板自动解包可直接绑定。
  • 将指标 list 改为 reactive<UserStatItem[]>,更新项时触发视图刷新。
  • 增加兜底:接口异常或空数据时显示“暂无”与零值,避免空白。

验证

  • 后端:curl -H 'Authorization: <token>' 'http://localhost:8000/api/admin/dashboard/user_overview?rangeType=30d' 返回含 chart/metrics
  • 前端:刷新工作台,“用户概述”条形图与四个指标显示数据;空数据时显示零与“暂无”。

确认后我将:

  1. 更新 web/admin/src/views/dashboard/console/modules/active-user.vue 响应式实现;
  2. 运行后端构建校验;
  3. 提供前端验证说明(构建目前受其他文件类型错误影响不影响本模块联调)。