yxh 4 лет назад
Родитель
Сommit
0983cebe1d
2 измененных файлов с 21 добавлено и 5 удалено
  1. 19 3
      app/system/service/sys_auth_rule.go
  2. 2 2
      app/system/service/sys_user.go

+ 19 - 3
app/system/service/sys_auth_rule.go

@@ -14,8 +14,8 @@ type rule struct {
 
 var Rule = new(rule)
 
-//获取status==1的菜单列表
-func (s *rule) GetMenuIsStatusList() ([]*model.SysAuthRuleInfoRes, error) {
+// GetIsMenuStatusList 获取isMenu=0|1且status=1的菜单列表
+func (s *rule) GetIsMenuStatusList() ([]*model.SysAuthRuleInfoRes, error) {
 	list, err := s.GetMenuList()
 	if err != nil {
 		return nil, err
@@ -99,12 +99,13 @@ func (s *rule) GetIsButtonStatusList() ([]*model.SysAuthRuleInfoRes, error) {
 	return gList, nil
 }
 
+// GetIsMenuList 获取MenuType==0,1菜单列表
 func (s *rule) GetIsMenuList() ([]*model.SysAuthRuleInfoRes, error) {
 	list, err := s.GetMenuList()
 	if err != nil {
 		return nil, err
 	}
-	var gList = make([]*model.SysAuthRuleInfoRes, 0)
+	var gList = make([]*model.SysAuthRuleInfoRes, 0, len(list))
 	for _, v := range list {
 		if v.MenuType == 0 || v.MenuType == 1 {
 			gList = append(gList, v)
@@ -113,6 +114,21 @@ func (s *rule) GetIsMenuList() ([]*model.SysAuthRuleInfoRes, error) {
 	return gList, nil
 }
 
+// GetMenuIsStatusList 获取status==1的菜单列表
+func (s *rule) GetMenuIsStatusList() ([]*model.SysAuthRuleInfoRes, error) {
+	list, err := s.GetMenuList()
+	if err != nil {
+		return nil, err
+	}
+	var gList = make([]*model.SysAuthRuleInfoRes, 0, len(list))
+	for _, v := range list {
+		if v.Status == 1 {
+			gList = append(gList, v)
+		}
+	}
+	return gList, nil
+}
+
 //检查菜单规则是否存在
 func (s *rule) CheckMenuNameUnique(name string, id int) bool {
 	return dao.SysAuthRule.CheckMenuNameUnique(name, id)

+ 2 - 2
app/system/service/sys_user.go

@@ -200,7 +200,7 @@ func (s *sysUser) GetPermissions(roleIds []uint) ([]string, error) {
 func (s *sysUser) GetAllMenus() (menus []UserMenus, err error) {
 	//获取所有开启的菜单
 	var allMenus []*model.SysAuthRuleInfoRes
-	allMenus, err = Rule.GetMenuIsStatusList()
+	allMenus, err = Rule.GetIsMenuStatusList()
 	if err != nil {
 		return
 	}
@@ -231,7 +231,7 @@ func (s *sysUser) GetAdminMenusByRoleIds(roleIds []uint) (menus []UserMenus, err
 		}
 	}
 	//获取所有开启的菜单
-	allMenus, err := Rule.GetMenuIsStatusList()
+	allMenus, err := Rule.GetIsMenuStatusList()
 	if err != nil {
 		return
 	}