xgin

package
v0.3.34 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 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 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