增加新布局
This commit is contained in:
@@ -33,79 +33,6 @@ func (c *MenuController) GetAllMenus() {
|
||||
c.ServeJSON()
|
||||
}
|
||||
|
||||
// 获取顶级菜单
|
||||
// GetTopLevelMenus 获取顶级菜单
|
||||
func (c *MenuController) GetTopLevelMenus() {
|
||||
menus, err := models.GetTopLevelMenus()
|
||||
|
||||
if err != nil {
|
||||
c.Data["json"] = map[string]interface{}{
|
||||
"success": false,
|
||||
"message": "获取顶级菜单失败",
|
||||
"error": err.Error(),
|
||||
}
|
||||
} else {
|
||||
c.Data["json"] = map[string]interface{}{
|
||||
"success": true,
|
||||
"message": "获取顶级菜单成功",
|
||||
"data": menus,
|
||||
}
|
||||
}
|
||||
|
||||
c.ServeJSON()
|
||||
}
|
||||
|
||||
// GetActiveMenus 获取启用的菜单(用于前端路由生成)
|
||||
func (c *MenuController) GetActiveMenus() {
|
||||
menus, err := models.GetActiveMenus()
|
||||
|
||||
if err != nil {
|
||||
c.Data["json"] = map[string]interface{}{
|
||||
"success": false,
|
||||
"message": "获取菜单失败",
|
||||
"error": err.Error(),
|
||||
}
|
||||
} else {
|
||||
c.Data["json"] = map[string]interface{}{
|
||||
"success": true,
|
||||
"message": "获取菜单成功",
|
||||
"data": menus,
|
||||
}
|
||||
}
|
||||
|
||||
c.ServeJSON()
|
||||
}
|
||||
|
||||
// GetMenusByParentId 根据ParentID获取菜单
|
||||
func (c *MenuController) GetMenusByParentId() {
|
||||
parentId, err := c.GetInt(":parentId")
|
||||
if err != nil {
|
||||
c.Data["json"] = map[string]interface{}{
|
||||
"success": false,
|
||||
"message": "参数错误",
|
||||
}
|
||||
c.ServeJSON()
|
||||
return
|
||||
}
|
||||
|
||||
menus, err := models.GetMenusByParentId(parentId)
|
||||
if err != nil {
|
||||
c.Data["json"] = map[string]interface{}{
|
||||
"success": false,
|
||||
"message": "获取子菜单失败",
|
||||
"error": err.Error(),
|
||||
}
|
||||
} else {
|
||||
c.Data["json"] = map[string]interface{}{
|
||||
"success": true,
|
||||
"message": "获取子菜单成功",
|
||||
"data": menus,
|
||||
}
|
||||
}
|
||||
|
||||
c.ServeJSON()
|
||||
}
|
||||
|
||||
// CreateMenu 创建新菜单
|
||||
func (c *MenuController) CreateMenu() {
|
||||
var menu models.Menu
|
||||
|
||||
+19
-39
@@ -6,7 +6,7 @@ import (
|
||||
"github.com/beego/beego/v2/client/orm"
|
||||
)
|
||||
|
||||
// Menu 菜单模型(增强版)
|
||||
// Menu 菜单模型
|
||||
type Menu struct {
|
||||
Id int `orm:"auto"`
|
||||
Name string `orm:"size(100)"`
|
||||
@@ -30,38 +30,29 @@ func (m *Menu) TableName() string {
|
||||
}
|
||||
|
||||
// GetAllMenus 获取所有菜单
|
||||
func GetAllMenus() ([]*Menu, error) {
|
||||
func GetAllMenus() ([]map[string]interface{}, error) {
|
||||
o := orm.NewOrm()
|
||||
var menus []*Menu
|
||||
_, err := o.QueryTable("yz_menus").OrderBy("Order").All(&menus)
|
||||
return menus, err
|
||||
}
|
||||
|
||||
// GetTopLevelMenus
|
||||
func GetTopLevelMenus() ([]*Menu, error) {
|
||||
o := orm.NewOrm()
|
||||
var menus []*Menu
|
||||
_, err := o.QueryTable("yz_menus").Filter("parent_id", 0).OrderBy("Order").All(&menus)
|
||||
return menus, err
|
||||
}
|
||||
|
||||
// GetActiveMenus 获取启用的菜单(状态为1)
|
||||
func GetActiveMenus() ([]*Menu, error) {
|
||||
o := orm.NewOrm()
|
||||
var menus []*Menu
|
||||
_, err := o.QueryTable("yz_menus").Filter("status", 1).OrderBy("Order").All(&menus)
|
||||
return menus, err
|
||||
}
|
||||
|
||||
// GetMenusByParentId
|
||||
func GetMenusByParentId(parentId int) ([]*Menu, error) {
|
||||
o := orm.NewOrm()
|
||||
var menus []*Menu
|
||||
_, err := o.QueryTable("yz_menus").Filter("parent_id", parentId).OrderBy("Order").All(&menus)
|
||||
_, err := o.QueryTable("yz_menus").Filter("Status", 1).All(&menus)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return menus, nil
|
||||
result := make([]map[string]interface{}, 0, len(menus))
|
||||
for _, m := range menus {
|
||||
item := map[string]interface{}{
|
||||
"id": m.Id,
|
||||
"name": m.Name,
|
||||
"path": m.Path,
|
||||
"parentId": m.ParentId,
|
||||
"icon": m.Icon,
|
||||
"order": m.Order,
|
||||
"componentPath": m.ComponentPath,
|
||||
"isExternal": m.IsExternal,
|
||||
"externalUrl": m.ExternalUrl,
|
||||
}
|
||||
result = append(result, item)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// AddMenu 添加新菜单
|
||||
@@ -84,14 +75,3 @@ func DeleteMenu(id int) error {
|
||||
_, err := o.Delete(&Menu{Id: id})
|
||||
return err
|
||||
}
|
||||
|
||||
// GetMenuById 根据ID获取单个菜单
|
||||
func GetMenuById(id int) (*Menu, error) {
|
||||
o := orm.NewOrm()
|
||||
var menu Menu
|
||||
err := o.QueryTable("yz_menus").Filter("id", id).One(&menu)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &menu, nil
|
||||
}
|
||||
|
||||
@@ -101,10 +101,7 @@ func init() {
|
||||
beego.Router("/api/knowledge/tag/add", &controllers.KnowledgeController{}, "post:AddTag")
|
||||
|
||||
// 手动配置特殊路由(无法通过自动路由处理的)
|
||||
beego.Router("/api/menus/active", &controllers.MenuController{}, "get:GetActiveMenus")
|
||||
beego.Router("/api/allmenu", &controllers.MenuController{}, "get:GetAllMenus")
|
||||
beego.Router("/api/menus/top-level", &controllers.MenuController{}, "get:GetTopLevelMenus")
|
||||
beego.Router("/api/menus/parent/:parentId", &controllers.MenuController{}, "get:GetMenusByParentId")
|
||||
beego.Router("/api/program-categories/public", &controllers.ProgramCategoryController{}, "get:GetProgramCategoriesPublic")
|
||||
beego.Router("/api/program-infos/public", &controllers.ProgramInfoController{}, "get:GetProgramInfosPublic")
|
||||
beego.Router("/api/files/public", &controllers.FileController{}, "get:GetFilesPublic")
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 51 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 122 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 101 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 95 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
Reference in New Issue
Block a user