mirror of
https://github.com/yangjian102621/geekai.git
synced 2025-09-18 01:06:39 +08:00
feat(ui): 登录接口返回权限
This commit is contained in:
parent
5d4dd1e66f
commit
6d5579a8d6
@ -95,7 +95,31 @@ func (h *ManagerHandler) Login(c *gin.Context) {
|
||||
manager.LastLoginAt = time.Now().Unix()
|
||||
h.db.Model(&manager).Updates(manager)
|
||||
|
||||
resp.SUCCESS(c, tokenString)
|
||||
permissions := h.GetAdminSlugs(manager.Id)
|
||||
var result = struct {
|
||||
IsSuperAdmin bool `json:"is_super_admin"`
|
||||
Token string `json:"token"`
|
||||
Permissions []string `json:"permissions"`
|
||||
}{
|
||||
IsSuperAdmin: manager.Id == 1,
|
||||
Token: tokenString,
|
||||
Permissions: permissions,
|
||||
}
|
||||
|
||||
resp.SUCCESS(c, result)
|
||||
}
|
||||
|
||||
func (h *ManagerHandler) GetAdminSlugs(userId uint) []string {
|
||||
var permissions []string
|
||||
err := h.db.Raw("SELECT distinct p.slug "+
|
||||
"FROM chatgpt_admin_user_roles as ur "+
|
||||
"LEFT JOIN chatgpt_admin_role_permissions as rp ON ur.role_id = rp.role_id "+
|
||||
"LEFT JOIN chatgpt_admin_permissions as p ON rp.permission_id = p.id "+
|
||||
"WHERE ur.admin_id = ?", userId).Scan(&permissions)
|
||||
if err.Error == nil {
|
||||
return []string{}
|
||||
}
|
||||
return permissions
|
||||
}
|
||||
|
||||
// Logout 注销
|
||||
|
Loading…
Reference in New Issue
Block a user