first commit

This commit is contained in:
2026-02-17 13:06:23 +08:00
commit 7cbd3d061d
349 changed files with 126558 additions and 0 deletions

65
api/swagger/callback.go Normal file
View File

@@ -0,0 +1,65 @@
package swagger
import (
"reflect"
"xiawan/wx/api/req"
)
// 为避免自动分析控制器失败手动指定Swagger定义
func init() {
// 添加回调API的Swagger定义
// 使用特殊的注册函数确保这些API放在最前面
RegisterCallbackAPI("/message/SetCallback", "post", "设置消息回调", req.MessageCallbackConfigModel{})
RegisterCallbackAPI("/message/GetCallback", "get", "获取消息回调配置", nil)
RegisterCallbackAPI("/message/DeleteCallback", "get", "删除消息回调配置", nil)
// 手动注册回调模型
RegisterModel(req.MessageCallbackConfigModel{})
RegisterModel(req.MessageCallbackPayload{})
}
// RegisterCallbackAPI 注册回调API到Swagger文档并设置优先显示
func RegisterCallbackAPI(path, method, summary string, model interface{}) {
if manualAPIs[path] == nil {
manualAPIs[path] = make(map[string]SwgMap)
}
params := []SwgMap{
{
"in": "query",
"name": "key",
"type": "string",
"description": "账号唯一标识",
},
}
// 如果模型不为空,添加请求体参数
if model != nil {
modelType := reflect.TypeOf(model)
modelName := modelType.Name()
if modelName == "" && modelType.Kind() == reflect.Ptr {
modelName = modelType.Elem().Name()
}
params = append(params, SwgMap{
"in": "body",
"name": "body",
"description": "请求参数",
"schema": SwgMap{
"$ref": "#/definitions/" + modelName,
},
})
}
// 使用特殊的标签"消息回调"
manualAPIs[path][method] = SwgMap{
"summary": summary,
"parameters": params,
"responses": SwgMap{
"200": SwgMap{
"description": "",
},
},
"tags": []string{"消息回调"},
}
}