README ¶
yg-go
言古科技 web 基础库
使用说明
目录结构
apis
基于Gin封装的更易用的,http服务框架,参考 Web服务开发cache
缓存相关的工具config
该包中所有用到的配置的结构体定义,以及配置文件的读取dbutil
数据库相关的工具, mysql 和 redisencryptor
加密解密相关的工具filesys
文件系统相关的工具httptools
http相关的工具lifecycle
程序生命周期管理相关的工具logs
日志相关的工具nettools
网络相关的工具notify
通知相关的工具, 邮件、短信和微信pool
池相关的工具,可用于资源池random
随机相关的工具settings
程序设置相关的工具,获取数据库中的设置和远程API的设置shell
shell相关的工具tests
测试相关的工具types
补充的通用数据结构validate
数据验证相关的工具vendor
go mod vendor 目录wechatmp
微信小程序相关的工具
Web服务开发
本框架中定义的接口统一采用POST
请求,路径为前缀(/apis/p/
)加方法名(如/account.CreateRole
),大小写敏感。
完整请求 如POST /apis/p/account.CreateRole
请求Body
{
// cmd 方法名,路径中已经包含,可为空
"cmd": "account.CreateRole”,
"env": "环境类型,可为空",
// 业务内容
"Request": {
"name": "",
"description": "",
"Offset": 1,
"Filters": [{
"Field": "username",
"Value": ["adm"],
"ExactMatch": false
}, {
"Field": "auto",
"Value": ["adm"],
"ExactMatch": false
}],
}
}
响应Body
{
"code": 10001,
"message": "错误信息",
"env": "环境类型,可为空"
// 业务内容
"Response": {...}
}
code
为0则是成功,大于0为失败,code
小于10000时,意义同http
标准返回码(如400,401,404等)
业务错误码
- 10001: ...
认证
认证主体采用JWT
,token
中为自定义的claims
,通过Authorization
头部传递,格式如下:
Authorization: Bearer ${module}-${TOKEN}
其中${module}
为模块名,默认为空,用于区分不同模块或者用户角色系统的token
,在调用AuthInject
时,会自动注入module
。
${TOKEN}
为JWT
生成的token
可参考 https://github.com/ygpkg/yg-go/blob/main/apis/runtime/server/author.go#L18
Click to show internal directories.
Click to hide internal directories.