七月迭代短暂完结,还有很多后端的关键东西没有弄,这是一版赶时间做的东西
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

86
pkg/constants/wecom.go Normal file
View File

@@ -0,0 +1,86 @@
package constants
import "time"
const (
// IntegrationProviderWeCom 表示企业微信外部系统。
IntegrationProviderWeCom = "wecom"
// IntegrationOperationWeComAccessToken 表示获取企业微信应用 access_token。
IntegrationOperationWeComAccessToken = "get_access_token"
// IntegrationOperationWeComVisibleMembers 表示获取应用可见成员。
IntegrationOperationWeComVisibleMembers = "list_visible_members"
// IntegrationOperationWeComTemplateDetail 表示获取企微审批模板详情。
IntegrationOperationWeComTemplateDetail = "get_template_detail"
// IntegrationOperationWeComAttachmentUpload 表示上传审批附件临时素材。
IntegrationOperationWeComAttachmentUpload = "upload_approval_attachment"
// IntegrationOperationWeComApprovalSubmit 表示提交企业微信审批申请。
IntegrationOperationWeComApprovalSubmit = "submit_approval"
// IntegrationOperationWeComApprovalCallback 表示接收企业微信审批状态回调。
IntegrationOperationWeComApprovalCallback = "approval_callback"
// IntegrationOperationWeComApprovalDetail 表示获取企业微信审批详情。
IntegrationOperationWeComApprovalDetail = "get_approval_detail"
// IntegrationOperationWeComApprovalInfo 表示按提交时间窗批量获取企业微信审批单号。
IntegrationOperationWeComApprovalInfo = "get_approval_info"
// WeComApplicationResourceType 表示企业微信应用配置资源。
WeComApplicationResourceType = "wecom_application"
// WeComApprovalSceneResourceType 表示企业微信审批场景配置资源。
WeComApprovalSceneResourceType = "wecom_approval_scene"
// WeComApprovalInstanceResourceType 表示企业微信审批申请资源。
WeComApprovalInstanceResourceType = "wecom_approval"
// WeComTokenRefreshAdvance 表示 access_token 提前刷新的安全窗口。
WeComTokenRefreshAdvance = 5 * time.Minute
// WeComTokenLockTTL 表示单应用并发回源短锁有效期。
WeComTokenLockTTL = 10 * time.Second
// WeComTokenWaitTimeout 表示等待其他实例完成 token 回源的最长时间。
WeComTokenWaitTimeout = 2 * time.Second
// WeComTokenWaitPollInterval 表示等待其他实例回填 token 时的轮询间隔。
WeComTokenWaitPollInterval = 100 * time.Millisecond
// WeComMaxResponseBodyBytes 表示企业微信响应正文允许读取的最大字节数。
WeComMaxResponseBodyBytes int64 = 1 << 20
// WeComDefaultHTTPTimeout 表示企业微信外呼默认超时时间。
WeComDefaultHTTPTimeout = 10 * time.Second
// WeComDirectoryMaxResponseBodyBytes 表示通讯录响应正文允许读取的最大字节数。
WeComDirectoryMaxResponseBodyBytes int64 = 10 << 20
// WeComRootDepartmentID 表示企业微信根部门 ID。
WeComRootDepartmentID int64 = 1
// WeComMemberSyncBatchSize 表示可见成员快照批量写入大小。
WeComMemberSyncBatchSize = 500
// WeComApprovalMaxAttachmentCount 表示单张企微审批单最多允许的附件数量。
WeComApprovalMaxAttachmentCount = 6
// WeComApprovalMaxAttachmentBytes 表示企微普通文件临时素材最大字节数。
WeComApprovalMaxAttachmentBytes int64 = 20 << 20
// WeComApprovalInfoMaxPageSize 表示批量获取审批单号接口单页上限。
WeComApprovalInfoMaxPageSize = 100
// WeComApprovalInfoMaxWindow 表示批量获取审批单号接口允许的最大时间跨度。
WeComApprovalInfoMaxWindow = 31 * 24 * time.Hour
// WeComApprovalRecoveryWindow 表示结果未知时围绕实际提交时刻查询的保守时间窗半径。
WeComApprovalRecoveryWindow = 5 * time.Minute
// WeComApprovalSendingLease 表示提交中记录在进入未知恢复前允许占用的最长时间。
WeComApprovalSendingLease = 5 * time.Minute
// WeComApprovalPollingInterval 表示未终态审批详情的最短轮询间隔。
WeComApprovalPollingInterval = 2 * time.Minute
// WeComApprovalRecoveryBatchSize 表示单次恢复扫描的本地记录上限。
WeComApprovalRecoveryBatchSize = 100
// WeComApprovalUnknownRecoveryBatchSize 表示单轮结果未知外部查询的记录上限。
WeComApprovalUnknownRecoveryBatchSize = 10
)
const (
// WeComCreatorSourceBound 表示使用系统账号绑定的企微成员发起。
WeComCreatorSourceBound = "bound"
// WeComCreatorSourceDefault 表示使用应用配置的默认成员发起。
WeComCreatorSourceDefault = "default"
)
const (
// WeComSubmissionStatusReady 表示企微审批等待提交。
WeComSubmissionStatusReady = 0
// WeComSubmissionStatusSending 表示提交请求已被 Worker 领取,禁止并发重发。
WeComSubmissionStatusSending = 1
// WeComSubmissionStatusSubmitted 表示企微已返回审批单号。
WeComSubmissionStatusSubmitted = 2
// WeComSubmissionStatusFailed 表示企微明确确认提交失败。
WeComSubmissionStatusFailed = 3
// WeComSubmissionStatusUnknown 表示请求可能已到达企微但结果未知。
WeComSubmissionStatusUnknown = 4
)