gin api 实现

runningwater d8ad850fc6 feat(command): make policy 命令 3 месяцев назад
.workflow 35e67c8738 add default pipeline template yaml 5 месяцев назад
app d8ad850fc6 feat(command): make policy 命令 3 месяцев назад
bootstrap c3ffd20d2b fix: fix automigrate charset for mysql 4 месяцев назад
config 5d6a0da021 feat: paginator 分页功能 4 месяцев назад
database a5264466a9 feat: 话题模型和迁移 4 месяцев назад
pkg f5f8af3939 feat: 创建话题接口 4 месяцев назад
routes 1342673076 feat: 授权策略 3 месяцев назад
.air.toml d89de31b8d feat: Email+邮件验证码注册 6 месяцев назад
.gitignore 215a0fcf66 feat(command): migrate up 命令 5 месяцев назад
LICENSE 3c981dd7bf add LICENSE. 6 месяцев назад
README.md cd06cecfa0 feat: 话题更新接口 3 месяцев назад
cliff.toml 4ac77030ff doc: 数据库迁移设计 5 месяцев назад
go.mod 3581cc510e feat: facotry 和 Faker 4 месяцев назад
go.sum 3581cc510e feat: facotry 和 Faker 4 месяцев назад
gohub.http 1342673076 feat: 授权策略 3 месяцев назад
http-client.env.json 79abe57834 feat: 创建分类 4 месяцев назад
main.go ffb822ae91 feat(Command): seed 命令 4 месяцев назад

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 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) 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