13 Commits
Author SHA1 Message Date
qian 72fb0318f5 fix(permissions):修复租户端的权限漏洞 2026-09-05 00:31:14 +08:00
qian 9d61abda86 fix(permissions):修复权限相关问题 2026-09-03 00:46:57 +08:00
chengqian 0372d4fff5 feat(role):新增用户权限功能 2026-09-01 15:47:10 +08:00
martin 92c2cc033b refactor: deduplicate task and security logic 2026-07-26 14:07:53 +08:00
martin a6ed67d841 fix: 完成 P3 细节优化项
依据《代码分析结果.md》P3 章节,逐条修复 20 项细节问题:

正确性修复:
- P3-1 锁定剩余分钟改用 math.Ceil,避免「0.9 分钟」显示为「0 分钟」
- P3-12 移除 CheckAndUpgradeLevel 中恒真的 hasUpdate 标志
- P3-14 移除 CheckTrialExpiry 中恒真表达式(count > 0 || true)调试残留,改用 RowsAffected
- P3-2 成员不存在统一返回 NewNotFoundError(404),与其它方法语义一致

安全加固:
- P3-6 X-Request-Id 加格式校验 ^[A-Za-z0-9-]{1,64}$,防日志注入
- P3-7 新增公共 EscapeLikePattern,转义 admin LIKE 搜索的 %/_ 通配符
- P3-8 Encrypt 输出加 v1: 版本前缀,Decrypt 兼容无前缀历史密文
- P3-9 turnstile 响应体读取加 64KB 上限,防内存耗尽
- P3-11 backup codes 熵由 48-bit 提升到 64-bit
- P3-15 recordAudit 对 multipart/二进制体跳过 Unmarshal 与原文落库
- P3-17 错误日志按 Content-Type 跳过 multipart/二进制体读取
- P3-16 HandleRealtime 加 panic recover 与连接生命周期日志

可维护性/一致性:
- P3-3 oauth.go 时间格式统一为 time.RFC3339
- P3-5 MsgSuccess 统一为 ok,response.go 改用常量引用
- P3-4 错误码分段策略加注释,说明空洞与跳跃的成因
- P3-13 ModelMultiplier 占位语义加注释(计费公式设计位 + 快照列)
- P3-19 抽取 registerCronJobs,主启动流程清爽

重构:
- P3-18 删除死代码 BuildBillingSummary/SummaryParams(仅测试引用),保留共用 helper
- P3-20 抽取 relay.InvalidateMemberModelScopeCache 单一失效入口,
  消除三处 member_model 前缀字面量重复(原为有意跨包失效,原建议改名会破坏)

经核实保留 + 文档化:
- P3-10 TOTP 暂保留 SHA-1:totp.Validate 硬编码 SHA-1 且存储不保存算法元信息,
  直接切 SHA-256 会导致校验恒失败,需配合 schema 改动,超出 P3 范围
2026-07-26 12:16:33 +08:00
qian 479340d4ea feat(audit):审计表单独存储到其他数据库中 2026-06-04 01:02:51 +08:00
chengqian fa70d8790c fix(auth):修复管理员权限问题 2026-06-02 18:33:48 +08:00
qian 508146fde2 feat(model):修复用户会话问题 2026-05-29 22:53:29 +08:00
qian b87a0c5a8f fix( db):修复db 查询 结果为空 2026-05-28 08:35:23 +08:00
chengqian 3cdb76c8c0 refactor(middle): Context 函数零散 2026-05-26 14:16:03 +08:00
qian bd0d852e0f feat(log):新增用户登录日志 2026-05-16 09:23:52 +08:00
qian 5796973f0c fix(db):修复数据库查询没有记录时报错 2026-05-14 08:06:58 +08:00
qian 3405280224 后端功能首次提交 2026-05-10 12:21:27 +08:00