签入版本
This commit is contained in:
@@ -0,0 +1,184 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 文章模块 ==============================
|
||||
|
||||
// ArticleItem 文章行
|
||||
type ArticleItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
CategoryId int `json:"categoryId"` // 分类ID
|
||||
CategoryName string `json:"categoryName"` // 分类名称
|
||||
Title string `json:"title"` // 标题
|
||||
Cover string `json:"cover"` // 封面图
|
||||
Intro string `json:"intro"` // 简介
|
||||
Author string `json:"author"` // 作者
|
||||
Status int `json:"status"` // 状态:0-草稿 1-发布
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Click int `json:"click"` // 点击量
|
||||
Sort int `json:"sort"` // 排序
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
}
|
||||
|
||||
// ArticlePageReq 文章分页请求
|
||||
type ArticlePageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/article/page" summary:"文章分页" permission:"sys:article:page" log:"文章管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(标题/作者模糊)"` // 关键词
|
||||
Title string `json:"title" dc:"标题模糊"` // 标题
|
||||
CategoryId int `json:"categoryId" dc:"分类ID"` // 分类ID
|
||||
Status int `json:"status" dc:"状态:0-草稿 1-发布"` // 状态
|
||||
}
|
||||
|
||||
// ArticlePageRes 文章分页结果
|
||||
type ArticlePageRes = PageData[ArticleItem]
|
||||
|
||||
// ArticleListReq 文章列表请求(下拉/最新)
|
||||
type ArticleListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/article/list" summary:"文章列表" permission:"sys:article:list" log:"文章管理-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
CategoryId int `json:"categoryId" dc:"分类ID"` // 分类ID
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Limit int `json:"limit" dc:"条数上限"` // 条数上限
|
||||
}
|
||||
|
||||
// ArticleListItem 文章列表行(精简)
|
||||
type ArticleListItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Title string `json:"title"` // 标题
|
||||
Status int `json:"status"` // 状态:0-草稿 1-发布
|
||||
Sort int `json:"sort"` // 排序
|
||||
}
|
||||
|
||||
// ArticleListRes 文章列表结果
|
||||
type ArticleListRes = []ArticleListItem
|
||||
|
||||
// ArticleDetailReq 文章详情请求
|
||||
type ArticleDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/article/detail/:id" summary:"文章详情" permission:"sys:article:detail" log:"文章管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"文章ID"` // 文章ID
|
||||
}
|
||||
|
||||
// ArticleDetailRes 文章详情结果
|
||||
type ArticleDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
CategoryId int `json:"categoryId"` // 分类ID
|
||||
Title string `json:"title"` // 标题
|
||||
Cover string `json:"cover"` // 封面图
|
||||
Images string `json:"images"` // 多图(逗号分隔)
|
||||
ImagesList []string `json:"imagesList"` // 多图列表
|
||||
Intro string `json:"intro"` // 简介
|
||||
Content string `json:"content"` // 正文
|
||||
Author string `json:"author"` // 作者
|
||||
Status int `json:"status"` // 状态:0-草稿 1-发布
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Click int `json:"click"` // 点击量
|
||||
Sort int `json:"sort"` // 排序
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
}
|
||||
|
||||
// ArticleAddReq 新增文章请求
|
||||
type ArticleAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/article/add" summary:"新增文章" permission:"sys:article:add" log:"文章管理-新增记录" logType:"add"`
|
||||
CategoryId int `json:"categoryId" dc:"分类ID"` // 分类ID
|
||||
Title string `json:"title" v:"required#请输入标题" dc:"标题"` // 标题
|
||||
Cover string `json:"cover" dc:"封面图"` // 封面图
|
||||
Images string `json:"images" dc:"多图(逗号分隔)"` // 多图
|
||||
Intro string `json:"intro" dc:"简介"` // 简介
|
||||
Content string `json:"content" dc:"正文"` // 正文
|
||||
Author string `json:"author" dc:"作者"` // 作者
|
||||
Status int `json:"status" dc:"状态:0-草稿 1-发布"` // 状态
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
}
|
||||
|
||||
// ArticleUpdateReq 修改文章请求
|
||||
type ArticleUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/article/update" summary:"修改文章" permission:"sys:article:update" log:"文章管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"文章ID"` // 文章ID
|
||||
CategoryId int `json:"categoryId" dc:"分类ID"` // 分类ID
|
||||
Title string `json:"title" v:"required#请输入标题" dc:"标题"` // 标题
|
||||
Cover string `json:"cover" dc:"封面图"` // 封面图
|
||||
Images string `json:"images" dc:"多图"` // 多图
|
||||
Intro string `json:"intro" dc:"简介"` // 简介
|
||||
Content string `json:"content" dc:"正文"` // 正文
|
||||
Author string `json:"author" dc:"作者"` // 作者
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Click int `json:"click" dc:"点击量"` // 点击量
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
}
|
||||
|
||||
// ArticleUpdateRes 修改文章结果
|
||||
type ArticleUpdateRes struct{}
|
||||
|
||||
// ArticleStatusReq 文章状态请求
|
||||
type ArticleStatusReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/article/status" summary:"文章状态" permission:"sys:article:status" log:"文章管理-设置状态" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"文章ID"` // 文章ID
|
||||
Status int `json:"status" v:"required#缺少状态" dc:"状态:0-草稿 1-发布"` // 状态
|
||||
}
|
||||
|
||||
// ArticleStatusRes 文章状态结果
|
||||
type ArticleStatusRes struct{}
|
||||
|
||||
// ArticleDeleteReq 删除文章请求
|
||||
type ArticleDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/article/delete/:id" summary:"删除文章" permission:"sys:article:delete" log:"文章管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"文章ID"` // 文章ID
|
||||
}
|
||||
|
||||
// ArticleDeleteRes 删除文章结果
|
||||
type ArticleDeleteRes struct{}
|
||||
|
||||
// ArticleBatchDeleteReq 批量删除文章请求
|
||||
type ArticleBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/article/batchDelete" summary:"批量删除文章" permission:"sys:article:batchDelete" log:"文章管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"文章ID列表"` // 文章ID列表
|
||||
}
|
||||
|
||||
// ArticleBatchDeleteRes 批量删除结果
|
||||
type ArticleBatchDeleteRes struct{}
|
||||
+129
@@ -0,0 +1,129 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 认证授权模块 ==============================
|
||||
|
||||
// LoginReq 登录请求
|
||||
// 参数支持 query/body 混合提交
|
||||
type LoginReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/login" summary:"登录" public:"true"`
|
||||
Username string `json:"username" v:"required#请输入用户名" dc:"用户名"` // 用户名
|
||||
Password string `json:"password" v:"required#请输入密码" dc:"密码"` // 密码
|
||||
Code string `json:"code" dc:"图形验证码"` // 图形验证码
|
||||
Key string `json:"key" dc:"验证码标识(captcha 接口返回的 key)"` // 验证码标识
|
||||
TenantCode string `json:"tenantCode" dc:"租户编码,留空按用户名全局定位"` // 租户编码
|
||||
}
|
||||
|
||||
// LoginRes 登录结果
|
||||
// 客户端从 data.access_token 中读取并存储令牌
|
||||
type LoginRes struct {
|
||||
AccessToken string `json:"access_token"` // 访问令牌
|
||||
RefreshToken string `json:"refresh_token"` // 刷新令牌
|
||||
ExpiresIn int64 `json:"expires_in"` // access 有效期(秒)
|
||||
TokenType string `json:"token_type"` // 令牌类型,固定为 Bearer
|
||||
}
|
||||
|
||||
// LogoutReq 登出请求
|
||||
// 拉黑当前 access token,需携带 access token 走 JWT 校验
|
||||
type LogoutReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/logout" summary:"登出"`
|
||||
}
|
||||
|
||||
// LogoutRes 登出结果
|
||||
type LogoutRes struct{}
|
||||
|
||||
// CaptchaReq 图形验证码请求
|
||||
type CaptchaReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/captcha" summary:"获取图形验证码" public:"true"`
|
||||
}
|
||||
|
||||
// CaptchaRes 图形验证码结果
|
||||
type CaptchaRes struct {
|
||||
Key string `json:"key" dc:"验证码标识"` // 验证码标识
|
||||
Captcha string `json:"captcha" dc:"SVG data URL 图片"` // SVG data URL 图片
|
||||
}
|
||||
|
||||
// RefreshReq 刷新令牌请求
|
||||
// 同时兼容 refresh_token 与 password 两种授权模式
|
||||
type RefreshReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/oauth2/token" summary:"刷新令牌/密码模式兑换" public:"true"`
|
||||
GrantType string `json:"grant_type" dc:"refresh_token | password"` // 授权类型
|
||||
RefreshToken string `json:"refresh_token" dc:"刷新令牌(grant_type=refresh_token 时必填)"` // 刷新令牌
|
||||
Username string `json:"username" dc:"用户名(grant_type=password 时必填)"` // 用户名
|
||||
Password string `json:"password" dc:"密码(grant_type=password 时必填)"` // 密码
|
||||
Code string `json:"code" dc:"验证码"` // 验证码
|
||||
Key string `json:"key" dc:"验证码标识"` // 验证码标识
|
||||
}
|
||||
|
||||
// RefreshRes 刷新令牌结果
|
||||
// 结构与登录结果保持一致
|
||||
type RefreshRes struct {
|
||||
AccessToken string `json:"access_token"` // 访问令牌
|
||||
RefreshToken string `json:"refresh_token"` // 刷新令牌
|
||||
ExpiresIn int64 `json:"expires_in"` // access 有效期(秒)
|
||||
TokenType string `json:"token_type"` // 令牌类型
|
||||
}
|
||||
|
||||
// CheckTokenReq 校验令牌请求
|
||||
type CheckTokenReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/oauth2/check/token" summary:"校验令牌"`
|
||||
}
|
||||
|
||||
// CheckTokenRes 校验令牌结果
|
||||
type CheckTokenRes struct {
|
||||
Valid bool `json:"valid"` // 是否有效
|
||||
UserId int64 `json:"userId"` // 用户ID
|
||||
}
|
||||
|
||||
// RemoveTokenReq 指定令牌拉黑请求
|
||||
type RemoveTokenReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/oauth2/remove/:token" summary:"撤销指定令牌"`
|
||||
Token string `json:"token" v:"required#缺少token" dc:"待撤销的令牌"` // 待撤销的令牌
|
||||
}
|
||||
|
||||
// RemoveTokenRes 撤销令牌结果
|
||||
type RemoveTokenRes struct{}
|
||||
@@ -0,0 +1,82 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 缓存监控模块 ==============================
|
||||
|
||||
// CacheInfoReq 查询缓存信息请求
|
||||
type CacheInfoReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/cache/info" summary:"缓存监控信息" log:"缓存监控-查询信息" logType:"query"`
|
||||
}
|
||||
|
||||
// CacheKeySpaceDb 单个库的键空间统计
|
||||
type CacheKeySpaceDb struct {
|
||||
Db string `json:"db"` // 库编号(如 db0)
|
||||
Keys int64 `json:"keys"` // 键数量
|
||||
Expires int64 `json:"expires"` // 带过期键数量
|
||||
}
|
||||
|
||||
// CacheInfoRes 缓存监控信息结果
|
||||
type CacheInfoRes struct {
|
||||
Mode string `json:"mode"` // redis / memory
|
||||
Connected bool `json:"connected"` // 是否连通
|
||||
Version string `json:"version"` // Redis 版本
|
||||
Uptime string `json:"uptime"` // 运行时长
|
||||
UsedMemory string `json:"usedMemory"` // 已用内存
|
||||
UsedMemoryPeak string `json:"usedMemoryPeak"` // 内存峰值
|
||||
MaxMemory string `json:"maxMemory"` // 内存上限(0 表示无限制)
|
||||
FragRatio string `json:"fragRatio"` // 内存碎片率
|
||||
ConnectedClients int64 `json:"connectedClients"` // 客户端连接数
|
||||
Keys int64 `json:"keys"` // 键总数
|
||||
Hits int64 `json:"hits"` // 命中次数
|
||||
Misses int64 `json:"misses"` // 未命中次数
|
||||
HitRate string `json:"hitRate"` // 命中率(%)
|
||||
ExpiredKeys int64 `json:"expiredKeys"` // 累计过期键数
|
||||
EvictedKeys int64 `json:"evictedKeys"` // 累计淘汰键数
|
||||
TotalCommands int64 `json:"totalCommands"` // 累计执行命令数
|
||||
TotalConns int64 `json:"totalConns"` // 累计连接数
|
||||
KeySpace []CacheKeySpaceDb `json:"keySpace"` // 键空间明细
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 分类模块(树形) ==============================
|
||||
|
||||
// CategoryItem 分类行
|
||||
type CategoryItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
CategoryName string `json:"categoryName"` // 分类名称
|
||||
CategoryCode string `json:"categoryCode"` // 分类编码
|
||||
ParentId int `json:"parentId"` // 上级ID(0=顶级)
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
}
|
||||
|
||||
// CategoryPageReq 分类分页请求(平铺)
|
||||
type CategoryPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/category/page" summary:"分类分页" permission:"sys:category:page" log:"分类管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(名称/编码模糊)"` // 关键词
|
||||
CategoryName string `json:"categoryName" dc:"分类名称模糊"` // 分类名称
|
||||
CategoryCode string `json:"categoryCode" dc:"分类编码模糊"` // 分类编码
|
||||
}
|
||||
|
||||
// CategoryPageRes 分类分页结果
|
||||
type CategoryPageRes = PageData[CategoryItem]
|
||||
|
||||
// CategoryListReq 分类树形列表请求
|
||||
type CategoryListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/category/list" summary:"分类树形列表" permission:"sys:category:list" log:"分类管理-查询树形列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
}
|
||||
|
||||
// CategoryListRes 分类平铺列表结果
|
||||
// data 直接为数组,由前端自行构建树形结构
|
||||
type CategoryListRes = []*CategoryItem
|
||||
|
||||
// CategoryDetailReq 分类详情请求
|
||||
type CategoryDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/category/detail/:id" summary:"分类详情" permission:"sys:category:detail" log:"分类管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"分类ID"` // 分类ID
|
||||
}
|
||||
|
||||
// CategoryDetailRes 分类详情结果
|
||||
type CategoryDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
CategoryName string `json:"categoryName"` // 分类名称
|
||||
CategoryCode string `json:"categoryCode"` // 分类编码
|
||||
ParentId int `json:"parentId"` // 上级ID
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
}
|
||||
|
||||
// CategoryAddReq 新增分类请求
|
||||
type CategoryAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/category/add" summary:"新增分类" permission:"sys:category:add" log:"分类管理-新增记录" logType:"add"`
|
||||
CategoryName string `json:"categoryName" v:"required#请输入分类名称" dc:"分类名称"` // 分类名称
|
||||
CategoryCode string `json:"categoryCode" dc:"分类编码"` // 分类编码
|
||||
ParentId int `json:"parentId" dc:"上级ID(0=顶级)"` // 上级ID
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// CategoryUpdateReq 修改分类请求
|
||||
type CategoryUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/category/update" summary:"修改分类" permission:"sys:category:update" log:"分类管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"分类ID"` // 分类ID
|
||||
CategoryName string `json:"categoryName" v:"required#请输入分类名称" dc:"分类名称"` // 分类名称
|
||||
CategoryCode string `json:"categoryCode" dc:"分类编码"` // 分类编码
|
||||
ParentId int `json:"parentId" dc:"上级ID"` // 上级ID
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// CategoryUpdateRes 修改分类结果
|
||||
type CategoryUpdateRes struct{}
|
||||
|
||||
// CategoryDeleteReq 删除分类请求
|
||||
type CategoryDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/category/delete/:id" summary:"删除分类" permission:"sys:category:delete" log:"分类管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"分类ID"` // 分类ID
|
||||
}
|
||||
|
||||
// CategoryDeleteRes 删除分类结果
|
||||
type CategoryDeleteRes struct{}
|
||||
|
||||
// CategoryBatchDeleteReq 批量删除分类请求
|
||||
type CategoryBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/category/batchDelete" summary:"批量删除分类" permission:"sys:category:batchDelete" log:"分类管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"分类ID列表"` // 分类ID列表
|
||||
}
|
||||
|
||||
// CategoryBatchDeleteRes 批量删除结果
|
||||
type CategoryBatchDeleteRes struct{}
|
||||
+196
@@ -0,0 +1,196 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 城市模块 ==============================
|
||||
|
||||
// CityItem 城市行数据
|
||||
// 用于分页列表、下拉列表等场景的城市基础信息
|
||||
type CityItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
CityCode string `json:"cityCode"` // 城市编码
|
||||
AreaCode string `json:"areaCode"` // 区域编码
|
||||
ParentCode string `json:"parentCode"` // 父级编码
|
||||
ZipCode string `json:"zipCode"` // 邮政编码
|
||||
Level int `json:"level"` // 层级:1-省 2-市 3-区 4-街道
|
||||
LevelText string `json:"levelText"` // 层级文本
|
||||
Pid int64 `json:"pid"` // 父级ID
|
||||
Name string `json:"name"` // 城市名称
|
||||
ShortName string `json:"shortName"` // 城市简称
|
||||
FullName string `json:"fullName"` // 城市全称
|
||||
Pinyin string `json:"pinyin"` // 拼音
|
||||
Lng string `json:"lng"` // 经度
|
||||
Lat string `json:"lat"` // 纬度
|
||||
}
|
||||
|
||||
// CityPageReq 城市分页请求
|
||||
// 支持关键词、名称、拼音及层级等条件组合查询
|
||||
type CityPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/city/page" summary:"城市分页" permission:"sys:city:page" log:"城市管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(名称/拼音模糊)"` // 关键词,名称或拼音模糊匹配
|
||||
Name string `json:"name" dc:"城市名称模糊"` // 城市名称模糊匹配
|
||||
Pinyin string `json:"pinyin" dc:"拼音模糊"` // 拼音模糊匹配
|
||||
Level int `json:"level" dc:"层级:1-省 2-市 3-区 4-街道"` // 层级
|
||||
}
|
||||
|
||||
// CityPageRes 城市分页结果
|
||||
type CityPageRes = PageData[CityItem]
|
||||
|
||||
// CityListReq 城市列表请求
|
||||
// 按父级编码、层级等条件查询,供级联选择场景使用
|
||||
type CityListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/city/list" summary:"城市列表" permission:"sys:city:list" log:"城市管理-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Level int `json:"level" dc:"层级"` // 层级
|
||||
ParentCode string `json:"parentCode" dc:"父级编码(顶级为空)"` // 父级编码
|
||||
Limit int `json:"limit" dc:"条数上限"` // 条数上限
|
||||
}
|
||||
|
||||
// CityListRes 城市列表结果
|
||||
type CityListRes = []CityItem
|
||||
|
||||
// CityDetailReq 城市详情请求
|
||||
type CityDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/city/detail/:id" summary:"城市详情" permission:"sys:city:detail" log:"城市管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"城市ID"` // 城市ID
|
||||
}
|
||||
|
||||
// CityDetailRes 城市详情结果
|
||||
type CityDetailRes struct {
|
||||
CityItem
|
||||
ParentName string `json:"parentName" dc:"父级名称"` // 父级名称
|
||||
}
|
||||
|
||||
// CityAddReq 新增城市请求
|
||||
type CityAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/city/add" summary:"新增城市" permission:"sys:city:add" log:"城市管理-新增记录" logType:"add"`
|
||||
CityCode string `json:"cityCode" v:"required#请输入城市编码" dc:"城市编码"` // 城市编码
|
||||
AreaCode string `json:"areaCode" dc:"区域编码"` // 区域编码
|
||||
ParentCode string `json:"parentCode" dc:"父级编码"` // 父级编码
|
||||
ZipCode string `json:"zipCode" dc:"邮编"` // 邮政编码
|
||||
Level int `json:"level" dc:"层级"` // 层级
|
||||
Pid int64 `json:"pid" dc:"父级ID"` // 父级ID
|
||||
Name string `json:"name" v:"required#请输入名称" dc:"名称"` // 城市名称
|
||||
ShortName string `json:"shortName" dc:"简称"` // 城市简称
|
||||
FullName string `json:"fullName" dc:"全称"` // 城市全称
|
||||
Pinyin string `json:"pinyin" dc:"拼音"` // 拼音
|
||||
Lng string `json:"lng" dc:"经度"` // 经度
|
||||
Lat string `json:"lat" dc:"纬度"` // 纬度
|
||||
}
|
||||
|
||||
// CityUpdateReq 修改城市请求
|
||||
type CityUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/city/update" summary:"修改城市" permission:"sys:city:update" log:"城市管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"城市ID"` // 城市ID
|
||||
CityCode string `json:"cityCode" dc:"城市编码"` // 城市编码
|
||||
AreaCode string `json:"areaCode" dc:"区域编码"` // 区域编码
|
||||
ParentCode string `json:"parentCode" dc:"父级编码"` // 父级编码
|
||||
ZipCode string `json:"zipCode" dc:"邮编"` // 邮政编码
|
||||
Level int `json:"level" dc:"层级"` // 层级
|
||||
Pid int64 `json:"pid" dc:"父级ID"` // 父级ID
|
||||
Name string `json:"name" dc:"名称"` // 城市名称
|
||||
ShortName string `json:"shortName" dc:"简称"` // 城市简称
|
||||
FullName string `json:"fullName" dc:"全称"` // 城市全称
|
||||
Pinyin string `json:"pinyin" dc:"拼音"` // 拼音
|
||||
Lng string `json:"lng" dc:"经度"` // 经度
|
||||
Lat string `json:"lat" dc:"纬度"` // 纬度
|
||||
}
|
||||
|
||||
// CityUpdateRes 修改城市结果
|
||||
type CityUpdateRes struct{}
|
||||
|
||||
// CityDeleteReq 删除城市请求
|
||||
type CityDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/city/delete/:id" summary:"删除城市" permission:"sys:city:delete" log:"城市管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"城市ID"` // 城市ID
|
||||
}
|
||||
|
||||
// CityDeleteRes 删除城市结果
|
||||
type CityDeleteRes struct{}
|
||||
|
||||
// CityBatchDeleteReq 批量删除城市请求
|
||||
type CityBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/city/batchDelete" summary:"批量删除城市" permission:"sys:city:batchDelete" log:"城市管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"城市ID列表"` // 城市ID列表
|
||||
}
|
||||
|
||||
// CityBatchDeleteRes 批量删除结果
|
||||
type CityBatchDeleteRes struct{}
|
||||
|
||||
// CityByParentReq 按父编码查询下级城市请求
|
||||
// 登录用户即可访问,用于查询指定父级下的直属下级城市
|
||||
type CityByParentReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/area/findByParentCode" summary:"按父编码查询城市" log:"城市查询-查询下级城市" logType:"query"`
|
||||
ParentCode string `json:"parentCode" v:"required#请输入父级编码" dc:"父级编码"` // 父级编码
|
||||
}
|
||||
|
||||
// CityByParentRes 按父编码查询结果
|
||||
type CityByParentRes struct {
|
||||
List []CityItem `json:"list"` // 城市列表
|
||||
}
|
||||
|
||||
// AreaParentReq 省份列表请求
|
||||
// 登录用户即可访问,用于查询顶级省份列表
|
||||
type AreaParentReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/area/getParent" summary:"查询省份列表" log:"城市查询-查询省份列表" logType:"query"`
|
||||
}
|
||||
|
||||
// AreaParentRes 省份列表结果
|
||||
type AreaParentRes struct {
|
||||
List []CityItem `json:"list"` // 省份列表
|
||||
}
|
||||
|
||||
// CityGetListReq 按父编码获取下级城市请求
|
||||
// 登录用户即可访问,用于级联选择器懒加载下级城市
|
||||
type CityGetListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/city/getCityList/:parentCode" summary:"按父编码获取城市列表" log:"城市查询-查询城市列表" logType:"query"`
|
||||
ParentCode string `json:"parentCode" v:"required#缺少父级编码" dc:"父级行政编码(顶级为0)"` // 父级行政编码,顶级为0
|
||||
}
|
||||
|
||||
// CityGetListRes 城市列表结果
|
||||
// data 直接为数组
|
||||
type CityGetListRes = []CityItem
|
||||
@@ -0,0 +1,113 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
// ============================== 公共基础模块 ==============================
|
||||
|
||||
// PageReq 分页公共参数
|
||||
// 对应前端分页契约:pageNo/pageSize
|
||||
type PageReq struct {
|
||||
PageNo int `json:"pageNo" dc:"页码,从1开始,默认1"` // 页码,从1开始
|
||||
PageSize int `json:"pageSize" dc:"每页条数,默认10,最大500"` // 每页条数
|
||||
}
|
||||
|
||||
// GetPageNo 获取页码
|
||||
// 页码小于等于0时返回默认值1
|
||||
func (p *PageReq) GetPageNo() int {
|
||||
if p.PageNo <= 0 {
|
||||
return 1
|
||||
}
|
||||
return p.PageNo
|
||||
}
|
||||
|
||||
// GetPageSize 获取每页条数
|
||||
// 每页条数小于等于0时返回默认值10,超过500时按500截断
|
||||
func (p *PageReq) GetPageSize() int {
|
||||
if p.PageSize <= 0 {
|
||||
return 10
|
||||
}
|
||||
if p.PageSize > 500 {
|
||||
return 500
|
||||
}
|
||||
return p.PageSize
|
||||
}
|
||||
|
||||
// Offset 计算SQL LIMIT偏移量
|
||||
// 偏移量 = (页码 - 1) × 每页条数
|
||||
func (p *PageReq) Offset() int {
|
||||
return (p.GetPageNo() - 1) * p.GetPageSize()
|
||||
}
|
||||
|
||||
// IdsReq 批量删除入参
|
||||
// 通用批量操作请求体,携带待操作的ID列表
|
||||
type IdsReq struct {
|
||||
Ids []int64 `json:"ids" v:"required#请选择要操作的记录" dc:"ID列表"` // ID列表
|
||||
}
|
||||
|
||||
// IdRes 通用返回ID结构
|
||||
// 各模块新增等接口共用的返回结果
|
||||
type IdRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
}
|
||||
|
||||
// PageData 统一分页壳
|
||||
// 对应前端分页契约:records/total/size/current/pages
|
||||
type PageData[T any] struct {
|
||||
Records []T `json:"records"` // 当前页记录列表
|
||||
Total int `json:"total"` // 总记录数
|
||||
Size int `json:"size"` // 请求的每页条数
|
||||
Current int `json:"current"` // 请求页码
|
||||
Pages int `json:"pages"` // 总页数
|
||||
}
|
||||
|
||||
// NewPageData 构造分页壳
|
||||
// records 为空时输出空数组而非 null,pages 按总记录数与每页条数计算得出
|
||||
func NewPageData[T any](pageNo, pageSize, total int, records []T) *PageData[T] {
|
||||
if records == nil {
|
||||
records = []T{}
|
||||
}
|
||||
pages := 0
|
||||
if pageSize > 0 {
|
||||
pages = (total + pageSize - 1) / pageSize
|
||||
}
|
||||
return &PageData[T]{Records: records, Total: total, Size: pageSize, Current: pageNo, Pages: pages}
|
||||
}
|
||||
@@ -0,0 +1,211 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 配置模块 ==============================
|
||||
|
||||
// ConfigItemRow 配置项行数据
|
||||
// 内嵌使用,供配置详情、配置列表展示配置项明细
|
||||
type ConfigItemRow struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 配置项名称
|
||||
Code string `json:"code"` // 配置项编码
|
||||
Value string `json:"value"` // 配置项值
|
||||
Type string `json:"type"` // 控件类型
|
||||
Status int `json:"status"` // 状态
|
||||
Sort int `json:"sort"` // 排序
|
||||
}
|
||||
|
||||
// ConfigItem 配置行数据
|
||||
// 用于分页列表等场景的配置基础信息
|
||||
type ConfigItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 配置名称
|
||||
Code string `json:"code"` // 配置编码
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
}
|
||||
|
||||
// ConfigPageReq 配置分页请求
|
||||
// 支持关键词、配置名称等条件组合查询
|
||||
type ConfigPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/config/page" summary:"配置分页" permission:"sys:config:page" log:"配置管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(名称/编码模糊)"` // 关键词,名称或编码模糊匹配
|
||||
Name string `json:"name" dc:"配置名称模糊"` // 配置名称模糊匹配
|
||||
}
|
||||
|
||||
// ConfigPageRes 配置分页结果
|
||||
type ConfigPageRes = PageData[ConfigItem]
|
||||
|
||||
// ConfigListReq 配置列表请求
|
||||
// 返回的每一项均携带其下的配置项集合
|
||||
type ConfigListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/config/list" summary:"配置列表" permission:"sys:config:list" log:"配置管理-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
}
|
||||
|
||||
// ConfigListRes 配置列表结果
|
||||
// 列表每一项携带其下的配置项集合
|
||||
type ConfigListRes = []ConfigWithItems
|
||||
|
||||
// ConfigWithItems 配置及其配置项集合
|
||||
// 用于列表、详情等需要同时返回配置与配置项的场景
|
||||
type ConfigWithItems struct {
|
||||
ConfigItem
|
||||
Items []ConfigItemRow `json:"items"` // 配置项集合
|
||||
}
|
||||
|
||||
// ConfigDetailReq 配置详情请求
|
||||
type ConfigDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/config/detail/:id" summary:"配置详情" permission:"sys:config:detail" log:"配置管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"配置ID"` // 配置ID
|
||||
}
|
||||
|
||||
// ConfigDetailRes 配置详情结果
|
||||
// 包含配置基础信息及其下的配置项集合
|
||||
type ConfigDetailRes struct {
|
||||
ConfigItem
|
||||
Items []ConfigItemRow `json:"items"` // 配置项集合
|
||||
}
|
||||
|
||||
// ConfigAddReq 新增配置请求
|
||||
type ConfigAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/config/add" summary:"新增配置" permission:"sys:config:add" log:"配置管理-新增记录" logType:"add"`
|
||||
Name string `json:"name" v:"required#请输入配置名称" dc:"配置名称"` // 配置名称
|
||||
Code string `json:"code" v:"required#请输入配置编码" dc:"配置编码"` // 配置编码
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// ConfigUpdateReq 修改配置请求
|
||||
type ConfigUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/config/update" summary:"修改配置" permission:"sys:config:update" log:"配置管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"配置ID"` // 配置ID
|
||||
Name string `json:"name" v:"required#请输入配置名称" dc:"配置名称"` // 配置名称
|
||||
Code string `json:"code" v:"required#请输入配置编码" dc:"配置编码"` // 配置编码
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// ConfigUpdateRes 修改配置结果
|
||||
type ConfigUpdateRes struct{}
|
||||
|
||||
// ConfigDeleteReq 删除配置请求
|
||||
type ConfigDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/config/delete/:id" summary:"删除配置" permission:"sys:config:delete" log:"配置管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"配置ID"` // 配置ID
|
||||
}
|
||||
|
||||
// ConfigDeleteRes 删除配置结果
|
||||
type ConfigDeleteRes struct{}
|
||||
|
||||
// ConfigBatchDeleteReq 批量删除配置请求
|
||||
type ConfigBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/config/batchDelete" summary:"批量删除配置" permission:"sys:config:batchDelete" log:"配置管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"配置ID列表"` // 配置ID列表
|
||||
}
|
||||
|
||||
// ConfigBatchDeleteRes 批量删除结果
|
||||
type ConfigBatchDeleteRes struct{}
|
||||
|
||||
// ConfigWebIndexReq 获取网站配置请求
|
||||
// 返回配置分组及其下的配置项,供网站配置页渲染
|
||||
type ConfigWebIndexReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/config/web/index" summary:"获取网站配置" permission:"sys:configWeb:data" log:"网站配置-获取配置" logType:"query"`
|
||||
}
|
||||
|
||||
// ConfigWebItem 网站配置项
|
||||
// value 按控件类型拼接访问URL;images/files 类型拆分到 valueList;options 解析为 param 映射
|
||||
type ConfigWebItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 配置项名称
|
||||
Code string `json:"code"` // 配置项编码
|
||||
Value string `json:"value"` // 配置项值
|
||||
ValueList []string `json:"valueList"` // 值列表,多值类型使用
|
||||
Type string `json:"type"` // 控件类型
|
||||
Options string `json:"options"` // 可选项原始串
|
||||
Param map[string]string `json:"param"` // 可选项解析后的映射
|
||||
}
|
||||
|
||||
// ConfigWebGroup 配置分组
|
||||
// 表示一个配置标签页下的配置项集合
|
||||
type ConfigWebGroup struct {
|
||||
ConfigName string `json:"configName"` // 配置分组名称
|
||||
DataList []ConfigWebItem `json:"dataList"` // 分组下的配置项集合
|
||||
}
|
||||
|
||||
// ConfigWebIndexRes 网站配置聚合结果
|
||||
type ConfigWebIndexRes = []ConfigWebGroup
|
||||
|
||||
// ConfigWebSaveReq 保存网站配置请求
|
||||
// body 顶层为配置项编码到值的平铺映射,采用自定义解析
|
||||
type ConfigWebSaveReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/config/web/save" summary:"保存网站配置" permission:"sys:configWeb:save" log:"网站配置-保存配置" logType:"update"`
|
||||
Data map[string]any `json:"data" dc:"配置项编码 → 值"` // 配置项编码到值的映射
|
||||
}
|
||||
|
||||
// UnmarshalBody 自定义请求体解析
|
||||
// body 顶层为配置项编码到值的平铺映射,跳过默认的请求参数解析流程
|
||||
func (r *ConfigWebSaveReq) UnmarshalBody(req *ghttp.Request) error {
|
||||
var data map[string]any
|
||||
if err := json.Unmarshal(req.GetBody(), &data); err != nil {
|
||||
return err
|
||||
}
|
||||
if len(data) == 0 {
|
||||
return errors.New("请提交配置数据")
|
||||
}
|
||||
r.Data = data
|
||||
return nil
|
||||
}
|
||||
|
||||
// ConfigWebSaveRes 保存网站配置结果
|
||||
type ConfigWebSaveRes struct{}
|
||||
@@ -0,0 +1,166 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 配置项模块 ==============================
|
||||
|
||||
// ConfigItemItem 配置项行数据
|
||||
// 用于配置项分页列表、配置项列表等场景的配置项基础信息
|
||||
type ConfigItemItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
ConfigId int64 `json:"configId"` // 所属配置ID
|
||||
ConfigName string `json:"configName"` // 所属配置名称
|
||||
Name string `json:"name"` // 配置项名称
|
||||
Code string `json:"code"` // 配置项编码
|
||||
Value string `json:"value"` // 配置项值
|
||||
Options string `json:"options"` // 可选项(JSON)
|
||||
Type string `json:"type"` // 控件类型
|
||||
Status int `json:"status"` // 状态
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
}
|
||||
|
||||
// ConfigItemPageReq 配置项分页请求
|
||||
// 支持关键词、配置项名称、所属配置及状态等条件组合查询
|
||||
type ConfigItemPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/config/item/page" summary:"配置项分页" permission:"sys:configitem:page" log:"配置项管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(名称/编码模糊)"` // 关键词,名称或编码模糊匹配
|
||||
Name string `json:"name" dc:"配置项名称模糊"` // 配置项名称模糊匹配
|
||||
ConfigId int64 `json:"configId" dc:"所属配置ID"` // 所属配置ID
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
}
|
||||
|
||||
// ConfigItemPageRes 配置项分页结果
|
||||
type ConfigItemPageRes = PageData[ConfigItemItem]
|
||||
|
||||
// ConfigItemListReq 配置项列表请求
|
||||
// 按所属配置、状态等条件查询配置项集合
|
||||
type ConfigItemListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/config/item/list" summary:"配置项列表" permission:"sys:configitem:list" log:"配置项管理-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
ConfigId int64 `json:"configId" dc:"所属配置ID"` // 所属配置ID
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
}
|
||||
|
||||
// ConfigItemListRes 配置项列表结果
|
||||
type ConfigItemListRes = []ConfigItemItem
|
||||
|
||||
// ConfigItemDetailReq 配置项详情请求
|
||||
type ConfigItemDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/config/item/detail/:id" summary:"配置项详情" permission:"sys:configitem:detail" log:"配置项管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"配置项ID"` // 配置项ID
|
||||
}
|
||||
|
||||
// ConfigItemDetailRes 配置项详情结果
|
||||
// 包含配置项基础信息、所属配置编码及多值类型拆分后的值列表
|
||||
type ConfigItemDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
ConfigId int64 `json:"configId"` // 所属配置ID
|
||||
ConfigCode string `json:"configCode"` // 所属配置编码
|
||||
Name string `json:"name"` // 配置项名称
|
||||
Code string `json:"code"` // 配置项编码
|
||||
Value string `json:"value"` // 配置项值
|
||||
ValueList []string `json:"valueList"` // 值列表,多值类型使用
|
||||
Options string `json:"options"` // 可选项(JSON)
|
||||
Type string `json:"type"` // 控件类型
|
||||
Status int `json:"status"` // 状态
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
}
|
||||
|
||||
// ConfigItemAddReq 新增配置项请求
|
||||
type ConfigItemAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/config/item/add" summary:"新增配置项" permission:"sys:configitem:add" log:"配置项管理-新增记录" logType:"add"`
|
||||
ConfigId int64 `json:"configId" v:"required#请选择所属配置" dc:"所属配置ID"` // 所属配置ID
|
||||
Name string `json:"name" v:"required#请输入配置项名称" dc:"配置项名称"` // 配置项名称
|
||||
Code string `json:"code" v:"required#请输入配置项编码" dc:"配置项编码"` // 配置项编码
|
||||
Value string `json:"value" dc:"配置项值"` // 配置项值
|
||||
Options string `json:"options" dc:"可选项(JSON)"` // 可选项
|
||||
Type string `json:"type" dc:"类型:text-单行文本 textarea-多行文本 number-数字 select-下拉 radio-单选 checkbox-复选 image-单图 images-多图 file-单文件 files-多文件(见字典 config_item_type)"` // 控件类型
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// ConfigItemUpdateReq 修改配置项请求
|
||||
type ConfigItemUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/config/item/update" summary:"修改配置项" permission:"sys:configitem:update" log:"配置项管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"配置项ID"` // 配置项ID
|
||||
ConfigId int64 `json:"configId" dc:"所属配置ID"` // 所属配置ID
|
||||
Name string `json:"name" v:"required#请输入配置项名称" dc:"配置项名称"` // 配置项名称
|
||||
Code string `json:"code" v:"required#请输入配置项编码" dc:"配置项编码"` // 配置项编码
|
||||
Value string `json:"value" dc:"配置项值"` // 配置项值
|
||||
Options string `json:"options" dc:"可选项(JSON)"` // 可选项
|
||||
Type string `json:"type" dc:"类型(见字典 config_item_type)"` // 控件类型
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// ConfigItemUpdateRes 修改配置项结果
|
||||
type ConfigItemUpdateRes struct{}
|
||||
|
||||
// ConfigItemDeleteReq 删除配置项请求
|
||||
type ConfigItemDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/config/item/delete/:id" summary:"删除配置项" permission:"sys:configitem:delete" log:"配置项管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"配置项ID"` // 配置项ID
|
||||
}
|
||||
|
||||
// ConfigItemDeleteRes 删除配置项结果
|
||||
type ConfigItemDeleteRes struct{}
|
||||
|
||||
// ConfigItemBatchDeleteReq 批量删除配置项请求
|
||||
type ConfigItemBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/config/item/batchDelete" summary:"批量删除配置项" permission:"sys:configitem:batchDelete" log:"配置项管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"配置项ID列表"` // 配置项ID列表
|
||||
}
|
||||
|
||||
// ConfigItemBatchDeleteRes 批量删除结果
|
||||
type ConfigItemBatchDeleteRes struct{}
|
||||
+148
@@ -0,0 +1,148 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 部门模块 ==============================
|
||||
|
||||
// DeptItem 部门行数据
|
||||
// 用于部门分页列表、树形列表等场景的部门基础信息
|
||||
type DeptItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
TenantId int `json:"tenantId"` // 租户ID
|
||||
Name string `json:"name"` // 部门名称
|
||||
Type int `json:"type"` // 部门类型:1-公司 2-子公司 3-部门 4-小组
|
||||
TypeText string `json:"typeText"` // 部门类型文本
|
||||
ParentId int `json:"parentId"` // 上级部门ID(0=顶级)
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
}
|
||||
|
||||
// DeptPageReq 部门分页请求
|
||||
// 支持关键词、部门名称、部门类型等条件组合查询
|
||||
type DeptPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/dept/page" summary:"部门分页" permission:"sys:dept:page" log:"部门管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Name string `json:"name" dc:"部门名称模糊"` // 部门名称模糊匹配
|
||||
Type int `json:"type" dc:"部门类型:1-公司 2-子公司 3-部门 4-小组"` // 部门类型
|
||||
}
|
||||
|
||||
// DeptPageRes 部门分页结果
|
||||
type DeptPageRes = PageData[DeptItem]
|
||||
|
||||
// DeptListReq 部门树形列表请求
|
||||
// 返回平铺列表,由前端自行构建树形结构
|
||||
type DeptListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/dept/list" summary:"部门树形列表" permission:"sys:dept:list" log:"部门管理-查询树形列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Type int `json:"type" dc:"部门类型"` // 部门类型
|
||||
}
|
||||
|
||||
// DeptListRes 部门平铺列表结果
|
||||
// data 直接为数组,由前端自行构建树形结构
|
||||
type DeptListRes = []*DeptItem
|
||||
|
||||
// DeptDetailReq 部门详情请求
|
||||
type DeptDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/dept/detail/:id" summary:"部门详情" permission:"sys:dept:detail" log:"部门管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"部门ID"` // 部门ID
|
||||
}
|
||||
|
||||
// DeptDetailRes 部门详情结果
|
||||
type DeptDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 部门名称
|
||||
Type int `json:"type"` // 部门类型
|
||||
TypeText string `json:"typeText"` // 部门类型文本
|
||||
ParentId int `json:"parentId"` // 上级部门ID
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
}
|
||||
|
||||
// DeptAddReq 新增部门请求
|
||||
type DeptAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/dept/add" summary:"新增部门" permission:"sys:dept:add" log:"部门管理-新增记录" logType:"add"`
|
||||
Name string `json:"name" v:"required#请输入部门名称" dc:"部门名称"` // 部门名称
|
||||
Type int `json:"type" v:"required:1,2,3,4#请选择部门类型" dc:"部门类型:1-公司 2-子公司 3-部门 4-小组"` // 部门类型
|
||||
ParentId int `json:"parentId" dc:"上级部门ID(0=顶级)"` // 上级部门ID
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// DeptUpdateReq 修改部门请求
|
||||
type DeptUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/dept/update" summary:"修改部门" permission:"sys:dept:update" log:"部门管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"部门ID"` // 部门ID
|
||||
Name string `json:"name" v:"required#请输入部门名称" dc:"部门名称"` // 部门名称
|
||||
Type int `json:"type" dc:"部门类型"` // 部门类型
|
||||
ParentId int `json:"parentId" dc:"上级部门ID"` // 上级部门ID
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// DeptUpdateRes 修改部门结果
|
||||
type DeptUpdateRes struct{}
|
||||
|
||||
// DeptDeleteReq 删除部门请求
|
||||
type DeptDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/dept/delete/:id" summary:"删除部门" permission:"sys:dept:delete" log:"部门管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"部门ID"` // 部门ID
|
||||
}
|
||||
|
||||
// DeptDeleteRes 删除部门结果
|
||||
type DeptDeleteRes struct{}
|
||||
|
||||
// DeptBatchDeleteReq 批量删除部门请求
|
||||
type DeptBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/dept/batchDelete" summary:"批量删除部门" permission:"sys:dept:batchDelete" log:"部门管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"部门ID列表"` // 部门ID列表
|
||||
}
|
||||
|
||||
// DeptBatchDeleteRes 批量删除结果
|
||||
type DeptBatchDeleteRes struct{}
|
||||
+167
@@ -0,0 +1,167 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 字典模块 ==============================
|
||||
|
||||
// DictItemRow 字典项行数据
|
||||
// 内嵌使用,供字典详情展示字典项明细
|
||||
type DictItemRow struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 字典项名称
|
||||
Value string `json:"value"` // 字典项值
|
||||
Sort int `json:"sort"` // 排序
|
||||
}
|
||||
|
||||
// DictItem 字典行数据
|
||||
// 用于字典分页列表、字典列表等场景的字典基础信息
|
||||
type DictItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 字典名称
|
||||
Code string `json:"code"` // 字典编码
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
}
|
||||
|
||||
// DictPageReq 字典分页请求
|
||||
// 支持关键词、字典名称等条件组合查询
|
||||
type DictPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/dict/page" summary:"字典分页" permission:"sys:dict:page" log:"字典管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(名称/编码模糊)"` // 关键词,名称或编码模糊匹配
|
||||
Name string `json:"name" dc:"字典名称模糊"` // 字典名称模糊匹配
|
||||
}
|
||||
|
||||
// DictPageRes 字典分页结果
|
||||
type DictPageRes = PageData[DictItem]
|
||||
|
||||
// DictDetailReq 字典详情请求
|
||||
// 返回字典基础信息及其下的字典项集合
|
||||
type DictDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/dict/detail/:id" summary:"字典详情" permission:"sys:dict:detail" log:"字典管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"字典ID"` // 字典ID
|
||||
}
|
||||
|
||||
// DictDetailRes 字典详情结果
|
||||
// 包含字典基础信息及其下的字典项集合
|
||||
type DictDetailRes struct {
|
||||
DictItem
|
||||
Items []DictItemRow `json:"items"` // 字典项集合
|
||||
}
|
||||
|
||||
// DictAddReq 新增字典请求
|
||||
type DictAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/dict/add" summary:"新增字典" permission:"sys:dict:add" log:"字典管理-新增记录" logType:"add"`
|
||||
Name string `json:"name" v:"required#请输入字典名称" dc:"字典名称"` // 字典名称
|
||||
Code string `json:"code" v:"required#请输入字典编码" dc:"字典编码"` // 字典编码
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// DictUpdateReq 修改字典请求
|
||||
type DictUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/dict/update" summary:"修改字典" permission:"sys:dict:update" log:"字典管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"字典ID"` // 字典ID
|
||||
Name string `json:"name" v:"required#请输入字典名称" dc:"字典名称"` // 字典名称
|
||||
Code string `json:"code" v:"required#请输入字典编码" dc:"字典编码"` // 字典编码
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// DictUpdateRes 修改字典结果
|
||||
type DictUpdateRes struct{}
|
||||
|
||||
// DictDeleteReq 删除字典请求
|
||||
type DictDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/dict/delete/:id" summary:"删除字典" permission:"sys:dict:delete" log:"字典管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"字典ID"` // 字典ID
|
||||
}
|
||||
|
||||
// DictDeleteRes 删除字典结果
|
||||
type DictDeleteRes struct{}
|
||||
|
||||
// DictBatchDeleteReq 批量删除字典请求
|
||||
type DictBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/dict/batchDelete" summary:"批量删除字典" permission:"sys:dict:batchDelete" log:"字典管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"字典ID列表"` // 字典ID列表
|
||||
}
|
||||
|
||||
// DictBatchDeleteRes 批量删除结果
|
||||
type DictBatchDeleteRes struct{}
|
||||
|
||||
// DictRefreshCacheReq 刷新字典缓存请求
|
||||
type DictRefreshCacheReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/dict/refreshCache" summary:"刷新字典缓存" permission:"sys:dict:cache" log:"字典管理-刷新缓存" logType:"update"`
|
||||
Code string `json:"code" dc:"字典编码(留空刷新全部)"` // 字典编码,留空刷新全部
|
||||
}
|
||||
|
||||
// DictRefreshCacheRes 刷新缓存结果
|
||||
type DictRefreshCacheRes struct{}
|
||||
|
||||
// DictAliasListReq 字典别名列表请求
|
||||
// 登录用户即可访问,供前端字典查询场景使用
|
||||
type DictAliasListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/dictionary/list" summary:"字典列表" log:"字典管理-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
}
|
||||
|
||||
// DictAliasListRes 字典别名列表结果
|
||||
type DictAliasListRes = []DictItem
|
||||
|
||||
// DictAliasInfoReq 字典别名详情请求
|
||||
// 登录用户即可访问,按字典编码查询字典及其字典项
|
||||
type DictAliasInfoReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/dictionary/info" summary:"字典详情" log:"字典管理-查询详情" logType:"query"`
|
||||
Code string `json:"code" v:"required#请输入字典编码" dc:"字典编码"` // 字典编码
|
||||
}
|
||||
|
||||
// DictAliasInfoRes 字典别名详情结果
|
||||
// 包含字典基础信息及其下的字典项集合
|
||||
type DictAliasInfoRes struct {
|
||||
DictItem
|
||||
Items []DictItemRow `json:"items"` // 字典项集合
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 字典项模块 ==============================
|
||||
|
||||
// DictItemItemRow 字典项行数据
|
||||
// 用于字典项分页列表等场景的字典项基础信息
|
||||
type DictItemItemRow struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
DictId int64 `json:"dictId"` // 所属字典ID
|
||||
DictName string `json:"dictName"` // 所属字典名称
|
||||
DictCode string `json:"dictCode"` // 所属字典编码
|
||||
Name string `json:"name"` // 字典项名称
|
||||
Value string `json:"value"` // 字典项值
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
}
|
||||
|
||||
// DictItemPageReq 字典项分页请求
|
||||
// 支持关键词、字典项名称、所属字典等条件组合查询
|
||||
type DictItemPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/dict/item/page" summary:"字典项分页" permission:"sys:dictitem:page" log:"字典项管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(名称/值模糊)"` // 关键词,名称或值模糊匹配
|
||||
Name string `json:"name" dc:"字典项名称模糊"` // 字典项名称模糊匹配
|
||||
DictId int64 `json:"dictId" dc:"所属字典ID"` // 所属字典ID
|
||||
}
|
||||
|
||||
// DictItemPageRes 字典项分页结果
|
||||
type DictItemPageRes = PageData[DictItemItemRow]
|
||||
|
||||
// DictItemDetailReq 字典项详情请求
|
||||
type DictItemDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/dict/item/detail/:id" summary:"字典项详情" permission:"sys:dictitem:detail" log:"字典项管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"字典项ID"` // 字典项ID
|
||||
}
|
||||
|
||||
// DictItemDetailRes 字典项详情结果
|
||||
type DictItemDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
DictId int64 `json:"dictId"` // 所属字典ID
|
||||
Name string `json:"name"` // 字典项名称
|
||||
Value string `json:"value"` // 字典项值
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
}
|
||||
|
||||
// DictItemAddReq 新增字典项请求
|
||||
type DictItemAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/dict/item/add" summary:"新增字典项" permission:"sys:dictitem:add" log:"字典项管理-新增记录" logType:"add"`
|
||||
DictId int64 `json:"dictId" v:"required#请选择所属字典" dc:"所属字典ID"` // 所属字典ID
|
||||
Name string `json:"name" v:"required#请输入字典项名称" dc:"字典项名称"` // 字典项名称
|
||||
Value string `json:"value" v:"required#请输入字典项值" dc:"字典项值"` // 字典项值
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// DictItemUpdateReq 修改字典项请求
|
||||
type DictItemUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/dict/item/update" summary:"修改字典项" permission:"sys:dictitem:update" log:"字典项管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"字典项ID"` // 字典项ID
|
||||
DictId int64 `json:"dictId" dc:"所属字典ID"` // 所属字典ID
|
||||
Name string `json:"name" v:"required#请输入字典项名称" dc:"字典项名称"` // 字典项名称
|
||||
Value string `json:"value" v:"required#请输入字典项值" dc:"字典项值"` // 字典项值
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// DictItemUpdateRes 修改字典项结果
|
||||
type DictItemUpdateRes struct{}
|
||||
|
||||
// DictItemDeleteReq 删除字典项请求
|
||||
type DictItemDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/dict/item/delete/:id" summary:"删除字典项" permission:"sys:dictitem:delete" log:"字典项管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"字典项ID"` // 字典项ID
|
||||
}
|
||||
|
||||
// DictItemDeleteRes 删除字典项结果
|
||||
type DictItemDeleteRes struct{}
|
||||
|
||||
// DictItemBatchDeleteReq 批量删除字典项请求
|
||||
type DictItemBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/dict/item/batchDelete" summary:"批量删除字典项" permission:"sys:dictitem:batchDelete" log:"字典项管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"字典项ID列表"` // 字典项ID列表
|
||||
}
|
||||
|
||||
// DictItemBatchDeleteRes 批量删除结果
|
||||
type DictItemBatchDeleteRes struct{}
|
||||
|
||||
// DictItemQuickListReq 快捷字典项列表请求
|
||||
// 登录用户即可访问,按字典编码查询并走缓存
|
||||
type DictItemQuickListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/dict/item/getDictItemList/:code" summary:"按编码查询字典项" log:"字典项管理-查询列表" logType:"query"`
|
||||
Code string `json:"code" v:"required#请输入字典编码" dc:"字典编码"` // 字典编码
|
||||
}
|
||||
|
||||
// DictItemQuickRow 快捷字典项行数据
|
||||
// 精简结构,仅包含前端下拉等场景所需字段
|
||||
type DictItemQuickRow struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 字典项名称
|
||||
Value string `json:"value"` // 字典项值
|
||||
}
|
||||
|
||||
// DictItemQuickListRes 快捷字典项列表结果
|
||||
type DictItemQuickListRes = []DictItemQuickRow
|
||||
@@ -0,0 +1,191 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 案例演示模块(goframe_example) ==============================
|
||||
|
||||
// ExampleItem 案例演示行数据
|
||||
// 用于分页列表等场景的基础信息
|
||||
type ExampleItem struct {
|
||||
Id int `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 案例名称
|
||||
Avatar string `json:"avatar"` // 案例图片
|
||||
Type int `json:"type"` // 案例类型
|
||||
Status int `json:"status"` // 案例状态
|
||||
Sort int `json:"sort"` // 案例排序
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
StatusText string `json:"statusText"` // 状态显示名(dict_item 解析)
|
||||
}
|
||||
|
||||
// ExamplePageReq 案例演示分页请求
|
||||
type ExamplePageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/example/page" summary:"案例演示分页" permission:"sys:example:page" log:"案例演示-查询分页记录" logType:"query"`
|
||||
PageReq
|
||||
Name string `json:"name" dc:"案例名称"` // 案例名称
|
||||
Type int `json:"type" dc:"案例类型"` // 案例类型
|
||||
Status int `json:"status" dc:"案例状态"` // 案例状态
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
}
|
||||
|
||||
// ExamplePageRes 案例演示分页结果
|
||||
// 统一壳:records/total/size/current/pages
|
||||
type ExamplePageRes = PageData[ExampleItem]
|
||||
|
||||
// ExampleListReq 案例演示列表请求
|
||||
type ExampleListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/example/list" summary:"案例演示列表" permission:"sys:example:list" log:"案例演示-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Limit int `json:"limit" dc:"条数上限"` // 条数上限
|
||||
}
|
||||
|
||||
// ExampleListRes 案例演示平铺列表结果
|
||||
// data 直接为数组,树形结构由前端 buildTree 构建
|
||||
type ExampleListRes = []ExampleItem
|
||||
|
||||
// ExampleDetailReq 案例演示详情请求
|
||||
type ExampleDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/example/detail/:id" summary:"案例演示详情" permission:"sys:example:detail" log:"案例演示-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"记录ID"` // 记录ID
|
||||
}
|
||||
|
||||
// ExampleDetailRes 案例演示详情结果
|
||||
type ExampleDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 案例名称
|
||||
Avatar string `json:"avatar"` // 案例图片
|
||||
Type int `json:"type"` // 案例类型
|
||||
Status int `json:"status"` // 案例状态
|
||||
Sort int `json:"sort"` // 案例排序
|
||||
StatusText string `json:"statusText"` // 状态显示名(dict_item 解析)
|
||||
}
|
||||
|
||||
// ExampleAddReq 新增案例演示请求
|
||||
type ExampleAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/example/add" summary:"新增案例演示" permission:"sys:example:add" log:"案例演示-新增记录" logType:"add"`
|
||||
Name string `json:"name" v:"required#请输入案例名称" dc:"案例名称"` // 案例名称
|
||||
Avatar string `json:"avatar" dc:"案例图片"` // 案例图片
|
||||
Type int `json:"type" dc:"案例类型"` // 案例类型
|
||||
Status int `json:"status" dc:"案例状态"` // 案例状态
|
||||
Sort int `json:"sort" dc:"案例排序"` // 案例排序
|
||||
}
|
||||
|
||||
// ExampleIdRes 新增返回ID结构
|
||||
type ExampleIdRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
}
|
||||
|
||||
// ExampleUpdateReq 修改案例演示请求
|
||||
type ExampleUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/example/update" summary:"修改案例演示" permission:"sys:example:update" log:"案例演示-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"记录ID"` // 记录ID
|
||||
Name string `json:"name" v:"required#请输入案例名称" dc:"案例名称"` // 案例名称
|
||||
Avatar string `json:"avatar" dc:"案例图片"` // 案例图片
|
||||
Type int `json:"type" dc:"案例类型"` // 案例类型
|
||||
Status int `json:"status" dc:"案例状态"` // 案例状态
|
||||
Sort int `json:"sort" dc:"案例排序"` // 案例排序
|
||||
}
|
||||
|
||||
// ExampleUpdateRes 修改案例演示结果
|
||||
type ExampleUpdateRes struct{}
|
||||
|
||||
// ExampleStatusReq 案例演示状态请求
|
||||
type ExampleStatusReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/example/status" summary:"案例演示状态" permission:"sys:example:status" log:"案例演示-设置状态" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"记录ID"` // 记录ID
|
||||
Status int `json:"status" v:"required#缺少状态" dc:"状态"` // 状态
|
||||
}
|
||||
|
||||
// ExampleStatusRes 案例演示状态结果
|
||||
type ExampleStatusRes struct{}
|
||||
|
||||
// ExampleDeleteReq 删除案例演示请求
|
||||
type ExampleDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/example/delete/:id" summary:"删除案例演示" permission:"sys:example:delete" log:"案例演示-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"记录ID"` // 记录ID
|
||||
}
|
||||
|
||||
// ExampleDeleteRes 删除案例演示结果
|
||||
type ExampleDeleteRes struct{}
|
||||
|
||||
// ExampleBatchDeleteReq 批量删除案例演示请求
|
||||
type ExampleBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/example/batchDelete" summary:"批量删除案例演示" permission:"sys:example:batchDelete" log:"案例演示-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"ID列表"` // ID列表
|
||||
}
|
||||
|
||||
// ExampleBatchDeleteRes 批量删除结果
|
||||
type ExampleBatchDeleteRes struct{}
|
||||
|
||||
// ExampleImportReq 导入案例演示请求
|
||||
type ExampleImportReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/example/import" summary:"导入案例演示" permission:"sys:example:import" log:"案例演示-导入数据" logType:"import"`
|
||||
File *ghttp.UploadFile `p:"file" v:"required#请选择文件" dc:"xls/xlsx 文件"` // 上传文件
|
||||
}
|
||||
|
||||
// ExampleImportRes 导入结果
|
||||
// 返回导入总数、成功数、失败数及失败原因
|
||||
type ExampleImportRes struct {
|
||||
Total int `json:"total"` // 导入总数
|
||||
Success int `json:"success"` // 成功数
|
||||
Failed int `json:"failed"` // 失败数
|
||||
Reasons []string `json:"reasons"` // 失败原因列表
|
||||
}
|
||||
|
||||
// ExampleExportReq 导出案例演示请求
|
||||
type ExampleExportReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/example/export" summary:"导出案例演示" permission:"sys:example:export" log:"案例演示-导出数据" logType:"export"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Name string `json:"name" dc:"案例名称"` // 案例名称
|
||||
Type int `json:"type" dc:"案例类型"` // 案例类型
|
||||
Status int `json:"status" dc:"案例状态"` // 案例状态
|
||||
}
|
||||
|
||||
// ExampleExportRes 导出结果
|
||||
// data 直接为文件访问 URL 字符串,前端可 window.open(data)
|
||||
type ExampleExportRes = string
|
||||
@@ -0,0 +1,157 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 文件模板模块 ==============================
|
||||
|
||||
// FileTemplateItem 文件模板行数据
|
||||
// 用于文件模板分页列表、文件模板列表等场景的模板基础信息
|
||||
type FileTemplateItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 模板名称
|
||||
Code string `json:"code"` // 模板编码
|
||||
FileName string `json:"fileName"` // 文件名
|
||||
FilePath string `json:"filePath"` // 文件路径
|
||||
Note string `json:"note"` // 备注
|
||||
Sort int `json:"sort"` // 排序
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
}
|
||||
|
||||
// FileTemplatePageReq 文件模板分页请求
|
||||
// 支持关键词、模板名称等条件组合查询
|
||||
type FileTemplatePageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/file/template/page" summary:"文件模板分页" permission:"sys:fileTemplate:page" log:"文件模板-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(名称/编码模糊)"` // 关键词,名称或编码模糊匹配
|
||||
Name string `json:"name" dc:"模板名称模糊"` // 模板名称模糊匹配
|
||||
}
|
||||
|
||||
// FileTemplatePageRes 文件模板分页结果
|
||||
type FileTemplatePageRes = PageData[FileTemplateItem]
|
||||
|
||||
// FileTemplateListReq 文件模板列表请求
|
||||
type FileTemplateListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/file/template/list" summary:"文件模板列表" permission:"sys:fileTemplate:list" log:"文件模板-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
}
|
||||
|
||||
// FileTemplateListRes 文件模板列表结果
|
||||
type FileTemplateListRes = []FileTemplateItem
|
||||
|
||||
// FileTemplateDetailReq 文件模板详情请求
|
||||
type FileTemplateDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/file/template/detail/:id" summary:"文件模板详情" permission:"sys:fileTemplate:detail" log:"文件模板-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"模板ID"` // 模板ID
|
||||
}
|
||||
|
||||
// FileTemplateDetailRes 文件模板详情结果
|
||||
type FileTemplateDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 模板名称
|
||||
Code string `json:"code"` // 模板编码
|
||||
FileName string `json:"fileName"` // 文件名
|
||||
FilePath string `json:"filePath"` // 文件路径
|
||||
Note string `json:"note"` // 备注
|
||||
Sort int `json:"sort"` // 排序
|
||||
}
|
||||
|
||||
// FileTemplateAddReq 新增文件模板请求
|
||||
type FileTemplateAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/file/template/add" summary:"新增文件模板" permission:"sys:fileTemplate:add" log:"文件模板-新增记录" logType:"add"`
|
||||
Name string `json:"name" v:"required#请输入模板名称" dc:"模板名称"` // 模板名称
|
||||
Code string `json:"code" v:"required#请输入模板编码" dc:"模板编码"` // 模板编码
|
||||
FileName string `json:"fileName" dc:"文件名"` // 文件名
|
||||
FilePath string `json:"filePath" dc:"文件路径"` // 文件路径
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
}
|
||||
|
||||
// FileTemplateUpdateReq 修改文件模板请求
|
||||
type FileTemplateUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/file/template/update" summary:"修改文件模板" permission:"sys:fileTemplate:update" log:"文件模板-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"模板ID"` // 模板ID
|
||||
Name string `json:"name" v:"required#请输入模板名称" dc:"模板名称"` // 模板名称
|
||||
Code string `json:"code" v:"required#请输入模板编码" dc:"模板编码"` // 模板编码
|
||||
FileName string `json:"fileName" dc:"文件名"` // 文件名
|
||||
FilePath string `json:"filePath" dc:"文件路径"` // 文件路径
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
}
|
||||
|
||||
// FileTemplateUpdateRes 修改文件模板结果
|
||||
type FileTemplateUpdateRes struct{}
|
||||
|
||||
// FileTemplateDeleteReq 删除文件模板请求
|
||||
type FileTemplateDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/file/template/delete/:id" summary:"删除文件模板" permission:"sys:fileTemplate:delete" log:"文件模板-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"模板ID"` // 模板ID
|
||||
}
|
||||
|
||||
// FileTemplateDeleteRes 删除文件模板结果
|
||||
type FileTemplateDeleteRes struct{}
|
||||
|
||||
// FileTemplateBatchDeleteReq 批量删除文件模板请求
|
||||
type FileTemplateBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/file/template/batchDelete" summary:"批量删除文件模板" permission:"sys:fileTemplate:batchDelete" log:"文件模板-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"模板ID列表"` // 模板ID列表
|
||||
}
|
||||
|
||||
// FileTemplateBatchDeleteRes 批量删除结果
|
||||
type FileTemplateBatchDeleteRes struct{}
|
||||
|
||||
// FileTemplateByCodeReq 按编码查询模板请求
|
||||
// 登录用户即可访问,按模板编码查询模板详情
|
||||
type FileTemplateByCodeReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/file/template/getTemplateByCode/:code" summary:"按编码查询模板" log:"文件模板-查询模板详情" logType:"query"`
|
||||
Code string `json:"code" v:"required#请输入模板编码" dc:"模板编码"` // 模板编码
|
||||
}
|
||||
|
||||
// FileTemplateByCodeRes 按编码查询模板结果
|
||||
type FileTemplateByCodeRes struct {
|
||||
FileTemplateItem
|
||||
}
|
||||
@@ -0,0 +1,162 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 代码生成模块(读数据库结构) ==============================
|
||||
|
||||
// GeneratorTableItem 数据表行数据
|
||||
// 用于代码生成模块的数据表分页列表,描述数据库表的元信息
|
||||
type GeneratorTableItem struct {
|
||||
TableName string `json:"tableName"` // 表名
|
||||
TableComment string `json:"tableComment"` // 表注释
|
||||
Engine string `json:"engine"` // 存储引擎
|
||||
TableRows int64 `json:"tableRows"` // 表记录数
|
||||
DataLength int64 `json:"dataLength"` // 数据大小(字节)
|
||||
AutoIncrement int64 `json:"autoIncrement"` // 自增当前值
|
||||
TableCollation string `json:"tableCollation"` // 表排序规则
|
||||
CreateTime string `json:"createTime"` // 创建时间
|
||||
}
|
||||
|
||||
// GeneratorPageReq 数据表分页请求
|
||||
// 支持按表名、表注释模糊查询数据库表
|
||||
type GeneratorPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/generator/page" summary:"查询数据表" permission:"sys:generator:page" log:"代码生成-查询数据表" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
TableName string `json:"tableName" dc:"表名模糊"` // 表名模糊匹配
|
||||
TableComment string `json:"tableComment" dc:"表注释模糊"` // 表注释模糊匹配
|
||||
}
|
||||
|
||||
// GeneratorPageRes 数据表分页结果
|
||||
type GeneratorPageRes = PageData[GeneratorTableItem]
|
||||
|
||||
// GeneratorPreviewReq 预览代码请求
|
||||
// TableNames 元素格式为 "表名|表注释"
|
||||
type GeneratorPreviewReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/generator/preview" summary:"预览代码" permission:"sys:generator:generator" log:"代码生成-预览代码" logType:"generate"`
|
||||
TableNames []string `json:"tableNames" v:"required#请选择数据表" dc:"数据表列表(表名|表注释)"` // 数据表列表
|
||||
}
|
||||
|
||||
// GeneratorFileItem 生成文件
|
||||
// 描述单个待生成文件的路径与内容
|
||||
type GeneratorFileItem struct {
|
||||
Path string `json:"path"` // 文件路径
|
||||
Content string `json:"content"` // 文件内容
|
||||
}
|
||||
|
||||
// GeneratorPreviewRes 预览结果
|
||||
type GeneratorPreviewRes struct {
|
||||
List []GeneratorFileItem `json:"list"` // 生成文件列表
|
||||
}
|
||||
|
||||
// GeneratorGenerateReq 一键生成请求
|
||||
// TableNames 元素格式为 "表名|表注释"
|
||||
type GeneratorGenerateReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/generator/generate" summary:"一键生成" permission:"sys:generator:generator" log:"代码生成-一键生成" logType:"generate"`
|
||||
TableNames []string `json:"tableNames" v:"required#请选择数据表" dc:"数据表列表(表名|表注释)"` // 数据表列表
|
||||
}
|
||||
|
||||
// GeneratorMenuResult 同步创建菜单结果
|
||||
// 描述代码生成过程中同步创建菜单的执行结果
|
||||
type GeneratorMenuResult struct {
|
||||
Success bool `json:"success"` // 是否成功
|
||||
MenuId int64 `json:"menuId"` // 菜单ID
|
||||
Message string `json:"message"` // 结果消息
|
||||
}
|
||||
|
||||
// GeneratorDictResult 同步创建字典结果
|
||||
// 描述代码生成过程中同步创建字典的执行结果
|
||||
type GeneratorDictResult struct {
|
||||
Dict string `json:"dict"` // 字典编码
|
||||
Name string `json:"name,omitempty"` // 字典名称
|
||||
Items int `json:"items,omitempty"` // 字典项数量
|
||||
Status string `json:"status"` // 执行状态
|
||||
}
|
||||
|
||||
// GeneratorRouteResult 同步注册路由结果
|
||||
// 描述代码生成过程中同步注册路由的执行结果
|
||||
type GeneratorRouteResult struct {
|
||||
Success bool `json:"success"` // 是否成功
|
||||
Message string `json:"message"` // 结果消息
|
||||
}
|
||||
|
||||
// GeneratorGenerateRes 生成结果
|
||||
// 汇总代码生成的文件写入情况以及菜单、字典、路由的同步结果
|
||||
type GeneratorGenerateRes struct {
|
||||
Generated []string `json:"generated"` // 新生成的文件
|
||||
Skipped []string `json:"skipped"` // 跳过的文件
|
||||
Overwritten []string `json:"overwritten"` // 覆盖的文件
|
||||
Failed []string `json:"failed"` // 失败的文件
|
||||
Menu GeneratorMenuResult `json:"menu"` // 菜单创建结果
|
||||
Dict []GeneratorDictResult `json:"dict"` // 字典创建结果
|
||||
Route GeneratorRouteResult `json:"route"` // 路由注册结果
|
||||
}
|
||||
|
||||
// GeneratorBatchGenerateReq 批量生成请求
|
||||
// TableNames 元素格式为 "表名|表注释"
|
||||
type GeneratorBatchGenerateReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/generator/batchGenerate" summary:"批量生成" permission:"sys:generator:batchGenerator" log:"代码生成-批量生成" logType:"generate"`
|
||||
TableNames []string `json:"tableNames" v:"required#请选择数据表" dc:"数据表列表(表名|表注释)"` // 数据表列表
|
||||
}
|
||||
|
||||
// GeneratorBatchItem 单表生成结果
|
||||
// 描述批量生成中单张表的执行情况
|
||||
type GeneratorBatchItem struct {
|
||||
Table string `json:"table"` // 表名
|
||||
Success bool `json:"success"` // 是否成功
|
||||
Generated int `json:"generated"` // 新生成文件数
|
||||
Skipped int `json:"skipped"` // 跳过文件数
|
||||
Overwritten int `json:"overwritten"` // 覆盖文件数
|
||||
Failed int `json:"failed"` // 失败文件数
|
||||
Message string `json:"message"` // 结果消息
|
||||
Menu GeneratorMenuResult `json:"menu"` // 菜单创建结果
|
||||
Dict []GeneratorDictResult `json:"dict"` // 字典创建结果
|
||||
Route GeneratorRouteResult `json:"route"` // 路由注册结果
|
||||
}
|
||||
|
||||
// GeneratorBatchGenerateRes 批量生成结果
|
||||
type GeneratorBatchGenerateRes struct {
|
||||
List []GeneratorBatchItem `json:"list"` // 各表生成结果列表
|
||||
}
|
||||
+142
@@ -0,0 +1,142 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 首页/个人中心模块 ==============================
|
||||
|
||||
// GetUserReq 获取当前登录用户信息请求
|
||||
// 返回用户基础信息及其角色与权限集合
|
||||
type GetUserReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/index/getUser" summary:"获取当前用户信息"`
|
||||
}
|
||||
|
||||
// GetUserRes 当前登录用户信息结果
|
||||
// 返回用户基础信息、角色与权限集合,敏感字段不返回
|
||||
type GetUserRes struct {
|
||||
Id int64 `json:"id"` // 用户ID
|
||||
Username string `json:"username"` // 用户名
|
||||
Realname string `json:"realname"` // 真实姓名
|
||||
Gender int `json:"gender"` // 性别:1-男 2-女 3-保密
|
||||
Avatar string `json:"avatar"` // 头像
|
||||
Mobile string `json:"mobile"` // 手机号
|
||||
Email string `json:"email"` // 邮箱
|
||||
DeptId int `json:"deptId"` // 部门ID
|
||||
LevelId int `json:"levelId"` // 职级ID
|
||||
PositionId int `json:"positionId"` // 岗位ID
|
||||
City []string `json:"city"` // 省市区街道编码数组
|
||||
CityInfo string `json:"cityInfo"` // 省市区信息
|
||||
Address string `json:"address"` // 详细地址
|
||||
Intro string `json:"intro"` // 个人简介
|
||||
Status int `json:"status"` // 状态
|
||||
Note string `json:"note"` // 备注
|
||||
TenantId int `json:"tenantId"` // 租户ID
|
||||
Roles []string `json:"roles"` // 角色编码集合
|
||||
Permissions []string `json:"permissions"` // 权限标识集合
|
||||
}
|
||||
|
||||
// GetMenusReq 获取当前用户菜单请求
|
||||
// 无路径参数版本,与带路径参数的菜单路由共用同一处理逻辑
|
||||
type GetMenusReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/index/getMenus" summary:"获取当前用户菜单"`
|
||||
Id int64 `json:"id" dc:"菜单ID(路由占位,忽略)"` // 菜单ID,路由占位
|
||||
}
|
||||
|
||||
// GetMenusByIdReq 获取当前用户菜单请求(带路径参数)
|
||||
// 带路径参数版本,与无路径参数的菜单路由共用同一处理逻辑
|
||||
type GetMenusByIdReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/index/getMenus/:id" summary:"获取当前用户菜单"`
|
||||
Id int64 `json:"id" dc:"菜单ID(路由占位,忽略)"` // 菜单ID,路由占位
|
||||
}
|
||||
|
||||
// MenuTreeItem 菜单树节点
|
||||
// 字段与菜单表及前端路由生成契约保持一致
|
||||
type MenuTreeItem struct {
|
||||
Id int64 `json:"id"` // 菜单ID
|
||||
ParentId int `json:"parentId"` // 上级菜单ID
|
||||
Name string `json:"name"` // 菜单名称
|
||||
Icon string `json:"icon"` // 图标
|
||||
Icon2 string `json:"icon2"` // 菜单图标2
|
||||
Path string `json:"path"` // 路由路径
|
||||
Component string `json:"component"` // 前端组件路径
|
||||
Permission string `json:"permission"` // 权限标识
|
||||
Target int `json:"target"` // 打开方式
|
||||
Type int `json:"type"` // 类型:0-菜单 1-节点
|
||||
Status int `json:"status"` // 状态
|
||||
Hide int `json:"hide"` // 是否隐藏
|
||||
Sort int `json:"sort"` // 排序
|
||||
Redirect string `json:"redirect,omitempty"` // 重定向地址
|
||||
Children []*MenuTreeItem `json:"children"` // 子节点集合
|
||||
}
|
||||
|
||||
// GetMenusRes 菜单树结果
|
||||
type GetMenusRes = []*MenuTreeItem
|
||||
|
||||
// UpdatePasswordReq 修改个人密码请求
|
||||
type UpdatePasswordReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/index/updatePassword" summary:"修改个人密码"`
|
||||
Password string `json:"password" v:"required#请输入原密码" dc:"原密码"` // 原密码
|
||||
NewPassword string `json:"newPassword" v:"required#请输入新密码|length:6,32#新密码长度需在6~32位" dc:"新密码"` // 新密码
|
||||
}
|
||||
|
||||
// UpdatePasswordRes 修改个人密码结果
|
||||
type UpdatePasswordRes struct{}
|
||||
|
||||
// UpdateProfileReq 更新个人信息请求
|
||||
type UpdateProfileReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/index/updateProfile" summary:"更新个人信息"`
|
||||
Realname string `json:"realname" v:"required#请输入姓名" dc:"姓名"` // 真实姓名
|
||||
Gender int `json:"gender" dc:"性别:1-男 2-女 3-保密"` // 性别
|
||||
Avatar string `json:"avatar" dc:"头像"` // 头像
|
||||
Mobile string `json:"mobile" v:"phone#手机号格式不正确" dc:"手机号"` // 手机号
|
||||
Email string `json:"email" v:"email#邮箱格式不正确" dc:"邮箱"` // 邮箱
|
||||
City []string `json:"city" dc:"省市区街道编码数组"` // 省市区街道编码数组
|
||||
CityInfo string `json:"cityInfo" dc:"省市区信息"` // 省市区信息
|
||||
Address string `json:"address" dc:"详细地址"` // 详细地址
|
||||
Intro string `json:"intro" dc:"个人简介"` // 个人简介
|
||||
}
|
||||
|
||||
// UpdateProfileRes 更新个人信息结果
|
||||
type UpdateProfileRes struct{}
|
||||
+206
@@ -0,0 +1,206 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 定时任务模块 ==============================
|
||||
|
||||
// JobItem 任务行数据
|
||||
// 用于定时任务分页列表、任务列表等场景的任务基础信息
|
||||
type JobItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
JobName string `json:"jobName"` // 任务名称
|
||||
JobAlias string `json:"jobAlias"` // 任务别名
|
||||
JobGroup string `json:"jobGroup"` // 任务分组
|
||||
JobTrigger string `json:"jobTrigger"` // 触发器类型
|
||||
Status int `json:"status"` // 状态:0-未发布 1-运行中 2-暂停
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
CronExpression string `json:"cronExpression"` // Cron表达式
|
||||
ExecutePolicy int `json:"executePolicy"` // 执行策略:1-立即执行 2-执行一次 3-放弃执行
|
||||
ExecutePolicyText string `json:"executePolicyText"` // 执行策略文本
|
||||
IsSync int `json:"isSync"` // 是否同步:0-否 1-是
|
||||
IsSyncText string `json:"isSyncText"` // 是否同步文本
|
||||
Url string `json:"url"` // 任务目标:http(s)地址或本地处理方法名
|
||||
Params string `json:"params"` // 请求参数(JSON)
|
||||
Note string `json:"note"` // 备注
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
}
|
||||
|
||||
// JobPageReq 定时任务分页请求
|
||||
// 支持关键词、任务名称、状态等条件组合查询
|
||||
type JobPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/job/page" summary:"定时任务分页" permission:"sys:job:page" log:"定时任务-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(名称/别名模糊)"` // 关键词,名称或别名模糊匹配
|
||||
JobName string `json:"jobName" dc:"任务名称模糊"` // 任务名称模糊匹配
|
||||
Status int `json:"status" dc:"状态:0-未发布 1-运行中 2-暂停"` // 状态
|
||||
}
|
||||
|
||||
// JobPageRes 定时任务分页结果
|
||||
type JobPageRes = PageData[JobItem]
|
||||
|
||||
// JobListReq 定时任务列表请求
|
||||
type JobListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/job/list" summary:"定时任务列表" permission:"sys:job:list" log:"定时任务-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
}
|
||||
|
||||
// JobListRes 定时任务列表结果
|
||||
type JobListRes = []JobItem
|
||||
|
||||
// JobDetailReq 定时任务详情请求
|
||||
type JobDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/job/detail/:id" summary:"定时任务详情" permission:"sys:job:detail" log:"定时任务-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"任务ID"` // 任务ID
|
||||
}
|
||||
|
||||
// JobDetailRes 定时任务详情结果
|
||||
type JobDetailRes struct {
|
||||
JobItem
|
||||
}
|
||||
|
||||
// JobAddReq 新增定时任务请求
|
||||
type JobAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/job/add" summary:"新增定时任务" permission:"sys:job:add" log:"定时任务-新增记录" logType:"add"`
|
||||
JobName string `json:"jobName" v:"required#请输入任务名称" dc:"任务名称"` // 任务名称
|
||||
JobAlias string `json:"jobAlias" dc:"任务别名"` // 任务别名
|
||||
JobGroup string `json:"jobGroup" dc:"任务分组"` // 任务分组
|
||||
JobTrigger string `json:"jobTrigger" dc:"触发器类型"` // 触发器类型
|
||||
CronExpression string `json:"cronExpression" v:"required#请输入Cron表达式" dc:"Cron表达式"` // Cron表达式
|
||||
ExecutePolicy int `json:"executePolicy" dc:"执行策略:1-立即执行 2-执行一次 3-放弃执行"` // 执行策略
|
||||
IsSync int `json:"isSync" dc:"是否同步:0-否 1-是"` // 是否同步
|
||||
Url string `json:"url" v:"required#请输入任务目标" dc:"任务目标(http(s)地址或本地处理方法名)"` // 任务目标:http(s)地址或本地处理方法名
|
||||
Params string `json:"params" dc:"请求参数(JSON)"` // 请求参数
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// JobUpdateReq 修改定时任务请求
|
||||
type JobUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/job/update" summary:"修改定时任务" permission:"sys:job:update" log:"定时任务-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"任务ID"` // 任务ID
|
||||
JobName string `json:"jobName" v:"required#请输入任务名称" dc:"任务名称"` // 任务名称
|
||||
JobAlias string `json:"jobAlias" dc:"任务别名"` // 任务别名
|
||||
JobGroup string `json:"jobGroup" dc:"任务分组"` // 任务分组
|
||||
JobTrigger string `json:"jobTrigger" dc:"触发器类型"` // 触发器类型
|
||||
CronExpression string `json:"cronExpression" v:"required#请输入Cron表达式" dc:"Cron表达式"` // Cron表达式
|
||||
ExecutePolicy int `json:"executePolicy" dc:"执行策略"` // 执行策略
|
||||
IsSync int `json:"isSync" dc:"是否同步"` // 是否同步
|
||||
Url string `json:"url" v:"required#请输入任务目标" dc:"任务目标(http(s)地址或本地处理方法名)"` // 任务目标:http(s)地址或本地处理方法名
|
||||
Params string `json:"params" dc:"请求参数"` // 请求参数
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// JobUpdateRes 修改定时任务结果
|
||||
type JobUpdateRes struct{}
|
||||
|
||||
// JobDeleteReq 删除定时任务请求
|
||||
type JobDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/job/delete/:id" summary:"删除定时任务" permission:"sys:job:delete" log:"定时任务-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"任务ID"` // 任务ID
|
||||
}
|
||||
|
||||
// JobDeleteRes 删除定时任务结果
|
||||
type JobDeleteRes struct{}
|
||||
|
||||
// JobBatchDeleteReq 批量删除定时任务请求
|
||||
type JobBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/job/batchDelete" summary:"批量删除定时任务" permission:"sys:job:batchDelete" log:"定时任务-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"任务ID列表"` // 任务ID列表
|
||||
}
|
||||
|
||||
// JobBatchDeleteRes 批量删除结果
|
||||
type JobBatchDeleteRes struct{}
|
||||
|
||||
// JobRunOnceReq 立即执行一次任务请求
|
||||
type JobRunOnceReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/job/runOnce/:id" summary:"立即执行任务" permission:"sys:job:execute" log:"定时任务-执行任务" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"任务ID"` // 任务ID
|
||||
}
|
||||
|
||||
// JobRunOnceRes 立即执行一次任务结果
|
||||
type JobRunOnceRes struct{}
|
||||
|
||||
// JobPauseReq 暂停任务请求
|
||||
type JobPauseReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/job/pause/:id" summary:"暂停定时任务" permission:"sys:job:pause" log:"定时任务-暂停任务" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"任务ID"` // 任务ID
|
||||
}
|
||||
|
||||
// JobPauseRes 暂停任务结果
|
||||
type JobPauseRes struct{}
|
||||
|
||||
// JobResumeReq 恢复任务请求
|
||||
type JobResumeReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/job/resume/:id" summary:"恢复定时任务" permission:"sys:job:resume" log:"定时任务-恢复任务" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"任务ID"` // 任务ID
|
||||
}
|
||||
|
||||
// JobResumeRes 恢复任务结果
|
||||
type JobResumeRes struct{}
|
||||
|
||||
// JobStatusReq 设置任务状态请求
|
||||
type JobStatusReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/job/status" summary:"设置定时任务状态" permission:"sys:job:update" log:"定时任务-设置状态" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"任务ID"` // 任务ID
|
||||
Status int `json:"status" v:"required#缺少状态" dc:"状态:0-未发布 1-运行中 2-暂停"` // 状态
|
||||
}
|
||||
|
||||
// JobStatusRes 设置任务状态结果
|
||||
type JobStatusRes struct{}
|
||||
|
||||
// JobDaemonStatusReq 查询调度器状态请求
|
||||
type JobDaemonStatusReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/job/daemonStatus" summary:"查询调度器状态" log:"定时任务-查询调度器状态" logType:"query"`
|
||||
}
|
||||
|
||||
// JobDaemonStatusRes 调度器状态结果
|
||||
type JobDaemonStatusRes struct {
|
||||
Running int `json:"running"` // 运行中任务数
|
||||
JobIds []string `json:"jobIds"` // 调度器中的任务键
|
||||
StartTime string `json:"startTime"` // 调度器启动时间
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 任务日志模块 ==============================
|
||||
|
||||
// JobLogItem 任务日志行数据
|
||||
// 用于任务日志分页列表、任务日志列表等场景的日志基础信息
|
||||
type JobLogItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
JobId int64 `json:"jobId"` // 任务ID
|
||||
JobName string `json:"jobName"` // 任务名称
|
||||
JobGroup string `json:"jobGroup"` // 任务分组
|
||||
JobTrigger string `json:"jobTrigger"` // 触发器类型
|
||||
JobMessage string `json:"jobMessage"` // 任务执行消息
|
||||
CronExpression string `json:"cronExpression"` // Cron表达式
|
||||
Status int `json:"status"` // 状态:0-正常 1-失败
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
StartTime *gtime.Time `json:"startTime"` // 开始时间
|
||||
EndTime *gtime.Time `json:"endTime"` // 结束时间
|
||||
ConsumeTime int64 `json:"consumeTime"` // 耗时(毫秒)
|
||||
ExceptionInfo string `json:"exceptionInfo"` // 异常信息
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
}
|
||||
|
||||
// JobLogPageReq 任务日志分页请求
|
||||
// 支持关键词、任务名称、任务ID、状态等条件组合查询
|
||||
type JobLogPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/job/log/page" summary:"任务日志分页" permission:"sys:jobLog:page" log:"任务日志-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(任务名模糊)"` // 关键词,任务名模糊匹配
|
||||
JobName string `json:"jobName" dc:"任务名称模糊"` // 任务名称模糊匹配
|
||||
JobId int64 `json:"jobId" dc:"任务ID"` // 任务ID
|
||||
Status int `json:"status" dc:"状态:0-正常 1-失败"` // 状态
|
||||
}
|
||||
|
||||
// JobLogPageRes 任务日志分页结果
|
||||
type JobLogPageRes = PageData[JobLogItem]
|
||||
|
||||
// JobLogListReq 任务日志列表请求
|
||||
type JobLogListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/job/log/list" summary:"任务日志列表" permission:"sys:jobLog:list" log:"任务日志-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
JobId int64 `json:"jobId" dc:"任务ID"` // 任务ID
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Limit int `json:"limit" dc:"条数上限"` // 条数上限
|
||||
}
|
||||
|
||||
// JobLogListRes 任务日志列表结果
|
||||
type JobLogListRes = []JobLogItem
|
||||
|
||||
// JobLogDetailReq 任务日志详情请求
|
||||
type JobLogDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/job/log/detail/:id" summary:"任务日志详情" permission:"sys:jobLog:detail" log:"任务日志-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"日志ID"` // 日志ID
|
||||
}
|
||||
|
||||
// JobLogDetailRes 任务日志详情结果
|
||||
type JobLogDetailRes struct {
|
||||
JobLogItem
|
||||
}
|
||||
|
||||
// JobLogDeleteReq 删除任务日志请求
|
||||
type JobLogDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/job/log/delete/:id" summary:"删除任务日志" permission:"sys:jobLog:delete" log:"任务日志-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"日志ID"` // 日志ID
|
||||
}
|
||||
|
||||
// JobLogDeleteRes 删除任务日志结果
|
||||
type JobLogDeleteRes struct{}
|
||||
|
||||
// JobLogBatchDeleteReq 批量删除任务日志请求
|
||||
type JobLogBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/job/log/batchDelete" summary:"批量删除任务日志" permission:"sys:jobLog:batchDelete" log:"任务日志-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"日志ID列表"` // 日志ID列表
|
||||
}
|
||||
|
||||
// JobLogBatchDeleteRes 批量删除结果
|
||||
type JobLogBatchDeleteRes struct{}
|
||||
+188
@@ -0,0 +1,188 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 职级模块 ==============================
|
||||
|
||||
// LevelItem 职级行数据
|
||||
// 用于职级分页列表等场景的职级基础信息
|
||||
type LevelItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
TenantId int `json:"tenantId"` // 租户ID
|
||||
Name string `json:"name"` // 职级名称
|
||||
Status int `json:"status"` // 状态:1-正常 2-禁用
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Sort int `json:"sort"` // 排序
|
||||
UserCount int `json:"userCount"` // 关联用户数
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
}
|
||||
|
||||
// LevelPageReq 职级分页请求
|
||||
// 支持关键词、名称、状态等条件组合查询
|
||||
type LevelPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/level/page" summary:"职级分页" permission:"sys:level:page" log:"职级管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Name string `json:"name" dc:"名称模糊"` // 名称模糊匹配
|
||||
Status int `json:"status" dc:"状态:1-正常 2-禁用"` // 状态
|
||||
}
|
||||
|
||||
// LevelPageRes 职级分页结果
|
||||
type LevelPageRes = PageData[LevelItem]
|
||||
|
||||
// LevelListReq 职级全量列表请求
|
||||
type LevelListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/level/list" summary:"职级列表" permission:"sys:level:list" log:"职级管理-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
}
|
||||
|
||||
// LevelListItem 职级列表行数据
|
||||
// 精简结构,仅包含列表展示所需字段
|
||||
type LevelListItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 职级名称
|
||||
Status int `json:"status"` // 状态:1-正常 2-禁用
|
||||
Sort int `json:"sort"` // 排序
|
||||
}
|
||||
|
||||
// LevelListRes 职级列表结果
|
||||
type LevelListRes = []LevelListItem
|
||||
|
||||
// LevelDetailReq 职级详情请求
|
||||
type LevelDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/level/detail/:id" summary:"职级详情" permission:"sys:level:detail" log:"职级管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"职级ID"` // 职级ID
|
||||
}
|
||||
|
||||
// LevelDetailRes 职级详情结果
|
||||
type LevelDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 职级名称
|
||||
Status int `json:"status"` // 状态:1-正常 2-禁用
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Sort int `json:"sort"` // 排序
|
||||
}
|
||||
|
||||
// LevelAddReq 新增职级请求
|
||||
type LevelAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/level/add" summary:"新增职级" permission:"sys:level:add" log:"职级管理-新增记录" logType:"add"`
|
||||
Name string `json:"name" v:"required#请输入职级名称" dc:"职级名称"` // 职级名称
|
||||
Status int `json:"status" dc:"状态:1-正常 2-禁用"` // 状态
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
}
|
||||
|
||||
// LevelUpdateReq 修改职级请求
|
||||
type LevelUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/level/update" summary:"修改职级" permission:"sys:level:update" log:"职级管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"职级ID"` // 职级ID
|
||||
Name string `json:"name" v:"required#请输入职级名称" dc:"职级名称"` // 职级名称
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
}
|
||||
|
||||
// LevelUpdateRes 修改职级结果
|
||||
type LevelUpdateRes struct{}
|
||||
|
||||
// LevelStatusReq 职级状态请求
|
||||
type LevelStatusReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/level/status" summary:"职级状态" permission:"sys:level:status" log:"职级管理-设置状态" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"职级ID"` // 职级ID
|
||||
Status int `json:"status" v:"required#缺少状态" dc:"状态:1-正常 2-禁用"` // 状态
|
||||
}
|
||||
|
||||
// LevelStatusRes 职级状态结果
|
||||
type LevelStatusRes struct{}
|
||||
|
||||
// LevelDeleteReq 删除职级请求
|
||||
type LevelDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/level/delete/:id" summary:"删除职级" permission:"sys:level:delete" log:"职级管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"职级ID"` // 职级ID
|
||||
}
|
||||
|
||||
// LevelDeleteRes 删除职级结果
|
||||
type LevelDeleteRes struct{}
|
||||
|
||||
// LevelBatchDeleteReq 批量删除职级请求
|
||||
type LevelBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/level/batchDelete" summary:"批量删除职级" permission:"sys:level:batchDelete" log:"职级管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"职级ID列表"` // 职级ID列表
|
||||
}
|
||||
|
||||
// LevelBatchDeleteRes 批量删除结果
|
||||
type LevelBatchDeleteRes struct{}
|
||||
|
||||
// LevelImportReq 导入职级请求
|
||||
// 上传 xls/xlsx 文件进行数据导入
|
||||
type LevelImportReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/level/import" summary:"导入职级" permission:"sys:level:import" log:"职级管理-导入数据" logType:"import"`
|
||||
File *ghttp.UploadFile `p:"file" v:"required#请选择文件" dc:"xls/xlsx 文件"` // 上传文件
|
||||
}
|
||||
|
||||
// LevelImportRes 导入结果
|
||||
// 返回导入总数、成功数、失败数及失败原因
|
||||
type LevelImportRes struct {
|
||||
Total int `json:"total"` // 导入总数
|
||||
Success int `json:"success"` // 成功数
|
||||
Failed int `json:"failed"` // 失败数
|
||||
Reasons []string `json:"reasons"` // 失败原因列表
|
||||
}
|
||||
|
||||
// LevelExportReq 导出职级请求
|
||||
// 按查询条件导出符合条件的记录
|
||||
type LevelExportReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/level/export" summary:"导出职级" permission:"sys:level:export" log:"职级管理-导出数据" logType:"export"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Name string `json:"name" dc:"名称模糊"` // 名称模糊匹配
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
}
|
||||
|
||||
// LevelExportRes 导出结果
|
||||
// data 直接为导出文件的访问地址
|
||||
type LevelExportRes = string
|
||||
+152
@@ -0,0 +1,152 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 友链模块 ==============================
|
||||
|
||||
// LinkItem 友链行数据
|
||||
// 用于友链分页列表等场景的友链基础信息
|
||||
type LinkItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 友链名称
|
||||
Type int `json:"type"` // 类型:1-友情链接 2-合作伙伴
|
||||
TypeText string `json:"typeText"` // 类型文本
|
||||
Url string `json:"url"` // 友链URL
|
||||
Form int `json:"form"` // 形式:1-文字链接 2-图片链接
|
||||
FormText string `json:"formText"` // 形式文本
|
||||
Image string `json:"image"` // 友链图片
|
||||
Status int `json:"status"` // 状态:1-正常 2-停用
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
}
|
||||
|
||||
// LinkPageReq 友链分页请求
|
||||
// 支持关键词、名称、类型、状态等条件组合查询
|
||||
type LinkPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/link/page" summary:"友链分页" permission:"sys:link:page" log:"友链管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(名称模糊)"` // 关键词,名称模糊匹配
|
||||
Name string `json:"name" dc:"名称模糊"` // 名称模糊匹配
|
||||
Type int `json:"type" dc:"类型:1-友情链接 2-合作伙伴"` // 类型
|
||||
Status int `json:"status" dc:"状态:1-正常 2-停用"` // 状态
|
||||
}
|
||||
|
||||
// LinkPageRes 友链分页结果
|
||||
type LinkPageRes = PageData[LinkItem]
|
||||
|
||||
// LinkDetailReq 友链详情请求
|
||||
type LinkDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/link/detail/:id" summary:"友链详情" permission:"sys:link:detail" log:"友链管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"友链ID"` // 友链ID
|
||||
}
|
||||
|
||||
// LinkDetailRes 友链详情结果
|
||||
type LinkDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 友链名称
|
||||
Type int `json:"type"` // 类型:1-友情链接 2-合作伙伴
|
||||
TypeText string `json:"typeText"` // 类型文本
|
||||
Url string `json:"url"` // 友链URL
|
||||
Form int `json:"form"` // 形式:1-文字链接 2-图片链接
|
||||
FormText string `json:"formText"` // 形式文本
|
||||
Image string `json:"image"` // 友链图片
|
||||
Status int `json:"status"` // 状态:1-正常 2-停用
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
}
|
||||
|
||||
// LinkAddReq 新增友链请求
|
||||
type LinkAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/link/add" summary:"新增友链" permission:"sys:link:add" log:"友链管理-新增记录" logType:"add"`
|
||||
Name string `json:"name" v:"required#请输入友链名称" dc:"友链名称"` // 友链名称
|
||||
Type int `json:"type" dc:"类型:1-友情链接 2-合作伙伴"` // 类型
|
||||
Url string `json:"url" v:"required#请输入友链地址" dc:"友链URL"` // 友链URL
|
||||
Form int `json:"form" dc:"形式:1-文字链接 2-图片链接"` // 形式
|
||||
Image string `json:"image" dc:"友链图片"` // 友链图片
|
||||
Status int `json:"status" dc:"状态:1-正常 2-停用"` // 状态
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// LinkUpdateReq 修改友链请求
|
||||
type LinkUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/link/update" summary:"修改友链" permission:"sys:link:update" log:"友链管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"友链ID"` // 友链ID
|
||||
Name string `json:"name" v:"required#请输入友链名称" dc:"友链名称"` // 友链名称
|
||||
Type int `json:"type" dc:"类型"` // 类型
|
||||
Url string `json:"url" v:"required#请输入友链地址" dc:"友链URL"` // 友链URL
|
||||
Form int `json:"form" dc:"形式"` // 形式
|
||||
Image string `json:"image" dc:"友链图片"` // 友链图片
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// LinkUpdateRes 修改友链结果
|
||||
type LinkUpdateRes struct{}
|
||||
|
||||
// LinkDeleteReq 删除友链请求
|
||||
type LinkDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/link/delete/:id" summary:"删除友链" permission:"sys:link:delete" log:"友链管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"友链ID"` // 友链ID
|
||||
}
|
||||
|
||||
// LinkDeleteRes 删除友链结果
|
||||
type LinkDeleteRes struct{}
|
||||
|
||||
// LinkBatchDeleteReq 批量删除友链请求
|
||||
type LinkBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/link/batchDelete" summary:"批量删除友链" permission:"sys:link:batchDelete" log:"友链管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"友链ID列表"` // 友链ID列表
|
||||
}
|
||||
|
||||
// LinkBatchDeleteRes 批量删除结果
|
||||
type LinkBatchDeleteRes struct{}
|
||||
@@ -0,0 +1,131 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 登录日志模块 ==============================
|
||||
|
||||
// LoginLogItem 登录日志行数据
|
||||
// 用于登录日志分页列表、登录日志列表等场景的日志基础信息
|
||||
type LoginLogItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Username string `json:"username"` // 用户名
|
||||
LogType int `json:"logType"` // 类型:1-登录 2-退出
|
||||
LogTypeText string `json:"logTypeText"` // 类型文本
|
||||
Source int `json:"source"` // 来源
|
||||
SourceText string `json:"sourceText"` // 来源文本
|
||||
Method string `json:"method"` // 处理方法
|
||||
RequestMethod string `json:"requestMethod"` // 请求方式
|
||||
Url string `json:"url"` // 请求地址
|
||||
Param string `json:"param"` // 请求参数
|
||||
Result string `json:"result"` // 返回结果
|
||||
Ip string `json:"ip"` // 客户端IP
|
||||
Location string `json:"location"` // 归属地
|
||||
Os string `json:"os"` // 操作系统
|
||||
Browser string `json:"browser"` // 浏览器
|
||||
ConsumeTime int64 `json:"consumeTime"` // 耗时(毫秒)
|
||||
Status int `json:"status"` // 状态:0-成功 1-失败
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Error string `json:"error"` // 错误信息
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
UpdateTime *gtime.Time `json:"updateTime"` // 更新时间
|
||||
}
|
||||
|
||||
// LoginLogPageReq 登录日志分页请求
|
||||
// 支持关键词、用户名、类型、状态等条件组合查询
|
||||
type LoginLogPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/login/log/page" summary:"登录日志分页" permission:"sys:loginLog:page" log:"登录日志-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(用户名模糊)"` // 关键词,用户名模糊匹配
|
||||
Username string `json:"username" dc:"用户名模糊"` // 用户名模糊匹配
|
||||
LogType int `json:"logType" dc:"类型:1-登录 2-退出"` // 类型
|
||||
Status int `json:"status" dc:"状态:0-成功 1-失败"` // 状态
|
||||
}
|
||||
|
||||
// LoginLogPageRes 登录日志分页结果
|
||||
type LoginLogPageRes = PageData[LoginLogItem]
|
||||
|
||||
// LoginLogListReq 登录日志列表请求
|
||||
type LoginLogListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/login/log/list" summary:"登录日志列表" permission:"sys:loginLog:list" log:"登录日志-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
LogType int `json:"logType" dc:"类型"` // 类型
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Limit int `json:"limit" dc:"条数上限"` // 条数上限
|
||||
}
|
||||
|
||||
// LoginLogListRes 登录日志列表结果
|
||||
type LoginLogListRes = []LoginLogItem
|
||||
|
||||
// LoginLogDetailReq 登录日志详情请求
|
||||
type LoginLogDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/login/log/detail/:id" summary:"登录日志详情" permission:"sys:loginLog:detail" log:"登录日志-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"日志ID"` // 日志ID
|
||||
}
|
||||
|
||||
// LoginLogDetailRes 登录日志详情结果
|
||||
type LoginLogDetailRes struct {
|
||||
LoginLogItem
|
||||
}
|
||||
|
||||
// LoginLogDeleteReq 删除登录日志请求
|
||||
type LoginLogDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/login/log/delete/:id" summary:"删除登录日志" permission:"sys:loginLog:delete" log:"登录日志-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"日志ID"` // 日志ID
|
||||
}
|
||||
|
||||
// LoginLogDeleteRes 删除登录日志结果
|
||||
type LoginLogDeleteRes struct{}
|
||||
|
||||
// LoginLogBatchDeleteReq 批量删除登录日志请求
|
||||
type LoginLogBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/login/log/batchDelete" summary:"批量删除登录日志" permission:"sys:loginLog:batchDelete" log:"登录日志-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"日志ID列表"` // 日志ID列表
|
||||
}
|
||||
|
||||
// LoginLogBatchDeleteRes 批量删除结果
|
||||
type LoginLogBatchDeleteRes struct{}
|
||||
+183
@@ -0,0 +1,183 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 菜单模块 ==============================
|
||||
|
||||
// MenuItem 菜单行数据
|
||||
// 用于菜单分页列表、菜单树形列表等场景的菜单基础信息
|
||||
type MenuItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
ParentId int `json:"parentId"` // 上级菜单ID(0=顶级)
|
||||
Name string `json:"name"` // 菜单名称
|
||||
Icon string `json:"icon"` // 图标
|
||||
Icon2 string `json:"icon2"` // 菜单图标2
|
||||
Path string `json:"path"` // 路由路径
|
||||
Component string `json:"component"` // 前端组件路径
|
||||
Permission string `json:"permission"` // 权限节点标识
|
||||
Target int `json:"target"` // 打开方式:0-组件 1-内链 2-外链
|
||||
Type int `json:"type"` // 类型:0-菜单 1-权限节点
|
||||
TypeText string `json:"typeText"` // 类型文本
|
||||
Status int `json:"status"` // 状态:0-正常 1-停用
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Hide int `json:"hide"` // 是否可见:0-可见 1-不可见
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
}
|
||||
|
||||
// MenuPageReq 菜单分页请求(平铺)
|
||||
// 支持关键词、名称、路径、类型、状态等条件组合查询
|
||||
type MenuPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/menu/page" summary:"菜单分页" permission:"sys:menu:page" log:"菜单管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(名称/路径模糊)"` // 关键词,名称或路径模糊匹配
|
||||
Name string `json:"name" dc:"菜单名称模糊"` // 菜单名称模糊匹配
|
||||
Path string `json:"path" dc:"路由路径模糊"` // 路由路径模糊匹配
|
||||
Type *int `json:"type" dc:"类型:0-菜单 1-权限节点"` // 类型,指针用于区分未传值
|
||||
Status *int `json:"status" dc:"状态:0-正常 1-停用"` // 状态,指针用于区分未传值
|
||||
}
|
||||
|
||||
// MenuPageRes 菜单分页结果
|
||||
type MenuPageRes = PageData[MenuItem]
|
||||
|
||||
// MenuListReq 菜单树形列表请求
|
||||
// 返回平铺列表,由前端自行构建树形结构
|
||||
type MenuListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/menu/list" summary:"菜单树形列表" permission:"sys:menu:list" log:"菜单管理-查询树形列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Type *int `json:"type" dc:"类型"` // 类型
|
||||
Status *int `json:"status" dc:"状态"` // 状态
|
||||
}
|
||||
|
||||
// MenuListRes 菜单平铺列表结果
|
||||
// data 直接为数组,由前端自行构建树形结构
|
||||
type MenuListRes = []*MenuItem
|
||||
|
||||
// MenuDetailReq 菜单详情请求
|
||||
type MenuDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/menu/detail/:id" summary:"菜单详情" permission:"sys:menu:detail" log:"菜单管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"菜单ID"` // 菜单ID
|
||||
}
|
||||
|
||||
// MenuDetailRes 菜单详情结果
|
||||
type MenuDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
ParentId int `json:"parentId"` // 上级菜单ID
|
||||
Name string `json:"name"` // 菜单名称
|
||||
Icon string `json:"icon"` // 图标
|
||||
Icon2 string `json:"icon2"` // 菜单图标2
|
||||
Path string `json:"path"` // 路由路径
|
||||
Component string `json:"component"` // 前端组件路径
|
||||
Permission string `json:"permission"` // 权限节点标识
|
||||
Target int `json:"target"` // 打开方式
|
||||
Type int `json:"type"` // 类型:0-菜单 1-权限节点
|
||||
TypeText string `json:"typeText"` // 类型文本
|
||||
Status int `json:"status"` // 状态:0-正常 1-停用
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Hide int `json:"hide"` // 是否可见
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
}
|
||||
|
||||
// MenuAddReq 新增菜单请求
|
||||
type MenuAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/menu/add" summary:"新增菜单" permission:"sys:menu:add" log:"菜单管理-新增记录" logType:"add"`
|
||||
ParentId int `json:"parentId" dc:"上级ID(0=顶级)"` // 上级菜单ID
|
||||
Name string `json:"name" v:"required#请输入菜单名称" dc:"菜单名称"` // 菜单名称
|
||||
Icon string `json:"icon" dc:"图标"` // 图标
|
||||
Icon2 string `json:"icon2" dc:"菜单图标2"` // 菜单图标2
|
||||
Path string `json:"path" dc:"路由路径"` // 路由路径
|
||||
Component string `json:"component" dc:"前端组件"` // 前端组件路径
|
||||
Permission string `json:"permission" dc:"权限节点"` // 权限节点标识
|
||||
Target int `json:"target" dc:"打开方式:0-组件 1-内链 2-外链"` // 打开方式
|
||||
Type int `json:"type" dc:"类型:0-菜单 1-权限节点"` // 类型
|
||||
Status int `json:"status" dc:"状态:0-正常 1-停用"` // 状态
|
||||
Hide int `json:"hide" dc:"是否可见:0-可见 1-不可见"` // 是否可见
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// MenuUpdateReq 修改菜单请求
|
||||
// Icon/Icon2/Note 为指针:未传值时该列不更新,保留库中原值;传空串表示清空
|
||||
type MenuUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/menu/update" summary:"修改菜单" permission:"sys:menu:update" log:"菜单管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"菜单ID"` // 菜单ID
|
||||
ParentId int `json:"parentId" dc:"上级ID"` // 上级菜单ID
|
||||
Name string `json:"name" v:"required#请输入菜单名称" dc:"菜单名称"` // 菜单名称
|
||||
Icon *string `json:"icon" dc:"图标"` // 图标,未传则保留原值
|
||||
Icon2 *string `json:"icon2" dc:"菜单图标2"` // 菜单图标2,未传则保留原值
|
||||
Path string `json:"path" dc:"路由路径"` // 路由路径
|
||||
Component string `json:"component" dc:"前端组件"` // 前端组件路径
|
||||
Permission string `json:"permission" dc:"权限节点"` // 权限节点标识
|
||||
Target int `json:"target" dc:"打开方式"` // 打开方式
|
||||
Type int `json:"type" dc:"类型"` // 类型
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Hide int `json:"hide" dc:"是否可见"` // 是否可见
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note *string `json:"note" dc:"备注"` // 备注,未传则保留原值
|
||||
}
|
||||
|
||||
// MenuUpdateRes 修改菜单结果
|
||||
type MenuUpdateRes struct{}
|
||||
|
||||
// MenuDeleteReq 删除菜单请求
|
||||
type MenuDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/menu/delete/:id" summary:"删除菜单" permission:"sys:menu:delete" log:"菜单管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"菜单ID"` // 菜单ID
|
||||
}
|
||||
|
||||
// MenuDeleteRes 删除菜单结果
|
||||
type MenuDeleteRes struct{}
|
||||
|
||||
// MenuBatchDeleteReq 批量删除菜单请求
|
||||
type MenuBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/menu/batchDelete" summary:"批量删除菜单" permission:"sys:menu:batchDelete" log:"菜单管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"菜单ID列表"` // 菜单ID列表
|
||||
}
|
||||
|
||||
// MenuBatchDeleteRes 批量删除结果
|
||||
type MenuBatchDeleteRes struct{}
|
||||
@@ -0,0 +1,169 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 公告模块 ==============================
|
||||
|
||||
// NoticeItem 公告行数据
|
||||
// 用于公告分页列表等场景的公告基础信息
|
||||
type NoticeItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Title string `json:"title"` // 公告标题
|
||||
Cover string `json:"cover"` // 封面图
|
||||
Type int `json:"type"` // 类型
|
||||
TypeText string `json:"typeText"` // 类型文本
|
||||
ClickNum int `json:"clickNum"` // 点击量
|
||||
Status int `json:"status"` // 状态:0-草稿 1-发布
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
}
|
||||
|
||||
// NoticePageReq 公告分页请求
|
||||
// 支持关键词、标题、类型、状态等条件组合查询
|
||||
type NoticePageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/notice/page" summary:"公告分页" permission:"sys:notice:page" log:"公告管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(标题模糊)"` // 关键词,标题模糊匹配
|
||||
Title string `json:"title" dc:"标题模糊"` // 标题模糊匹配
|
||||
Type int `json:"type" dc:"类型"` // 类型
|
||||
Status int `json:"status" dc:"状态:0-草稿 1-发布"` // 状态
|
||||
}
|
||||
|
||||
// NoticePageRes 公告分页结果
|
||||
type NoticePageRes = PageData[NoticeItem]
|
||||
|
||||
// NoticeListReq 公告列表请求
|
||||
type NoticeListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/notice/list" summary:"公告列表" permission:"sys:notice:list" log:"公告管理-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Type int `json:"type" dc:"类型"` // 类型
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Limit int `json:"limit" dc:"条数上限"` // 条数上限
|
||||
}
|
||||
|
||||
// NoticeListItem 公告列表行数据
|
||||
// 精简结构,仅包含列表展示所需字段
|
||||
type NoticeListItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Title string `json:"title"` // 公告标题
|
||||
Type int `json:"type"` // 类型
|
||||
Status int `json:"status"` // 状态:0-草稿 1-发布
|
||||
}
|
||||
|
||||
// NoticeListRes 公告列表结果
|
||||
type NoticeListRes = []NoticeListItem
|
||||
|
||||
// NoticeDetailReq 公告详情请求
|
||||
type NoticeDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/notice/detail/:id" summary:"公告详情" permission:"sys:notice:detail" log:"公告管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"公告ID"` // 公告ID
|
||||
}
|
||||
|
||||
// NoticeDetailRes 公告详情结果
|
||||
type NoticeDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Title string `json:"title"` // 公告标题
|
||||
Cover string `json:"cover"` // 封面图
|
||||
Type int `json:"type"` // 类型
|
||||
TypeText string `json:"typeText"` // 类型文本
|
||||
Status int `json:"status"` // 状态:0-草稿 1-发布
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Content string `json:"content"` // 正文
|
||||
}
|
||||
|
||||
// NoticeAddReq 新增公告请求
|
||||
type NoticeAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/notice/add" summary:"新增公告" permission:"sys:notice:add" log:"公告管理-新增记录" logType:"add"`
|
||||
Title string `json:"title" v:"required#请输入标题" dc:"标题"` // 公告标题
|
||||
Cover string `json:"cover" dc:"封面图"` // 封面图
|
||||
Type int `json:"type" dc:"类型"` // 类型
|
||||
Status int `json:"status" dc:"状态:0-草稿 1-发布"` // 状态
|
||||
Content string `json:"content" dc:"正文"` // 正文
|
||||
}
|
||||
|
||||
// NoticeUpdateReq 修改公告请求
|
||||
type NoticeUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/notice/update" summary:"修改公告" permission:"sys:notice:update" log:"公告管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"公告ID"` // 公告ID
|
||||
Title string `json:"title" v:"required#请输入标题" dc:"标题"` // 公告标题
|
||||
Cover string `json:"cover" dc:"封面图"` // 封面图
|
||||
Type int `json:"type" dc:"类型"` // 类型
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Content string `json:"content" dc:"正文"` // 正文
|
||||
}
|
||||
|
||||
// NoticeUpdateRes 修改公告结果
|
||||
type NoticeUpdateRes struct{}
|
||||
|
||||
// NoticeStatusReq 公告状态请求
|
||||
type NoticeStatusReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/notice/status" summary:"公告状态" permission:"sys:notice:status" log:"公告管理-设置状态" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"公告ID"` // 公告ID
|
||||
Status int `json:"status" v:"required#缺少状态" dc:"状态:0-草稿 1-发布"` // 状态
|
||||
}
|
||||
|
||||
// NoticeStatusRes 公告状态结果
|
||||
type NoticeStatusRes struct{}
|
||||
|
||||
// NoticeDeleteReq 删除公告请求
|
||||
type NoticeDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/notice/delete/:id" summary:"删除公告" permission:"sys:notice:delete" log:"公告管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"公告ID"` // 公告ID
|
||||
}
|
||||
|
||||
// NoticeDeleteRes 删除公告结果
|
||||
type NoticeDeleteRes struct{}
|
||||
|
||||
// NoticeBatchDeleteReq 批量删除公告请求
|
||||
type NoticeBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/notice/batchDelete" summary:"批量删除公告" permission:"sys:notice:batchDelete" log:"公告管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"公告ID列表"` // 公告ID列表
|
||||
}
|
||||
|
||||
// NoticeBatchDeleteRes 批量删除结果
|
||||
type NoticeBatchDeleteRes struct{}
|
||||
@@ -0,0 +1,113 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 在线用户模块 ==============================
|
||||
|
||||
// OnlineUserItem 在线用户行数据
|
||||
type OnlineUserItem struct {
|
||||
Id string `json:"id"` // 访问令牌标识(jti)
|
||||
UserId int `json:"userId"` // 用户ID
|
||||
Username string `json:"username"` // 用户名
|
||||
Realname string `json:"realname"` // 姓名
|
||||
Avatar string `json:"avatar"` // 头像(已补全访问域名)
|
||||
Ip string `json:"ip"` // 登录IP
|
||||
Location string `json:"location"` // 登录地点
|
||||
Oss string `json:"oss"` // 操作系统
|
||||
Browser string `json:"browser"` // 浏览器
|
||||
LoginTime string `json:"loginTime"` // 登录时间
|
||||
IssuedTime string `json:"issuedTime"` // 令牌颁发时间
|
||||
ExpireTime string `json:"expireTime"` // 令牌过期时间
|
||||
RefreshIssuedTime string `json:"refreshIssuedTime"` // 刷新令牌颁发时间(空表示无)
|
||||
RefreshExpireTime string `json:"refreshExpireTime"` // 刷新令牌过期时间(空表示无)
|
||||
SessionNo int `json:"sessionNo"` // 同用户会话序号
|
||||
Sessions int `json:"sessions"` // 同用户会话总数
|
||||
TokenType string `json:"tokenType"` // 令牌类型(Bearer)
|
||||
ExpiresIn int64 `json:"expiresIn"` // 访问令牌有效期(秒)
|
||||
AccessToken string `json:"accessToken"` // 访问令牌原文(仅详情返回)
|
||||
RefreshToken string `json:"refreshToken"` // 刷新令牌原文(仅详情返回)
|
||||
}
|
||||
|
||||
// OnlineUserPageReq 在线用户分页请求
|
||||
type OnlineUserPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/onlineUser/page" summary:"在线用户分页" permission:"sys:onlineUser:page" log:"在线用户-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Username string `json:"username" dc:"用户名模糊"` // 用户名模糊匹配
|
||||
Ip string `json:"ip" dc:"登录IP模糊"` // 登录IP模糊匹配
|
||||
}
|
||||
|
||||
// OnlineUserPageRes 在线用户分页结果
|
||||
type OnlineUserPageRes = PageData[OnlineUserItem]
|
||||
|
||||
// OnlineUserDetailReq 在线会话详情请求
|
||||
type OnlineUserDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/onlineUser/detail/:id" summary:"在线会话详情" permission:"sys:onlineUser:detail" log:"在线用户-查询会话详情" logType:"query"`
|
||||
Id string `json:"id" v:"required#缺少令牌标识" dc:"令牌标识"`
|
||||
}
|
||||
|
||||
// OnlineUserDetailRes 在线会话详情结果
|
||||
// 含访问/刷新令牌原文与登录环境信息
|
||||
type OnlineUserDetailRes struct {
|
||||
OnlineUserItem
|
||||
}
|
||||
|
||||
// OnlineUserForceLogoutReq 强制下线请求
|
||||
type OnlineUserForceLogoutReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/onlineUser/forceLogout/:id" summary:"强制下线" permission:"sys:onlineUser:forceLogout" log:"在线用户-强制下线" logType:"update"`
|
||||
Id string `json:"id" v:"required#缺少令牌标识" dc:"令牌标识"`
|
||||
}
|
||||
|
||||
// OnlineUserForceLogoutRes 强制下线结果
|
||||
type OnlineUserForceLogoutRes struct{}
|
||||
|
||||
// OnlineUserForceLogoutUserReq 踢出该用户全部设备请求
|
||||
type OnlineUserForceLogoutUserReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/onlineUser/forceLogoutUser/:userId" summary:"踢出用户全部设备" permission:"sys:onlineUser:forceLogout" log:"在线用户-踢出全部设备" logType:"update"`
|
||||
UserId int `json:"userId" v:"required#缺少用户ID" dc:"用户ID"`
|
||||
}
|
||||
|
||||
// OnlineUserForceLogoutUserRes 踢出该用户全部设备结果
|
||||
type OnlineUserForceLogoutUserRes struct{}
|
||||
@@ -0,0 +1,131 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 操作日志模块 ==============================
|
||||
|
||||
// OperLogItem 操作日志行数据
|
||||
// 用于操作日志分页列表、操作日志列表等场景的日志基础信息
|
||||
type OperLogItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Title string `json:"title"` // 日志标题
|
||||
Type int `json:"type"` // 类型
|
||||
TypeText string `json:"typeText"` // 类型文本
|
||||
Source int `json:"source"` // 来源
|
||||
SourceText string `json:"sourceText"` // 来源文本
|
||||
Method string `json:"method"` // 处理方法
|
||||
RequestMethod string `json:"requestMethod"` // 请求方式
|
||||
Url string `json:"url"` // 请求地址
|
||||
Param string `json:"param"` // 请求参数
|
||||
Result string `json:"result"` // 返回结果
|
||||
Ip string `json:"ip"` // 客户端IP
|
||||
Location string `json:"location"` // 归属地
|
||||
Os string `json:"os"` // 操作系统
|
||||
Browser string `json:"browser"` // 浏览器
|
||||
ConsumeTime int64 `json:"consumeTime"` // 耗时(毫秒)
|
||||
Status int `json:"status"` // 状态:0-正常 1-异常
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Error string `json:"error"` // 错误信息
|
||||
CreateUser string `json:"createUser"` // 操作人
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
UpdateTime *gtime.Time `json:"updateTime"` // 更新时间
|
||||
}
|
||||
|
||||
// OperLogPageReq 操作日志分页请求
|
||||
// 支持关键词、日志标题、类型、状态等条件组合查询
|
||||
type OperLogPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/oper/log/page" summary:"操作日志分页" permission:"sys:operLog:page" log:"操作日志-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(标题/URL模糊)"` // 关键词,标题或URL模糊匹配
|
||||
Title string `json:"title" dc:"日志标题模糊"` // 日志标题模糊匹配
|
||||
Type int `json:"type" dc:"类型(logType)"` // 类型
|
||||
Status int `json:"status" dc:"状态:0-正常 1-异常"` // 状态
|
||||
}
|
||||
|
||||
// OperLogPageRes 操作日志分页结果
|
||||
type OperLogPageRes = PageData[OperLogItem]
|
||||
|
||||
// OperLogListReq 操作日志列表请求
|
||||
type OperLogListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/oper/log/list" summary:"操作日志列表" permission:"sys:operLog:list" log:"操作日志-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Type int `json:"type" dc:"类型"` // 类型
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Limit int `json:"limit" dc:"条数上限"` // 条数上限
|
||||
}
|
||||
|
||||
// OperLogListRes 操作日志列表结果
|
||||
type OperLogListRes = []OperLogItem
|
||||
|
||||
// OperLogDetailReq 操作日志详情请求
|
||||
type OperLogDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/oper/log/detail/:id" summary:"操作日志详情" permission:"sys:operLog:detail" log:"操作日志-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"日志ID"` // 日志ID
|
||||
}
|
||||
|
||||
// OperLogDetailRes 操作日志详情结果
|
||||
type OperLogDetailRes struct {
|
||||
OperLogItem
|
||||
}
|
||||
|
||||
// OperLogDeleteReq 删除操作日志请求
|
||||
type OperLogDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/oper/log/delete/:id" summary:"删除操作日志" permission:"sys:operLog:delete" log:"操作日志-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"日志ID"` // 日志ID
|
||||
}
|
||||
|
||||
// OperLogDeleteRes 删除操作日志结果
|
||||
type OperLogDeleteRes struct{}
|
||||
|
||||
// OperLogBatchDeleteReq 批量删除操作日志请求
|
||||
type OperLogBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/oper/log/batchDelete" summary:"批量删除操作日志" permission:"sys:operLog:batchDelete" log:"操作日志-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"日志ID列表"` // 日志ID列表
|
||||
}
|
||||
|
||||
// OperLogBatchDeleteRes 批量删除结果
|
||||
type OperLogBatchDeleteRes struct{}
|
||||
+155
@@ -0,0 +1,155 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 参数模块 ==============================
|
||||
|
||||
// ParamItem 参数行数据
|
||||
// 用于参数分页列表、参数列表等场景的参数基础信息
|
||||
type ParamItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 参数名称
|
||||
Code string `json:"code"` // 参数编码
|
||||
Value string `json:"value"` // 参数值
|
||||
Type int `json:"type"` // 类型:1-文本 2-数字 3-开关
|
||||
TypeText string `json:"typeText"` // 类型文本
|
||||
Status int `json:"status"` // 状态
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
}
|
||||
|
||||
// ParamPageReq 参数分页请求
|
||||
// 支持关键词、参数名称、类型、状态等条件组合查询
|
||||
type ParamPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/param/page" summary:"参数分页" permission:"sys:param:page" log:"参数管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(名称/编码模糊)"` // 关键词,名称或编码模糊匹配
|
||||
Name string `json:"name" dc:"参数名称模糊"` // 参数名称模糊匹配
|
||||
Type int `json:"type" dc:"类型:1-文本 2-数字 3-开关"` // 类型
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
}
|
||||
|
||||
// ParamPageRes 参数分页结果
|
||||
type ParamPageRes = PageData[ParamItem]
|
||||
|
||||
// ParamListReq 参数列表请求
|
||||
type ParamListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/param/list" summary:"参数列表" permission:"sys:param:list" log:"参数管理-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Type int `json:"type" dc:"类型"` // 类型
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
}
|
||||
|
||||
// ParamListRes 参数列表结果
|
||||
type ParamListRes = []ParamItem
|
||||
|
||||
// ParamDetailReq 参数详情请求
|
||||
type ParamDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/param/detail/:id" summary:"参数详情" permission:"sys:param:detail" log:"参数管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"参数ID"` // 参数ID
|
||||
}
|
||||
|
||||
// ParamDetailRes 参数详情结果
|
||||
type ParamDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 参数名称
|
||||
Code string `json:"code"` // 参数编码
|
||||
Value string `json:"value"` // 参数值
|
||||
Type int `json:"type"` // 类型:1-文本 2-数字 3-开关
|
||||
TypeText string `json:"typeText"` // 类型文本
|
||||
Status int `json:"status"` // 状态
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
}
|
||||
|
||||
// ParamAddReq 新增参数请求
|
||||
type ParamAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/param/add" summary:"新增参数" permission:"sys:param:add" log:"参数管理-新增记录" logType:"add"`
|
||||
Name string `json:"name" v:"required#请输入参数名称" dc:"参数名称"` // 参数名称
|
||||
Code string `json:"code" v:"required#请输入参数编码" dc:"参数编码"` // 参数编码
|
||||
Value string `json:"value" dc:"参数值"` // 参数值
|
||||
Type int `json:"type" dc:"类型:1-文本 2-数字 3-开关"` // 类型
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// ParamUpdateReq 修改参数请求
|
||||
type ParamUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/param/update" summary:"修改参数" permission:"sys:param:update" log:"参数管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"参数ID"` // 参数ID
|
||||
Name string `json:"name" v:"required#请输入参数名称" dc:"参数名称"` // 参数名称
|
||||
Code string `json:"code" v:"required#请输入参数编码" dc:"参数编码"` // 参数编码
|
||||
Value string `json:"value" dc:"参数值"` // 参数值
|
||||
Type int `json:"type" dc:"类型"` // 类型
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// ParamUpdateRes 修改参数结果
|
||||
type ParamUpdateRes struct{}
|
||||
|
||||
// ParamDeleteReq 删除参数请求
|
||||
type ParamDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/param/delete/:id" summary:"删除参数" permission:"sys:param:delete" log:"参数管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"参数ID"` // 参数ID
|
||||
}
|
||||
|
||||
// ParamDeleteRes 删除参数结果
|
||||
type ParamDeleteRes struct{}
|
||||
|
||||
// ParamBatchDeleteReq 批量删除参数请求
|
||||
type ParamBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/param/batchDelete" summary:"批量删除参数" permission:"sys:param:batchDelete" log:"参数管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"参数ID列表"` // 参数ID列表
|
||||
}
|
||||
|
||||
// ParamBatchDeleteRes 批量删除结果
|
||||
type ParamBatchDeleteRes struct{}
|
||||
@@ -0,0 +1,158 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 岗位模块 ==============================
|
||||
|
||||
// PositionItem 岗位行数据
|
||||
// 用于岗位分页列表等场景的岗位基础信息
|
||||
type PositionItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
TenantId int `json:"tenantId"` // 租户ID
|
||||
Name string `json:"name"` // 岗位名称
|
||||
Status int `json:"status"` // 状态:1-正常 2-禁用
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Sort int `json:"sort"` // 排序
|
||||
UserCount int `json:"userCount"` // 关联用户数
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
}
|
||||
|
||||
// PositionPageReq 岗位分页请求
|
||||
// 支持关键词、岗位名称、状态等条件组合查询
|
||||
type PositionPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/position/page" summary:"岗位分页" permission:"sys:position:page" log:"岗位管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Name string `json:"name" dc:"岗位名称模糊"` // 岗位名称模糊匹配
|
||||
Status int `json:"status" dc:"状态:1-正常 2-禁用"` // 状态
|
||||
}
|
||||
|
||||
// PositionPageRes 岗位分页结果
|
||||
type PositionPageRes = PageData[PositionItem]
|
||||
|
||||
// PositionListReq 岗位全量列表请求
|
||||
type PositionListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/position/list" summary:"岗位列表" permission:"sys:position:list" log:"岗位管理-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
}
|
||||
|
||||
// PositionListItem 岗位列表行数据
|
||||
// 精简结构,仅包含列表展示所需字段
|
||||
type PositionListItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 岗位名称
|
||||
Status int `json:"status"` // 状态:1-正常 2-禁用
|
||||
Sort int `json:"sort"` // 排序
|
||||
}
|
||||
|
||||
// PositionListRes 岗位列表结果
|
||||
type PositionListRes = []PositionListItem
|
||||
|
||||
// PositionDetailReq 岗位详情请求
|
||||
type PositionDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/position/detail/:id" summary:"岗位详情" permission:"sys:position:detail" log:"岗位管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"岗位ID"` // 岗位ID
|
||||
}
|
||||
|
||||
// PositionDetailRes 岗位详情结果
|
||||
type PositionDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 岗位名称
|
||||
Status int `json:"status"` // 状态:1-正常 2-禁用
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Sort int `json:"sort"` // 排序
|
||||
}
|
||||
|
||||
// PositionAddReq 新增岗位请求
|
||||
type PositionAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/position/add" summary:"新增岗位" permission:"sys:position:add" log:"岗位管理-新增记录" logType:"add"`
|
||||
Name string `json:"name" v:"required#请输入岗位名称" dc:"岗位名称"` // 岗位名称
|
||||
Status int `json:"status" dc:"状态:1-正常 2-禁用"` // 状态
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
}
|
||||
|
||||
// PositionUpdateReq 修改岗位请求
|
||||
type PositionUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/position/update" summary:"修改岗位" permission:"sys:position:update" log:"岗位管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"岗位ID"` // 岗位ID
|
||||
Name string `json:"name" v:"required#请输入岗位名称" dc:"岗位名称"` // 岗位名称
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
}
|
||||
|
||||
// PositionUpdateRes 修改岗位结果
|
||||
type PositionUpdateRes struct{}
|
||||
|
||||
// PositionStatusReq 岗位状态请求
|
||||
type PositionStatusReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/position/status" summary:"岗位状态" permission:"sys:position:status" log:"岗位管理-设置状态" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"岗位ID"` // 岗位ID
|
||||
Status int `json:"status" v:"required#缺少状态" dc:"状态:1-正常 2-禁用"` // 状态
|
||||
}
|
||||
|
||||
// PositionStatusRes 岗位状态结果
|
||||
type PositionStatusRes struct{}
|
||||
|
||||
// PositionDeleteReq 删除岗位请求
|
||||
type PositionDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/position/delete/:id" summary:"删除岗位" permission:"sys:position:delete" log:"岗位管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"岗位ID"` // 岗位ID
|
||||
}
|
||||
|
||||
// PositionDeleteRes 删除岗位结果
|
||||
type PositionDeleteRes struct{}
|
||||
|
||||
// PositionBatchDeleteReq 批量删除岗位请求
|
||||
type PositionBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/position/batchDelete" summary:"批量删除岗位" permission:"sys:position:batchDelete" log:"岗位管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"岗位ID列表"` // 岗位ID列表
|
||||
}
|
||||
|
||||
// PositionBatchDeleteRes 批量删除结果
|
||||
type PositionBatchDeleteRes struct{}
|
||||
+193
@@ -0,0 +1,193 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 角色模块 ==============================
|
||||
|
||||
// RolePageReq 角色分页请求
|
||||
// 支持关键词、角色名称等条件组合查询
|
||||
type RolePageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/role/page" summary:"角色分页" permission:"sys:role:page" log:"角色管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(名称/编码模糊)"` // 关键词,名称或编码模糊匹配
|
||||
Name string `json:"name" dc:"角色名称模糊"` // 角色名称模糊匹配
|
||||
}
|
||||
|
||||
// RoleItem 角色行数据
|
||||
// 用于角色分页列表等场景的角色基础信息
|
||||
type RoleItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
TenantId int `json:"tenantId"` // 租户ID
|
||||
Name string `json:"name"` // 角色名称
|
||||
Code string `json:"code"` // 角色编码
|
||||
DataScope int `json:"dataScope"` // 数据范围:1-全部 2-本部门及以下 3-本部门 4-仅本人
|
||||
DataScopeText string `json:"dataScopeText"` // 数据范围文案(字典驱动)
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
UserCount int `json:"userCount"` // 关联用户数
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
}
|
||||
|
||||
// RolePageRes 角色分页结果
|
||||
type RolePageRes = PageData[RoleItem]
|
||||
|
||||
// RoleListReq 角色全量列表请求
|
||||
type RoleListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/role/list" summary:"角色列表" permission:"sys:role:list" log:"角色管理-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
}
|
||||
|
||||
// RoleListItem 角色列表行数据
|
||||
// 精简结构,仅包含列表展示所需字段
|
||||
type RoleListItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 角色名称
|
||||
Code string `json:"code"` // 角色编码
|
||||
Sort int `json:"sort"` // 排序
|
||||
}
|
||||
|
||||
// RoleListRes 角色列表结果
|
||||
type RoleListRes = []RoleListItem
|
||||
|
||||
// RoleDetailReq 角色详情请求
|
||||
type RoleDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/role/detail/:id" summary:"角色详情" permission:"sys:role:detail" log:"角色管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"角色ID"` // 角色ID
|
||||
}
|
||||
|
||||
// RoleDetailRes 角色详情结果
|
||||
type RoleDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
TenantId int `json:"tenantId"` // 租户ID
|
||||
Name string `json:"name"` // 角色名称
|
||||
Code string `json:"code"` // 角色编码
|
||||
DataScope int `json:"dataScope"` // 数据范围:1-全部 2-本部门及以下 3-本部门 4-仅本人
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
}
|
||||
|
||||
// RoleAddReq 新增角色请求
|
||||
type RoleAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/role/add" summary:"新增角色" permission:"sys:role:add" log:"角色管理-新增记录" logType:"add"`
|
||||
Name string `json:"name" v:"required#请输入角色名称" dc:"角色名称"` // 角色名称
|
||||
Code string `json:"code" v:"required#请输入角色编码|length:2,30#编码长度需在2~30位" dc:"角色编码"` // 角色编码
|
||||
DataScope int `json:"dataScope" v:"in:1,2,3,4#数据范围不合法" d:"1" dc:"数据范围:1-全部 2-本部门及以下 3-本部门 4-仅本人"` // 数据范围
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// RoleUpdateReq 修改角色请求
|
||||
type RoleUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/role/update" summary:"修改角色" permission:"sys:role:update" log:"角色管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"角色ID"` // 角色ID
|
||||
Name string `json:"name" v:"required#请输入角色名称" dc:"角色名称"` // 角色名称
|
||||
Code string `json:"code" dc:"角色编码(不允许修改)"` // 角色编码,不允许修改
|
||||
DataScope int `json:"dataScope" v:"in:1,2,3,4#数据范围不合法" dc:"数据范围:1-全部 2-本部门及以下 3-本部门 4-仅本人"` // 数据范围
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// RoleUpdateRes 修改角色结果
|
||||
type RoleUpdateRes struct{}
|
||||
|
||||
// RoleDeleteReq 删除角色请求
|
||||
type RoleDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/role/delete/:id" summary:"删除角色" permission:"sys:role:delete" log:"角色管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"角色ID"` // 角色ID
|
||||
}
|
||||
|
||||
// RoleDeleteRes 删除角色结果
|
||||
type RoleDeleteRes struct{}
|
||||
|
||||
// RoleBatchDeleteReq 批量删除角色请求
|
||||
type RoleBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/role/batchDelete" summary:"批量删除角色" permission:"sys:role:batchDelete" log:"角色管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"角色ID列表"` // 角色ID列表
|
||||
}
|
||||
|
||||
// RoleBatchDeleteRes 批量删除结果
|
||||
type RoleBatchDeleteRes struct{}
|
||||
|
||||
// RoleMenuListReq 角色菜单权限请求
|
||||
// 返回菜单平铺列表并附带勾选状态
|
||||
type RoleMenuListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/role/menu/list/:roleId" summary:"查询角色菜单权限" permission:"sys:role:getPermission" log:"角色管理-查询角色菜单" logType:"query"`
|
||||
RoleId int64 `json:"roleId" v:"required#缺少角色ID" dc:"角色ID"` // 角色ID
|
||||
}
|
||||
|
||||
// RoleMenuItem 菜单勾选行数据
|
||||
// 供前端构建树形结构并依据 checked 标记勾选状态
|
||||
type RoleMenuItem struct {
|
||||
Id int64 `json:"id"` // 菜单ID
|
||||
ParentId int `json:"parentId"` // 上级菜单ID
|
||||
Name string `json:"name"` // 菜单名称
|
||||
Icon string `json:"icon"` // 图标
|
||||
Icon2 string `json:"icon2"` // 菜单图标2
|
||||
Path string `json:"path"` // 路由路径
|
||||
Component string `json:"component"` // 前端组件路径
|
||||
Permission string `json:"permission"` // 权限节点标识
|
||||
Target int `json:"target"` // 打开方式
|
||||
Type int `json:"type"` // 类型:0-菜单 1-权限节点
|
||||
Status int `json:"status"` // 状态
|
||||
Hide int `json:"hide"` // 是否可见
|
||||
Sort int `json:"sort"` // 排序
|
||||
Checked bool `json:"checked"` // 是否已勾选
|
||||
}
|
||||
|
||||
// RoleMenuListRes 角色菜单勾选列表结果(平铺)
|
||||
type RoleMenuListRes = []RoleMenuItem
|
||||
|
||||
// RoleSavePermissionReq 保存角色菜单权限请求
|
||||
type RoleSavePermissionReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/role/menu/save" summary:"保存角色菜单权限" permission:"sys:role:savePermission" log:"角色管理-保存权限" logType:"update"`
|
||||
RoleId int64 `json:"roleId" v:"required#缺少角色ID" dc:"角色ID"` // 角色ID
|
||||
MenuIds []int64 `json:"menuIds" dc:"菜单ID列表(含半选父级)"` // 菜单ID列表
|
||||
}
|
||||
|
||||
// RoleSavePermissionRes 保存角色菜单权限结果
|
||||
type RoleSavePermissionRes struct{}
|
||||
@@ -0,0 +1,113 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 服务器监控模块 ==============================
|
||||
|
||||
// ServerInfoReq 查询服务器信息请求
|
||||
type ServerInfoReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/server/info" summary:"服务器监控信息" log:"服务器监控-查询信息" logType:"query"`
|
||||
}
|
||||
|
||||
// ServerOsInfo 操作系统与进程信息
|
||||
type ServerOsInfo struct {
|
||||
Hostname string `json:"hostname"` // 主机名
|
||||
GoVersion string `json:"goVersion"` // Go 运行时版本
|
||||
Arch string `json:"arch"` // 架构
|
||||
NumCPU int `json:"numCpu"` // CPU 核数
|
||||
Goroutines int `json:"goroutines"` // 协程数
|
||||
Uptime string `json:"uptime"` // 进程运行时长
|
||||
}
|
||||
|
||||
// ServerMemInfo 进程内存信息(MB)
|
||||
type ServerMemInfo struct {
|
||||
AllocMB float64 `json:"allocMb"` // 已分配
|
||||
TotalAllocMB float64 `json:"totalAllocMb"` // 累计分配
|
||||
SysMB float64 `json:"sysMb"` // 系统占用
|
||||
HeapAllocMB float64 `json:"heapAllocMb"` // 堆已分配
|
||||
HeapSysMB float64 `json:"heapSysMb"` // 堆系统占用
|
||||
HeapObjects uint64 `json:"heapObjects"` // 堆对象数
|
||||
GCCycles uint32 `json:"gcCycles"` // GC 次数
|
||||
}
|
||||
|
||||
// ServerDiskInfo 磁盘分区信息
|
||||
type ServerDiskInfo struct {
|
||||
Path string `json:"path"` // 路径(工作目录所在分区)
|
||||
TotalGB float64 `json:"totalGb"` // 总容量(GB)
|
||||
FreeGB float64 `json:"freeGb"` // 可用容量(GB)
|
||||
UsedPercent float64 `json:"usedPercent"` // 使用率(%)
|
||||
}
|
||||
|
||||
// ServerDbInfo 数据库连通信息
|
||||
type ServerDbInfo struct {
|
||||
Version string `json:"version"` // 数据库版本
|
||||
PingMs int64 `json:"pingMs"` // 连通耗时(毫秒)
|
||||
}
|
||||
|
||||
// ServerCacheBrief 缓存连通信息
|
||||
type ServerCacheBrief struct {
|
||||
Mode string `json:"mode"` // redis / memory
|
||||
Connected bool `json:"connected"` // 是否连通
|
||||
}
|
||||
|
||||
// ServerSchedulerInfo 定时任务调度器状态
|
||||
type ServerSchedulerInfo struct {
|
||||
Enabled bool `json:"enabled"` // 调度器是否已启动
|
||||
Healthy bool `json:"healthy"` // 是否健康(挂载数不小于应挂载数)
|
||||
Mounted int `json:"mounted"` // 已挂载任务数
|
||||
Expected int `json:"expected"` // 应挂载任务数(status=1)
|
||||
StartTime string `json:"startTime"` // 调度器启动时间
|
||||
}
|
||||
|
||||
// ServerInfoRes 服务器监控信息结果
|
||||
type ServerInfoRes struct {
|
||||
Server ServerOsInfo `json:"server"` // 操作系统与进程
|
||||
Mem ServerMemInfo `json:"mem"` // 内存
|
||||
Disk []ServerDiskInfo `json:"disk"` // 磁盘
|
||||
Db ServerDbInfo `json:"db"` // 数据库
|
||||
Cache ServerCacheBrief `json:"cache"` // 缓存
|
||||
Scheduler ServerSchedulerInfo `json:"scheduler"` // 定时任务调度器
|
||||
}
|
||||
@@ -0,0 +1,236 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 租户模块 ==============================
|
||||
|
||||
// TenantItem 租户行数据
|
||||
// 用于租户分页列表等场景的租户基础信息
|
||||
type TenantItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 租户名称
|
||||
Code string `json:"code"` // 租户编码
|
||||
Contact string `json:"contact"` // 联系人
|
||||
Mobile string `json:"mobile"` // 联系电话
|
||||
Email string `json:"email"` // 邮箱
|
||||
Address string `json:"address"` // 地址
|
||||
Logo string `json:"logo"` // Logo
|
||||
Status int `json:"status"` // 状态:1-正常 2-禁用
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
ExpireTime *gtime.Time `json:"expireTime"` // 过期时间
|
||||
MaxUserNum int `json:"maxUserNum"` // 用户数上限(0=不限)
|
||||
UserCount int `json:"userCount"` // 已用用户数
|
||||
Note string `json:"note"` // 备注
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
}
|
||||
|
||||
// TenantPageReq 租户分页请求
|
||||
// 支持关键词、租户名称、租户编码、状态等条件组合查询
|
||||
type TenantPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/tenant/page" summary:"租户分页" permission:"sys:tenant:page" log:"租户管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(名称/编码/联系人模糊)"` // 关键词,名称、编码或联系人模糊匹配
|
||||
Name string `json:"name" dc:"租户名称模糊"` // 租户名称模糊匹配
|
||||
Code string `json:"code" dc:"租户编码模糊"` // 租户编码模糊匹配
|
||||
Status int `json:"status" dc:"状态:1-正常 2-禁用"` // 状态
|
||||
}
|
||||
|
||||
// TenantPageRes 租户分页结果
|
||||
type TenantPageRes = PageData[TenantItem]
|
||||
|
||||
// TenantListReq 租户全量列表请求
|
||||
type TenantListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/tenant/list" summary:"租户列表" permission:"sys:tenant:list" log:"租户管理-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
}
|
||||
|
||||
// TenantListItem 租户列表行数据
|
||||
// 精简结构,仅包含列表展示所需字段
|
||||
type TenantListItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 租户名称
|
||||
Code string `json:"code"` // 租户编码
|
||||
Status int `json:"status"` // 状态:1-正常 2-禁用
|
||||
}
|
||||
|
||||
// TenantListRes 租户列表结果
|
||||
type TenantListRes = []TenantListItem
|
||||
|
||||
// TenantDetailReq 租户详情请求
|
||||
type TenantDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/tenant/detail/:id" summary:"租户详情" permission:"sys:tenant:detail" log:"租户管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"租户ID"` // 租户ID
|
||||
}
|
||||
|
||||
// TenantDetailRes 租户详情结果
|
||||
type TenantDetailRes struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Name string `json:"name"` // 租户名称
|
||||
Code string `json:"code"` // 租户编码
|
||||
Contact string `json:"contact"` // 联系人
|
||||
Mobile string `json:"mobile"` // 联系电话
|
||||
Email string `json:"email"` // 邮箱
|
||||
Address string `json:"address"` // 地址
|
||||
Logo string `json:"logo"` // Logo
|
||||
Status int `json:"status"` // 状态:1-正常 2-禁用
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
ExpireTime *gtime.Time `json:"expireTime"` // 过期时间
|
||||
MaxUserNum int `json:"maxUserNum"` // 用户数上限
|
||||
Note string `json:"note"` // 备注
|
||||
}
|
||||
|
||||
// TenantAddReq 新增租户请求
|
||||
type TenantAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/tenant/add" summary:"新增租户" permission:"sys:tenant:add" log:"租户管理-新增记录" logType:"add"`
|
||||
Name string `json:"name" v:"required#请输入租户名称" dc:"租户名称"` // 租户名称
|
||||
Code string `json:"code" dc:"租户编码(留空自动生成)"` // 租户编码
|
||||
Contact string `json:"contact" dc:"联系人"` // 联系人
|
||||
Mobile string `json:"mobile" v:"phone#手机号格式不正确" dc:"联系电话"` // 联系电话
|
||||
Email string `json:"email" v:"email#邮箱格式不正确" dc:"邮箱"` // 邮箱
|
||||
Address string `json:"address" dc:"地址"` // 地址
|
||||
Logo string `json:"logo" dc:"Logo"` // Logo
|
||||
Status int `json:"status" dc:"状态:1-正常 2-禁用"` // 状态
|
||||
ExpireTime string `json:"expireTime" dc:"过期时间(Y-m-d H:i:s,留空永久)"` // 过期时间
|
||||
MaxUserNum int `json:"maxUserNum" dc:"用户数上限(0=不限)"` // 用户数上限
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// TenantUpdateReq 修改租户请求
|
||||
type TenantUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/tenant/update" summary:"修改租户" permission:"sys:tenant:update" log:"租户管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"租户ID"` // 租户ID
|
||||
Name string `json:"name" v:"required#请输入租户名称" dc:"租户名称"` // 租户名称
|
||||
Code string `json:"code" dc:"租户编码(不允许修改)"` // 租户编码,不允许修改
|
||||
Contact string `json:"contact" dc:"联系人"` // 联系人
|
||||
Mobile string `json:"mobile" v:"phone#手机号格式不正确" dc:"联系电话"` // 联系电话
|
||||
Email string `json:"email" v:"email#邮箱格式不正确" dc:"邮箱"` // 邮箱
|
||||
Address string `json:"address" dc:"地址"` // 地址
|
||||
Logo string `json:"logo" dc:"Logo"` // Logo
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
ExpireTime string `json:"expireTime" dc:"过期时间"` // 过期时间
|
||||
MaxUserNum int `json:"maxUserNum" dc:"用户数上限"` // 用户数上限
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// TenantUpdateRes 修改租户结果
|
||||
type TenantUpdateRes struct{}
|
||||
|
||||
// TenantStatusReq 租户状态请求
|
||||
type TenantStatusReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/tenant/status" summary:"租户状态" permission:"sys:tenant:status" log:"租户管理-设置状态" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"租户ID"` // 租户ID
|
||||
Status int `json:"status" v:"required#缺少状态" dc:"状态:1-正常 2-禁用"` // 状态
|
||||
}
|
||||
|
||||
// TenantStatusRes 租户状态结果
|
||||
type TenantStatusRes struct{}
|
||||
|
||||
// TenantDeleteReq 删除租户请求
|
||||
type TenantDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/tenant/delete/:id" summary:"删除租户" permission:"sys:tenant:delete" log:"租户管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"租户ID"` // 租户ID
|
||||
}
|
||||
|
||||
// TenantDeleteRes 删除租户结果
|
||||
type TenantDeleteRes struct{}
|
||||
|
||||
// TenantBatchDeleteReq 批量删除租户请求
|
||||
type TenantBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/tenant/batchDelete" summary:"批量删除租户" permission:"sys:tenant:batchDelete" log:"租户管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"租户ID列表"` // 租户ID列表
|
||||
}
|
||||
|
||||
// TenantBatchDeleteRes 批量删除结果
|
||||
type TenantBatchDeleteRes struct{}
|
||||
|
||||
// TenantAccountReq 创建租户账号请求
|
||||
// 同时创建租户及其初始管理员账号
|
||||
type TenantAccountReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/tenant/account" summary:"创建租户账号" permission:"sys:tenant:add" log:"租户管理-创建租户账号" logType:"add"`
|
||||
Name string `json:"name" v:"required#请输入租户名称" dc:"租户名称"` // 租户名称
|
||||
Contact string `json:"contact" dc:"联系人"` // 联系人
|
||||
Mobile string `json:"mobile" v:"phone#手机号格式不正确" dc:"联系电话"` // 联系电话
|
||||
Email string `json:"email" v:"email#邮箱格式不正确" dc:"邮箱"` // 邮箱
|
||||
Address string `json:"address" dc:"地址"` // 地址
|
||||
ExpireTime string `json:"expireTime" dc:"过期时间"` // 过期时间
|
||||
MaxUserNum int `json:"maxUserNum" dc:"用户数上限"` // 用户数上限
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
Username string `json:"username" v:"required#请输入管理员账号|length:2,30#账号长度需在2~30位" dc:"初始管理员账号"` // 初始管理员账号
|
||||
Password string `json:"password" v:"required#请输入密码|length:6,32#密码长度需在6~32位" dc:"初始管理员密码"` // 初始管理员密码
|
||||
Realname string `json:"realname" dc:"管理员姓名"` // 管理员姓名
|
||||
}
|
||||
|
||||
// TenantAccountRes 创建租户账号结果
|
||||
type TenantAccountRes struct {
|
||||
TenantId int64 `json:"tenantId"` // 租户ID
|
||||
Code string `json:"code"` // 租户编码
|
||||
UserId int64 `json:"userId"` // 管理员用户ID
|
||||
}
|
||||
|
||||
// TenantUsersReq 查询租户用户请求
|
||||
type TenantUsersReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/tenant/users/:tenantId" summary:"查询租户用户" permission:"sys:tenant:users" log:"租户管理-查询租户用户" logType:"query"`
|
||||
TenantId int64 `json:"tenantId" v:"required#缺少租户ID" dc:"租户ID"` // 租户ID
|
||||
}
|
||||
|
||||
// TenantUserItem 租户用户行数据
|
||||
// 精简结构,仅包含租户用户列表展示所需字段
|
||||
type TenantUserItem struct {
|
||||
Id int64 `json:"id"` // 用户ID
|
||||
Username string `json:"username"` // 用户名
|
||||
Realname string `json:"realname"` // 真实姓名
|
||||
Mobile string `json:"mobile"` // 手机号
|
||||
Email string `json:"email"` // 邮箱
|
||||
Status int `json:"status"` // 状态
|
||||
}
|
||||
|
||||
// TenantUsersRes 查询租户用户结果
|
||||
type TenantUsersRes struct {
|
||||
List []TenantUserItem `json:"list"` // 租户用户列表
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 文件上传模块(存储根目录见 file.uploadDir) ==============================
|
||||
|
||||
// UploadFileReq 上传文件请求
|
||||
// 以 multipart 表单方式提交单个文件
|
||||
type UploadFileReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/upload/uploadFile" summary:"上传文件" permission:"sys:upload:file" log:"文件上传-上传文件" logType:"add"`
|
||||
File *ghttp.UploadFile `p:"file" v:"required#请选择文件" dc:"上传文件"` // 上传文件
|
||||
Type string `json:"type" dc:"类型:images/files/video(前端约定,可空)"` // 文件类型
|
||||
}
|
||||
|
||||
// UploadFileRes 上传文件结果
|
||||
// 供前端编辑器、上传组件使用的文件信息
|
||||
type UploadFileRes struct {
|
||||
OriginalName string `json:"originalName"` // 原始文件名
|
||||
FileExtension string `json:"fileExtension"` // 扩展名
|
||||
FileType string `json:"fileType"` // MIME 类型
|
||||
FileSize int64 `json:"fileSize"` // 文件大小(字节)
|
||||
FileName string `json:"fileName"` // 存储文件名(basename,如 32位随机.png)
|
||||
FilePath string `json:"filePath"` // 相对 uploadDir 的路径(入库形态)
|
||||
FileUrl string `json:"fileUrl"` // 文件访问地址
|
||||
}
|
||||
|
||||
// UploadFilesReq 批量上传文件请求
|
||||
// 以 multipart 表单方式提交多个文件
|
||||
type UploadFilesReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/upload/uploadFiles" summary:"批量上传文件" permission:"sys:upload:files" log:"文件上传-批量上传" logType:"add"`
|
||||
Files []*ghttp.UploadFile `p:"files" v:"required#请选择文件" dc:"上传文件列表"` // 上传文件列表
|
||||
}
|
||||
|
||||
// UploadFilesRes 批量上传文件结果
|
||||
type UploadFilesRes struct {
|
||||
List []UploadFileRes `json:"list"` // 上传文件列表
|
||||
}
|
||||
+285
@@ -0,0 +1,285 @@
|
||||
// +======================================================================
|
||||
// | EasyGoAdmin 企业数字化开发平台 [ 赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2019-2026 半城风雨团队 版权所有
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议: Apache-2.0
|
||||
// | 重要声明: 未经书面许可,不得移除或修改本框架相关版权标识。
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://www.easygoadmin.vip
|
||||
// +----------------------------------------------------------------------
|
||||
// | 研发团队: 小蚂蚁云团队 荣誉出品
|
||||
// +======================================================================
|
||||
// | 版权和免责声明:
|
||||
// | 一、知识产权声明
|
||||
// | 本团队对该软件框架产品(以下简称“本产品”)拥有完整知识产权,包括但不限于商标权、专利权、
|
||||
// | 著作权、商业秘密等。前述权利均受中华人民共和国及相关国际法律法规保护。未经本团队书面授权,
|
||||
// | 任何个人或单位不得基于本产品本身申请任何形式的知识产权。
|
||||
// | 二、使用限制与禁止条款
|
||||
// | 您理解并同意,禁止将本产品用于以下任何行为:
|
||||
// | 1. 任何违反中华人民共和国法律法规的用途;
|
||||
// | 2. 任何侵害他人合法权益(包括但不限于人身权、财产权、知识产权等)的行为;
|
||||
// | 3. 任何危害国家安全、公共利益及社会道德风尚的行为。
|
||||
// | 三、责任豁免
|
||||
// | 因使用本产品而产生的任何损失或法律纠纷(包括但不限于直接损失、间接损失、附带损失、衍生损失
|
||||
// | 以及因违约、侵权等引发的责任),本团队均不承担任何法律责任。若因违规使用本产品导致任何第三
|
||||
// | 方提起索赔或行政机关进行调查,您应独立承担全部责任。
|
||||
// | 四、违约与法律责任
|
||||
// | 如发现任何违反本声明的行为,本团队有权:
|
||||
// | 1. 无条件配合公安机关及其他有权机关的调查取证工作;
|
||||
// | 2. 依法追究相关方的民事责任,并要求赔偿全部损失;
|
||||
// | 3. 保留进一步采取刑事控告等法律措施的权利。
|
||||
// | 五、许可范围说明
|
||||
// | 1、被授权方应视本产品源代码为核心机密信息,负有最高标准的保密与保管义务。禁止以任何形式(包
|
||||
// | 括但不限于直接或间接的分享、复制、传播、分发、转售、出租、开源、反向工程、反编译、反汇编或通
|
||||
// | 过网络服务提供给任何第三方)泄露、披露或处置源代码的全部或部分内容。任何未经授权的复制、使用、
|
||||
// | 传播行为均构成对本团队知识产权的严重侵权,本团队有权依法追究其全部法律责任,并要求赔偿因此造
|
||||
// | 成的一切经济损失及商誉损害。
|
||||
// | 2、本产品仅限于公司或个人在法律允许范围内,用于内部且合规的软件产品研发。具体权利义务以《软件
|
||||
// | 许可协议》附件为准。
|
||||
// +======================================================================
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"github.com/gogf/gf/v2/util/gmeta"
|
||||
)
|
||||
|
||||
// ============================== 用户模块 ==============================
|
||||
|
||||
// UserPageReq 用户分页请求
|
||||
// 支持关键词、姓名、状态、部门、角色、职级、岗位、租户等条件组合查询
|
||||
type UserPageReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/user/page" summary:"用户分页" permission:"sys:user:page" log:"用户管理-查询分页记录" logType:"query"`
|
||||
PageReq // 分页基础参数
|
||||
Keyword string `json:"keyword" dc:"关键词(用户名/姓名/手机号模糊)"` // 关键词,用户名、姓名或手机号模糊匹配
|
||||
Realname string `json:"realname" dc:"姓名模糊"` // 姓名模糊匹配
|
||||
Status int `json:"status" dc:"状态:1-正常 2-禁用"` // 状态
|
||||
DeptId int `json:"deptId" dc:"部门ID"` // 部门ID
|
||||
RoleId int `json:"roleId" dc:"角色ID"` // 角色ID
|
||||
Role int `json:"role" dc:"角色ID(前端参数名兼容)"` // 角色ID,前端参数名兼容
|
||||
LevelId int `json:"levelId" dc:"职级ID"` // 职级ID
|
||||
PositionId int `json:"positionId" dc:"岗位ID"` // 岗位ID
|
||||
TenantId int `json:"tenantId" dc:"租户ID"` // 租户ID
|
||||
}
|
||||
|
||||
// UserRoleRef 用户角色引用
|
||||
// 仅包含角色ID与名称,用于用户详情中的角色输出
|
||||
type UserRoleRef struct {
|
||||
Id int64 `json:"id"` // 角色ID
|
||||
Name string `json:"name"` // 角色名称
|
||||
}
|
||||
|
||||
// UserItem 用户行数据
|
||||
// 用于用户分页列表等场景的用户基础信息
|
||||
type UserItem struct {
|
||||
Id int64 `json:"id"` // 主键ID
|
||||
Username string `json:"username"` // 用户名
|
||||
Code string `json:"code"` // 用户编码
|
||||
Realname string `json:"realname"` // 真实姓名
|
||||
Avatar string `json:"avatar"` // 头像,已补全访问域名
|
||||
Gender int `json:"gender"` // 性别:1-男 2-女 3-保密
|
||||
GenderText string `json:"genderText"` // 性别文本
|
||||
Mobile string `json:"mobile"` // 手机号
|
||||
Email string `json:"email"` // 邮箱
|
||||
Roles []UserRoleRef `json:"roles"` // 角色引用数组
|
||||
City []string `json:"city"` // 省市区街道编码数组
|
||||
LevelName string `json:"levelName"` // 职级名称
|
||||
PositionName string `json:"positionName"` // 岗位名称
|
||||
DeptName string `json:"deptName"` // 部门名称
|
||||
Status int `json:"status"` // 状态:1-正常 2-禁用
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
CreateUser string `json:"createUser"` // 创建人
|
||||
CreateTime *gtime.Time `json:"createTime"` // 创建时间
|
||||
}
|
||||
|
||||
// UserPageRes 用户分页结果
|
||||
type UserPageRes = PageData[UserItem]
|
||||
|
||||
// UserListReq 用户全量列表请求
|
||||
// 用于下拉选择场景,支持关键词与状态过滤
|
||||
type UserListReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/user/list" summary:"用户列表" permission:"sys:user:list" log:"用户管理-查询列表" logType:"query"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
}
|
||||
|
||||
// UserListItem 用户列表行数据
|
||||
// 精简结构,仅包含列表展示所需字段
|
||||
type UserListItem struct {
|
||||
Id int64 `json:"id"` // 用户ID
|
||||
Username string `json:"username"` // 用户名
|
||||
Realname string `json:"realname"` // 真实姓名
|
||||
Role string `json:"role"` // 角色
|
||||
}
|
||||
|
||||
// UserListRes 用户列表结果
|
||||
type UserListRes = []UserListItem
|
||||
|
||||
// UserDetailReq 用户详情请求
|
||||
type UserDetailReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/user/detail/:id" summary:"用户详情" permission:"sys:user:detail" log:"用户管理-查询详情" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"用户ID"` // 用户ID
|
||||
}
|
||||
|
||||
// UserDetailRes 用户详情结果
|
||||
// 满足前端编辑表单契约:roles 为角色ID数组,city 为四级区划编码
|
||||
type UserDetailRes struct {
|
||||
Id int64 `json:"id"` // 用户ID
|
||||
Username string `json:"username"` // 用户名
|
||||
Realname string `json:"realname"` // 真实姓名
|
||||
Avatar string `json:"avatar"` // 头像
|
||||
Gender int `json:"gender"` // 性别:1-男 2-女 3-保密
|
||||
GenderText string `json:"genderText"` // 性别文本
|
||||
Mobile string `json:"mobile"` // 手机号
|
||||
Email string `json:"email"` // 邮箱
|
||||
Roles []int64 `json:"roles"` // 角色ID数组
|
||||
DeptId int `json:"deptId"` // 部门ID
|
||||
LevelId int `json:"levelId"` // 职级ID
|
||||
PositionId int `json:"positionId"` // 岗位ID
|
||||
City []string `json:"city"` // 省市区街道编码数组
|
||||
CityInfo string `json:"cityInfo"` // 省市区信息
|
||||
Address string `json:"address"` // 详细地址
|
||||
Intro string `json:"intro"` // 个人简介
|
||||
Status int `json:"status"` // 状态:1-正常 2-禁用
|
||||
StatusText string `json:"statusText"` // 状态文本
|
||||
Sort int `json:"sort"` // 排序
|
||||
Note string `json:"note"` // 备注
|
||||
}
|
||||
|
||||
// UserAddReq 新增用户请求
|
||||
type UserAddReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/user/add" summary:"新增用户" permission:"sys:user:add" log:"用户管理-新增记录" logType:"add"`
|
||||
Username string `json:"username" v:"required#请输入用户名|length:2,30#用户名长度需在2~30位" dc:"用户名"` // 用户名
|
||||
Password string `json:"password" v:"required#请输入密码|length:6,32#密码长度需在6~32位" dc:"密码"` // 密码
|
||||
Realname string `json:"realname" v:"required#请输入姓名" dc:"姓名"` // 真实姓名
|
||||
Gender int `json:"gender" dc:"性别:1-男 2-女 3-保密"` // 性别
|
||||
Mobile string `json:"mobile" v:"phone#手机号格式不正确" dc:"手机号"` // 手机号
|
||||
Email string `json:"email" v:"email#邮箱格式不正确" dc:"邮箱"` // 邮箱
|
||||
Roles []int64 `json:"roles" dc:"角色ID列表"` // 角色ID列表
|
||||
DeptId int `json:"deptId" dc:"部门ID"` // 部门ID
|
||||
LevelId int `json:"levelId" dc:"职级ID"` // 职级ID
|
||||
PositionId int `json:"positionId" dc:"岗位ID"` // 岗位ID
|
||||
City []string `json:"city" dc:"省市区街道编码数组"` // 省市区街道编码数组
|
||||
CityInfo string `json:"cityInfo" dc:"省市区信息"` // 省市区信息
|
||||
Address string `json:"address" dc:"详细地址"` // 详细地址
|
||||
Avatar string `json:"avatar" dc:"头像"` // 头像
|
||||
Intro string `json:"intro" dc:"个人简介"` // 个人简介
|
||||
Status int `json:"status" dc:"状态:1-正常 2-禁用"` // 状态
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// UserUpdateReq 修改用户请求
|
||||
type UserUpdateReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/user/update" summary:"修改用户" permission:"sys:user:update" log:"用户管理-修改记录" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"用户ID"` // 用户ID
|
||||
Username string `json:"username" v:"required#请输入用户名" dc:"用户名"` // 用户名
|
||||
Password string `json:"password" dc:"密码(留空不修改)"` // 密码,留空不修改
|
||||
Realname string `json:"realname" v:"required#请输入姓名" dc:"姓名"` // 真实姓名
|
||||
Gender int `json:"gender" dc:"性别"` // 性别
|
||||
Mobile string `json:"mobile" v:"phone#手机号格式不正确" dc:"手机号"` // 手机号
|
||||
Email string `json:"email" v:"email#邮箱格式不正确" dc:"邮箱"` // 邮箱
|
||||
Roles []int64 `json:"roles" dc:"角色ID列表"` // 角色ID列表
|
||||
DeptId int `json:"deptId" dc:"部门ID"` // 部门ID
|
||||
LevelId int `json:"levelId" dc:"职级ID"` // 职级ID
|
||||
PositionId int `json:"positionId" dc:"岗位ID"` // 岗位ID
|
||||
City []string `json:"city" dc:"省市区街道编码数组"` // 省市区街道编码数组
|
||||
CityInfo string `json:"cityInfo" dc:"省市区信息"` // 省市区信息
|
||||
Address string `json:"address" dc:"详细地址"` // 详细地址
|
||||
Avatar string `json:"avatar" dc:"头像"` // 头像
|
||||
Intro string `json:"intro" dc:"个人简介"` // 个人简介
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
Sort int `json:"sort" dc:"排序"` // 排序
|
||||
Note string `json:"note" dc:"备注"` // 备注
|
||||
}
|
||||
|
||||
// UserUpdateRes 修改用户结果
|
||||
type UserUpdateRes struct{}
|
||||
|
||||
// UserStatusReq 用户状态请求
|
||||
type UserStatusReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/user/status" summary:"用户状态" permission:"sys:user:status" log:"用户管理-设置状态" logType:"update"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"用户ID"` // 用户ID
|
||||
Status int `json:"status" v:"required#缺少状态" dc:"状态:1-正常 2-禁用"` // 状态
|
||||
}
|
||||
|
||||
// UserStatusRes 用户状态结果
|
||||
type UserStatusRes struct{}
|
||||
|
||||
// UserResetPwdReq 重置用户密码请求
|
||||
type UserResetPwdReq struct {
|
||||
gmeta.Meta `method:"put" path:"/api/user/resetPwd" summary:"重置用户密码" permission:"sys:user:resetPwd" log:"用户管理-重置密码" logType:"reset"`
|
||||
UserId int64 `json:"userId" v:"required#缺少用户ID" dc:"用户ID"` // 用户ID
|
||||
Password string `json:"password" v:"length:6,32#密码长度需在6~32位" dc:"新密码(为空时重置为系统默认密码 DEFAULT_PASSWORD)"` // 新密码
|
||||
}
|
||||
|
||||
// UserResetPwdRes 重置用户密码结果
|
||||
type UserResetPwdRes struct{}
|
||||
|
||||
// UserDeleteReq 删除用户请求
|
||||
type UserDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/user/delete/:id" summary:"删除用户" permission:"sys:user:delete" log:"用户管理-删除记录" logType:"delete"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"用户ID"` // 用户ID
|
||||
}
|
||||
|
||||
// UserDeleteRes 删除用户结果
|
||||
type UserDeleteRes struct{}
|
||||
|
||||
// UserBatchDeleteReq 批量删除用户请求
|
||||
type UserBatchDeleteReq struct {
|
||||
gmeta.Meta `method:"delete" path:"/api/user/batchDelete" summary:"批量删除用户" permission:"sys:user:batchDelete" log:"用户管理-批量删除记录" logType:"delete"`
|
||||
Ids []int64 `json:"ids" v:"required#请选择要删除的记录" dc:"用户ID列表"` // 用户ID列表
|
||||
}
|
||||
|
||||
// UserBatchDeleteRes 批量删除结果
|
||||
type UserBatchDeleteRes struct{}
|
||||
|
||||
// UserImportReq 导入用户请求
|
||||
// 上传 xls/xlsx 文件进行数据导入
|
||||
type UserImportReq struct {
|
||||
gmeta.Meta `method:"post" path:"/api/user/import" summary:"导入用户" permission:"sys:user:import" log:"用户管理-导入数据" logType:"import"`
|
||||
File *ghttp.UploadFile `p:"file" v:"required#请选择文件" dc:"xls/xlsx 文件"` // 上传文件
|
||||
}
|
||||
|
||||
// UserImportRes 导入结果
|
||||
// 返回导入总数、成功数、失败数及失败原因
|
||||
type UserImportRes struct {
|
||||
Total int `json:"total"` // 导入总数
|
||||
Success int `json:"success"` // 成功数
|
||||
Failed int `json:"failed"` // 失败数
|
||||
Reasons []string `json:"reasons"` // 失败原因列表
|
||||
}
|
||||
|
||||
// UserExportReq 导出用户请求
|
||||
// 按查询条件导出符合条件的记录
|
||||
type UserExportReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/user/export" summary:"导出用户" permission:"sys:user:export" log:"用户管理-导出数据" logType:"export"`
|
||||
Keyword string `json:"keyword" dc:"关键词"` // 关键词
|
||||
Realname string `json:"realname" dc:"姓名模糊"` // 姓名模糊匹配
|
||||
Status int `json:"status" dc:"状态"` // 状态
|
||||
}
|
||||
|
||||
// UserExportRes 导出结果
|
||||
// data 直接为导出文件的访问地址
|
||||
type UserExportRes = string
|
||||
|
||||
// UserDocumentReq 用户打印信息请求
|
||||
type UserDocumentReq struct {
|
||||
gmeta.Meta `method:"get" path:"/api/user/document/:id" summary:"用户打印信息" permission:"sys:user:detail" log:"用户管理-查询打印信息" logType:"query"`
|
||||
Id int64 `json:"id" v:"required#缺少ID" dc:"用户ID"` // 用户ID
|
||||
}
|
||||
|
||||
// UserDocumentRes 用户打印信息结果
|
||||
// 在用户详情基础上追加关联的角色、部门、职级、岗位名称
|
||||
type UserDocumentRes struct {
|
||||
UserDetailRes
|
||||
RoleNames []string `json:"roleNames"` // 角色名称列表
|
||||
DeptName string `json:"deptName"` // 部门名称
|
||||
LevelName string `json:"levelName"` // 职级名称
|
||||
PositionName string `json:"positionName"` // 岗位名称
|
||||
}
|
||||
Reference in New Issue
Block a user