2023-09-28 08:40:43 +08:00

60 lines
2.0 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package dto
import (
"fmt"
"hospital-admin-api/api/model"
)
type AdminMenuDto struct {
MenuId string `json:"menu_id"`
MenuName string `json:"menu_name"` // 菜单名称
MenuTitle string `json:"menu_title"` // 菜单名称
ParentId string `json:"parent_id"` // 父菜单ID0表示一级
MenuStatus int `json:"menu_status"` // 菜单状态0:隐藏 1:正常)此优先级最高
MenuType int `json:"menu_type"` // 菜单类型1:模块 2:菜单 3:按钮)
Permission string `json:"permission"` // 标识
OrderNum int `json:"order_num"` // 显示顺序
Icon string `json:"icon"` // 图标地址
Path string `json:"path"` // 页面地址(#表示当前页)
Component string `json:"component"` // 组件名称
Api []*AdminMenuApiDto `json:"api"` // 接口数据
Apis []string `json:"apis"` // 接口数据
Children []*AdminMenuDto `json:"children"` // 下级页面
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
}
func GetAdminMenuDto(m *model.AdminMenu) *AdminMenuDto {
return &AdminMenuDto{
MenuId: fmt.Sprintf("%d", m.MenuId),
MenuName: m.MenuName,
MenuTitle: m.MenuTitle,
ParentId: fmt.Sprintf("%d", m.ParentId),
MenuStatus: m.MenuStatus,
MenuType: m.MenuType,
Permission: m.Permission,
OrderNum: m.OrderNum,
Icon: m.Icon,
Path: m.Path,
Component: m.Component,
CreatedAt: m.CreatedAt,
UpdatedAt: m.UpdatedAt,
}
}
// LoadAdminMenuApi 加载菜单api
func (r *AdminMenuDto) LoadAdminMenuApi(m []*model.AdminMenuApi) *AdminMenuDto {
if len(m) > 0 {
r.Api = GetAdminMenuApiListDto(m)
apis := make([]string, 0, len(r.Api))
for _, v := range r.Api {
apis = append(apis, v.ApiId)
}
r.Apis = apis
}
return r
}