Gob 框架Gob 框架
主页
快速开始
使用文档
服务提供者
提供命令
Github
主页
快速开始
使用文档
服务提供者
提供命令
Github
    • 介绍
    • 安装
    • 运行
    • 目录结构
    • 服务提供者
    • 中间件
    • 命令
    • 编译
    • 调试模式
    • 环境变量
    • 版本
    • 模型
    • swagger
    • grpc支持
    • 自动部署
    • 定时
    • 辅助函数
    • 待办

待办

框架支持功能

框架模块优化

  • [ ] 日志

    • [ ] 同时支持多个日志输出
    • [ ] 接管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 迁移增强
      • gormigrate
    • 驱动多功能强大,无建表
      • migrate
    • 驱动少功能强大,有建表,有导出架构
      • dbmate
  • [ ] 目前考虑 dbmate

    • 需要重新思考model生成相关逻辑
    • 先手写model后表?
    • 先手写sql后model和api?
    • 都兼容?

蓝图模块功能

  • [ ] 初始化蓝图流程

    • [ ] 蓝图定义,包括依赖关系、版本等
    • [ ] 定义拉取蓝图模块流程
    • [ ] 拉取后执行表迁移工作
  • [ ] 后台管理基础

    • [ ] 低代码快速搭建?
  • [ ] 用户注册登录

    • [ ] RBAC 权限
    • [ ] 多租户模块
  • [ ] 博客

  • [ ] ...

  • [ ] ...

其他功能优化

  • [ ] 部分 linux 内容未测试

    • [ ] 条件编译
    • [ ] 守护进程模式 app start --daemon=true
    • [ ] gspt 库(CGO_ENABLED=1)
  • [ ] 业务单测的构建

已完成归档

梳理相关

  • [x] 梳理使用框架

    • [x] 梳理源码引入
      • cobra
      • gin v1.9.1 + middleware
    • [x] 梳理三方库引入
      • 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
    • [x] 梳理三方框架使用
      • vue、vuepress
  • [x] 梳理新版本 go 废弃 API,换成新的

    • io/ioutil -> os、io
    • strings.Title -> cases.Title
    • math/rand -> rand.Rand

统一代码

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

框架模块优化

  • [x] 脚手架优化
    • [x] go install 使用的优化(新增纯工具模式)
Last Updated:
Contributors: 陈壁浩
Prev
辅助函数