odboy
|
af3cf2f6e6
|
feat(token): 将token迁移至请求体并兼容旧版客户端
- C++客户端在请求payload中添加token字段
- .NET客户端在请求payload中添加token字段
- Rust客户端在请求payload中添加token字段
- SpringBoot2客户端移除buildTokenParameter调用,改为将token放入请求体
- SpringBoot3客户端移除buildTokenParameter调用,改为将token放入请求体
- SpringBoot2/3客户端新增getToken方法供内部调用
- 服务端增加兼容逻辑,优先从请求体获取token,为空时回退至URL query参数
|
2026-09-13 21:07:56 +08:00 |
|
odboy
|
70cb3e301e
|
refactor(api): 移除未生效的 fetchAll 参数
- 删除 FetchChangedRequest 中未使用的 FetchAll 字段
- addChangedConfigs 去掉 fetchAll 参数及两处调用
|
2026-09-11 21:05:41 +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
|
639475b730
|
feat: 实现配置删除通知机制(deletedKeys)
- 服务端 fetchChangedConfigs 接口新增 deletedKeys 字段,返回已删除配置的 key 列表
- Go/Node.js/Python/Spring Boot 客户端支持解析 deletedKeys 并删除本地配置
- Spring Boot 客户端新增 removeConfigs 方法,同步更新 Spring Environment
|
2026-06-17 21:07:51 +08:00 |
|
odboy
|
18b8c4c18b
|
fix: 客户端实例上报 IP 地址优先使用 IPv4
新增 getClientIP 辅助函数,将 IPv6 环回地址(::1)转为 127.0.0.1,
避免在线客户端列表显示 IPv6 地址。
|
2026-06-12 21:17:12 +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
|
1d2d1ab83e
|
style: 格式化 recordClientInstances 字段对齐并移除未使用的 fmt 导入
|
2026-05-07 21:16:20 +08:00 |
|
odboy
|
9a7679960c
|
refactor: 添加 logger 模块并优化客户端实例清理逻辑
- 新增 logger 模块,统一使用 zap.SugaredLogger
- 将 config_api.go 中的 fmt.Printf 改为 logger.SugaredLogger.Errorf
- 客户端实例清理逻辑改为定时任务(每分钟执行)
- 清理条件改为 last_ping_at 超过 5 分钟
|
2026-05-02 21:01:26 +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
|
6ab368f21e
|
feat(group): 业务组禁用后限制用户登录和配置拉取
|
2026-03-15 21:19:48 +08:00 |
|
odboy
|
932db9fbdc
|
fix: 修复多个安全缺陷和功能问题
- 移除加密相关代码(服务端和所有客户端)
- 修复 JWT 验证未检查签名算法的问题
- 修复重置密码使用不安全随机数的问题
- 实现 Logout 服务端失效机制
- 修复历史版本对比 diff 颜色标记错误
- 修复占位符解析循环引用风险
- 添加用户禁用状态检查
- 更新 bug 清单文档
|
2026-03-10 21:07:22 +08:00 |
|
odboy
|
08b2ba4c25
|
refactor(api): fetchAllConfigs 接口从 GET 改为 POST
- 服务端: 新增 FetchAllRequest 结构体,参数通过 JSON body 传递
- 服务端: 路由从 api.GET 改为 api.POST
- Go/Python/Node.js/Java 客户端同步更新为 POST + JSON body
- 与 fetchChangedConfigs 接口风格统一,token 不再暴露在 URL 中
|
2026-02-20 21:18:43 +08:00 |
|
odboy
|
b011b3a0b3
|
feat(app): 实现应用 Token 校验功能
- 服务端: fetchAllConfigs 和 fetchChangedConfigs 添加 Token 校验
- 前端: 应用列表添加 Token 列和生成/删除 Token 按钮
- 客户端: Python/Node.js/Java 客户端传递 token 参数
- Java: 简化 buildTokenParameter 直接传递 token 值
|
2026-02-18 21:02:30 +08:00 |
|
odboy
|
4436d3ee88
|
feat: 初始化配置中心项目
|
2026-01-14 21:02:13 +08:00 |
|