This commit is contained in:
awei
2025-03-03 17:43:50 +08:00
commit 113756eaae
1497 changed files with 127997 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
package render
import "bbs-go/internal/models"
func BuildMenu(element *models.Menu) models.MenuResponse {
item := models.MenuResponse{
Id: element.Id,
Type: element.Type,
Name: element.Name,
Title: element.Title,
Icon: element.Icon,
Path: element.Path,
Component: element.Component,
SortNo: element.SortNo,
Status: element.Status,
CreateTime: element.CreateTime,
UpdateTime: element.UpdateTime,
}
if element.ParentId > 0 {
item.ParentId = &element.ParentId
}
return item
}
func BuildMenuTree(parentId int64, list []models.Menu) (ret []models.MenuTreeResponse) {
return _BuildMenuTree(parentId, 1, list)
}
func _BuildMenuTree(parentId int64, level int, list []models.Menu) (ret []models.MenuTreeResponse) {
for _, element := range list {
if element.ParentId == parentId {
menu := BuildMenu(&element)
ret = append(ret, models.MenuTreeResponse{
MenuResponse: menu,
Level: level,
Children: _BuildMenuTree(element.Id, level+1, list),
})
}
}
return
}
func BuildMenuSimpleTree(parentId int64, list []models.Menu) (ret []models.TreeNode) {
return _BuildMenuSimpleTree(parentId, list)
}
func _BuildMenuSimpleTree(parentId int64, list []models.Menu) (ret []models.TreeNode) {
for _, element := range list {
if element.ParentId == parentId {
ret = append(ret, models.TreeNode{
Id: element.Id,
Key: element.Id,
Title: element.Title,
Children: _BuildMenuSimpleTree(element.Id, list),
})
}
}
return
}