|
|
8c90de5b08
|
docs(change-password): 追加 §12 顺带修复 Login 账号状态码 BUG
问题: auth_service.go Login 流程被冻结/封禁时用 fmt.Errorf/errors.New
返回 generic error,落到 ToStatusCode default 分支 -> 500 而非 403
修复:
- errors.go: 新增 NewAccountBannedError / NewAccountFrozenError 2 helper,
保留 typed error 身份但允许附加 reason / frozenUntil 信息
- errors.go: ToStatusCode 改用 errors.Is 全面识别 wrapped error
(一处 switch 大改造,使其他 service 中已有的 fmt.Errorf("%w") 自动受益)
- auth_service.go: Login 流程 2 处 return 改用 helper
- auth_service_login_test.go (新建或追加): 2 个新单测验证 403 行为
|
2026-06-12 13:04:11 +08:00 |
|
|
|
e5d5808a84
|
docs(change-password): 架构级修正 - 状态码语义替代白名单方案
按用户反馈,BUG #1 修复应从状态码语义入手,而非前端 URL 白名单:
后端修订 (§4.5):
- ErrInvalidVerifyToken: 401 -> 400 (业务校验,非鉴权)
- 新增 ErrInvalidOldPassword: 400 (改密场景下旧密码错)
- 保留 ErrInvalidPassword (Login 用) = 401 不变
- 关键原则:已登录态下的业务校验都走 400
前端简化 (§5.1):
- 拦截器去掉 NO_AUTO_LOGOUT_PATHS 白名单
- 只对 401 (token 失效) / 403 (账号被封) 自动登出
- 400 类业务错误统一 toast,让用户重试
同步:
- §4.3 service 代码:用 ErrInvalidOldPassword 替代 ErrInvalidPassword
- §4.6 测试用例 #5:用 ErrInvalidOldPassword
- §6.2 手动测试 #2:旧密码错返回 400
- §7 错误码表:增加是否触发自动登出列,统一规则
- §10 文件列表:errors.go 新增 3 错误码,api.js 改为非白名单改造
- §1.1 BUG #1 描述同步更新
|
2026-06-12 12:51:47 +08:00 |
|
|
|
0a3d8e0afc
|
docs(change-password): 合并 7 个 second-pass issues
- 3.1 序列图:补 GetByID 调用,与 §4.3 一致
- 4.2: 加 call-site 审计 grep 命令 + 已确认 9 文件列表
- 4.6: 补 mocking 模式代码示例 + Test #9 错误类型规约
- 5.3.3: 解释手动 removeStorageSync 的原因(store 不清 temp_register_*)
- 5.3.4: 补 updatePasswordApi 调用点审计(2 文件已确认)
- 9: 补 AuthMiddleware 已挂载,前端凭 token 即可访问
|
2026-06-12 12:41:56 +08:00 |
|
|
|
c875151daa
|
docs(change-password): 修复合并 5 个 spec review issues
- 4.2: 明确 VerifyToken 函数改造为 (ctx, scene, mobile, token)
- 4.3: 补 scene="password" 传入,加 scene 一致性注释
- 5.3.4: 确认 sendCodeApi/verifyCodeApi 已支持 scene,updatePasswordApi 需扩展为 3 参数
- 7: 增加 401 业务码多义性说明,提示 res.message 必须稳定
- 10: auth_service.go 改动明确为 Register 中 VerifyToken 调用加 scene 参数
|
2026-06-12 12:36:29 +08:00 |
|
|
|
e8061c7d05
|
docs(change-password): 设计文档 - 旧密码+短信双保险+修复3 BUG
- 后端:proto 加 verify_token,SMS Redis key 场景化,Service 加 verify_token 校验+新旧密码一致性
- 前端:BUG#1 拦截器白名单修复、BUG#2 补 APP介绍 handler、BUG#3 加前端校验
- 新增 2 个错误码:ErrInvalidVerifyToken、ErrSameAsOldPassword
- 后端单测覆盖矩阵 10 条
- 前端手动验证 checklist 10 条
|
2026-06-12 11:51:09 +08:00 |
|
claude
|
a595440915
|
docs(moderation): 自审修复 - target_type 命名/跨schema/Lua lock/补流程
|
2026-06-11 21:50:58 +08:00 |
|
claude
|
16e8eb55dd
|
docs(moderation): 完善设计 - 序列起始值/状态机迁移/限流/孤儿清理
|
2026-06-11 21:50:58 +08:00 |
|
claude
|
5320eceb32
|
docs(moderation): 举报与反馈系统设计
|
2026-06-11 21:50:58 +08:00 |
|
zerosaturation
|
a1bb302be8
|
feat:修改已知bug
|
2026-06-11 21:07:00 +08:00 |
|
zerosaturation
|
542b1bd4f0
|
feat:修改docker脚本配置
|
2026-06-11 18:17:33 +08:00 |
|
|
|
e5061e9449
|
docs:分析功能设计文档
|
2026-06-11 17:52:40 +08:00 |
|
zerosaturation
|
52a88162f4
|
feat:合并问题解决
|
2026-06-11 16:37:07 +08:00 |
|
zerosaturation
|
280b4bbee0
|
feat:docker新增统计的微服务
|
2026-06-11 16:35:56 +08:00 |
|
zerosaturation
|
3ec096ecd9
|
feat:修改星榜卡顿问题
|
2026-06-11 13:56:34 +08:00 |
|
|
|
2c8ce4d586
|
image:修改图片尺寸
|
2026-06-11 13:52:47 +08:00 |
|
|
|
c441388fd0
|
feat:修改星榜的样式
|
2026-06-11 13:31:53 +08:00 |
|
zerosaturation
|
37fbcb42c6
|
feat:星榜新增翻页功能
|
2026-06-11 13:14:38 +08:00 |
|
|
|
c90dcf3d36
|
feat:去掉无用的图片
|
2026-06-11 12:53:44 +08:00 |
|
|
|
b0290456bb
|
fix(square): use ref-binding for scrollTop reset; add bottom safety margin
|
2026-06-11 12:53:44 +08:00 |
|
|
|
751bd68bf1
|
feat(square): differentiate scroll behavior for xinghe/xingbang/guangchang tabs
|
2026-06-11 12:53:43 +08:00 |
|
zerosaturation
|
71ee3795b9
|
feat: 修改星河下面9个小图的位置
|
2026-06-11 12:29:17 +08:00 |
|
|
|
4263d2f779
|
feat: 修改星河底座的间距
|
2026-06-11 00:54:52 +08:00 |
|
|
|
d6c4514329
|
feat:修改星榜
|
2026-06-11 00:52:27 +08:00 |
|
zerosaturation
|
3d6a4c5dbd
|
feat: 榜单样式调整
|
2026-06-11 00:51:26 +08:00 |
|
|
|
cca325b295
|
feat: 修改square星河组件的样式修改和bug
|
2026-06-11 00:15:16 +08:00 |
|
|
|
23862e36ae
|
feat:增加top3的动画
|
2026-06-10 22:53:07 +08:00 |
|
|
|
d4e26337de
|
feat: 修改星河top
|
2026-06-10 19:33:17 +08:00 |
|
|
|
61d39e2c1e
|
feat: 新增星河的
|
2026-06-10 19:25:15 +08:00 |
|
|
|
90803234ba
|
style(stargalaxy): remove shared podium size — each .podium-N controls its own width/height
|
2026-06-10 19:16:03 +08:00 |
|
|
|
021782d42f
|
style(stargalaxy): add topbj3.png background-image to .podium-card (shared, not rank-specific)
|
2026-06-10 18:01:39 +08:00 |
|
|
|
b130a51474
|
refactor(stargalaxy): simplify rank — PodiumCard uses 1/2/3 directly (no +4 offset)
|
2026-06-10 17:28:31 +08:00 |
|
|
|
563969c4e0
|
perf(stargalaxy): replace label JS constants with pure CSS classes (.podium-N .top-label)
|
2026-06-10 17:26:26 +08:00 |
|
|
|
7b7902bba6
|
perf(stargalaxy): inline displayRank/frameSrc into template, drop computed
|
2026-06-10 17:24:08 +08:00 |
|
|
|
617bb201dc
|
perf(stargalaxy): replace JS computed sizing with pure CSS classes (.podium-4/5/6)
|
2026-06-10 17:22:13 +08:00 |
|
|
|
7f831c4fbe
|
refactor(stargalaxy): move PODIUM_SIZES/POSITIONS into PodiumCard for self-contained layout
|
2026-06-10 17:18:35 +08:00 |
|
|
|
6231295e36
|
refactor(stargalaxy): remove unused frameGradients/frameStyle from PodiumCard (user to redesign)
|
2026-06-10 17:15:37 +08:00 |
|
|
|
32bc65aa1b
|
refactor(stargalaxy): remove unused diamond-frame/cover-highlight/diamond-border/crown from PodiumCard
|
2026-06-10 17:09:50 +08:00 |
|
|
|
308cf33a14
|
style(stargalaxy): center ScatteredRanks vertically in parent container
|
2026-06-10 17:01:46 +08:00 |
|
|
|
ca87faf98d
|
fix(stargalaxy): reverse top/bottom mask to fade header at top instead of bottom
|
2026-06-10 16:55:28 +08:00 |
|
|
|
1542147291
|
fix(stargalaxy): correct LV frame mapping in ScatteredRanks (rank 4→LV4, not LV1)
|
2026-06-10 16:51:01 +08:00 |
|
|
|
f66be49384
|
feat(stargalaxy): add LV1-12 frame images to podium and scattered items
|
2026-06-10 16:48:34 +08:00 |
|
|
|
dd5f95d734
|
fix(stargalaxy): set slot-specific static transform to prevent 9-item overlap fallback
|
2026-06-10 16:01:29 +08:00 |
|
|
|
f7b76e3813
|
docs(stargalaxy): add component README with cross-platform compatibility notes
|
2026-06-10 15:44:15 +08:00 |
|
|
|
ef82d7a57d
|
feat(square): wire StarGalaxy component into 星河 tab
|
2026-06-10 15:38:16 +08:00 |
|
|
|
4ad16dd91f
|
feat(stargalaxy): add container with data loading, decoration, podium + scattered orchestration
|
2026-06-10 15:33:56 +08:00 |
|
|
|
bfb15c57e5
|
refactor(stargalaxy): remove dead ORBIT_KEYFRAMES import with explanatory comment
|
2026-06-10 15:31:24 +08:00 |
|
|
|
04609adb5e
|
feat(stargalaxy): add ScatteredRanks with 9 ring items + 36s orbit animation
|
2026-06-10 15:26:12 +08:00 |
|
|
|
2bd5733ca0
|
feat(stargalaxy): add PodiumCard for TOP 1-3 with gold/silver/bronze labels
|
2026-06-10 15:20:18 +08:00 |
|
|
|
a870943dc1
|
feat(stargalaxy): add ring position config and orbit keyframes
|
2026-06-10 15:14:23 +08:00 |
|
zerosaturation
|
233b527236
|
docs:星河设计文档
|
2026-06-10 12:07:27 +08:00 |
|