hoteas
|
3e08b20698
|
fix(makecode): 达梦列注释按 OWNER 对齐,并兼容选项解析边界
同时修复新增默认 state、导出 sheet 名长度与目录权限。
Co-authored-by: Cursor <cursoragent@cursor.com>
v1.7.305
|
2026-07-24 05:36:37 +08:00 |
|
hoteas
|
c8382200a0
|
docs: Seq LogBind 示例去掉业务项目细节,保持框架通用口径
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-07-24 01:52:35 +08:00 |
|
hoteas
|
b951ba027e
|
fix(log): caller 过滤跳过框架 session.go,SQL 日志归因直达业务帧
session 存取中间层不是业务发起点,此前 session 读写触发的 SQL 日志
caller 落在 session.go:29/136,业务帧被挤到 "<-" 之后,Seq 归因噪音大。
Co-authored-by: Cursor <cursoragent@cursor.com>
v1.7.304
|
2026-07-24 01:44:59 +08:00 |
|
hoteas
|
a0719dc72d
|
docs: LogBind 示例更新为入口统一绑定口径
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-07-24 01:40:34 +08:00 |
|
hoteas
|
332c2414bc
|
feat(log): 访问日志携带 ua,挂 Seq 后控制台放宽到 Info+
- WebConnectLog 访问日志新增 ua 字段(User-Agent 按 rune 截断 200 字符),便于按设备归因
- SetSeqWriter 挂 Seq 后业务控制台由 Warn+ 放宽为 Info+,Debug/SQL 仍只进 Seq 与文件
- 新增 Logger.SetConsoleMinLevel,访问日志控制台单独保持 Warn+
Co-authored-by: Cursor <cursoragent@cursor.com>
v1.7.303
|
2026-07-24 01:35:45 +08:00 |
|
hoteas
|
853940c795
|
fix(makecode): Search 文本字段只走模糊匹配,避免等值叠加导致空结果
Co-authored-by: Cursor <cursoragent@cursor.com>
v1.7.302
|
2026-07-23 06:15:07 +08:00 |
|
hoteas
|
b5b764e3f9
|
docs: 优雅停机示例透传 EO-Connecting-IP
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-07-23 06:05:00 +08:00 |
|
hoteas
|
25faa93724
|
feat(log): 多源 clientIP 降级与去重 ip_chain
按 EO→XFF非回环→X-Real→RemoteAddr 选取 ip;访问日志附带去重 ip_chain;登录限流改用 clientIP。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-07-23 06:04:43 +08:00 |
|
hoteas
|
831a7f017a
|
feat(log): Seq 会话追踪、控制台降噪与推送质量增强
请求日志自动带 sid/request_id,支持 LogBind;挂 Seq 后控制台仅 Warn+,Seq 仍全量;并修毫秒时间戳、@m、失败重试与停机 flush。
Co-authored-by: Cursor <cursoragent@cursor.com>
v1.7.2.1
v1.7.301
|
2026-07-23 05:26:44 +08:00 |
|
hoteas
|
b254606003
|
fix(makecode): 树查询 showself 仅在 showall 时生效
避免 parent_id 懒加载把节点自身混入子级导致无限嵌套,并补充 department 回归用例与文档。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-07-22 08:58:46 +08:00 |
|
hoteas
|
412f08a048
|
Merge branch 'master' of https://code.hoteas.com/golang/hotime
v1.7.2
|
2026-07-22 04:41:30 +08:00 |
|
hoteas
|
ec9d25fef6
|
feat(testing): 新增 AnyMsg 方法以跳过错误消息断言
- 在 Api 和 ApiCase 中新增 AnyMsg 方法,允许在状态不为 0 时跳过错误消息的断言,适用于动态内容的用例。
- 更新文档说明,介绍 AnyMsg 的用法及其链式调用示例。
- 在示例测试中添加 AnyMsg 的使用案例,展示其在处理动态错误消息时的便利性。
|
2026-07-22 04:38:38 +08:00 |
|
hoteas
|
a600fa8a15
|
fix(mysql): SetMysqlDB 默认 charset 改为 utf8mb4
与表字符集对齐,兼容 MySQL 8.0/8.4,避免连接层 utf8mb3。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-07-22 04:16:22 +08:00 |
|
hoteas
|
f53d406110
|
refactor(application): 更新 Cache-Control 逻辑与文档说明
- 简化 application.go 中的 Cache-Control 设置,固定为 public,移除 logLevel 对其的控制。
- 更新 var.go 中 logLevel 的说明,明确其不再影响静态资源的 Cache-Control。
- 修改 QuickStart 文档,反映 logLevel 的新行为与静态资源缓存策略。
v1.7.1
|
2026-07-15 23:02:12 +08:00 |
|
hoteas
|
8a1a27b457
|
feat(testing): Listener 链式入口并精简测试文档运行指引
将 connect listener 并入 Test 链、删除 NewTestApp,正文只示范 -run 单测,全量命令仅保留在文末 CI 节。
Co-authored-by: Cursor <cursoragent@cursor.com>
v1.7.0
|
2026-07-13 19:56:36 +08:00 |
|
hoteas
|
5a4fd288bb
|
chore: 清理误提交的覆盖率产物与空配置
移除 cover/cover.out、空 .tgitconfig 与无效 worktrees.json,并补充忽略规则。
Co-authored-by: Cursor <cursoragent@cursor.com>
v1.6.9
|
2026-07-13 19:21:21 +08:00 |
|
hoteas
|
c2ce1955f9
|
chore: 忽略本地配置与测试生成物,停止跟踪 swagger
避免将仓根 config/tpt、*.exe 及 example/tpt/swagger 再推送到远端。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-07-13 18:16:29 +08:00 |
|
hoteas
|
16496a8dc0
|
feat(testing): Flows/FromCase、增量 swagger 与 Doc-Driven 门禁
补齐多接口流程联调与控制台体验,并落地仓内 Doc-Driven+TDD 总规则与文档。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-07-13 18:11:08 +08:00 |
|
hoteas
|
9fe4ab2758
|
Merge branch 'main-dmdb' into master
|
2026-07-13 15:21:25 +08:00 |
|
hoteas
|
c2a59e19c9
|
feat(api): 新增 RunSub 支持接口测试内部分场景
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-07-13 15:21:23 +08:00 |
|
hoteas
|
6b689f3a1b
|
chore(logging): 更新日志重定向与捕获功能
- 在 .gitignore 中添加调试日志文件的忽略规则,避免不必要的调试信息被提交
- 修改 application.go 中的 stdout 重定向逻辑,使用 log.CaptureStream 以支持更灵活的日志捕获
- 更新 README 文档,增加对日志重定向功能的说明
|
2026-07-13 07:45:51 +08:00 |
|
hoteas
|
e14c9742c1
|
chore(logs): 删除过时的调试日志文件
- 移除 example/debug-e1b6ef.log 文件,清理不再需要的调试信息,保持项目整洁。
|
2026-07-13 07:45:40 +08:00 |
|
hoteas
|
8b095f87ea
|
feat(api): 新增 AtPath 方法以支持跨接口断言
- 实现 AtPath 方法,返回指向其它 API 路径的 Api 实例,增强 API 的灵活性与可用性。
|
2026-06-30 06:54:02 +08:00 |
|
hoteas
|
1e77dde6f0
|
chore(.gitignore): 添加 macOS 特定文件 .DS_Store 到忽略列表
|
2026-06-28 03:50:18 +08:00 |
|
hoteas
|
7fdf5181da
|
feat(logging): 增强日志记录功能与错误处理
- 新增 redirectStderr 函数,重定向 os.Stderr 到 HoTime Logger,捕获 panic 栈和 MySQL 驱动错误日志
- 实现 mysqlLogAdapter,将 MySQL 驱动的内部错误日志桥接到 HoTime Logger,确保错误信息以 error 级别推送
- 更新 Seq 日志集成,支持 WebConnectLog 的 SeqWriter 配置,提升日志记录的灵活性与准确性
|
2026-05-31 04:54:12 +08:00 |
|
hoteas
|
94a251ec44
|
feat(logging): 增加 Seq 日志集成与标准输出重定向
- 新增 SeqWriter 支持,将日志异步推送到 Seq 平台,支持多进程实例区分
- 实现 redirectStdout 函数,重定向 os.Stdout 和标准 log 包输出,确保 fmt.Println 等输出被捕获并记录
- 更新 README 文档,增加 Seq 日志集成的说明与配置链接
- 扩展 Logger 结构,支持动态添加输出目标,提升日志记录灵活性
|
2026-05-18 13:12:51 +08:00 |
|
hoteas
|
ef10437a5a
|
refactor(code): 优化数据聚合查询逻辑与条件处理
- 重构数据聚合查询流程,减少多次数据库查询,提升性能
- 引入聚合表达式列表和元数据结构,简化查询逻辑
- 优化条件判断,确保不必要的字段被正确过滤
- 改进区域统计逻辑,使用单次查询替代逐个计数,提高效率
- 更新搜索功能,确保请求数据的有效性
|
2026-05-17 04:08:54 +08:00 |
|
hoteas
|
66dee150c7
|
fix(docs): 更新人员管理标签为员工管理
- 将文档中的“人员管理”标签修改为“员工管理”,以提高术语的一致性和准确性。
|
2026-04-30 17:05:02 +08:00 |
|
hoteas
|
f22eea72ec
|
feat(app): 更新优雅停机逻辑与请求超时设置
- 修改 DrainTimeout 和 ShutdownTimeout 的注释,明确其含义与默认值
- 优化日志信息,提供更清晰的停机状态反馈
- 调整 ShutdownTimeout 默认值为 10s,以增强请求处理的灵活性
- 移除冗余的调试日志代码,提升代码整洁性
|
2026-04-24 05:43:53 +08:00 |
|
hoteas
|
0340bc4b8e
|
feat(app): 增强优雅停机逻辑与请求处理
- 新增 inFlight 原子计数器以跟踪当前处理的请求数
- 更新 initiateGracefulShutdown 方法,支持每秒检测在途请求,优化停机时长
- 修改日志信息,提供更清晰的停机状态反馈
- 更新 DrainTimeout 注释,明确最长等待时长与检测机制
|
2026-04-19 09:44:15 +08:00 |
|
hoteas
|
d03ed65d41
|
style(ui): 调整 API 调试控制台样式与按钮布局
- 修改 CSS 变量 `--r` 的值以增加圆角效果
- 更新展开/收起预期响应按钮的样式,提升用户体验
- 优化按钮宽度和布局,确保一致性与可读性
|
2026-04-16 21:32:19 +08:00 |
|
hoteas
|
10428b6da4
|
refactor(tests): 优化测试用例结构与文件上传字段
- 移除多余的空行以提升代码整洁性
- 调整 swaggerTestCase 结构的缩进格式,增强可读性
- 更新文件上传字段的默认值,确保一致性
|
2026-04-15 01:51:52 +08:00 |
|
hoteas
|
66f18a084a
|
feat(app): 实现优雅停机功能
- 新增 shuttingDown 原子布尔标志和 shutdownOnce 保证单次执行
- 添加 DrainTimeout 和 ShutdownTimeout 配置参数,默认 5s 和 30s
- 修改 ServeHTTP 拦截新请求返回 503 Service Unavailable
- 实现跨平台信号处理:Windows 关窗口和 Linux SIGTERM/SIGINT
- 添加 recover 保护避免停机过程中 panic 触发重启
- 优化 HTTP 服务退出判断,排除正常关闭情况
- 新增 log.LoggerNoCaller 用于访问日志等无意义调用方场景
- 更新 README 文档增加优雅停机特性说明和文档链接
- 创建详细的优雅停机文档和测试用例
- 添加 Windows 平台特定信号处理实现
- 新增 .cursor 计划文件记录开发方案
|
2026-04-14 14:07:59 +08:00 |
|
hoteas
|
3430bdec19
|
enhance(tests): 改进测试用例记录与覆盖率报告
- 在 ApiCase 中添加失败原因记录,提升测试结果的可读性
- 更新 CoverageReport 结构,增加总用例、通过用例和失败用例计数
- 优化 PrintCoverage 方法,支持详细输出未通过接口及其失败原因
- 更新 Swagger 生成逻辑,包含失败原因字段,增强调试信息
- 改进 SQL 错误计数逻辑,确保在测试模式下准确记录 SQL 错误
|
2026-04-13 06:45:16 +08:00 |
|
hoteas
|
9a9b9c83ff
|
refactor(logging): 迁移日志记录到 Zerolog 并优化错误处理
- 将日志记录库从 Logrus 替换为 Zerolog,提升性能和灵活性
- 更新各个模块的日志记录方式,确保一致性
- 优化错误处理逻辑,确保在发生错误时能够正确记录并传递错误信息
- 移除不再使用的错误处理字段,简化代码结构
- 更新相关文档以反映新的日志记录和错误处理机制
|
2026-04-13 00:38:50 +08:00 |
|
hoteas
|
86daa3153e
|
fix(db): 修复事务模式下的错误处理与回滚机制
- 在 `queryWithRetry` 和 `execWithRetry` 方法中添加对 `txFailed` 的状态管理,确保在 SQL 错误时正确标记事务失败
- 增加新的测试用例以验证事务模式下的错误处理逻辑,确保在 SQL 错误发生时能够正确回滚
- 优化测试数据库的初始化方法,支持事务测试场景
|
2026-04-12 00:53:22 +08:00 |
|
hoteas
|
277e244e80
|
```
refactor(db): 优化事务错误状态管理
- 添加 txFailed 指针字段用于跟踪事务内SQL执行状态
- 确保事务错误状态在 HoTimeDB 实例间正确共享
- 当事务内SQL出错时强制回滚以维护数据一致性
```
|
2026-04-11 22:34:13 +08:00 |
|
hoteas
|
5a1b5e4fee
|
Merge branch 'master' into main-dmdb
# Conflicts:
# db/db.go
|
2026-04-11 21:54:37 +08:00 |
|
hoteas
|
f787421f82
|
fix(db): 修复事务中SQL错误时的回滚机制
- 添加txFailed标志跟踪事务内的SQL错误状态
- 在事务模式下遇到SQL错误时立即标记事务失败并阻止重试
- 修改Action方法确保SQL出错时强制回滚事务
- 为事务失败场景添加完整的单元测试覆盖
- 防止在事务已回滚的情况下继续执行后续操作导致数据不一致
|
2026-04-11 21:53:28 +08:00 |
|
hoteas
|
cf8ff2b838
|
fix(docs): 更新测试文档中的文件引用以反映正确的测试文件名
- 将测试注册文件名从 `app_test.go` 更正为 `init_test.go`,确保文档与代码一致
- 更新相关代码示例以匹配新的文件结构,提升文档的准确性和可读性
|
2026-04-04 04:11:05 +08:00 |
|
hoteas
|
f7c3a6c1c8
|
feat(logging): 增强日志记录功能以支持更详细的调试信息
- 在 GenerateSwagger 方法中添加更全面的调试日志,记录运行检查和端点保留情况
- 更新 Action 方法以优化测试模式下的日志缓冲,确保日志的准确性和完整性
- 删除不再使用的计划文档,简化项目结构
|
2026-04-04 01:57:55 +08:00 |
|
hoteas
|
63360f9a14
|
feat(logging): 增强测试框架的日志记录功能
- 在 GenerateSwagger 方法中添加调试日志记录,记录部分运行检查和现有端点的保留情况
- 更新 Action 方法以支持测试模式下的日志缓冲,确保日志记录的准确性
- 删除不再使用的计划文档,简化项目结构
|
2026-04-04 01:57:10 +08:00 |
|
hoteas
|
17e1090077
|
feat(tests): 增强测试框架的 SQL 日志记录与覆盖率报告
- 在 ApiCase 中添加 SQL 日志记录功能,失败时输出日志以便于调试
- 更新 TestApp 以支持测试模式下的 SQL 日志缓冲,成功与失败的测试均可记录日志
- 改进 PrintCoverage 方法,优化覆盖率报告的输出逻辑,支持部分运行的接口显示
- 增加 Note 备注功能,提升测试用例的可读性与文档化效果
- 更新相关文档,详细说明新功能的使用场景与示例
|
2026-04-04 01:34:09 +08:00 |
|
hoteas
|
b3f263c965
|
feat(login): 添加 IP 限速机制以防止频繁登录尝试
- 在登录功能中实现同一 IP 1 分钟内最多尝试 10 次的限制
- 记录登录时间戳并过滤过期记录,确保登录尝试次数的准确性
- 优化未登录用户的返回信息,避免泄露敏感数据
|
2026-03-31 00:10:39 +08:00 |
|
hoteas
|
37a67f5810
|
feat(api): 增强 API 测试框架功能与文档
- 在 Api 结构中新增 lastResp 字段以存储最近请求的响应
- 添加 Verify 方法,支持自定义校验函数并返回 ApiCase 构建器
- 新增 Resp 方法,获取最近一次请求的响应以便于断言
- 在 TestCollector 中添加 Visited 字段,记录已调用的路径
- 更新 GenerateSwagger 方法,支持部分运行时保留未运行端点的已有数据
- 完善文档,增加用例编写范式和示例,提升测试框架的可用性与易用性
|
2026-03-30 01:55:07 +08:00 |
|
hoteas
|
3681564ca4
|
feat(config): 扩展数据类型映射与数据库字段备注提取功能
- 在 ColumnDataType 中新增对 PostgreSQL 和 Oracle 数据类型的支持
- 更新 Db2JSON 方法,优化对达梦数据库表和列信息的查询逻辑
- 增强字段备注解析,支持从备注中提取提示信息并清理标签
- 更新文档,详细说明字段备注格式及前端提示的展示效果
|
2026-03-23 16:48:56 +08:00 |
|
hoteas
|
37c6a00c0a
|
refactor(db): 移除 Row 方法中的列名小写转换
- 在 Row 方法中删除对列名的统一小写转换,保持原始列名格式
- 简化代码逻辑,提升可读性
|
2026-03-21 20:51:58 +08:00 |
|
hoteas
|
70012032f0
|
feat(api): 增强 API 测试框架的断言功能
- 修改 ApiCase 和 ApiResponse 结构,新增 Verify 方法以支持自定义校验函数
- 更新 Get、Post、Put、Delete 方法,允许使用 expect 参数进行更灵活的响应断言
- 添加 ExpectResult 方法,支持对响应结果的结构和类型进行后置校验
- 更新文档,详细说明新功能的使用方法和示例,提升测试框架的可用性
- 增强 Swagger 生成逻辑,支持输出新的 expect 和 verifyError 字段
|
2026-03-21 13:38:22 +08:00 |
|
hoteas
|
813e26755f
|
refactor(db): 优化测试事务中的互斥锁使用
- 重构 queryWithRetry 和 execWithRetry 方法中的互斥锁逻辑,提升代码可读性
- 确保在测试事务中对 testMu 的锁定和解锁操作更加清晰,避免潜在的并发问题
|
2026-03-20 13:52:23 +08:00 |
|
hoteas
|
a7395b08de
|
fix(cache): 修复 tableExists 方法以正确检测达梦数据库中的表存在性
- 修改 tableExists 方法,使用 COUNT(*) 查询当前 schema 下的表,避免因用户权限导致的误判
- 更新 ObjToFloat64、ObjToInt64 和 ObjToStr 方法,增加对多种整数和布尔类型的支持
- 在 Row 方法中处理 time.Time 类型,确保与 MySQL 兼容的字符串格式输出
|
2026-03-20 13:51:52 +08:00 |
|