Files
nl-video-api/api/v1/config.go
2025-08-03 00:11:15 +08:00

314 lines
13 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package v1
import "github.com/gogf/gf/v2/frame/g"
// ===== 系统配置管理相关结构 =====
// ConfigListReq 获取配置列表请求
type ConfigListReq struct {
g.Meta `path:"/config/list" method:"get" summary:"获取配置列表" tags:"系统配置管理"`
Page int `json:"page" dc:"页码默认1"`
Size int `json:"size" dc:"每页数量默认10"`
Group string `json:"group" dc:"配置分组"`
Keyword string `json:"keyword" dc:"搜索关键词"`
Status int `json:"status" dc:"状态0-禁用1-启用"`
}
// ConfigListRes 获取配置列表响应
type ConfigListRes struct {
List []ConfigItem `json:"list" dc:"配置列表"`
Total int `json:"total" dc:"总数"`
Page int `json:"page" dc:"当前页码"`
Size int `json:"size" dc:"每页数量"`
}
// ConfigItem 配置项
type ConfigItem struct {
Id uint `json:"id" dc:"配置ID"`
Name string `json:"name" dc:"配置名称"`
Key string `json:"key" dc:"配置键"`
Value string `json:"value" dc:"配置值"`
Group string `json:"group" dc:"配置分组"`
Type string `json:"type" dc:"配置类型"`
Description string `json:"description" dc:"配置描述"`
Sort int `json:"sort" dc:"排序"`
Status int `json:"status" dc:"状态0-禁用1-启用"`
CreatedAt string `json:"created_at" dc:"创建时间"`
UpdatedAt string `json:"updated_at" dc:"更新时间"`
}
// ConfigDetailReq 获取配置详情请求
type ConfigDetailReq struct {
g.Meta `path:"/config/detail" method:"get" summary:"获取配置详情" tags:"系统配置管理"`
Id uint `json:"id" v:"required|min:1#请输入配置ID|配置ID不能为空" dc:"配置ID"`
}
// ConfigDetailRes 获取配置详情响应
type ConfigDetailRes struct {
Config ConfigDetail `json:"config" dc:"配置详情"`
}
// ConfigDetail 配置详情
type ConfigDetail struct {
Id uint `json:"id" dc:"配置ID"`
Name string `json:"name" dc:"配置名称"`
Key string `json:"key" dc:"配置键"`
Value string `json:"value" dc:"配置值"`
Group string `json:"group" dc:"配置分组"`
Type string `json:"type" dc:"配置类型"`
Description string `json:"description" dc:"配置描述"`
Sort int `json:"sort" dc:"排序"`
Status int `json:"status" dc:"状态0-禁用1-启用"`
CreatedAt string `json:"created_at" dc:"创建时间"`
UpdatedAt string `json:"updated_at" dc:"更新时间"`
}
// ConfigCreateReq 创建配置请求
type ConfigCreateReq struct {
g.Meta `path:"/config/create" method:"post" summary:"创建配置" tags:"系统配置管理"`
Name string `json:"name" v:"required|length:1,100#请输入配置名称|配置名称长度为1-100个字符" dc:"配置名称"`
Key string `json:"key" v:"required|length:1,100#请输入配置键|配置键长度为1-100个字符" dc:"配置键"`
Value string `json:"value" dc:"配置值"`
Group string `json:"group" v:"required|length:1,50#请输入配置分组|配置分组长度为1-50个字符" dc:"配置分组"`
Type string `json:"type" v:"required|in:string,int,float,bool,json#请选择配置类型|配置类型必须为string,int,float,bool,json之一" dc:"配置类型"`
Description string `json:"description" dc:"配置描述"`
Sort int `json:"sort" dc:"排序"`
Status int `json:"status" v:"in:0,1#状态值错误" dc:"状态0-禁用1-启用"`
}
// ConfigUpdateReq 更新配置请求
type ConfigUpdateReq struct {
g.Meta `path:"/config/update" method:"post" summary:"更新配置" tags:"系统配置管理"`
Id uint `json:"id" v:"required|min:1#请输入配置ID|配置ID不能为空" dc:"配置ID"`
Name string `json:"name" v:"required|length:1,100#请输入配置名称|配置名称长度为1-100个字符" dc:"配置名称"`
Value string `json:"value" dc:"配置值"`
Group string `json:"group" v:"required|length:1,50#请输入配置分组|配置分组长度为1-50个字符" dc:"配置分组"`
Type string `json:"type" v:"required|in:string,int,float,bool,json#请选择配置类型|配置类型必须为string,int,float,bool,json之一" dc:"配置类型"`
Description string `json:"description" dc:"配置描述"`
Sort int `json:"sort" dc:"排序"`
Status int `json:"status" v:"in:0,1#状态值错误" dc:"状态0-禁用1-启用"`
}
// ConfigDeleteReq 删除配置请求
type ConfigDeleteReq struct {
g.Meta `path:"/config/delete" method:"post" summary:"删除配置" tags:"系统配置管理"`
Id uint `json:"id" v:"required|min:1#请输入配置ID|配置ID不能为空" dc:"配置ID"`
}
// ConfigBatchDeleteReq 批量删除配置请求
type ConfigBatchDeleteReq struct {
g.Meta `path:"/config/batch-delete" method:"post" summary:"批量删除配置" tags:"系统配置管理"`
Ids []uint `json:"ids" v:"required|length:1,100#请选择要删除的配置|最多选择100个配置" dc:"配置ID列表"`
}
// ConfigGetByKeyReq 根据键获取配置请求
type ConfigGetByKeyReq struct {
g.Meta `path:"/config/get-by-key" method:"get" summary:"根据键获取配置" tags:"系统配置管理"`
Key string `json:"key" v:"required#请输入配置键" dc:"配置键"`
}
// ConfigGetByKeyRes 根据键获取配置响应
type ConfigGetByKeyRes struct {
Value string `json:"value" dc:"配置值"`
}
// ConfigGetByGroupReq 根据分组获取配置请求
type ConfigGetByGroupReq struct {
g.Meta `path:"/config/get-by-group" method:"get" summary:"根据分组获取配置" tags:"系统配置管理"`
Group string `json:"group" v:"required#请输入配置分组" dc:"配置分组"`
}
// ConfigGetByGroupRes 根据分组获取配置响应
type ConfigGetByGroupRes struct {
Configs []ConfigGroupItem `json:"configs" dc:"配置列表"`
}
// ConfigGroupItem 分组配置项
type ConfigGroupItem struct {
Key string `json:"key" dc:"配置键"`
Value string `json:"value" dc:"配置值"`
Name string `json:"name" dc:"配置名称"`
Type string `json:"type" dc:"配置类型"`
Description string `json:"description" dc:"配置描述"`
}
// ConfigSetReq 设置配置请求
type ConfigSetReq struct {
g.Meta `path:"/config/set" method:"post" summary:"设置配置" tags:"系统配置管理"`
Key string `json:"key" v:"required#请输入配置键" dc:"配置键"`
Value string `json:"value" dc:"配置值"`
}
// ConfigBatchSetReq 批量设置配置请求
type ConfigBatchSetReq struct {
g.Meta `path:"/config/batch-set" method:"post" summary:"批量设置配置" tags:"系统配置管理"`
Configs []ConfigSetItem `json:"configs" v:"required|length:1,100#请输入配置列表|最多设置100个配置" dc:"配置列表"`
}
// ConfigSetItem 设置配置项
type ConfigSetItem struct {
Key string `json:"key" v:"required#请输入配置键" dc:"配置键"`
Value string `json:"value" dc:"配置值"`
}
// ConfigGroupListReq 获取配置分组列表请求
type ConfigGroupListReq struct {
g.Meta `path:"/config/group/list" method:"get" summary:"获取配置分组列表" tags:"系统配置管理"`
}
// ConfigGroupListRes 获取配置分组列表响应
type ConfigGroupListRes struct {
Groups []ConfigGroupStatItem `json:"groups" dc:"分组列表"`
}
// ConfigGroupStatItem 配置分组统计项
type ConfigGroupStatItem struct {
Group string `json:"group" dc:"分组名称"`
Count int `json:"count" dc:"配置数量"`
Description string `json:"description" dc:"分组描述"`
}
// ConfigExportReq 导出配置请求
type ConfigExportReq struct {
g.Meta `path:"/config/export" method:"get" summary:"导出配置" tags:"系统配置管理"`
Group string `json:"group" dc:"配置分组,为空则导出全部"`
Format string `json:"format" v:"in:json,yaml,ini#导出格式错误" dc:"导出格式json,yaml,ini"`
}
// ConfigExportRes 导出配置响应
type ConfigExportRes struct {
Content string `json:"content" dc:"导出内容"`
Filename string `json:"filename" dc:"文件名"`
}
// ConfigImportReq 导入配置请求
type ConfigImportReq struct {
g.Meta `path:"/config/import" method:"post" summary:"导入配置" tags:"系统配置管理"`
Content string `json:"content" v:"required#请输入导入内容" dc:"导入内容"`
Format string `json:"format" v:"required|in:json,yaml,ini#请选择导入格式|导入格式必须为json,yaml,ini之一" dc:"导入格式"`
Group string `json:"group" dc:"目标分组,为空则使用原分组"`
Mode string `json:"mode" v:"in:merge,replace#导入模式错误" dc:"导入模式merge-合并replace-替换"`
}
// ConfigImportRes 导入配置响应
type ConfigImportRes struct {
Success int `json:"success" dc:"成功导入数量"`
Failed int `json:"failed" dc:"失败数量"`
Total int `json:"total" dc:"总数量"`
}
// ConfigCacheReq 缓存配置请求
type ConfigCacheReq struct {
g.Meta `path:"/config/cache" method:"post" summary:"缓存配置" tags:"系统配置管理"`
Group string `json:"group" dc:"配置分组,为空则缓存全部"`
}
// ConfigClearCacheReq 清除配置缓存请求
type ConfigClearCacheReq struct {
g.Meta `path:"/config/clear-cache" method:"post" summary:"清除配置缓存" tags:"系统配置管理"`
Group string `json:"group" dc:"配置分组,为空则清除全部"`
}
// ConfigValidateReq 验证配置请求
type ConfigValidateReq struct {
g.Meta `path:"/config/validate" method:"post" summary:"验证配置" tags:"系统配置管理"`
Key string `json:"key" v:"required#请输入配置键" dc:"配置键"`
Value string `json:"value" dc:"配置值"`
Type string `json:"type" v:"required|in:string,int,float,bool,json#请选择配置类型|配置类型必须为string,int,float,bool,json之一" dc:"配置类型"`
}
// ConfigValidateRes 验证配置响应
type ConfigValidateRes struct {
Valid bool `json:"valid" dc:"是否有效"`
Message string `json:"message" dc:"验证消息"`
}
// ConfigBackupReq 备份配置请求
type ConfigBackupReq struct {
g.Meta `path:"/config/backup" method:"post" summary:"备份配置" tags:"系统配置管理"`
Name string `json:"name" v:"required|length:1,100#请输入备份名称|备份名称长度为1-100个字符" dc:"备份名称"`
Group string `json:"group" dc:"配置分组,为空则备份全部"`
}
// ConfigBackupRes 备份配置响应
type ConfigBackupRes struct {
BackupId string `json:"backup_id" dc:"备份ID"`
Filename string `json:"filename" dc:"备份文件名"`
}
// ConfigRestoreReq 恢复配置请求
type ConfigRestoreReq struct {
g.Meta `path:"/config/restore" method:"post" summary:"恢复配置" tags:"系统配置管理"`
BackupId string `json:"backup_id" v:"required#请输入备份ID" dc:"备份ID"`
Mode string `json:"mode" v:"in:merge,replace#恢复模式错误" dc:"恢复模式merge-合并replace-替换"`
}
// ConfigRestoreRes 恢复配置响应
type ConfigRestoreRes struct {
Success int `json:"success" dc:"成功恢复数量"`
Failed int `json:"failed" dc:"失败数量"`
Total int `json:"total" dc:"总数量"`
}
// ConfigHistoryReq 获取配置历史请求
type ConfigHistoryReq struct {
g.Meta `path:"/config/history" method:"get" summary:"获取配置历史" tags:"系统配置管理"`
Key string `json:"key" v:"required#请输入配置键" dc:"配置键"`
Page int `json:"page" dc:"页码默认1"`
Size int `json:"size" dc:"每页数量默认10"`
}
// ConfigHistoryRes 获取配置历史响应
type ConfigHistoryRes struct {
List []ConfigHistoryItem `json:"list" dc:"历史列表"`
Total int `json:"total" dc:"总数"`
Page int `json:"page" dc:"当前页码"`
Size int `json:"size" dc:"每页数量"`
}
// ConfigHistoryItem 配置历史项
type ConfigHistoryItem struct {
Id uint `json:"id" dc:"历史ID"`
Key string `json:"key" dc:"配置键"`
OldValue string `json:"old_value" dc:"旧值"`
NewValue string `json:"new_value" dc:"新值"`
Operation string `json:"operation" dc:"操作类型"`
UserId uint `json:"user_id" dc:"操作用户ID"`
Username string `json:"username" dc:"操作用户名"`
CreatedAt string `json:"created_at" dc:"操作时间"`
}
// ===== 用户端配置相关结构 =====
// ConfigUserGetReq 用户获取配置请求
type ConfigUserGetReq struct {
g.Meta `path:"/config/get" method:"get" summary:"获取配置" tags:"用户配置"`
Key string `json:"key" v:"required#请输入配置键" dc:"配置键"`
}
// ConfigUserGetRes 用户获取配置响应
type ConfigUserGetRes struct {
Value string `json:"value" dc:"配置值"`
}
// ConfigUserGetGroupReq 用户获取分组配置请求
type ConfigUserGetGroupReq struct {
g.Meta `path:"/config/group" method:"get" summary:"获取分组配置" tags:"用户配置"`
Group string `json:"group" v:"required#请输入配置分组" dc:"配置分组"`
}
// ConfigUserGetGroupRes 用户获取分组配置响应
type ConfigUserGetGroupRes struct {
Configs map[string]string `json:"configs" dc:"配置键值对"`
}
// ConfigUserGetPublicReq 用户获取公开配置请求
type ConfigUserGetPublicReq struct {
g.Meta `path:"/config/public" method:"get" summary:"获取公开配置" tags:"用户配置"`
}
// ConfigUserGetPublicRes 用户获取公开配置响应
type ConfigUserGetPublicRes struct {
Configs map[string]interface{} `json:"configs" dc:"公开配置"`
}