gin api 实现

runningwater 889a49c61c feat: 强制 User-Agent 中间件 vor 3 Monaten
.workflow 35e67c8738 add default pipeline template yaml vor 5 Monaten
app 889a49c61c feat: 强制 User-Agent 中间件 vor 3 Monaten
bootstrap 889a49c61c feat: 强制 User-Agent 中间件 vor 3 Monaten
config 6d9ec7b5aa feat: cache 包 vor 3 Monaten
database 3f701ef103 feat: 编辑个人资料 vor 3 Monaten
pkg 317a7da81e feat: 裁剪图片 vor 3 Monaten
public 8c6699e87a feat: 上传头像 vor 3 Monaten
routes 8c6699e87a feat: 上传头像 vor 3 Monaten
.air.toml 317a7da81e feat: 裁剪图片 vor 3 Monaten
.gitignore 889a49c61c feat: 强制 User-Agent 中间件 vor 3 Monaten
LICENSE 8c6699e87a feat: 上传头像 vor 3 Monaten
README.md 8c6699e87a feat: 上传头像 vor 3 Monaten
cliff.toml 4ac77030ff doc: 数据库迁移设计 vor 5 Monaten
go.mod 317a7da81e feat: 裁剪图片 vor 3 Monaten
go.sum 317a7da81e feat: 裁剪图片 vor 3 Monaten
gohub.http 8c6699e87a feat: 上传头像 vor 3 Monaten
http-client.env.json 8c6699e87a feat: 上传头像 vor 3 Monaten
main.go fc98160c9f feat(Command): cache clear 命令 vor 3 Monaten

README.md

GoHUB 项目主要提供的是 Web 服务, 且具备命令行功能

Web 服务功能会封装到子命令 serve 中,命令行功能会封装到子命令 cli 中。

除了 serve 命令,我们还会有以下命令

  1. key 命令生成 app key
  2. make 命令
  3. seed 数据填充
  4. migrate 数据库迁移
  5. cache 缓存处理
  6. 数据库迁移

数据库迁移

使用 go-migrate 进行数据库迁移,支持多种数据库。 数据库迁移文件位于 database/migrations 目录下,文件名为 timestamp_xxx.up.sql 或 timestamp_xxx.down.sql。 timestamp 为时间戳, xxx 为迁移的名称, up 为执行迁移, down 为回滚迁移。 例如: 2024_04_17_150000_create_migrations_table.up.sql

-- 表结构
CREATE TABLE `migrations` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`migration` varchar(255) NOT NULL,
`batch` bigint DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `migration` (`migration`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;

迁移的命令如下:

  1. up —— 执行迁移
  2. rollback (down) —— 回滚上一步执行的迁移
  3. fresh —— 删除所有表,然后执行所有迁移
  4. reset —— 回滚所有迁移
  5. refresh —— 回滚所有迁移,然后再执行所有迁移

变更日志

本文件记录了本项目的所有重要变更。

[未发布]

⚙️ 辅助工具的变动

  • 参数格式化(str 包)
  • Changelog file
  • Git-cliff generator changelog files
  • Console 包

🐛 Bug 修复

  • Fix format
  • Fix typing error
  • Fix automigrate charset for mysql
  • Golangci-lint run fix
  • Readme.md
  • 删除测试的 testCommand
  • Panic Recovery
  • Import package update

💼 其他

  • 数据库迁移设计
  • 更新 readme.md 文档

📚 文档更新

  • Add README 文档

📦 依赖更新

  • Go get -u 升级依赖包版本
  • 修改 redis 版本

🚀 新功能

  • 上传头像
  • 编辑个人资料
  • 编辑个人资料
  • (Command) Cache forget 命令
  • (Command) Cache clear 命令
  • 缓存友情链接列表
  • Cache 包
  • 友情链接列表
  • 显示话题
  • 话题列表
  • 删除话题
  • (command) Make policy 命令
  • 授权策略
  • 话题更新接口
  • 创建话题接口
  • 话题模型和迁移
  • 删除分类数据
  • 分类列表
  • (Command) Seed 命令
  • 更新分类
  • 创建分类
  • 模式模板添加分页功能
  • 分页请求参数校验
  • 用户列表分页
  • Paginator 分页功能
  • 用户列表
  • (command) Make seed 命令
  • (command) Make factory 命令
  • Facotry 和 Faker
  • 当前用户接口
  • 通过手机找回密码
  • (command) Migrate fresh
  • (command) Migrate reset and migrate refresh
  • (command) Migrate rollback 命令
  • (command) Make migration 命令
  • (command) Migrate up 命令
  • (middlewares) Cors 中间件
  • Migrate 包
  • (command) Make request 命令
  • (command) Make apicontroller 命令
  • 限流中间件
  • 添加 make cmd 命令 \r\n例如: gohub make cmd testCommand
  • Play 命令,做调试使用
  • Key 命令
  • 命令行模式
  • Guest 中间件
  • 账号登陆
  • 手机+短信验证码登陆
  • Email+邮件验证码注册
  • 使用 Redis
  • 数据库请求日志
  • Panic Recovery
  • HTTP 访问日志
  • Email 是否已注册接口
  • 手机是否注册接口

🚜 代码重构

  • (func) 重命令方法
  • (doc) Readme updated
  • 修改生成模板文件后缀名
  • Gofmt -l -w -s package

[0.1] - 2025-04-17