|
@@ -106,9 +106,9 @@ func (m *WorkDesktopMenu) WorkMenuFormat() ([]*pb.MenuList, error) {
|
|
|
if len(mv.Children) > 0 {
|
|
|
for _, sv := range mv.Children {
|
|
|
//0:默认展示;1:需验证权限,有权限展示;2:需验证权限,无权限也可展示(可用服务无权限不展示)
|
|
|
- usable := m.VerifyPermissions(mv.PowerIds)
|
|
|
+ usable := m.VerifyPermissions(sv.PowerIds)
|
|
|
//checkCode==1 验证权限结果 无权限不显示
|
|
|
- if !usable && mv.CheckCode == 1 {
|
|
|
+ if !usable && sv.CheckCode == 1 {
|
|
|
continue
|
|
|
}
|
|
|
secondLevel := &pb.SecondLevelMenu{
|
|
@@ -116,7 +116,7 @@ func (m *WorkDesktopMenu) WorkMenuFormat() ([]*pb.MenuList, error) {
|
|
|
Icon: sv.Icon,
|
|
|
Url: sv.Url,
|
|
|
Id: encrypt.SE.EncodeString(strconv.Itoa(sv.Id)), //功能id加密
|
|
|
- Usable: MC.If(mv.PowerIds != "", usable && mv.CheckCode == 1, true).(bool),
|
|
|
+ Usable: MC.If(sv.PowerIds != "", usable && sv.CheckCode == 1, true).(bool),
|
|
|
Child: []*pb.ThreeLevelMenu{},
|
|
|
AppType: sv.AppType,
|
|
|
OpenType: sv.OpenType,
|
|
@@ -133,9 +133,9 @@ func (m *WorkDesktopMenu) WorkMenuFormat() ([]*pb.MenuList, error) {
|
|
|
if len(sv.Children) > 0 {
|
|
|
for _, tv := range sv.Children {
|
|
|
//0:默认展示;1:需验证权限,有权限展示;2:需验证权限,无权限也可展示(可用服务无权限不展示)
|
|
|
- usable := m.VerifyPermissions(mv.PowerIds)
|
|
|
+ usable := m.VerifyPermissions(tv.PowerIds)
|
|
|
//checkCode==1 验证权限结果 无权限不显示
|
|
|
- if !usable && mv.CheckCode == 1 {
|
|
|
+ if !usable && tv.CheckCode == 1 {
|
|
|
continue
|
|
|
}
|
|
|
threeLevel := &pb.ThreeLevelMenu{
|
|
@@ -143,7 +143,7 @@ func (m *WorkDesktopMenu) WorkMenuFormat() ([]*pb.MenuList, error) {
|
|
|
Icon: tv.Icon,
|
|
|
Url: tv.Url,
|
|
|
Id: encrypt.SE.EncodeString(strconv.Itoa(tv.Id)), //功能id加密
|
|
|
- Usable: MC.If(mv.PowerIds != "", usable && mv.CheckCode == 1, true).(bool),
|
|
|
+ Usable: MC.If(tv.PowerIds != "", usable && tv.CheckCode == 1, true).(bool),
|
|
|
AppType: tv.AppType,
|
|
|
OpenType: tv.OpenType,
|
|
|
TipInfo: &pb.TipInfo{
|
|
@@ -157,6 +157,7 @@ func (m *WorkDesktopMenu) WorkMenuFormat() ([]*pb.MenuList, error) {
|
|
|
},
|
|
|
}
|
|
|
if len(tv.Children) > 0 {
|
|
|
+ L:
|
|
|
for _, fv := range tv.Children {
|
|
|
if fv.Name == "" {
|
|
|
continue
|
|
@@ -176,27 +177,13 @@ func (m *WorkDesktopMenu) WorkMenuFormat() ([]*pb.MenuList, error) {
|
|
|
OpenType: fv.OpenType,
|
|
|
}
|
|
|
}
|
|
|
- //订阅是商机管理优先 其他功能是大会员优先(这样是有问题的 有些功能超级订阅用户可用 大会员用户权不可用)
|
|
|
- //解决上面的问题:菜单只保留三级菜单;四级菜单信息不入库;判断三级菜单权限
|
|
|
switch {
|
|
|
- case strings.Contains(tv.Name, "订阅"):
|
|
|
- switch {
|
|
|
- case strings.HasPrefix(fv.Name, "商机管理") && m.VerifyPermissions(verification["商机管理"]):
|
|
|
- break
|
|
|
- case strings.HasPrefix(fv.Name, "大会员") && m.VerifyPermissions(verification["大会员"]):
|
|
|
- break
|
|
|
- case strings.HasPrefix(fv.Name, "超级订阅") && m.VerifyPermissions(verification["超级订阅"]):
|
|
|
- break
|
|
|
- }
|
|
|
- default:
|
|
|
- switch {
|
|
|
- case strings.HasPrefix(fv.Name, "大会员") && m.VerifyPermissions(verification["大会员"]):
|
|
|
- break
|
|
|
- case strings.HasPrefix(fv.Name, "商机管理") && m.VerifyPermissions(verification["商机管理"]):
|
|
|
- break
|
|
|
- case strings.HasPrefix(fv.Name, "超级订阅") && m.VerifyPermissions(verification["超级订阅"]):
|
|
|
- break
|
|
|
- }
|
|
|
+ case strings.HasPrefix(fv.Name, "大会员") && m.VerifyPermissions(verification["大会员"]):
|
|
|
+ break L
|
|
|
+ case strings.HasPrefix(fv.Name, "商机管理") && m.VerifyPermissions(verification["商机管理"]):
|
|
|
+ break L
|
|
|
+ case strings.HasPrefix(fv.Name, "超级订阅") && m.VerifyPermissions(verification["超级订阅"]):
|
|
|
+ break L
|
|
|
}
|
|
|
}
|
|
|
}
|