优化小程序部分

This commit is contained in:
hero920103 committed 2026-10-31 19:17:37 +08:00
1 parent 727319a6eb
commit d4e89788c5
46 files changed
+4906 -63

No files matched your search

+3
View File
@@ -14,6 +14,9 @@ func Register() {
// 微信公众号(服务号):配置 / 绑定 / 粉丝 / 推送 / 微信服务器回调
RegisterWechatMpRoutes()
// 微信小程序:应用配置 / 消息推送回调 / 消息推送参数
RegisterWechatMiniRoutes()
// 数据字典(字典列表 / 字典项)
RegisterDictRoutes()
+32
View File
@@ -0,0 +1,32 @@
package platform
import (
"server/controllers"
beego "github.com/beego/beego/v2/server/web"
)
// RegisterWechatMiniRoutes 注册微信小程序相关路由。
// 注意:/api/wechat/mini/callback 供微信服务器回调,无平台鉴权(控制器内完成签名校验)。
func RegisterWechatMiniRoutes() {
// 微信消息推送回调(URL 填入小程序后台「开发管理 → 开发设置 → 消息推送」)
beego.Router("/api/wechat/mini/callback", &controllers.WechatMiniCallbackController{}, "get:Callback;post:Callback")
// 小程序配置(单行兼容端点;多应用管理见下)
beego.Router("/platform/wechatMini/config", &controllers.PlatformWechatMiniController{}, "get:GetConfig;post:SaveConfig")
// 小程序多应用管理
beego.Router("/platform/wechatMini/apps", &controllers.PlatformWechatMiniController{}, "get:ListApps")
beego.Router("/platform/wechatMini/app/save", &controllers.PlatformWechatMiniController{}, "post:SaveApp")
beego.Router("/platform/wechatMini/app/delete/:id", &controllers.PlatformWechatMiniController{}, "post:DeleteApp")
// 消息推送配置(Token / EncodingAESKey / 加解密方式 / 数据格式 / 自动回复文案)
beego.Router("/platform/wechatMini/app/push", &controllers.PlatformWechatMiniController{}, "get:GetPushConfig")
beego.Router("/platform/wechatMini/app/push/save", &controllers.PlatformWechatMiniController{}, "post:SavePushConfig")
beego.Router("/platform/wechatMini/app/push/generate", &controllers.PlatformWechatMiniController{}, "post:GeneratePushSecret")
// 订阅消息模板(小程序后台「功能 → 订阅消息」选用模板后在此登记)
beego.Router("/platform/wechatMini/templates", &controllers.PlatformWechatMiniController{}, "get:ListTemplates")
beego.Router("/platform/wechatMini/template/save", &controllers.PlatformWechatMiniController{}, "post:SaveTemplate")
beego.Router("/platform/wechatMini/template/delete/:id", &controllers.PlatformWechatMiniController{}, "post:DeleteTemplate")
beego.Router("/platform/wechatMini/template/test", &controllers.PlatformWechatMiniController{}, "post:TestTemplate")
}
+15
View File
@@ -0,0 +1,15 @@
package platform
import "testing"
// TestRegisterWechatMiniRoutes 确认小程序路由能完成注册且不与既有路由冲突。
// beego 在注册重复/歧义路由或非法方法名时会 panic,这里通过实际注册来兜住这类错误。
func TestRegisterWechatMiniRoutes(t *testing.T) {
defer func() {
if r := recover(); r != nil {
t.Fatalf("注册平台端小程序路由失败: %v", r)
}
}()
RegisterWechatMiniRoutes()
}
-7
View File
@@ -38,11 +38,4 @@ func RegisterWechatMpRoutes() {
// 消息推送(认证后可用:提醒 / 公告)
beego.Router("/platform/wechatMp/push", &controllers.PlatformWechatMpController{}, "post:Push")
beego.Router("/platform/wechatMp/push/test", &controllers.PlatformWechatMpController{}, "post:PushTest")
// 小程序配置(一键登录开关;登录端点在认证中心 /auth/wechat/miniapp/*)
beego.Router("/platform/wechatMini/config", &controllers.PlatformWechatMiniController{}, "get:GetConfig;post:SaveConfig")
// 小程序多应用管理(支持配置多个小程序)
beego.Router("/platform/wechatMini/apps", &controllers.PlatformWechatMiniController{}, "get:ListApps")
beego.Router("/platform/wechatMini/app/save", &controllers.PlatformWechatMiniController{}, "post:SaveApp")
beego.Router("/platform/wechatMini/app/delete/:id", &controllers.PlatformWechatMiniController{}, "post:DeleteApp")
}