Commit Graph

18 Commits

Author SHA1 Message Date
zerosaturation
e079a6c2e2 feat(asset): restore starbook home More button by Asset.LikeCount ordering
starbook 首页每个 grade/group 按 Asset.LikeCount DESC, Asset.ID ASC 取前三张,超三显示 has_more;
GetAssetsByType 不截断返回全部匹配项。包含:
- proto/asset.proto 声明 GetAssetsByType RPC + 消息,重新生成 .pb.go/.triple.go
- gateway starbook controller 改用标准 AssetService 客户端
- assetService: 三个 build*GroupForAssets 增加 previewLimit 参数
- 新增 sortAndLimitAssetItems 共享助手
- 新增 asset_service_group_test.go DB-free 单测
- 新增 TestStarbookHomePreviewAndMoreUseAssetLikeRanking 端到端回归
- frontend pages/starbook/items.vue 适配嵌套 groups/grades/items 响应,单 grade 竖向展示

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 19:20:16 +08:00
zerosaturation
8a767fb400 fix(backend): service stability — batch 3 accumulated (bcrypt off-txn / login anti-enum / MQ stub / aiChat / event reliability / gateway aggregate)
- 3.1 bcrypt 移出事务 (Register): repository.HashPassword 前移到 db.Transaction 之前。
- 3.2 Login 消除用户枚举 + 限流 + timing 抹平: pkg/errors 加 ErrInvalidCredential / ErrTooManyLoginAttempts;
  user-not-found 跑 dummy bcrypt 抹平 ~100ms 时序差; mobile 5次/ip 20次 per 15min 限流 (Redis, fail-open 降级)。
- 3.3 MQ streams adapter 停用 → stub: 0 业务调用方, noop EventProducer.Publish; Init 不再装配 streams;
  11 处硬编码 'gallery'/'default' 抽常量到 pkg/queue/consts (值不变, 消漂移)。
- 3.5 JWT 密钥治理: pkg/jwt MustInit fail-fast + atomic.Value, 50-goroutine race_test 零告警;
  MustInit 调用点 gateway main + auth_provider + loadgen 同步更新。
- 3.6 aiChat 健壮性: SaveContext 用 persona.ID(非 req.PersonaId); Redis/memory 错误 记 WARN 不静默;
  Dify err 映射稳定用户文案。
- 3.7 statistic.Client 重构: TrackEvent 改 buffered channel (cap 1024) + dispatchLoop worker。
- 3.8 网关聚合: StarCache (60s TTL, singleflight) 替换 GetFanIdentities 链式调用;
  DeleteAccount 改网关直调 userService.DeleteAccount(避免改 hand-written triple.go);
  铸造双写改异步 channel+consumer (3 retry)。
- 大量单测: 各子项 TDD (RED→GREEN), 关键并发 race_test (50 goroutine)。
- .env.example JWT_SECRET 改为 ≥32 字节 base64 示例(原为空, 被 MustInit 立即拒)。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-24 14:03:21 +08:00
zerosaturation
2032246fd0 feat:增加分享界面,完善的保存图片功能 2026-06-26 16:45:29 +08:00
zerosaturation
7074546959 feat:新增通知系统 2026-06-16 21:30:58 +08:00
zerosaturation
0852f96436 feat:去掉重复的点赞约束 2026-05-25 19:03:35 +08:00
zerosaturation
ee0433464f feat: 修改铸造消耗确认框和新增批量购买道具的功能,修改回退按钮的颜色 2026-05-22 00:14:28 +08:00
zerosaturation
9ac75d034b 修改每小时收益的字段类型可以为小数 2026-05-19 12:38:12 +08:00
zerosaturation
ca832abb2c feat: 新增每小时的收益字段 2026-05-19 12:17:57 +08:00
zerosaturation
5f4a443a93 feat: 新增余额不足不能铸造的功能提示,新增详细页面图片正常显示,docker修改配置 2026-05-18 18:32:58 +08:00
zerosaturation
45d3adc373 feat:添加光栅卡的选择 2026-05-17 19:03:34 +08:00
zerosaturation
afb235afd3 feat: 合并代码,解决冲突 2026-05-16 02:42:32 +08:00
zerosaturation
c5bf9df955 feat: 经济系统重构 - 任务服务与画廊服务解耦
- galleryService 独立启动,配置 task-service-url
- 新增 taskService 到 galleryService 的 RPC 调用
- 更新 proto 文件并重新生成代码
- 新增展览唯一约束迁移脚本
- 修复多个 service 的配置和依赖关系

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 23:12:02 +08:00
zerosaturation
55104d5aef fix: 修改模拟数据路径 2026-04-21 15:18:55 +08:00
zerosaturation
e5a09194ad feat: 展览选择藏品进行分类功能 2026-04-20 19:31:42 +08:00
zerosaturation
bcaa743446 feat: 新增星册类型选择 2026-04-20 16:00:10 +08:00
zerosaturation
9a2d597e2b feat: 修改遗留bug 2026-04-12 16:05:13 +08:00
zerosaturation
45e0ad0227 feat: 修改的铸造界面 2026-04-10 21:05:19 +08:00
zerosaturation
06f4038a75 提交后端代码 2026-04-07 22:29:48 +08:00