12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package controllers
- import (
- "eta/eta_mini_crm/models"
- "eta/eta_mini_crm/services"
- )
- type SysMenuController struct {
- BaseAuthController
- }
- // @Title 获取用户权限菜单
- // @Description 获取用户权限菜单接口
- // @Success 200 {object} system.MenuListResp
- // @router /list [get]
- func (this *SysMenuController) SysMenuList() {
- br := new(models.BaseResponse).Init()
- defer func() {
- this.Data["json"] = br
- this.ServeJSON()
- }()
- sysUser := this.SysUser
- if sysUser == nil {
- br.Msg = "请登录"
- br.ErrMsg = "请登录,SysUser Is Empty"
- return
- }
- roleId := sysUser.SysRoleId
- if roleId <= 0 {
- br.Msg = "参数错误"
- return
- }
- list, err := models.GetMenuListByRoleIds(roleId)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取失败,Err:" + err.Error()
- return
- }
- items := make([]*models.SysMenuItem, 0)
- for _, v := range list {
- t := &models.SysMenuItem{
- SysMenuId: v.SysMenuId,
- ParentId: v.ParentId,
- Name: v.Name,
- Level: v.Level,
- Sort: v.Sort,
- Path: v.Path,
- IconPath: v.IconPath,
- ButtonCode: v.ButtonCode,
- Children: make([]*models.SysMenuItem, 0),
- }
- items = append(items, t)
- }
- // 递归返回树形结构
- items = services.GetMenuTreeRecursive(items, 0)
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = items
- }
|