zerosaturation
|
dd9952ccc9
|
feat(statistic): T9-T12 dashboard 7 RPCs (Provider + Materializer + Service + Cache)
- StatisticInternalProvider: TrackEvent/BatchTrackEvent
- StatisticCombinedProvider: all 9 RPCs (7 dashboard + 2 event) on single service
- materializer: 4 MV REFRESH CONCURRENTLY + pg_try_advisory_lock + refresh_log
- dashboard_repo: 7 aggregation SQLs (week_rank / 7d curve / top5 / level dist / upgrade progress)
- dashboard_service: 7 RPCs with Redis 5min TTL + cache miss protection (1min empty)
- Cache wrapper: JSON serialize + format dash:{rpc}:{starID}:{userID}
- main.go: integrated workers + Dubbo triple server :20009
- cross-service userService.GetFanProfile (for crystal_balance)
- client/user_rpc_client.go
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-08 17:20:53 +08:00 |
|
zerosaturation
|
bed8f8e578
|
feat(statistic): T4-T8 event collection framework (Event + Sink + Repo + Service + Workers)
- Event model + ToJSON
- EventSink interface + ChannelEventSink (non-blocking Submit)
- event_repo: batch INSERT ON CONFLICT DO NOTHING dedup
- event_service: 7-type whitelist + 1KB props limit + ReceivedAt auto-fill
- event_flusher: 100/1s batch + sync metric_recent_level_ups on level_up
- metric_weekly + metric_upcoming workers (5min/15min with pg_try_advisory_lock)
- partitioner: 7-day pre-create + 30-day cleanup (00:05 create / 00:30 cleanup)
- 22 unit + integration tests (model/repo/service/sink/worker)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-08 17:20:53 +08:00 |
|
zerosaturation
|
f5ece5e1d2
|
feat(statistic): T3 service skeleton (config + main + healthz + metrics + 10 SQL)
- 6 config blocks (DB/Redis/Channel/Refresh/Partition/Extension with 4 EnableXxx=false)
- 14 Prometheus metric declarations
- self-impl healthz (/healthz + /metrics) — bypasses pkg/health to keep /metrics
- main.go startup: logger → config → DB → Redis → healthz HTTP :21009
- 10 SQL migrations: events partitioned + 4 MV + 3 pre-agg + refresh_log + 7-day initial
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-08 17:20:53 +08:00 |
|
zerosaturation
|
182cc812ce
|
docs(statistic): add 本期实施范围 chapter to design doc + implementation plan
- design doc §0.1 scope matrix (16 items: 8 ✅ in, 8 ❌ out)
- 4-phase breakdown (P1-P4) with cycle estimates
- P1 末 precheck list (10 items) with real method names
- plan doc 3014 lines, 16 tasks, 126 checkboxes
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-08 17:20:53 +08:00 |
|
zerosaturation
|
4212914057
|
feat(statistic): add event.proto and statistic.proto with 7 RPCs + 2 event RPCs
|
2026-06-08 17:20:53 +08:00 |
|
zerosaturation
|
3707125549
|
feat(statistic): scaffold statisticService with go.mod and directory structure
|
2026-06-08 17:20:53 +08:00 |
|
zerosaturation
|
9d7e360845
|
docs: 文档修改
|
2026-06-08 17:06:53 +08:00 |
|
zerosaturation
|
aba8ec6ba7
|
feat:增加env配置
|
2026-06-05 12:26:05 +08:00 |
|
zerosaturation
|
6e470a2b56
|
feat: 修改详细页图片闪烁bug
|
2026-06-04 18:06:09 +08:00 |
|
zerosaturation
|
8127a536af
|
feat: 修改详细页图片闪烁bug
|
2026-06-04 18:00:38 +08:00 |
|
zerosaturation
|
0e0570fbc8
|
feat: 修改详细页图片闪烁bug
|
2026-06-04 17:59:04 +08:00 |
|
|
|
7c94e9209d
|
image: 更换图片
|
2026-06-04 17:58:02 +08:00 |
|
zerosaturation
|
23a8051e96
|
feat: 修改头像显示不全,修改docker的配置
|
2026-06-04 16:41:20 +08:00 |
|
zerosaturation
|
df11dabd1e
|
feat: 移除不需要的图片
|
2026-06-04 16:10:57 +08:00 |
|
zerosaturation
|
58e303894e
|
feat: 样式调整
|
2026-06-04 16:01:31 +08:00 |
|
zerosaturation
|
71b8e454ee
|
feat: 样式调整
|
2026-06-04 15:57:42 +08:00 |
|
|
|
6c18bb7564
|
image: 更换图片
|
2026-06-04 15:29:20 +08:00 |
|
|
|
7d16772805
|
image: 添加图片
|
2026-06-04 14:23:58 +08:00 |
|
|
|
408e027f5f
|
feat: 修改页面bug
|
2026-06-04 01:42:29 +08:00 |
|
zerosaturation
|
456bf10352
|
feat: 修改合并bug
|
2026-06-04 00:52:32 +08:00 |
|
|
|
f768613509
|
feat: 修改页面bug
|
2026-06-04 00:51:29 +08:00 |
|
|
|
f0b650de26
|
feat: 解决合并冲突
|
2026-06-04 00:03:40 +08:00 |
|
|
|
bc3d82e20e
|
fix: 合并冲突
|
2026-06-03 23:44:33 +08:00 |
|
liulong
|
6ff8743c72
|
feat:修复合并问题
|
2026-06-03 23:25:08 +08:00 |
|
liulong
|
b9527bee70
|
feat:合并新
|
2026-06-03 22:41:19 +08:00 |
|
liulong
|
10168f8e6b
|
feat:实现AI生成镭射卡功能
|
2026-06-03 22:19:22 +08:00 |
|
|
|
0284bd6951
|
feat: 修改铸造页面的样式
|
2026-06-03 22:12:51 +08:00 |
|
|
|
fa83788fd0
|
image: 压缩图片
|
2026-06-03 21:44:42 +08:00 |
|
|
|
5f5ee0d7a1
|
feat: 修改铸造页面的样式
|
2026-06-03 21:43:21 +08:00 |
|
|
|
75e1222c55
|
feat: 修改数据看板
|
2026-06-03 20:25:22 +08:00 |
|
zerosaturation
|
76c4e2cdf8
|
feat: 修改docker配置
|
2026-06-03 18:19:15 +08:00 |
|
zerosaturation
|
12e08703d4
|
feat: 修改刷新问题
|
2026-06-03 18:18:44 +08:00 |
|
|
|
4aa11903f4
|
fix: 样式修复、创作者头像修复
|
2026-06-03 18:13:16 +08:00 |
|
zerosaturation
|
feb98dd865
|
feat: 新增运营活动的进度条显示
|
2026-06-03 01:21:28 +08:00 |
|
|
|
463e6cc008
|
feat:新增数据看板
|
2026-06-03 01:20:51 +08:00 |
|
|
|
20f86ceec0
|
feat(dashboard): onShow 强制刷新 + Tab 缓存 + 下拉刷新(scroll-view refresher)
|
2026-06-03 01:20:50 +08:00 |
|
|
|
b40ca02bd1
|
feat(dashboard): UpcomingUpgrades + RecentUpgrades 双列布局
|
2026-06-03 01:20:50 +08:00 |
|
|
|
1dbdcc5e20
|
feat(dashboard): LevelDistribution 5个conic-gradient环形图
|
2026-06-03 01:20:50 +08:00 |
|
|
|
e2555dc015
|
feat(dashboard): CollectionMatrix 容器 + TopFiveAssets
|
2026-06-03 01:20:50 +08:00 |
|
|
|
537b6fbc24
|
feat(dashboard): LikeIncomeBoard 左侧统计+右侧等级列表
|
2026-06-03 01:20:50 +08:00 |
|
|
|
0bf2d152be
|
feat(dashboard): ExhibitionCenter 3联+5行表格
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-03 01:20:50 +08:00 |
|
|
|
dd33e87d0f
|
feat(dashboard): IncomeCurve 七日柱状+折线(qiun-data-charts uni_modules)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-03 01:20:49 +08:00 |
|
|
|
1328aadee9
|
feat(dashboard): CrystalOverview 双卡(水晶余额+今日收益)
|
2026-06-03 01:20:49 +08:00 |
|
|
|
6c8ecb8fda
|
refactor(dashboard): Header .tab 改用具体属性 transition 而非 transition: all
代码评审指出 `transition: all` 是已知的 CSS 反模式——会触
发所有属性的动画,包括未预期的 layout-trigger 属性(width、
height、padding 等)。窄化为 `background` 与 `color`,符合
.tab 实际变化的状态。
|
2026-06-03 01:20:49 +08:00 |
|
|
|
a91d7a5e61
|
feat(dashboard): Header 完整视觉(毛绒怪占位+渐变标题+Tab胶囊)
|
2026-06-03 01:20:49 +08:00 |
|
|
|
b31cf01da4
|
refactor(dashboard): dashboard.vue 改用 <script setup> 语法
代码评审发现 Options API 与项目 30+ 个页面(square.vue、
discover.vue、exhibition.vue 等)惯例不一致。改写为
<script setup>,并把 pageBg 提到模块顶层(不再通过 setup
return 传递)。Header 组件无 script 逻辑,无需改动。
|
2026-06-03 01:20:49 +08:00 |
|
|
|
282eb72e46
|
feat(dashboard): 页面骨架 + Header 占位
|
2026-06-03 01:20:48 +08:00 |
|
|
|
3676fc977e
|
refactor(dashboard): useDashboardData 提取 SECTION_FETCHERS 模块级单例
代码评审建议:loadAll 与 refresh 各有一份相同的 7 项 fetcher 映射,
且 refresh 每次调用都重建对象。提取为模块级单例后:
- 消除重复(单一信源)
- 节省每次 refresh 的对象分配
- loadAll 用 Object.entries 驱动而非手写 7 行
|
2026-06-03 01:20:48 +08:00 |
|
|
|
ea62b609af
|
feat(dashboard): useDashboardData composable(7接口并发+section级refresh)
|
2026-06-03 01:20:48 +08:00 |
|
|
|
a48b6fd8fb
|
fix(dashboard): 移除 dashboardApi 方法的 .then((r) => r.data) 解包
与项目 24+ 个 *Api 函数保持一致——其他 API(如 loginApi、
getRandomUsersApi、getEarningsSummaryApi)都返回完整 { code, data }
信封,由调用方在 boundary 处解包。dashboardApi 之前在 API 边界做
.data 解包是计划文本中的偏差,现在修正。
useDashboardData composable(Task 3)需要在内部用
`(res) => res?.data || res` 处理——这是 composable 边界该做的事。
|
2026-06-03 01:20:48 +08:00 |
|