修复登录后未能按照用户实际菜单权限加载菜单的 (#4)
This commit is contained in:
parent
80be71efca
commit
6d437b49c4
|
@ -168,9 +168,16 @@ func (l MenuLogic) GetTree(c *gin.Context, req interface{}) (data interface{}, r
|
||||||
return nil, ReqAssertErr
|
return nil, ReqAssertErr
|
||||||
}
|
}
|
||||||
_ = c
|
_ = c
|
||||||
|
ctxUser, err := isql.User.GetCurrentLoginUser(c)
|
||||||
|
if err != nil {
|
||||||
|
return nil, tools.NewMySqlError(fmt.Errorf("获取当前登陆用户信息失败"))
|
||||||
|
}
|
||||||
|
roleIds := []uint{}
|
||||||
|
for _, role := range ctxUser.Roles {
|
||||||
|
roleIds = append(roleIds, role.ID)
|
||||||
|
}
|
||||||
var menus []*model.Menu
|
var menus []*model.Menu
|
||||||
menus, err := isql.Menu.List()
|
menus, err = isql.Menu.ListUserMenus(roleIds)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, tools.NewMySqlError(fmt.Errorf("获取资源列表失败: " + err.Error()))
|
return nil, tools.NewMySqlError(fmt.Errorf("获取资源列表失败: " + err.Error()))
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,6 +47,12 @@ func (s MenuService) List() (menus []*model.Menu, err error) {
|
||||||
return menus, err
|
return menus, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// List 获取数据列表
|
||||||
|
func (s MenuService) ListUserMenus(roleIds []uint) (menus []*model.Menu, err error) {
|
||||||
|
err = common.DB.Where("id IN (select menu_id as id from role_menus where role_id IN (?))", roleIds).Order("sort").Find(&menus).Error
|
||||||
|
return menus, err
|
||||||
|
}
|
||||||
|
|
||||||
// 批量删除资源
|
// 批量删除资源
|
||||||
func (s MenuService) Delete(menuIds []uint) error {
|
func (s MenuService) Delete(menuIds []uint) error {
|
||||||
return common.DB.Where("id IN (?)", menuIds).Select("Roles").Unscoped().Delete(&model.Menu{}).Error
|
return common.DB.Where("id IN (?)", menuIds).Select("Roles").Unscoped().Delete(&model.Menu{}).Error
|
||||||
|
|
Loading…
Reference in New Issue