From becd3cb01080dc23c9128deb400758b2b6ffe518 Mon Sep 17 00:00:00 2001 From: dxc Date: Mon, 20 Apr 2026 11:39:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E8=AE=A1=E6=97=A5=E5=BF=97=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inventory-backend/app/extensions.py | 12 +- .../src/views/system/PermissionConfig.vue | 111 +++++++++++++++++- 2 files changed, 119 insertions(+), 4 deletions(-) diff --git a/inventory-backend/app/extensions.py b/inventory-backend/app/extensions.py index 35dc3ac..c2a9440 100644 --- a/inventory-backend/app/extensions.py +++ b/inventory-backend/app/extensions.py @@ -46,4 +46,14 @@ def init_extensions(app): redis_client.ping() app.logger.info("✅ Redis connected successfully") except Exception as e: - app.logger.warning(f"⚠️ Redis connection failed: {e}, single-device login will be disabled") \ No newline at end of file + app.logger.warning(f"⚠️ Redis connection failed: {e}, single-device login will be disabled") + + # ★ 注册 SQLAlchemy 审计监听器 + # 必须在 db.init_app 之后调用,确保所有模型已映射 + try: + from app.core.audit_listener import register_audit_listeners + with app.app_context(): + count = register_audit_listeners(db) + app.logger.info(f"✅ 审计监听器注册成功,共绑定 {count} 个模型") + except Exception as e: + app.logger.error(f"⚠️ 审计监听器注册失败: {e}") \ No newline at end of file diff --git a/inventory-web/src/views/system/PermissionConfig.vue b/inventory-web/src/views/system/PermissionConfig.vue index c34271c..d3c015d 100644 --- a/inventory-web/src/views/system/PermissionConfig.vue +++ b/inventory-web/src/views/system/PermissionConfig.vue @@ -62,6 +62,28 @@ 当前配置: {{ getRoleLabel(currentRole) }} + +
+ 从其他角色复制权限: + + + + 选择后将覆盖当前未保存的勾选状态 +
+ @@ -153,8 +181,8 @@