xgin

package
v0.3.8 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: BSD-3-Clause-Clear Imports: 13 Imported by: 0

Documentation

Overview

xgin框架所提供的支持

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Bind

func Bind(c *gin.Context, b any) error

自动根据 header 头中的 Content-Type 进行绑定参数地址

c	请求结构数据
b	绑定数据,传入时请传入指针地址,以免绑定后数据丢失

func Convert

func Convert(f func(*gin.Context) *Response) gin.HandlerFunc

结构转换,将controller返回的数据转换成gin框架所支持的输出形式 传入参数f,其格式为:func(*gin.Context) *response.Response

func ConvertWs added in v0.2.55

func ConvertWs(ws WebsocketWs) gin.HandlerFunc

websocket长连接消息转换

ws	Websocket接口实现的结构体

func GetOffset added in v0.1.36

func GetOffset(page, limit int) int

获取跳过条数

page	当前页
limit	每页条数

func MustLogin added in v0.2.22

func MustLogin(c *gin.Context)

登录认证中间件

用于鉴定uint类型的uid大于0

func Page added in v0.1.36

func Page(c *gin.Context)

分页中间件

c	gin.Context对象

func Regedit added in v0.1.36

func Regedit(c *Config)

注入配置项

c	传入配置项

PS:传入配置项时注意,仅CheckKeySuccess允许为0,其余值为0时将会忽略 PS2:此组件固定返回HTTP状态码为200,并不是根据错误码返回不同的HTTPSTATUS PS3:此组件内部分服务使用中间件进行鉴权和验证,所以部分服务可能会无法追加最后的时间、运行时间等参数

func Struct2csv added in v0.2.0

func Struct2csv(head, headkey []string, csvbom bool, body any, s_maps map[string]map[string]string) ([]byte, error)

列表结构体转CSV数据

head	CSV第一行的头信息
headkey	输出的Key下标顺序
csvbom	是否输出UTF8编码的BOM头【为了避免不同系统打开乱码】
body	列表形式的数组数据,如:[]model.xxxx
s_maps	MAP对应值,双维数组形式

PS:因此操作使用的最多的为列表页面的导出功能,所以此处直接留存于xgin目录下,而非迁移到xstring下

Types

type Config added in v0.1.36

type Config struct {
	SuccessMap           map[string]any // 成功时追加的map【如果值为time、date、datetime时,会自动转换为当前时间】
	ErrorMap             map[string]any // 失败时追加的条目【如果值为time、date、datetime时,会自动转换为当前时间】
	CheckKey             string         // Code代码下标
	CheckKeySuccess      int            // 成功的识别代码
	CheckKeyNoLogin      int            // 未登录识别码
	CheckKeyParam        int            // 参数错误识别码
	CheckKeyAuth         int            // 无权限错误识别码
	CheckKeyEmpty        int            // 数据为空识别码
	CheckKeyDB           int            // 数据库错误识别码
	CheckKeyDefaultError int            // 默认错误识别码
	CheckKeyDefaultMsg   string         // 默认错误msg消息
	CheckKeySuccessMsg   string         // 成功时的MSG返回值
	CheckFlag            string         // 成功/失败的flag鉴定【此处值会返回bool类型的成功/失败】
	CheckMsgKey          string         // 成功/失败时的msg描述项下标
	RequestKey           string         // 返回结果的下标标识
	NowTimeKey           string         // 返回当前时间的下标,空表示不追加此参数
	RuntimeKey           string         // 注入运行时间的下标[单位:毫秒]
	ErrorMsgDB           string         // 数据库错误msg描述
	ErrorMsgEmpty        string         // 查询数据为空
	ErrorMsgAuth         string         // 无权限
	ErrorMsgParam        string         // 参数错误
	ErrorMsgNologin      string         // 未登录 / 登录超时
	Pages                *PagesStruct   // 分页配置结构
}

xgin框架组件定义值

type DS added in v0.2.73

type DS struct {
	UTF8BOM     bool   // 是否写入UTF-8的BOM头文件
	Name        string // 下载文件名
	Body        []byte // 下载内容流
	ContentType string // 文件类型,默认为application/octet-stream
}

下载描述结构体

type PagesStruct added in v0.2.4

type PagesStruct struct {
	TotalKeys        string // 总条数的下标信息【最外层】
	ListKeys         string // 列表数据存储的下标信息
	PagesKeys        string // 分页结构数据下标
	PagesCurrentKeys string // 分页结构.本页下标key
	PagesLastKeys    string // 分页接口.最后一页
	PagesPerKeys     string // 分页接口.上一页
	PagesTotalKeys   string // 分页接口.总数
	PagesLimitKeys   string // 分页接口.查询条数
}

分页返回结构信息

type Response

type Response struct {
	// contains filtered or unexported fields
}

func Download added in v0.2.73

func Download(xginc *gin.Context, inf *DS) *Response

文件简易下载

xginc	gin框架引入内容
inf		待下载文件字节流

func DownloadCsv added in v0.1.37

func DownloadCsv(xginc *gin.Context, head, headkey []string, body any) *Response

导出CSV数据

xginc	请求结构数据
head	CSV表格请求头
headkey	CSV表格请求头顺序
body	列表数据信息

func DownloadCsvData added in v0.2.1

func DownloadCsvData(xginc *gin.Context, body [][]string, file string) *Response

导出CSV数据

xginc	请求结构数据
body	列表数据信息[含CSV表格头]
file	下载文件的文件名

func DownloadCsvFile added in v0.2.0

func DownloadCsvFile(xginc *gin.Context, head, headkey []string, body any, file string) *Response

导出CSV数据

xginc	请求结构数据
head	CSV表格请求头
headkey	CSV表格请求头顺序
body	列表数据信息
file	下载文件的文件名

func DownloadCsvFileMap added in v0.2.1

func DownloadCsvFileMap(xginc *gin.Context, head, headkey []string, body any, file string, m_map map[string]map[string]string) *Response

导出CSV数据

xginc	请求结构数据
head	CSV表格请求头
headkey	CSV表格请求头顺序
body	列表数据信息
file	下载文件的文件名
m_map	map映射表

func Resp

func Resp() *Response

返回Response结构体

func (*Response) Byte

func (r *Response) Byte(data []byte) *Response

输出二进制内容

data	整体二进制输出

func (*Response) EP added in v0.1.36

func (r *Response) EP(err error) *Response

参数错误

err	参数验证模块返回的错误信息

func (*Response) Error

func (r *Response) Error(msg error) *Response

一般错误返回消息

msg	错误消息返回

func (*Response) ErrorAuth

func (r *Response) ErrorAuth() *Response

授权错误

func (*Response) ErrorDB

func (r *Response) ErrorDB() *Response

数据库错误

func (*Response) ErrorEmpty

func (r *Response) ErrorEmpty() *Response

查询数据为空

func (*Response) ErrorLogin

func (r *Response) ErrorLogin() *Response

登录错误

func (*Response) ErrorParam

func (r *Response) ErrorParam() *Response

参数错误

func (*Response) ErrorString

func (r *Response) ErrorString(msg string) *Response

一般错误返回消息

msg	字符串类型的错误描述信息

func (*Response) GetData

func (r *Response) GetData() any

获取Data数据

func (*Response) Json

func (r *Response) Json(data gin.H) *Response

返回JSON数据

data	整体结构返回

func (*Response) NoPage added in v0.1.36

func (r *Response) NoPage(c *gin.Context, lists any, count int, exper ...any) *Response

Orm查询列表分页方式返回[直接使用len计算条数]

c	quest对象
lists	返回的列表数据
count	查询条数
exper	扩展字段

func (*Response) Page added in v0.1.36

func (r *Response) Page(c *gin.Context, lists any, count int64, exper ...any) *Response

Orm查询列表分页方式返回

c	quest对象
lists	返回的列表数据
count	查询条数
exper	扩展字段

func (*Response) PageNoGC added in v0.1.36

func (r *Response) PageNoGC(page, limit int, lists any, count int64, exper ...any) *Response

Orm查询列表分页方式返回

page	当前页码
limit	每页条数
lists	返回的列表数据
count	查询条数
exper	扩展字段

func (*Response) String

func (r *Response) String(data string) *Response

输出字符串内容

data	整体字符串输出

func (*Response) Success

func (r *Response) Success(data gin.H) *Response

成功返回的消息

data	gin.H类型变量返回

func (*Response) SuccessAny added in v0.1.36

func (r *Response) SuccessAny(data any) *Response

任意类型变量返回

data	任意类型变量返回

func (*Response) SuccessEmpty

func (r *Response) SuccessEmpty() *Response

成功返回的消息

成功消息返回

type WebsocketWs added in v0.2.55

type WebsocketWs interface {
	// WS链接打开事件
	Open(*gin.Context) error
	// WS链接接收消息事件
	Pull(*gin.Context, []byte) error
	// WS链接发送消息事件
	// 此消息的返回值为给对应客户端发送的消息
	// any 为json串行化后发送给客户端的消息,bool来判断是否需要发送给客户端
	Push(*gin.Context) (any, bool)
	// WS链接意外关闭事件
	Close(*gin.Context)
}

WS消息结构体支持

Directories

Path Synopsis
相册部分的API接口服务
相册部分的API接口服务
CRON的接口注入任务
CRON的接口注入任务
后台配置管理模块的接口注入
后台配置管理模块的接口注入
日志相关路由注册
日志相关路由注册
个人笔记相关接口注入
个人笔记相关接口注入
队列相关接口注入
队列相关接口注入
xversion模块的gin框架接口依赖包
xversion模块的gin框架接口依赖包

Jump to

Keyboard shortcuts

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