from __future__ import annotations from iti.modules import ModuleMenuSeed, ModulePermission from iti_system.services import SystemPermissionProvider class SystemModule: name = "iti_system" def init_app(self, app) -> None: app.state.iti_system = self app.state.permission_provider = SystemPermissionProvider() def register_routes(self, app) -> None: from iti_system.routes import routers for router in routers: app.include_router(router) def register_permissions(self, app) -> None: registry = app.state.iti_modules for code, name in SYSTEM_PERMISSIONS: registry.register_permission(ModulePermission(code=code, name=name)) def register_menu_seed(self, app) -> None: registry = app.state.iti_modules for item in SYSTEM_MENU_SEEDS: registry.register_menu_seed(ModuleMenuSeed(**item)) def create_system_module() -> SystemModule: return SystemModule() SYSTEM_PERMISSIONS = [ ("system:user:list", "用户列表"), ("system:user:create", "创建用户"), ("system:user:edit", "编辑用户"), ("system:user:delete", "删除用户"), ("system:user:resetpwd", "修改用户密码"), ("system:role:list", "角色列表"), ("system:role:create", "创建角色"), ("system:role:edit", "编辑角色"), ("system:role:delete", "删除角色"), ("system:menu:list", "菜单列表"), ("system:menu:create", "创建菜单"), ("system:menu:edit", "编辑菜单"), ("system:menu:delete", "删除菜单"), ("system:dept:list", "部门列表"), ("system:dept:create", "创建部门"), ("system:dept:edit", "编辑部门"), ("system:dept:delete", "删除部门"), ("system:config:list", "配置列表"), ("system:config:create", "创建配置"), ("system:config:edit", "编辑配置"), ("system:config:delete", "删除配置"), ("system:dict:list", "字典列表"), ("system:dict:create", "创建字典"), ("system:dict:edit", "编辑字典"), ("system:dict:delete", "删除字典"), ("system:log:list", "日志列表"), ("system:log:delete", "删除日志"), ("system:file:list", "文件列表"), ("system:file:edit", "编辑文件"), ("system:file:delete", "删除文件"), ] SYSTEM_MENU_SEEDS = [ { "id": "system", "name": "System", "type": "catalog", "path": "/system", "sort": 0, "meta": {"title": "系统管理", "icon": "ion:settings-outline"}, }, { "id": "system-user", "name": "User", "type": "menu", "path": "/system/user", "component": "/system/user/list", "parent_id": "system", "auth_code": "system:user:list", "sort": 1, "meta": {"title": "用户管理", "icon": "carbon:user"}, }, { "id": "system-role", "name": "Role", "type": "menu", "path": "/system/role", "component": "/system/role/list", "parent_id": "system", "auth_code": "system:role:list", "sort": 2, "meta": {"title": "角色管理", "icon": "carbon:user-role"}, }, { "id": "system-dept", "name": "Dept", "type": "menu", "path": "/system/dept", "component": "/system/dept/list", "parent_id": "system", "auth_code": "system:dept:list", "sort": 3, "meta": {"title": "部门管理", "icon": "carbon:container-services"}, }, { "id": "system-menu", "name": "Menu", "type": "menu", "path": "/system/menu", "component": "/system/menu/list", "parent_id": "system", "auth_code": "system:menu:list", "sort": 4, "meta": {"title": "菜单管理", "icon": "carbon:menu"}, }, { "id": "system-config", "name": "Config", "type": "menu", "path": "/system/config", "component": "/system/config/list", "parent_id": "system", "auth_code": "system:config:list", "sort": 5, "meta": {"title": "系统配置", "icon": "carbon:document-configuration"}, }, { "id": "system-dict", "name": "Dict", "type": "menu", "path": "/system/dict", "component": "/system/dict/list", "parent_id": "system", "auth_code": "system:dict:list", "sort": 6, "meta": {"title": "字典管理", "icon": "carbon:book"}, }, { "id": "system-log", "name": "Log", "type": "menu", "path": "/system/log", "component": "/system/log/list", "parent_id": "system", "auth_code": "system:log:list", "sort": 7, "meta": {"title": "日志管理", "icon": "carbon:cloud-logging"}, }, ]