Categorygithub.com/ygpkg/yg-go
repository
1.1.0
Repository: https://github.com/ygpkg/yg-go.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

yg-go

言古科技 web 基础库

CI Go Report Card GoDoc license

使用说明

目录结构

  • apis 基于Gin封装的更易用的,http服务框架,参考 Web服务开发
  • cache 缓存相关的工具
  • config 该包中所有用到的配置的结构体定义,以及配置文件的读取
  • dbutil 数据库相关的工具, mysql 和 redis
  • encryptor 加密解密相关的工具
  • 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: ...

认证

认证主体采用JWTtoken中为自定义的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