七月迭代短暂完结,还有很多后端的关键东西没有弄,这是一版赶时间做的东西
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m26s

This commit is contained in:
2026-07-25 17:06:58 +08:00
parent ad9f613dd6
commit 73f5125d3d
249 changed files with 17137 additions and 877 deletions

View File

@@ -0,0 +1,72 @@
package dto
import "time"
// SaveWeComApplicationRequest 保存企业微信自建应用请求。
type SaveWeComApplicationRequest struct {
CorpID string `json:"corp_id" validate:"required,min=1,max=64" description:"企业微信企业 ID"`
AgentID int64 `json:"agent_id" validate:"required,gt=0" description:"企业微信自建应用 AgentID"`
Name string `json:"name" validate:"required,min=1,max=100" description:"应用展示名称"`
Secret string `json:"secret" validate:"required,min=1,max=512" description:"应用 Secret管理端使用明文传入服务端加密保存"`
CallbackToken string `json:"callback_token" validate:"required,min=1,max=512" description:"回调 Token管理端使用明文传入服务端加密保存"`
EncodingAESKey string `json:"encoding_aes_key" validate:"required,len=43" description:"回调 EncodingAESKey管理端使用明文传入服务端加密保存"`
Status int `json:"status" validate:"oneof=0 1" enum:"0,1" description:"状态 (0:禁用, 1:启用)"`
}
// WeComApplicationListRequest 查询企业微信应用配置列表请求。
type WeComApplicationListRequest struct {
Page int `json:"page" query:"page" validate:"omitempty,min=1" minimum:"1" default:"1" description:"页码,默认 1"`
PageSize int `json:"page_size" query:"page_size" validate:"omitempty,min=1,max=100" minimum:"1" maximum:"100" default:"20" description:"每页数量,默认 20最大 100"`
}
// WeComApplicationResponse 企业微信应用配置响应,仅允许超级管理员读取明文凭据。
type WeComApplicationResponse struct {
ID uint `json:"id" description:"应用配置 ID"`
CorpID string `json:"corp_id" description:"企业微信企业 ID"`
AgentID int64 `json:"agent_id" description:"企业微信自建应用 AgentID"`
Name string `json:"name" description:"应用展示名称"`
Secret string `json:"secret" description:"应用 Secret 明文,仅超级管理员可见"`
CallbackToken string `json:"callback_token" description:"回调 Token 明文,仅超级管理员可见"`
EncodingAESKey string `json:"encoding_aes_key" description:"回调 EncodingAESKey 明文,仅超级管理员可见"`
DefaultCreatorUserID string `json:"default_creator_userid" description:"代理等非企微账号发起审批时使用的默认企微成员 userid"`
DefaultCreatorName string `json:"default_creator_name" description:"默认企微审批发起人姓名快照"`
Status int `json:"status" description:"状态 (0:禁用, 1:启用)"`
StatusName string `json:"status_name" description:"状态名称(中文)"`
CredentialsSet bool `json:"credentials_set" description:"Secret、回调 Token 和 EncodingAESKey 是否均已配置"`
LastConnectedAt *time.Time `json:"last_connected_at" description:"最近一次成功取得 access_token 的时间"`
CreatedAt time.Time `json:"created_at" description:"创建时间"`
UpdatedAt time.Time `json:"updated_at" description:"更新时间"`
}
// SaveWeComDefaultCreatorRequest 保存企业微信应用默认审批发起人请求。
type SaveWeComDefaultCreatorRequest struct {
UserID string `json:"userid" validate:"required,min=1,max=64" description:"从应用当前可见成员中选择的默认发起人 userid"`
}
// SaveWeComDefaultCreatorParams 保存默认审批发起人的路径与请求参数。
type SaveWeComDefaultCreatorParams struct {
ID uint `path:"id" required:"true" description:"企业微信应用配置 ID"`
SaveWeComDefaultCreatorRequest
}
// WeComApplicationListResponse 企业微信应用列表响应。
type WeComApplicationListResponse struct {
Items []WeComApplicationResponse `json:"items" description:"企业微信应用配置列表"`
Total int64 `json:"total" description:"总数量"`
Page int `json:"page" description:"当前页码"`
PageSize int `json:"page_size" description:"每页数量"`
}
// WeComConnectionTestResponse 企业微信连接测试响应。
type WeComConnectionTestResponse struct {
Success bool `json:"success" description:"是否成功取得 access_token"`
}
// WeComApprovalCallbackRequest 企业微信审批回调路径与签名参数。
type WeComApprovalCallbackRequest struct {
ApplicationID uint `path:"application_id" required:"true" minimum:"1" description:"企业微信应用配置 ID"`
MsgSignature string `query:"msg_signature" required:"true" description:"企业微信回调消息签名"`
Timestamp string `query:"timestamp" required:"true" description:"企业微信回调时间戳"`
Nonce string `query:"nonce" required:"true" description:"企业微信回调随机串"`
EchoStr string `query:"echostr" description:"GET 回调地址验证使用的加密随机串"`
}