同步操作将从 szluyu99/gin-vue-blog 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
exp/slog
来使用(TODO: 日志持久化)新版本项目运行:运行/初始化数据 相关文件都在 cmd 下
1、MySQL,config.yml
中 DbType = "mysql"
并修改 MySQL 连接信息, 导入 assets/gvb.sql
(也可以手动初始化数据,参考 SQLite 的情况)
2、SQLite,config.yml
中 DbType = "sqlite"
,并执行初始化数据操作:
create_superadmin.sh
创建一个超级管理员(拥有所有权限),用户名 superadmin 密码 superadmingenerate_data.sh
初始化 三个默认角色 (admin, user, guest) + 三个默认用户 (admin, user, guest, 密码都是 123456), 初始化配置数据, 初始化页面数据, 初始化资源数据 (TODO: )以下是一些旧版本的笔记记录,可以不看
项目使用 docker-compose 一键部署运行。
./config/config.docker.toml 是部署时读取的配置文件,其中有些变量会由 docker-compose 中的环境变量覆盖
具体可参考 deploy/start/docker-compose.yml
配置文件读取值的优先级: 环境变量 > config.docker.toml 中的值,因此使用 docker-compose 运行时,修改其中的 environment 即可。
Model 层返回 error, Service 层返回 code, Controller 层通过 GetMsg(code)
获取具体信息返回给前端
JSON 传输数据一律使用 小写 + 下划线,Go 项目中使用 驼峰
MySQL 设置字段 true false 使用 tinyint, 注意在 Golang 定义结构体时该字段要使用指针 否则结构体的字段会被初始化其零值 (0), 设置为指针可以用 nil 来判断
单元测试很重要,尤其是项目开发到中后期要进行重构和调整,需要使用测试来减少每次手动调用接口花费的时间,同时可以保证程序的正确性。
gin 的参数校验是基于 validator 的,如果给了 required
标签,则不能传入零值
有时候需要参数是必填,并且需要可以传入 0,例如 sex 为 0 表示女,为 1 表示男,且必填
通过定义 int 类型的指针 解决这个问题:指针的零值是 nil
Golang 解析 JSON 格式数据时,若以 any 接收数据,则会按照以下规则解析:
bool, for JSON booleans
float64, for JSON numbers
string, for JSON strings
[]interface{}, for JSON arrays
map[string]interface{}, for JSON objects
nil for JSON null
POST:
PUT:
三种方式处理:
map 的方法似乎只能构建出二级菜单??? TODO: 待查询资料
启动相关的日志直接输出到控制台,运行过程中的日志记录到文件
Nginx 配置 Https 参考: Nginx 服务器 SSL 证书安装部署
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。