本项目是一个配置中心,支持sqlite3、mysql、postgres数据库
.
├── Dockerfile # Dockerfile
├── biz # 业务代码
│ ├── dal # 数据库连接和操作
│ ├── model # 数据库模型
│ ├── handler # 服务逻辑
│ ├── mw # 中间件
│ └── router # 路由
├── internal # 版本
├── bootstrao # 启动代码
├── build.sh # 编译脚本
├── config # 配置文件
│ ├── config.yaml # 配置文件(可以覆盖默认配置)
│ └── default.yaml # 默认配置文件(服务端这里定义的默认配置)
├── docs # swagger文档
├── main.go # 启动文件
├── static # 静态文件(前端编译结果,必须要index.html)
└── utils # 工具包
如果需要指定配置文件,可以使用以下命令
go run . -c=config/config.yamlJWT token 存储支持两种模式,通过 jwt.enable_memory 和 jwt.redis 配置控制:
enable_memory: false→ 不存储 token,仅依赖 JWT 自身验证enable_memory: true+redis.host为空 → token 存储在内存中(服务重启后失效)enable_memory: true+redis.host有值 → token 存储在 Redis 中(服务重启后不失效,需确保 Redis 可用,连接失败会直接退出服务)
jwt:
enable_memory: true
secret: your-secret
expire_time: 168
max_login_sessions: 1
redis:
host: "127.0.0.1" # Redis 主机地址,为空则使用内存存储
port: 6379 # Redis 端口
password: "" # Redis 密码
db: 0 # Redis 数据库编号目前使用github actions自动化,开发环境每个commit会自动编译docker镜像,打v1.0.0的标签的时候会编译docker镜像和二进制文件到release下