author: asong
time: 2020-08-02
公众号:Golang梦工厂
版本 | 更新日期 | 更新内容 |
---|---|---|
v1.0.0 | 2020.08.02 12:00 | 增加版本说明、项目介绍、项目架构 |
v1.0.1 | 2020.08.02 1:00 | 增加mysql数据库设计 |
v1.0.2 | 2020.08.09 19:00 | 增加使用说明、项目演示 |
- golang: 1.14
- mysql: 5.7
- redis: 4.0.14
- swag:1.6.7
这个项目主要是为了方便大家学习gin框架、jwt、swagger(后续会添加其他模块,在此基础上添加),因此将其结合,完成用户登陆、修改操作,使用jwt进行鉴权,swagger生成接口文档。
这里没有写前端,就不演示界面了,直接展示swagger生成的文档。直接可以进行接口测试。
- 下载项目
$ git clone [email protected]:asong2020/Golang_Dream.git
将项目放到$GOPATH/src/asong.cloud/目录下。
- 下载相关依赖:
$ export GO111MODULE=on
$ go mod download
- 运行代码,进入到gin_jwt_swagger目录
$ go run main.go
gin_jwt_swagger
├── config -- 配置
├── dao -- db、cache操作方法
├── db -- sql文件
├── docs -- swagger 文档
├── global -- 全局变量声明
├── handler -- API处理
├── initserver -- 初始化相关服务
├── middleware -- 中间件
├── model -- 模型文件
├── service -- 逻辑服务
├── static -- 静态文件
├── util -- 工具文件
├── config.yaml -- 配置文件
└── main.go -- 主函数
CREATE TABLE `users` (
`id` bigint(20) NOT NULL,
`username` varchar(64) NOT NULL,
`nickname` varchar(255) DEFAULT NULL,
`password` varchar(64) NOT NULL,
`salt` varchar(64) NOT NULL,
`avatar` varchar(128) NOT NULL,
`uptime` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
字段 | 类型 | KEY | 可否为空 | 注释 |
---|---|---|---|---|
id | bigint(20) | PRI | not | |
username | varchar(64) | UNI | not | 用户名 |
nickname | varchar(255) | yes | 昵称 | |
password | varchar(64) | not | 密钥 | |
salt | varchar(16) | not | 属性 | |
avatar | varchar(128) | yes | 头像地址 | |
uptime | datetime | yes | 更新信息时间 |