Documentation ¶
Overview ¶
通用方法
基于viper封装处理 暂时只支持yaml类型
基于zap封装构造
通用模型操作
数据库/缓存Redis等封装处理
设定统一的数据返回格式
Index ¶
- Constants
- Variables
- func BodyParamToJson(param interface{}, body io.Reader)
- func Conf() *viper.Viper
- func ConfSet(name, dir string)
- func HttpDo(method, url string, param interface{}) (data []byte)
- func InitMysqlTables(tables ...interface{})
- func IsUUId(id string) bool
- func LogError(errmsg string, others ...interface{})
- func LogInfo(errmsg string, others ...interface{})
- func LogSet(LogPath string, defaultField ...interface{})
- func ModelsRegister(m map[string]interface{})
- func MysqlSet(connection, databasename string)
- func NewUUID() string
- func StringsDuplicate(ori, fil []string) (res []string)
- func StringsRemove(ori, fil []string) (res []string)
- func StringsRemoveDuplicate(ori []string) (res []string)
- func UnCamel(name string) string
- func ValidateFilter(data interface{}) (v map[string]string)
- type CmsImageClassify
- type CmsVideoClassify
- type Example
- type General
- type List
- type ModelParam
- func (this *ModelParam) Amend() (data interface{}, err error)
- func (this *ModelParam) Create() (data interface{}, err error)
- func (this *ModelParam) Dels() (err error)
- func (this *ModelParam) Detail() (data interface{}, err error)
- func (this *ModelParam) List() (data interface{}, err error)
- func (this *ModelParam) Pagination(l *List) (data interface{}, err error)
- func (this *ModelParam) Test() (data interface{}, err error)
- func (this *ModelParam) Update() (data interface{}, err error)
- type MysqlModels
- func (this *MysqlModels) Amend() *MysqlModels
- func (this *MysqlModels) Commit() *MysqlModels
- func (this *MysqlModels) Create() *MysqlModels
- func (this *MysqlModels) Dels() *MysqlModels
- func (this *MysqlModels) Detail() *MysqlModels
- func (this *MysqlModels) Dim(val string, fields ...string) *MysqlModels
- func (this *MysqlModels) Filter(field string, vals ...string) *MysqlModels
- func (this *MysqlModels) Init() *MysqlModels
- func (this *MysqlModels) List() *MysqlModels
- func (this *MysqlModels) Pagination(l *List) *MysqlModels
- func (this *MysqlModels) Preload(column string, sels ...string) *MysqlModels
- func (this *MysqlModels) Rollback() *MysqlModels
- func (this *MysqlModels) Sel(y, n []string) *MysqlModels
- func (this *MysqlModels) SelOrder(k string, vs ...string) *MysqlModels
- func (this *MysqlModels) Update() *MysqlModels
Constants ¶
View Source
const ( UnknowError = 999 HealthErr = 10000 AgentUrlErr = 10001 TokenExpired = 10101 TokenMalformed = 10102 TokenInvalid = 10103 TokenNotValidYet = 10104 TokenNotFound = 10105 TokenAuthError = 10106 TokenRefreshError = 10107 TokenTimeOverError = 10108 TokenSignatureError = 10109 TokenAgentUrlErr = 10110 ResourceErr = 20000 ResourceAddErr = 20001 ResourceAmendErr = 20002 ResourceAddOrAmendErr = 20003 ResourceDelErr = 20004 ResourceNotFoundErr = 20005 ParamErr = 20100 ParamMissErr = 20101 ParamValidateErr = 20102 PhoneCodeErr = 20103 LoginErr = 20104 WechatErr = 20200 WechatNotFoundErr = 20201 WechatMiniNotFoundErr = 20202 WechatCodeInvalidErr = 20203 WechatUserNotFoundErr = 20204 WechatBindErr = 20205 OrganInvalidErr = 20400 OrganAuthError = 20401 )
[1][00][00] 示例 10105 系统内置错误 1-错误级别 01-业务级别 05-错误编号 [00] 通用 [01] 令牌(token) [02] [03] [04] [05]
[2][00][00] 服务响应错误 [00] 通用 [01] 数据格式(包含参数、值) [02] 微信 [03] 短信 [04] 机构 [05]
Variables ¶
View Source
var StatusText = map[int]string{ UnknowError: "未知错误", HealthErr: "健康检测未通过", TokenExpired: "token过期", TokenMalformed: "token非法", TokenInvalid: "token无效", TokenNotValidYet: "token错误", TokenNotFound: "token不存在", TokenAuthError: "token权限错误", TokenRefreshError: "refresh token非法", TokenTimeOverError: "token失效", TokenSignatureError: "解析token签名错误", TokenAgentUrlErr: "无效的agent地址", ResourceErr: "资源操作有误", ResourceAddErr: "资源新增错误", ResourceAmendErr: "资源修改错误", ResourceAddOrAmendErr: "资源新增或者修改有误", ResourceDelErr: "资源删除错误", ResourceNotFoundErr: "资源未查询到", ParamErr: "参数不符合规范", ParamMissErr: "参数缺失", ParamValidateErr: "参数验证不符合规范", PhoneCodeErr: "手机号验证码无效", LoginErr: "用户名或者密码错误", WechatErr: "微信操作有误", WechatNotFoundErr: "微信公众号不存在", WechatMiniNotFoundErr: "微信小程序不存在", WechatCodeInvalidErr: "微信code无效", WechatUserNotFoundErr: "微信用户不存在", WechatBindErr: "微信号用户绑定手机号失败", OrganInvalidErr: "无效机构/不存在改机构", OrganAuthError: "该机构无权操作", }
Functions ¶
func BodyParamToJson ¶ added in v1.0.2
body-json数据格式化
Types ¶
type CmsImageClassify ¶
type CmsVideoClassify ¶
type Example ¶
type Example struct { Id string `gorm:"type:varchar(36);primary_key;unique" json:"id"` ApiKey string `gorm:"type:varchar(10);not null;"` Value string `gorm:"type:varchar(200);not null;default:'hhh'"` CreateTime int64 `gorm:"type:int(11);"` UpdateTime int64 `gorm:"type:int(11);"` Deleted int `gorm:"type:tinyint(1);default:0"` }
type General ¶
type List ¶
type List struct { Page int `json:"page" example:"1" validate:"isPosInt"` // 页码 Count int `json:"count" example:"15" validate:"isPosInt"` // 每页显示的记录条数 Total int `json:"total" example:"100"` // 数据总数 desc:降序 asc:升序 Sort string `json:"sort" example:"create_id" validate:"oneof=desc asc"` // 排序方式 Order string `json:"order" exmaple:"desc"` // 排序的字段 }
分页
type ModelParam ¶
type ModelParam struct { Type string // 数据模型名称 Param interface{} // 请求参数 Sel []string // 待查询字段集合 Not []string // 过滤字段集合 Preload map[string][]string // 预加载处理数据 Dim map[string][]string // 模糊查询数据 Filter map[string][]string // 特定字段查询 }
func (*ModelParam) Pagination ¶
func (this *ModelParam) Pagination(l *List) (data interface{}, err error)
获取分页
func (*ModelParam) Test ¶ added in v1.0.1
func (this *ModelParam) Test() (data interface{}, err error)
重构 1.去除指针引用 2.避免动态变量的维护
type MysqlModels ¶
type MysqlModels struct { Transaction bool // 是否开启事务 默认关闭 DB *gorm.DB // 动态mysql操作 Request interface{} // 过滤条件 Response interface{} // 响应结果 ModStruct interface{} // 待渲染至相应的数据 Err error // 操作错误信息 }
func (*MysqlModels) Commit ¶
func (this *MysqlModels) Commit() *MysqlModels
func (*MysqlModels) Dim ¶
func (this *MysqlModels) Dim(val string, fields ...string) *MysqlModels
模糊查询字段过滤
func (*MysqlModels) Filter ¶
func (this *MysqlModels) Filter(field string, vals ...string) *MysqlModels
过滤
func (*MysqlModels) Pagination ¶
func (this *MysqlModels) Pagination(l *List) *MysqlModels
func (*MysqlModels) Preload ¶
func (this *MysqlModels) Preload(column string, sels ...string) *MysqlModels
预处理操作
func (*MysqlModels) SelOrder ¶
func (this *MysqlModels) SelOrder(k string, vs ...string) *MysqlModels
查询固定排序
Source Files ¶
Click to show internal directories.
Click to hide internal directories.