Skip to content

Latest commit

 

History

History
133 lines (98 loc) · 3.82 KB

TODO.md

File metadata and controls

133 lines (98 loc) · 3.82 KB
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 -> osio
    • strings.Title -> cases.Title
    • math/rand -> rand.Rand

统一代码

  • 统一 provider 注册方法 (func (provider *GormProvider) Register 里的调用 new 命名)
  • 补充 command 、contract 文件开头说明文档,方便查看(甚至改成支持 doc)
    • command:包括命令说明、可选配置项
    • contract:包括对应命令、配置项说明

框架模块优化

  • 脚手架优化
    • go install 使用的优化(新增纯工具模式)