Commit Graph

3 Commits

Author SHA1 Message Date
Table
84055fecfe feat: 优化 API 文档生成和 Swagger UI 服务
- 优化 make docs 命令:
  * 自动检查并安装 swag 工具
  * 自动过滤 swag 生成过程中的警告信息
  * 自动修复生成的 docs.go 文件中的兼容性问题(移除 LeftDelim 和 RightDelim 字段)

- 优化 make docs-serve 命令:
  * 使用 Docker 运行 Swagger UI 容器,提供完整的 Swagger UI 界面
  * 新增 make docs-stop 命令,用于停止 Swagger UI 容器
  * 引入 SWAGGER_PORT 变量统一管理 Swagger UI 端口配置(默认 8081)

- 修复应用内置 Swagger UI 无法加载文档问题:
  * 在 main.go 中导入生成的 docs 包(_ "yinli-api/doc/dev")
  * 修复 docs.go 文件中的兼容性问题
  * 解决 "Failed to load API definition" 错误

- 更新 CHANGELOG.md,记录所有变更
2025-11-29 20:07:24 +08:00
Table
5424efd48a fix: 修复 Docker 模式下 SERVER_PORT 未生效的问题
- 将 Makefile 中的 PORT 变量重命名为 SERVER_PORT,更清晰地表示应用端口
- 修复 docker-up-dev/stage/prod 命令中的 sed 命令:
  * 将 $(PORT) 改为 $(SERVER_PORT)
  * 修改 sed 命令从 s/[0-9]\+/... 改为 s|port:.*|port: $(SERVER_PORT)|
  * 这样可以处理 config 文件中 port: 为空的情况
- 修复 dev/stage/prod 命令中的 sed 命令,统一使用新的格式
- 在 main.go 中增加端口为空检查:
  * 在启动服务器前检查 cfg.Server.Port 是否为空
  * 如果为空,输出明确的错误信息并退出,便于排查问题

问题原因:
- docker-up-dev 中使用的是 $(PORT) 而不是 $(SERVER_PORT)
- 当 port: 为空时,sed 的 s/[0-9]\+/... 无法匹配(需要数字才能匹配)
- 改为 s|port:.*|port: ...| 可以处理空值情况
2025-11-29 08:10:47 +08:00
Table
f490a0dac5 将 @internal 目录重命名为 src 目录并做以下变更:
1、将 @pkg  目录移动到变更后的 src 目录;
2、将 @cmd  下的 @main.go 移动到  src 目录;
3、移除 cmd 目录
2025-11-29 04:58:41 +08:00