做字典管理
This commit is contained in:
@@ -14,6 +14,7 @@ func Register() {
|
||||
RegisterPaymentRoutes()
|
||||
RegisterProductRoutes()
|
||||
RegisterWechatMpRoutes()
|
||||
RegisterDictRoutes()
|
||||
}
|
||||
|
||||
// RegisterProductRoutes 注册租户端「产品购买」路由。
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package backend
|
||||
|
||||
import (
|
||||
"server/controllers"
|
||||
|
||||
beego "github.com/beego/beego/v2/server/web"
|
||||
)
|
||||
|
||||
// RegisterDictRoutes 注册租户端数据字典路由(表结构见 docs/sql/create_dict.sql)。
|
||||
// 租户隔离由 JWT 里的租户ID 完成,前端不传 tenant_id。
|
||||
func RegisterDictRoutes() {
|
||||
// 字典列表(字典类型)
|
||||
beego.Router("/backend/dict/types", &controllers.BackendDictController{}, "get:ListTypes;post:CreateType")
|
||||
beego.Router("/backend/dict/types/:id", &controllers.BackendDictController{}, "put:UpdateType;delete:DeleteType")
|
||||
|
||||
// 字典项
|
||||
beego.Router("/backend/dict/items", &controllers.BackendDictController{}, "get:ListItems;post:CreateItem")
|
||||
beego.Router("/backend/dict/items/:id", &controllers.BackendDictController{}, "put:UpdateItem;delete:DeleteItem")
|
||||
beego.Router("/backend/dict/items/:id/status", &controllers.BackendDictController{}, "post:ToggleItemStatus")
|
||||
|
||||
// 业务读取:单个编码 / 批量(指定编码)/ 全量(前端预热)
|
||||
beego.Router("/backend/dict/options/:code", &controllers.BackendDictController{}, "get:Options")
|
||||
beego.Router("/backend/dict/options", &controllers.BackendDictController{}, "get:OptionsAll;post:OptionsBatch")
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package backend
|
||||
|
||||
import "testing"
|
||||
|
||||
// TestRegisterDictRoutes 确认字典路由能完成注册且不与既有路由冲突。
|
||||
// beego 在注册重复/歧义路由或非法方法名时会 panic,这里通过实际注册来兜住这类错误。
|
||||
func TestRegisterDictRoutes(t *testing.T) {
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
t.Fatalf("注册租户端字典路由失败: %v", r)
|
||||
}
|
||||
}()
|
||||
|
||||
RegisterDictRoutes()
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package platform
|
||||
|
||||
import (
|
||||
"server/controllers"
|
||||
|
||||
beego "github.com/beego/beego/v2/server/web"
|
||||
)
|
||||
|
||||
// RegisterDictRoutes 注册平台端数据字典路由(表结构见 docs/sql/create_dict.sql)。
|
||||
func RegisterDictRoutes() {
|
||||
// 字典列表(字典类型)
|
||||
beego.Router("/platform/dict/types", &controllers.PlatformDictController{}, "get:ListTypes;post:CreateType")
|
||||
beego.Router("/platform/dict/types/:id", &controllers.PlatformDictController{}, "put:UpdateType;delete:DeleteType")
|
||||
|
||||
// 字典项
|
||||
beego.Router("/platform/dict/items", &controllers.PlatformDictController{}, "get:ListItems;post:CreateItem")
|
||||
beego.Router("/platform/dict/items/:id", &controllers.PlatformDictController{}, "put:UpdateItem;delete:DeleteItem")
|
||||
beego.Router("/platform/dict/items/:id/status", &controllers.PlatformDictController{}, "post:ToggleItemStatus")
|
||||
|
||||
// 业务读取:单个编码 / 批量(指定编码)/ 全量(前端预热)
|
||||
beego.Router("/platform/dict/options/:code", &controllers.PlatformDictController{}, "get:Options")
|
||||
beego.Router("/platform/dict/options", &controllers.PlatformDictController{}, "get:OptionsAll;post:OptionsBatch")
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package platform
|
||||
|
||||
import "testing"
|
||||
|
||||
// TestRegisterDictRoutes 确认字典路由能完成注册且不与既有路由冲突。
|
||||
// beego 在注册重复/歧义路由或非法方法名时会 panic,这里通过实际注册来兜住这类错误。
|
||||
func TestRegisterDictRoutes(t *testing.T) {
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
t.Fatalf("注册平台端字典路由失败: %v", r)
|
||||
}
|
||||
}()
|
||||
|
||||
RegisterDictRoutes()
|
||||
}
|
||||
@@ -14,6 +14,9 @@ func Register() {
|
||||
// 微信公众号(服务号):配置 / 绑定 / 粉丝 / 推送 / 微信服务器回调
|
||||
RegisterWechatMpRoutes()
|
||||
|
||||
// 数据字典(字典列表 / 字典项)
|
||||
RegisterDictRoutes()
|
||||
|
||||
// 统一认证中心 - 租户登录策略配置
|
||||
beego.Router("/platform/authConfig/detail", &controllers.PlatformAuthConfigController{}, "get:Detail")
|
||||
beego.Router("/platform/authConfig/save", &controllers.PlatformAuthConfigController{}, "post:Save")
|
||||
|
||||
Reference in New Issue
Block a user