From 0e467977e90bb1f5101a2bc68afd7cdcf447dd80 Mon Sep 17 00:00:00 2001 From: taiyi Date: Tue, 19 May 2026 14:55:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=8E=E5=8F=B0=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E9=A1=B5=E9=9D=A2=E4=B8=AD=E7=94=A8=E6=88=B7=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=9A=84=E6=9D=83=E9=99=90=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/services/auth_service.py | 4 +++- backend/app/services/bootstrap.py | 16 +++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/backend/app/services/auth_service.py b/backend/app/services/auth_service.py index c4f795f..37b9fc2 100644 --- a/backend/app/services/auth_service.py +++ b/backend/app/services/auth_service.py @@ -182,7 +182,9 @@ class AuthService: if role_code == "admin": permissions = [menu.permission_code for menu in menus if menu.permission_code] - return permissions or self.DEFAULT_ROLE_PERMISSIONS.get(role_code, []) + default_permissions = self.DEFAULT_ROLE_PERMISSIONS.get(role_code, []) + merged = list(dict.fromkeys([*default_permissions, *permissions])) + return merged or default_permissions role = self.repository.get_role_by_code(session, role_code) if role is not None: diff --git a/backend/app/services/bootstrap.py b/backend/app/services/bootstrap.py index 2218f2f..c45d9ee 100644 --- a/backend/app/services/bootstrap.py +++ b/backend/app/services/bootstrap.py @@ -37,11 +37,17 @@ DEFAULT_MENUS = [ {"id": 16, "parent_id": 13, "menu_name": "司机接单", "menu_path": "", "menu_type": "button", "permission_code": "driver:task:accept", "icon": "", "sort_no": 16, "status": 1}, {"id": 17, "parent_id": 13, "menu_name": "司机揽货", "menu_path": "", "menu_type": "button", "permission_code": "driver:task:pickup", "icon": "", "sort_no": 17, "status": 1}, {"id": 18, "parent_id": 13, "menu_name": "司机送达", "menu_path": "", "menu_type": "button", "permission_code": "driver:task:deliver", "icon": "", "sort_no": 18, "status": 1}, - {"id": 19, "parent_id": 3, "menu_name": "角色管理", "menu_path": "", "menu_type": "button", "permission_code": "system:role:list", "icon": "", "sort_no": 19, "status": 1}, - {"id": 20, "parent_id": 3, "menu_name": "菜单管理", "menu_path": "", "menu_type": "button", "permission_code": "system:menu:list", "icon": "", "sort_no": 20, "status": 1}, - {"id": 21, "parent_id": 3, "menu_name": "用户新增", "menu_path": "", "menu_type": "button", "permission_code": "system:user:create", "icon": "", "sort_no": 21, "status": 1}, - {"id": 22, "parent_id": 3, "menu_name": "用户编辑", "menu_path": "", "menu_type": "button", "permission_code": "system:user:update", "icon": "", "sort_no": 22, "status": 1}, - {"id": 23, "parent_id": 3, "menu_name": "用户重置密码", "menu_path": "", "menu_type": "button", "permission_code": "system:user:reset-password", "icon": "", "sort_no": 23, "status": 1}, + {"id": 19, "parent_id": 3, "menu_name": "用户列表", "menu_path": "", "menu_type": "button", "permission_code": "system:user:list", "icon": "", "sort_no": 19, "status": 1}, + {"id": 20, "parent_id": 3, "menu_name": "角色管理", "menu_path": "", "menu_type": "button", "permission_code": "system:role:list", "icon": "", "sort_no": 20, "status": 1}, + {"id": 21, "parent_id": 3, "menu_name": "菜单管理", "menu_path": "", "menu_type": "button", "permission_code": "system:menu:list", "icon": "", "sort_no": 21, "status": 1}, + {"id": 22, "parent_id": 3, "menu_name": "用户新增", "menu_path": "", "menu_type": "button", "permission_code": "system:user:create", "icon": "", "sort_no": 22, "status": 1}, + {"id": 23, "parent_id": 3, "menu_name": "用户编辑", "menu_path": "", "menu_type": "button", "permission_code": "system:user:update", "icon": "", "sort_no": 23, "status": 1}, + {"id": 24, "parent_id": 3, "menu_name": "用户重置密码", "menu_path": "", "menu_type": "button", "permission_code": "system:user:reset-password", "icon": "", "sort_no": 24, "status": 1}, + {"id": 25, "parent_id": 3, "menu_name": "角色新增", "menu_path": "", "menu_type": "button", "permission_code": "system:role:create", "icon": "", "sort_no": 25, "status": 1}, + {"id": 26, "parent_id": 3, "menu_name": "角色编辑", "menu_path": "", "menu_type": "button", "permission_code": "system:role:update", "icon": "", "sort_no": 26, "status": 1}, + {"id": 27, "parent_id": 3, "menu_name": "角色授权", "menu_path": "", "menu_type": "button", "permission_code": "system:role:assign-menus", "icon": "", "sort_no": 27, "status": 1}, + {"id": 28, "parent_id": 3, "menu_name": "菜单新增", "menu_path": "", "menu_type": "button", "permission_code": "system:menu:create", "icon": "", "sort_no": 28, "status": 1}, + {"id": 29, "parent_id": 3, "menu_name": "菜单编辑", "menu_path": "", "menu_type": "button", "permission_code": "system:menu:update", "icon": "", "sort_no": 29, "status": 1}, {"id": 24, "parent_id": 3, "menu_name": "角色新增", "menu_path": "", "menu_type": "button", "permission_code": "system:role:create", "icon": "", "sort_no": 24, "status": 1}, {"id": 25, "parent_id": 3, "menu_name": "角色编辑", "menu_path": "", "menu_type": "button", "permission_code": "system:role:update", "icon": "", "sort_no": 25, "status": 1}, {"id": 26, "parent_id": 3, "menu_name": "角色授权", "menu_path": "", "menu_type": "button", "permission_code": "system:role:assign-menus", "icon": "", "sort_no": 26, "status": 1},