lang | title | description |
---|---|---|
zh-CN |
待办 |
-
日志
- 同时支持多个日志输出
- 接管gin的日志输出
- 统一优化日志打印格式
- 可选固定 json 字段顺序打印配置(强迫症可选)
-
数据库重连重试机制
-
model 代码生成功能优化
- 生成更符合业务调用场景
- 其他数据源如sqlite的字段优化
-
调试模式
- 文件监控比服务启动还提前,编译完成前修改文件可能会导致空指针
- swagger 热更新?热读取版本配置?
-
部署模式
- 当断开 ssh 时服务会停止(特定问题,Manjaro 系统特有)
- 发布自动化完善(部署备份、部署回滚)
-
将过时或停止维护的三方库换掉
- survey 换成 bubbletea
- 命令行支持静默运行参数
- github 的调用限制重构复用
- gspt 构建出错 , 需要交叉编译
-
日志库切换?
- file-rotatelogs 废弃
-
前端文件夹配置可选?
- frontendFolder 配置可选
-
其他优化
- 把其他命令适配到纯工具模式(
go install
) - win 下不支持 Daemon,兼容成后台运行(appDaemon)
- cache 服务当配置了 redis,并且有 redis 相关配置时,优先读取 redis 配置
- 注意配置读取时的存储链路,如果不是每次都调用 conf 服务读取的话,可能读不到热更新的新值
- 把其他命令适配到纯工具模式(
-
远程配置中心
-
引入数据库迁移,方便后续蓝图,选型:
- 简单 gorm 迁移增强
- 驱动多功能强大,无建表
- 驱动少功能强大,有建表,有导出架构
-
目前考虑 dbmate
- 需要重新思考model生成相关逻辑
- 先手写model后表?
- 先手写sql后model和api?
- 都兼容?
-
初始化蓝图流程
- 蓝图定义,包括依赖关系、版本等
- 定义拉取蓝图模块流程
- 拉取后执行表迁移工作
-
后台管理基础
- 低代码快速搭建?
-
用户注册登录
- RBAC 权限
- 多租户模块
-
博客
-
...
-
...
-
部分 linux 内容未测试
- 条件编译
- 守护进程模式
app start --daemon=true
- gspt 库(
CGO_ENABLED=1
)
-
业务单测的构建
-
梳理使用框架
- 梳理源码引入
- cobra
- gin v1.9.1 + middleware
- 梳理三方库引入
- fsnotify、go-daemon、goconvey、swaggo、cast
- survey/v2、go-git/v5、go-github/v62、go-redis/v9、cron/v3、gorm + gen
- gotree、uuid、xid、ratelimit、mapstructure
- kr/pretty、jennifer/jen
- 预计移除:jianfengye/collection
- 预计移除:file-rotatelogs、natefinch/lumberjack
- 预计新增:samber/lo
- 梳理三方框架使用
- vue、vuepress
- 梳理源码引入
-
梳理新版本 go 废弃 API,换成新的
io/ioutil
->os
、io
strings.Title
->cases.Title
math/rand
->rand.Rand
- 统一 provider 注册方法 (
func (provider *GormProvider) Register
里的调用 new 命名) - 补充 command 、contract 文件开头说明文档,方便查看(甚至改成支持 doc)
- command:包括命令说明、可选配置项
- contract:包括对应命令、配置项说明
- 脚手架优化
-
go install
使用的优化(新增纯工具模式)
-