Commit Graph
14 Commits
Author SHA1 Message Date
odboy 185e458b45 refactor(config): 统一使用应用服务器时间
- 删除 dao.Now(),不再额外执行 SELECT NOW(3)
- 配置写入、历史记录和增量游标全部使用 time.Now()
- 移除数据库时间获取失败的错误分支
2026-09-21 21:11:34 +08:00
odboy 28c727501f fix(config): 统一历史记录与配置的数据库时间来源
- saveHistory 接收调用方传入的数据库时间,不再使用 time.Now()
- 更新、删除、回滚先取 dao.Now(),避免取时间失败时产生无效历史
- 历史表 created_at 升级为 datetime(3),新增迁移脚本
2026-09-18 21:14:53 +08:00
odboy 1f8cae5a8b refactor(auth): 移除 RO/RW 权限机制并完善配置历史
- 删除 GrantPermissons 与 buildPermissionCode,权限只判断超管、组管理员和应用负责人
- GetHistory 增加权限校验,避免越权读取配置历史
- 配置历史改为分页查询,前端历史弹窗增加分页并处理删除后的页码回退
2026-09-16 21:11:09 +08:00
odboy a2c26cea98 feat(config): 增强配置解析的语法校验与错误处理
- 重构 ParseConfigToKVMap 使其在解析失败时返回 error 而非静默忽略
- 新增 ValidateConfig 方法,在保存和更新配置前校验语法正确性
- 将 XML 解析器从简单字符串匹配改为标准库 xml.NewDecoder,支持嵌套标签和实体转义
- 在配置保存和更新接口中集成语法校验,校验失败返回 400 错误
- API 拉取配置时解析失败的条目记录日志并跳过,避免整体请求中断
- 新增 config_parse_test.go 覆盖各配置类型的正常与异常场景
2026-09-08 21:19:55 +08:00
odboy 92c09df103 feat(config): 增强配置历史管理并统一数据库时间
- 新增 dao.Now() 函数获取数据库毫秒精度时间,避免多实例时钟偏差
- 增量同步查询增加上界(updated_at <= upperBound)防止竞态条件
- 配置创建、更新、删除、回滚统一使用数据库时间替代 time.Now()
- 配置历史新增 operate 字段记录操作类型(update/delete/rollback)
- 删除配置和回滚操作前增加历史快照记录
- 新增 DeleteHistory 接口支持手动删除单条历史记录
- 移除 GetHistory 的 Limit(5) 限制,返回完整历史列表
- 删除应用时同步更新关联配置的 updated_at 以便增量同步识别
- version 字段改为必填,前后端同步增加校验规则
- 前端历史列表增加操作类型列、删除按钮及表格最大高度限制
- 数据库表结构 datetime 升级为 datetime(3) 支持毫秒精度
2026-09-06 21:04:25 +08:00
odboy a62dbfe74c fix(sql): 修复SQL注入漏洞改用参数化查询
- app.go 将查询条件从字符串拼接改为占位符参数绑定
- config.go 将查询条件从字符串拼接改为占位符参数绑定
- user.go 将查询条件从字符串拼接改为占位符参数绑定
- 移除 app.go 中重复的条件构建逻辑
- 对 group_id、enabled 等参数增加类型校验与错误处理
2026-09-01 21:17:57 +08:00
odboy d9043c6f78 perf: 优化 N+1 查询,改为批量 IN 查询
- config.go List 方法:配置列表查询应用名称从循环内逐条查询改为批量 IN 查询
- config_api.go recordClientInstances:客户端实例上报从循环内逐条查询+写入改为批量 IN 查询+批量插入
2026-05-30 21:04:38 +08:00
odboy c0aa5b6806 refactor: 使用 TableName() 替代硬编码表名 client_instance 2026-05-20 21:06:06 +08:00
odboy 8957286bb5 fix: 修复客户端实例记录问题并删除父应用功能
- 客户端实例唯一标识改为 app_config_id+appName+env+ip 四元组
- 新增 last_ping_at 字段,轮询即更新,拉取配置时更新 last_fetch_at
- FetchChangedConfigs 无变更时也记录客户端实例
- 清理逻辑改为基于 last_ping_at 超过5分钟删除
- 删除父应用(ParentId)相关功能
2026-04-30 21:06:36 +08:00
odboy ed94f53306 feat: 实现客户端实例上报功能
- 新增 ClientInstance 模型,记录客户端 IP 与配置项的关联
- 配置拉取接口(fetchAll/fetchChanged)自动记录客户端信息
- 配置列表页面展示每个配置的在线客户端数量
- 点击可查看具体 IP 地址、拉取方式、最后拉取时间
- 超过 5 分钟未拉取的记录自动清理
- 注释掉 /api/ping 接口
2026-04-27 21:07:37 +08:00
odboy 858dfcb5cf feat: 查询条件优化和 xorm session 修复 2026-03-18 21:01:04 +08:00
odboy 928a95fccd fix: 修复多个代码质量缺陷 2026-03-13 21:11:06 +08:00
odboy 932db9fbdc fix: 修复多个安全缺陷和功能问题
- 移除加密相关代码(服务端和所有客户端)
- 修复 JWT 验证未检查签名算法的问题
- 修复重置密码使用不安全随机数的问题
- 实现 Logout 服务端失效机制
- 修复历史版本对比 diff 颜色标记错误
- 修复占位符解析循环引用风险
- 添加用户禁用状态检查
- 更新 bug 清单文档
2026-03-10 21:07:22 +08:00
odboy 4436d3ee88 feat: 初始化配置中心项目 2026-01-14 21:02:13 +08:00