ginz

package module
v0.0.0-...-8e0b03f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 8, 2021 License: Apache-2.0 Imports: 28 Imported by: 0

README

说明

GIN + ENT/SQLX + CASBIN + WIRE + I18N

为了保持系统精简性(目前数据库处理只使用SQLX), 暂时移除了ENT相关的内容, 结构暂时保留

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DEBUG = false
)

Functions

func BindXML

func BindXML(c Context, obj interface{}) error

BindXML 解析请求JSON, 注意,解析失败后需要直接返回

func CORSMiddleware

func CORSMiddleware() gin.HandlerFunc

CORSMiddleware 跨域

func CORSMiddleware2

func CORSMiddleware2(skippers ...res.SkipperFunc) gin.HandlerFunc

CORSMiddleware2 跨域 不推荐使用,可以使用gin中的跨域处理

func CmdWeb

func CmdWeb(ctx context.Context, action func(c *cli.Context) error) *cli.Command

CmdWeb ...

func FixResponse400Error

func FixResponse400Error(c Context, err error, errfunc func())

FixResponse400Error 修复返回的异常

func FixResponse401Error

func FixResponse401Error(c Context, err error, errfunc func())

FixResponse401Error 修复返回的异常, 注意, 401异常会导致系统重定向到登陆页面

func FixResponse403Error

func FixResponse403Error(c Context, err error, errfunc func())

FixResponse403Error 修复返回的异常

func FixResponse406Error

func FixResponse406Error(c Context, err error, errfunc func())

FixResponse406Error 修复返回的异常

func FixResponse500Error

func FixResponse500Error(c Context, err error, errfunc func())

FixResponse500Error 修复返回的异常

func FixResponse500Error2Logger

func FixResponse500Error2Logger(c Context, err error)

FixResponse500Error2Logger 修复返回的异常

func FixResponseError

func FixResponseError(c Context, err error) bool

FixResponseError 上级应用已经处理了返回值

func GetAcceptLanguage

func GetAcceptLanguage(c *gin.Context) string

GetAcceptLanguage 获取浏览器语言

func GetBearerToken

func GetBearerToken(ctx context.Context) (string, error)

GetBearerToken 获取用户令牌

func GetClientIP

func GetClientIP(c *gin.Context) string

GetClientIP 获取客户端IP

func GetCookieToken

func GetCookieToken(ctx context.Context) (string, error)

GetCookieToken 获取用户令牌

func GetCtxValue

func GetCtxValue(ctx context.Context, key string) (interface{}, bool)

GetCtxValue 获取令牌加密方式

func GetCtxValueToString

func GetCtxValueToString(ctx context.Context, key string) (string, bool)

GetCtxValueToString 获取令牌加密方式

func GetHostIP

func GetHostIP(c *gin.Context) string

GetHostIP 获取主机端IP

func GetQueryToken

func GetQueryToken(ctx context.Context) (string, error)

GetQueryToken 获取用户令牌

func GetTraceID

func GetTraceID(c *gin.Context) string

GetTraceID 根据山下问,获取追踪ID

func GetUserInfo

func GetUserInfo(c *gin.Context) (auth.UserInfo, bool)

GetUserInfo 用户

func GizMiddleware

func GizMiddleware() gin.HandlerFunc

GizMiddleware Giz, 主要部署前端时候(www中间件)对静态资源进行压缩

func HandlerFunc

func HandlerFunc(fx res.HandlerFunc) gin.HandlerFunc

HandlerFunc -> res.HandlerFunc -> gin.HandlerFunc

func HandlerFunc2

func HandlerFunc2(fx res.HandlerFunc, nc func(*gin.Context) res.Context) gin.HandlerFunc

HandlerFunc2 -> res.HandlerFunc -> gin.HandlerFunc

func I18nMiddleware

func I18nMiddleware(bundle *i18n.Bundle) gin.HandlerFunc

I18nMiddleware 国际化

func InitGinEngine

func InitGinEngine(opt UseEngine) *gin.Engine

InitGinEngine engine

func NoMethodHandler

func NoMethodHandler(c *gin.Context)

NoMethodHandler 未找到请求方法的处理函数

func NoRouteHandler

func NoRouteHandler(c *gin.Context)

NoRouteHandler 未找到请求路由的处理函数

func ParseForm

func ParseForm(c Context, obj interface{}) error

ParseForm 解析Form请求, 注意,解析失败后需要直接返回

func ParseJSON

func ParseJSON(c Context, obj interface{}) error

ParseJSON 解析请求JSON, 注意,解析失败后需要直接返回

func ParseQuery

func ParseQuery(c Context, obj interface{}) error

ParseQuery 解析Query参数, 注意,解析失败后需要直接返回

func RecoveryMiddleware

func RecoveryMiddleware() gin.HandlerFunc

RecoveryMiddleware 崩溃恢复中间件

func ResError

func ResError(ctx Context, em *res.ErrorModel) error

ResError 包装响应错误 禁止service层调用,请使用NewWarpError替换

func ResJSON

func ResJSON(ctx Context, status int, v interface{})

ResJSON 响应JSON数据 禁止service层调用

func ResSuccess

func ResSuccess(ctx Context, v interface{}) error

ResSuccess 包装响应错误 禁止service层调用,请使用NewSuccess替换

func Run

func Run(ctx context.Context, opts ...Option) error

Run 运行服务, 注意,必须对BuildInjector进行初始化

func RunHTTPServer

func RunHTTPServer(ctx context.Context, handler http.Handler) func()

RunHTTPServer 初始化http服务

func RunServer

func RunServer(ctx context.Context, opts ...Option) (func(), error)

RunServer 启动服务

func RunWeb

func RunWeb(app *cli.App, run func(ctx context.Context, opts ...Option) error)

func RunWithShutdown

func RunWithShutdown(ctx context.Context, runServer func() (func(), error)) error

RunWithShutdown 运行服务

func SetCtxValue

func SetCtxValue(ctx context.Context, key string, value interface{}) bool

SetCtxValue 配置令牌加密方式

func SetUserInfo

func SetUserInfo(c *gin.Context, user auth.UserInfo)

SetUserInfo 用户

func UseAuthServerMiddleware

func UseAuthServerMiddleware(c *gin.Context, gf func(*gin.Context, auth.UserInfo) (aid, uid int64, err error))

UseAuthServerMiddleware 用户授权中间件

func UseAuthxClientMiddleware

func UseAuthxClientMiddleware(c *gin.Context)

UseAuthxClientMiddleware 用户授权中间件, 只判定登录权限

func UseAuthzClientMiddleware

func UseAuthzClientMiddleware(c *gin.Context)

UseAuthzClientMiddleware 用户授权中间件, 只判定登录权限

func UseRemoteAuth

func UseRemoteAuth(c *gin.Context, user *SigninUser, authz string) bool

UseRemoteAuthz ... proxy_set_header X-Request-Id $req_id; proxy_set_header X-Request-Origin-Host $host; proxy_set_header X-Request-Origin-Path $request_uri; proxy_set_header X-Request-Origin-Method $request_method;

func WWWMiddleware

func WWWMiddleware(root string, skippers ...res.SkipperFunc) gin.HandlerFunc

WWWMiddleware 静态站点中间件

Types

type BuildInjector

type BuildInjector func() (engine *gin.Engine, clean func(), err error)

BuildInjector 构建注入器的方法

type Context

type Context interface {
	logger.ContextTrace
	context.Context
	res.Context

	GetUserInfo() auth.UserInfo                              // 获取登陆用户信息
	ShouldBindWith(obj interface{}, b binding.Binding) error // bind
	Data(int, string, []byte)                                // 写入数据
	Redirect(int, string)                                    // 重定向RX

}

func NewContext

func NewContext(c *gin.Context) Context

type GinContext

type GinContext struct {
	*gin.Context
}

func (*GinContext) FormatMessage

func (a *GinContext) FormatMessage(emsg *i18n.Message, args map[string]interface{}) string

FormatMessage ...

func (*GinContext) GetRequest

func (a *GinContext) GetRequest() *http.Request

GetRequest ...

func (*GinContext) GetTraceCIP

func (a *GinContext) GetTraceCIP() string

GetTraceCIP ...

func (*GinContext) GetTraceID

func (a *GinContext) GetTraceID() string

GetTraceID ...

func (*GinContext) GetTraceUID

func (a *GinContext) GetTraceUID() string

GetTraceUID ...

func (*GinContext) GetUserInfo

func (a *GinContext) GetUserInfo() auth.UserInfo

GetUserInfo ...

type Healthz

type Healthz gin.IRoutes

Healthz 路由

func NewHealthz

func NewHealthz(app *gin.Engine) Healthz

NewHealthz 初始化根路由

type Option

type Option func(*Options)

Option 定义配置项

func SetBuildInjector

func SetBuildInjector(b BuildInjector) Option

SetBuildInjector 设定注入助手

func SetServeConfig

func SetServeConfig(s string) Option

SetConfigFile 设定配置文件

func SetServeVersion

func SetServeVersion(s string) Option

SetVersion 设定版本号b

type Options

type Options struct {
	ConfigFile    string
	Version       string
	BuildInjector BuildInjector
}

Options options

type Router

type Router gin.IRouter

Router 根路由 Register???

func NewRouter

func NewRouter(app *gin.Engine) Router

NewRouter 初始化根路由

type SigninUser

type SigninUser struct {
	TokenID   string `header:"X-Request-Z-Token-Kid"`
	TokenPID  string `header:"X-Request-Z-Token-Pid"`
	AccoIdx   int64  `header:"X-Request-Z-Account-Id"`
	UserIdx   int64  `header:"X-Request-Z-User-Id"`
	Account   string `header:"X-Request-Z-Account"`
	Account1  string `header:"X-Request-Z-Account1"`
	Account2  string `header:"X-Request-Z-Account2"`
	UserID    string `header:"X-Request-Z-User-Kid"`
	UserName  string `header:"X-Request-Z-User-Name"`
	UserRoles string `header:"X-Request-Z-User-Roles"`
	OrgCode   string `header:"X-Request-Z-Org-Code"`
	OrgAdmin  string `header:"X-Request-Z-Org-Admin"`
	OrgUsrID  string `header:"X-Request-Z-Org-Usrid"`
	Agent     string `header:"X-Request-Z-Agent"`
	Scope     string `header:"X-Request-Z-Scope"`
	Domain    string `header:"X-Request-Z-Domain"`
	Issuer    string `header:"X-Request-Z-Issuer"`
	Audience  string `header:"X-Request-Z-Audience"`
	ZgoXip    string `header:"X-Request-Z-Xip"`
}

SigninUser 登陆用户信息

func (*SigninUser) GetAccount

func (u *SigninUser) GetAccount() string

GetAccount xxx

func (*SigninUser) GetAccount1

func (u *SigninUser) GetAccount1() string

GetAccount1 xxx

func (*SigninUser) GetAccount2

func (u *SigninUser) GetAccount2() string

GetAccount2 xxx

func (*SigninUser) GetAccountIdx

func (u *SigninUser) GetAccountIdx() int64

GetAccountIdx ...

func (*SigninUser) GetAgent

func (u *SigninUser) GetAgent() string

GetAgent xxx

func (*SigninUser) GetAudience

func (u *SigninUser) GetAudience() string

GetAudience xxx

func (*SigninUser) GetDomain

func (u *SigninUser) GetDomain() string

GetDomain xxx

func (*SigninUser) GetIssuer

func (u *SigninUser) GetIssuer() string

GetIssuer xxx

func (*SigninUser) GetOrgAdmin

func (u *SigninUser) GetOrgAdmin() string

GetOrgAdmin xxx

func (*SigninUser) GetOrgCode

func (u *SigninUser) GetOrgCode() string

GetOrgCode xxx

func (*SigninUser) GetOrgUsrID

func (u *SigninUser) GetOrgUsrID() string

GetOrgUsrID xxx

func (*SigninUser) GetScope

func (u *SigninUser) GetScope() string

GetScope xxx

func (*SigninUser) GetTokenID

func (u *SigninUser) GetTokenID() string

GetTokenID xxx

func (*SigninUser) GetTokenPID

func (u *SigninUser) GetTokenPID() string

GetTokenPID xxx

func (*SigninUser) GetUserID

func (u *SigninUser) GetUserID() string

GetUserID xxx

func (*SigninUser) GetUserIdx

func (u *SigninUser) GetUserIdx() int64

GetUserIdx ...

func (*SigninUser) GetUserName

func (u *SigninUser) GetUserName() string

GetUserName xxx

func (*SigninUser) GetUserRoles

func (u *SigninUser) GetUserRoles() []string

GetUserRoles xxx

func (*SigninUser) GetUserSvcRoles

func (u *SigninUser) GetUserSvcRoles(svc string) []string

GetUserSvcRoles xxx

func (*SigninUser) SetUserRoles

func (u *SigninUser) SetUserRoles(roles []string)

SetUserRoles xxx

type Status

type Status struct {
	Uptime       string
	NumGoroutine int

	// General statistics.
	MemAllocated string // bytes allocated and still in use
	MemTotal     string // bytes allocated (even if freed)
	MemSys       string // bytes obtained from system (sum of XxxSys below)
	Lookups      uint64 // number of pointer lookups
	MemMallocs   uint64 // number of mallocs
	MemFrees     uint64 // number of frees

	// Main allocation heap statistics.
	HeapAlloc    string // bytes allocated and still in use
	HeapSys      string // bytes obtained from system
	HeapIdle     string // bytes in idle spans
	HeapInuse    string // bytes in non-idle span
	HeapReleased string // bytes released to the OS
	HeapObjects  uint64 // total number of allocated objects

	// Low-level fixed-size structure allocator statistics.
	//	Inuse is bytes used now.
	//	Sys is bytes obtained from system.
	StackInuse  string // bootstrap stacks
	StackSys    string
	MSpanInuse  string // mspan structures
	MSpanSys    string
	MCacheInuse string // mcache structures
	MCacheSys   string
	BuckHashSys string // profiling bucket hash table
	GCSys       string // GC metadata
	OtherSys    string // other system allocations

	// Garbage collector statistics.
	NextGC       string // next run in HeapAlloc time (bytes)
	LastGC       string // last run in absolute time (ns)
	PauseTotalNs string
	PauseNs      string // circular buffer of recent GC pause times, most recent at [(NumGC+255)%256]
	NumGC        uint32
}

Status 应用状态

func GetAppStatus

func GetAppStatus() Status

GetAppStatus 获取应用状态

type SysStatus

type SysStatus struct {
	CPULogicalCorego int
	CPUCore          int
	OSPlatform       string
	OSFamily         string
	OSVersion        string
	Load1            float64
	Load5            float64
	Load15           float64
	MemTotal         string
	MemAvailable     string
	MemUsed          string
}

SysStatus 系统状态

type UseEngine

type UseEngine func(*gin.Engine)

UseEngine 修正Engine内容

type UserIdx

type UserIdx interface {
	GetAccountIdx() int64
	GetUserIdx() int64
}

UserIdx ...

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL