@liujitcn/kratos-admin-system 0.0.31 → 0.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -20
- package/dist/package/declarations/src/api/base/{notification.d.ts → v1/notification.d.ts} +3 -1
- package/dist/package/declarations/src/api/system/admin/v1/base_api_log.d.ts +10 -0
- package/dist/package/declarations/src/api/system/{base_area.d.ts → admin/v1/base_area.d.ts} +1 -1
- package/dist/package/declarations/src/api/system/{base_config.d.ts → admin/v1/base_config.d.ts} +5 -1
- package/dist/package/declarations/src/api/system/admin/v1/base_data_access_log.d.ts +10 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_dict.d.ts +20 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_dict_item.d.ts +18 -0
- package/dist/package/declarations/src/api/system/{base_job.d.ts → admin/v1/base_job.d.ts} +4 -5
- package/dist/package/declarations/src/api/system/admin/v1/base_job_log.d.ts +9 -0
- package/dist/package/declarations/src/api/system/{base_language.d.ts → admin/v1/base_language.d.ts} +3 -3
- package/dist/package/declarations/src/api/system/admin/v1/base_log.d.ts +8 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_login_log.d.ts +10 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_login_policy.d.ts +19 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_operation_log.d.ts +10 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_permission_log.d.ts +10 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_policy_evaluation_log.d.ts +10 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_table_archive.d.ts +20 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_table_archive_record.d.ts +11 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_table_archive_restore.d.ts +14 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_table_backup.d.ts +20 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_table_backup_record.d.ts +11 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_table_backup_restore.d.ts +14 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_table_source.d.ts +11 -0
- package/dist/package/declarations/src/api/system/admin/v1/cache.d.ts +7 -0
- package/dist/package/declarations/src/api/system/base_redact_field.d.ts +20 -0
- package/dist/package/declarations/src/api/system/base_redact_policy.d.ts +19 -0
- package/dist/package/declarations/src/api/system/base_redact_rule.d.ts +22 -0
- package/dist/package/declarations/src/components/ChangePasswordForm.vue.d.ts +3 -0
- package/dist/package/declarations/src/components/DynamicI18nCell.vue.d.ts +5 -1
- package/dist/package/declarations/src/components/ForcedPasswordDialog.vue.d.ts +3 -0
- package/dist/package/declarations/src/components/{AuditLogTable.vue.d.ts → LogTable.vue.d.ts} +14 -7
- package/dist/package/declarations/src/components/dynamicI18n.d.ts +4 -7
- package/dist/package/declarations/src/components/log.d.ts +20 -0
- package/dist/package/declarations/src/config/base-log-fallback.d.ts +7 -0
- package/dist/package/declarations/src/config/database-backup.d.ts +12 -0
- package/dist/package/declarations/src/config/index.d.ts +7 -0
- package/dist/package/declarations/src/config/types.d.ts +56 -0
- package/dist/package/declarations/src/locales/generated.d.ts +1084 -500
- package/dist/package/declarations/src/rpc/base/v1/login.d.ts +5 -3
- package/dist/package/declarations/src/rpc/base/v1/notification.d.ts +25 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/auth.d.ts +13 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_api.d.ts +2 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_api_log.d.ts +84 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_config.d.ts +38 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_data_access_log.d.ts +112 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_dict.d.ts +0 -101
- package/dist/package/declarations/src/rpc/system/admin/v1/base_dict_item.d.ts +107 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_job.d.ts +5 -56
- package/dist/package/declarations/src/rpc/system/admin/v1/base_job_log.d.ts +60 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_log.d.ts +77 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_login_log.d.ts +92 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_login_policy.d.ts +169 -41
- package/dist/package/declarations/src/rpc/system/admin/v1/base_operation_log.d.ts +106 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_permission_log.d.ts +118 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_policy_evaluation_log.d.ts +119 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_common.d.ts +9 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_field.d.ts +161 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_policy.d.ts +150 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_rule.d.ts +111 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_table_archive.d.ts +90 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_table_archive_record.d.ts +82 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_table_archive_restore.d.ts +76 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_table_backup.d.ts +74 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_table_backup_record.d.ts +69 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_table_backup_restore.d.ts +76 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_table_source.d.ts +16 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_user.d.ts +15 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/cache.d.ts +47 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/code_gen_column.d.ts +2 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/code_gen_table.d.ts +8 -0
- package/dist/package/declarations/src/rpc/system/common/v1/common.d.ts +26 -0
- package/dist/package/declarations/src/rpc/system/config/v1/system_config.d.ts +8 -0
- package/dist/package/declarations/src/{api/system → utils}/code_gen_i18n.d.ts +1 -2
- package/dist/package/declarations/src/{api/system → utils}/code_gen_sse.d.ts +1 -1
- package/dist/package/declarations/src/utils/notification-response.d.ts +5 -0
- package/dist/package/declarations/src/{api/system → utils}/ops_monitoring_sse.d.ts +1 -1
- package/dist/package/declarations/src/{api/system → utils}/runtime_log_sse.d.ts +1 -1
- package/dist/package/declarations/src/views/base/backup-management/archive-config/index.vue.d.ts +3 -0
- package/dist/package/declarations/src/views/base/backup-management/archive-record/index.vue.d.ts +3 -0
- package/dist/package/declarations/src/views/base/backup-management/archive-restore/index.vue.d.ts +3 -0
- package/dist/package/declarations/src/views/base/backup-management/backup-config/index.vue.d.ts +3 -0
- package/dist/package/declarations/src/views/base/backup-management/backup-record/index.vue.d.ts +3 -0
- package/dist/package/declarations/src/views/base/backup-management/backup-restore/index.vue.d.ts +3 -0
- package/dist/package/declarations/src/views/base/login-policy/format.d.ts +2 -0
- package/dist/package/declarations/src/views/base/redact-field/index.vue.d.ts +3 -0
- package/dist/package/declarations/src/views/base/redact-policy/index.vue.d.ts +3 -0
- package/dist/package/declarations/src/views/base/redact-rule/index.vue.d.ts +3 -0
- package/dist/package/declarations/src/views/base/runtime-config/index.vue.d.ts +3 -0
- package/dist/package/declarations/src/views/tool/cache/index.vue.d.ts +3 -0
- package/dist/package/src/api/base/v1/notification.ts +99 -0
- package/dist/package/src/api/system/admin/v1/base_api_log.ts +33 -0
- package/dist/package/src/api/system/{base_area.ts → admin/v1/base_area.ts} +1 -1
- package/dist/package/src/api/system/{base_config.ts → admin/v1/base_config.ts} +20 -0
- package/dist/package/src/api/system/admin/v1/base_data_access_log.ts +33 -0
- package/dist/package/src/api/system/{base_dict.ts → admin/v1/base_dict.ts} +0 -60
- package/dist/package/src/api/system/admin/v1/base_dict_item.ts +72 -0
- package/dist/package/src/api/system/{base_job.ts → admin/v1/base_job.ts} +11 -22
- package/dist/package/src/api/system/admin/v1/base_job_log.ts +32 -0
- package/dist/package/src/api/system/{base_language.ts → admin/v1/base_language.ts} +3 -3
- package/dist/package/src/api/system/admin/v1/base_log.ts +23 -0
- package/dist/package/src/api/system/admin/v1/base_login_log.ts +33 -0
- package/dist/package/src/api/system/admin/v1/base_login_policy.ts +67 -0
- package/dist/package/src/api/system/{base_message.ts → admin/v1/base_message.ts} +29 -9
- package/dist/package/src/api/system/{base_message_category.ts → admin/v1/base_message_category.ts} +30 -7
- package/dist/package/src/api/system/admin/v1/base_operation_log.ts +33 -0
- package/dist/package/src/api/system/admin/v1/base_permission_log.ts +33 -0
- package/dist/package/src/api/system/admin/v1/base_policy_evaluation_log.ts +33 -0
- package/dist/package/src/api/system/admin/v1/base_table_archive.ts +70 -0
- package/dist/package/src/api/system/admin/v1/base_table_archive_record.ts +33 -0
- package/dist/package/src/api/system/admin/v1/base_table_archive_restore.ts +44 -0
- package/dist/package/src/api/system/admin/v1/base_table_backup.ts +70 -0
- package/dist/package/src/api/system/admin/v1/base_table_backup_record.ts +33 -0
- package/dist/package/src/api/system/admin/v1/base_table_backup_restore.ts +44 -0
- package/dist/package/src/api/system/admin/v1/base_table_source.ts +33 -0
- package/dist/package/src/api/system/admin/v1/cache.ts +22 -0
- package/dist/package/src/api/system/{code_gen_column.ts → admin/v1/code_gen_column.ts} +19 -3
- package/dist/package/src/api/system/{code_gen_table.ts → admin/v1/code_gen_table.ts} +13 -4
- package/dist/package/src/api/system/base_redact_field.ts +25 -0
- package/dist/package/src/api/system/base_redact_policy.ts +24 -0
- package/dist/package/src/api/system/base_redact_rule.ts +27 -0
- package/dist/package/src/components/Ai.vue +1 -1
- package/dist/package/src/components/ChangePasswordForm.vue +143 -0
- package/dist/package/src/components/DynamicI18nCell.vue +28 -8
- package/dist/package/src/components/DynamicI18nEditor.vue +1 -1
- package/dist/package/src/components/ForcedPasswordDialog.vue +40 -0
- package/dist/package/src/components/LogTable.vue +190 -0
- package/dist/package/src/components/Notification.vue +112 -7
- package/dist/package/src/components/dynamicI18n.ts +5 -9
- package/dist/package/src/components/log.ts +87 -0
- package/dist/package/src/config/base-log-fallback.ts +26 -0
- package/dist/package/src/config/database-backup.ts +57 -0
- package/dist/package/src/config/index.ts +26 -0
- package/dist/package/src/config/types.ts +59 -0
- package/dist/package/src/locales/README.md +2 -1
- package/dist/package/src/locales/en-US.json +285 -127
- package/dist/package/src/locales/ja-JP.json +285 -127
- package/dist/package/src/locales/zh-CN.json +285 -127
- package/dist/package/src/locales/zh-TW.json +285 -127
- package/dist/package/src/module.ts +3 -1
- package/dist/package/src/rpc/base/v1/login.ts +4 -2
- package/dist/package/src/rpc/base/v1/notification.ts +28 -0
- package/dist/package/src/rpc/system/admin/v1/auth.ts +13 -0
- package/dist/package/src/rpc/system/admin/v1/base_api.ts +2 -0
- package/dist/package/src/rpc/system/admin/v1/base_api_log.ts +102 -0
- package/dist/package/src/rpc/system/admin/v1/base_config.ts +42 -0
- package/dist/package/src/rpc/system/admin/v1/base_data_access_log.ts +135 -0
- package/dist/package/src/rpc/system/admin/v1/base_dict.ts +0 -112
- package/dist/package/src/rpc/system/admin/v1/base_dict_item.ts +126 -0
- package/dist/package/src/rpc/system/admin/v1/base_job.ts +5 -62
- package/dist/package/src/rpc/system/admin/v1/base_job_log.ts +75 -0
- package/dist/package/src/rpc/system/admin/v1/base_log.ts +90 -0
- package/dist/package/src/rpc/system/admin/v1/base_login_log.ts +113 -0
- package/dist/package/src/rpc/system/admin/v1/base_login_policy.ts +191 -42
- package/dist/package/src/rpc/system/admin/v1/base_operation_log.ts +127 -0
- package/dist/package/src/rpc/system/admin/v1/base_permission_log.ts +142 -0
- package/dist/package/src/rpc/system/admin/v1/base_policy_evaluation_log.ts +143 -0
- package/dist/package/src/rpc/system/admin/v1/base_redact_common.ts +17 -0
- package/dist/package/src/rpc/system/admin/v1/base_redact_field.ts +182 -0
- package/dist/package/src/rpc/system/admin/v1/base_redact_policy.ts +174 -0
- package/dist/package/src/rpc/system/admin/v1/base_redact_rule.ts +131 -0
- package/dist/package/src/rpc/system/admin/v1/base_table_archive.ts +109 -0
- package/dist/package/src/rpc/system/admin/v1/base_table_archive_record.ts +95 -0
- package/dist/package/src/rpc/system/admin/v1/base_table_archive_restore.ts +93 -0
- package/dist/package/src/rpc/system/admin/v1/base_table_backup.ts +91 -0
- package/dist/package/src/rpc/system/admin/v1/base_table_backup_record.ts +82 -0
- package/dist/package/src/rpc/system/admin/v1/base_table_backup_restore.ts +91 -0
- package/dist/package/src/rpc/system/admin/v1/base_table_source.ts +26 -0
- package/dist/package/src/rpc/system/admin/v1/base_user.ts +15 -0
- package/dist/package/src/rpc/system/admin/v1/cache.ts +59 -0
- package/dist/package/src/rpc/system/admin/v1/code_gen_column.ts +2 -0
- package/dist/package/src/rpc/system/admin/v1/code_gen_table.ts +8 -0
- package/dist/package/src/rpc/system/common/v1/common.ts +35 -0
- package/dist/package/src/rpc/system/config/v1/system_config.ts +16 -0
- package/dist/package/src/{api/system → utils}/code_gen_i18n.ts +1 -1
- package/dist/package/src/{api/system → utils}/code_gen_sse.ts +1 -1
- package/dist/package/src/utils/notification-response.ts +22 -0
- package/dist/package/src/{api/system → utils}/ops_monitoring_sse.ts +1 -1
- package/dist/package/src/{api/system → utils}/runtime_log_sse.ts +1 -1
- package/dist/package/src/views/ai/chat/components/AiMarkdown.vue +1 -1
- package/dist/package/src/views/ai/chat/components/ChatPanel.vue +2 -4
- package/dist/package/src/views/ai/chat/components/XSender.vue +1 -1
- package/dist/package/src/views/ai/chat/index.vue +3 -3
- package/dist/package/src/views/ai/chat/message.ts +3 -8
- package/dist/package/src/views/base/api/index.vue +4 -4
- package/dist/package/src/views/base/api-log/index.vue +56 -45
- package/dist/package/src/views/base/area/index.vue +1 -1
- package/dist/package/src/views/base/backup-management/archive-config/index.vue +151 -0
- package/dist/package/src/views/base/backup-management/archive-record/index.vue +44 -0
- package/dist/package/src/views/base/backup-management/archive-restore/index.vue +59 -0
- package/dist/package/src/views/base/backup-management/backup-config/index.vue +119 -0
- package/dist/package/src/views/base/backup-management/backup-record/index.vue +41 -0
- package/dist/package/src/views/base/backup-management/backup-restore/index.vue +66 -0
- package/dist/package/src/views/base/config/index.vue +16 -25
- package/dist/package/src/views/base/dashboard/index.vue +68 -66
- package/dist/package/src/views/base/data-access-log/index.vue +64 -52
- package/dist/package/src/views/base/dept/index.vue +11 -11
- package/dist/package/src/views/base/dict/index.vue +5 -5
- package/dist/package/src/views/base/dict/item.vue +12 -12
- package/dist/package/src/views/base/file/index.vue +220 -16
- package/dist/package/src/views/base/job/index.vue +5 -5
- package/dist/package/src/views/base/job/log.vue +38 -11
- package/dist/package/src/views/base/language/index.vue +1 -1
- package/dist/package/src/views/base/login-log/index.vue +49 -45
- package/dist/package/src/views/base/login-policy/format.ts +4 -0
- package/dist/package/src/views/base/login-policy/index.vue +496 -185
- package/dist/package/src/views/base/menu/index.vue +17 -17
- package/dist/package/src/views/base/message/index.vue +149 -19
- package/dist/package/src/views/base/message-category/index.vue +41 -10
- package/dist/package/src/views/base/migration/index.vue +2 -2
- package/dist/package/src/views/base/oauth-client/index.vue +19 -9
- package/dist/package/src/views/base/operation-log/index.vue +54 -50
- package/dist/package/src/views/base/permission-log/index.vue +57 -52
- package/dist/package/src/views/base/policy-evaluation-log/index.vue +61 -50
- package/dist/package/src/views/base/post/index.vue +11 -11
- package/dist/package/src/views/base/redact-field/index.vue +59 -0
- package/dist/package/src/views/base/redact-policy/index.vue +92 -0
- package/dist/package/src/views/base/redact-rule/index.vue +51 -0
- package/dist/package/src/views/base/role/index.vue +9 -9
- package/dist/package/src/views/base/runtime-config/index.vue +479 -0
- package/dist/package/src/views/base/tenant/index.vue +9 -9
- package/dist/package/src/views/base/user/components/dept-tree.vue +1 -1
- package/dist/package/src/views/base/user/index.vue +86 -47
- package/dist/package/src/views/message/inbox/index.vue +38 -11
- package/dist/package/src/views/profile/components/base.vue +84 -8
- package/dist/package/src/views/profile/components/password.vue +2 -228
- package/dist/package/src/views/profile/components/security.vue +3 -3
- package/dist/package/src/views/profile/components/session.vue +10 -2
- package/dist/package/src/views/profile/index.vue +10 -9
- package/dist/package/src/views/tool/api-doc/index.vue +3 -3
- package/dist/package/src/views/tool/cache/index.vue +352 -0
- package/dist/package/src/views/tool/code-gen/code-preview/index.vue +4 -4
- package/dist/package/src/views/tool/code-gen/columns/index.vue +16 -16
- package/dist/package/src/views/tool/code-gen/components/CodeGenLocaleEditor.vue +2 -2
- package/dist/package/src/views/tool/code-gen/components/CodeGenProgressDialog.vue +2 -2
- package/dist/package/src/views/tool/code-gen/config.ts +2 -0
- package/dist/package/src/views/tool/code-gen/preview/index.vue +9 -9
- package/dist/package/src/views/tool/code-gen/proto/index.vue +10 -12
- package/dist/package/src/views/tool/code-gen/table/index.vue +71 -15
- package/dist/package/src/views/tool/ops-monitoring/index.vue +31 -96
- package/dist/package/src/views/tool/project-doc/index.vue +2 -2
- package/dist/package/src/views/tool/runtime-log/index.vue +6 -6
- package/package.json +7 -2
- package/dist/package/declarations/src/api/system/base_audit_log.d.ts +0 -55
- package/dist/package/declarations/src/api/system/base_dict.d.ts +0 -32
- package/dist/package/declarations/src/api/system/base_login_policy.d.ts +0 -10
- package/dist/package/declarations/src/components/auditLog.d.ts +0 -9
- package/dist/package/declarations/src/rpc/system/admin/v1/base_audit_log.d.ts +0 -640
- package/dist/package/src/api/base/notification.ts +0 -69
- package/dist/package/src/api/system/base_audit_log.ts +0 -168
- package/dist/package/src/api/system/base_login_policy.ts +0 -32
- package/dist/package/src/components/AuditLogTable.vue +0 -105
- package/dist/package/src/components/auditLog.ts +0 -46
- package/dist/package/src/rpc/system/admin/v1/base_audit_log.ts +0 -737
- /package/dist/package/declarations/src/api/base/{ai_message.d.ts → v1/ai_message.d.ts} +0 -0
- /package/dist/package/declarations/src/api/base/{ai_session.d.ts → v1/ai_session.d.ts} +0 -0
- /package/dist/package/declarations/src/api/base/{ai_tool.d.ts → v1/ai_tool.d.ts} +0 -0
- /package/dist/package/declarations/src/api/base/{oauth.d.ts → v1/oauth.d.ts} +0 -0
- /package/dist/package/declarations/src/api/base/{sse.d.ts → v1/sse.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{auth.d.ts → admin/v1/auth.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{base_api.d.ts → admin/v1/base_api.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{base_dashboard.d.ts → admin/v1/base_dashboard.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{base_dept.d.ts → admin/v1/base_dept.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{base_file.d.ts → admin/v1/base_file.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{base_i18n.d.ts → admin/v1/base_i18n.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{base_menu.d.ts → admin/v1/base_menu.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{base_message.d.ts → admin/v1/base_message.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{base_message_category.d.ts → admin/v1/base_message_category.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{base_migration.d.ts → admin/v1/base_migration.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{base_post.d.ts → admin/v1/base_post.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{base_role.d.ts → admin/v1/base_role.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{base_session.d.ts → admin/v1/base_session.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{base_tenant.d.ts → admin/v1/base_tenant.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{base_user.d.ts → admin/v1/base_user.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{code_gen.d.ts → admin/v1/code_gen.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{code_gen_column.d.ts → admin/v1/code_gen_column.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{code_gen_proto.d.ts → admin/v1/code_gen_proto.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{code_gen_table.d.ts → admin/v1/code_gen_table.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{oauth_client.d.ts → admin/v1/oauth_client.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{ops_monitoring.d.ts → admin/v1/ops_monitoring.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{project_document.d.ts → admin/v1/project_document.d.ts} +0 -0
- /package/dist/package/declarations/src/api/system/{runtime_log.d.ts → admin/v1/runtime_log.d.ts} +0 -0
- /package/dist/package/src/api/base/{ai_message.ts → v1/ai_message.ts} +0 -0
- /package/dist/package/src/api/base/{ai_session.ts → v1/ai_session.ts} +0 -0
- /package/dist/package/src/api/base/{ai_tool.ts → v1/ai_tool.ts} +0 -0
- /package/dist/package/src/api/base/{oauth.ts → v1/oauth.ts} +0 -0
- /package/dist/package/src/api/base/{sse.ts → v1/sse.ts} +0 -0
- /package/dist/package/src/api/system/{auth.ts → admin/v1/auth.ts} +0 -0
- /package/dist/package/src/api/system/{base_api.ts → admin/v1/base_api.ts} +0 -0
- /package/dist/package/src/api/system/{base_dashboard.ts → admin/v1/base_dashboard.ts} +0 -0
- /package/dist/package/src/api/system/{base_dept.ts → admin/v1/base_dept.ts} +0 -0
- /package/dist/package/src/api/system/{base_file.ts → admin/v1/base_file.ts} +0 -0
- /package/dist/package/src/api/system/{base_i18n.ts → admin/v1/base_i18n.ts} +0 -0
- /package/dist/package/src/api/system/{base_menu.ts → admin/v1/base_menu.ts} +0 -0
- /package/dist/package/src/api/system/{base_migration.ts → admin/v1/base_migration.ts} +0 -0
- /package/dist/package/src/api/system/{base_post.ts → admin/v1/base_post.ts} +0 -0
- /package/dist/package/src/api/system/{base_role.ts → admin/v1/base_role.ts} +0 -0
- /package/dist/package/src/api/system/{base_session.ts → admin/v1/base_session.ts} +0 -0
- /package/dist/package/src/api/system/{base_tenant.ts → admin/v1/base_tenant.ts} +0 -0
- /package/dist/package/src/api/system/{base_user.ts → admin/v1/base_user.ts} +0 -0
- /package/dist/package/src/api/system/{code_gen.ts → admin/v1/code_gen.ts} +0 -0
- /package/dist/package/src/api/system/{code_gen_proto.ts → admin/v1/code_gen_proto.ts} +0 -0
- /package/dist/package/src/api/system/{oauth_client.ts → admin/v1/oauth_client.ts} +0 -0
- /package/dist/package/src/api/system/{ops_monitoring.ts → admin/v1/ops_monitoring.ts} +0 -0
- /package/dist/package/src/api/system/{project_document.ts → admin/v1/project_document.ts} +0 -0
- /package/dist/package/src/api/system/{runtime_log.ts → admin/v1/runtime_log.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<LogTable ref="page" :config="config" />
|
|
3
3
|
</template>
|
|
4
4
|
|
|
5
5
|
<script setup lang="ts">
|
|
@@ -7,65 +7,69 @@ import { computed, ref } from "vue";
|
|
|
7
7
|
import type { ColumnProps } from "@liujitcn/kratos-admin-core/components/ProTable/interface";
|
|
8
8
|
import { t } from "@liujitcn/kratos-admin-core";
|
|
9
9
|
import { buildPageRequest } from "@liujitcn/kratos-admin-core/table";
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import { defBaseOperationLogService } from "@liujitcn/kratos-admin-system/api/system/
|
|
13
|
-
import {
|
|
14
|
-
import
|
|
10
|
+
import LogTable, { type LogTableConfig } from "@liujitcn/kratos-admin-system/components/LogTable.vue";
|
|
11
|
+
import { logDateSearch, logDetailColumn, logEnumLabel, createLogEnumOptions, requestLogTrace } from "@liujitcn/kratos-admin-system/components/log";
|
|
12
|
+
import { defBaseOperationLogService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_operation_log";
|
|
13
|
+
import { BaseLogResult } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_log";
|
|
14
|
+
import { BaseOperationAction } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_operation_log";
|
|
15
|
+
import type { BaseOperationLog, PageBaseOperationLogRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_operation_log";
|
|
15
16
|
|
|
16
17
|
defineOptions({ name: "BaseOperationLog", inheritAttrs: false });
|
|
17
18
|
|
|
18
|
-
const page = ref<InstanceType<typeof
|
|
19
|
-
const resultOptions = computed(() =>
|
|
20
|
-
[
|
|
21
|
-
[
|
|
22
|
-
[
|
|
19
|
+
const page = ref<InstanceType<typeof LogTable>>();
|
|
20
|
+
const resultOptions = computed(() => createLogEnumOptions([
|
|
21
|
+
[BaseLogResult.BASE_LOG_RESULT_UNSPECIFIED, t("system.base.log.result.unspecified")],
|
|
22
|
+
[BaseLogResult.BASE_LOG_RESULT_SUCCESS, t("system.base.log.result.success")],
|
|
23
|
+
[BaseLogResult.BASE_LOG_RESULT_FAILURE, t("system.base.log.result.failure")],
|
|
24
|
+
[BaseLogResult.BASE_LOG_RESULT_ERROR, t("system.base.log.result.error")]
|
|
23
25
|
]));
|
|
24
|
-
const actionOptions = computed(() =>
|
|
25
|
-
[BaseOperationAction.
|
|
26
|
-
[BaseOperationAction.
|
|
27
|
-
[BaseOperationAction.
|
|
28
|
-
[BaseOperationAction.
|
|
29
|
-
[BaseOperationAction.
|
|
30
|
-
[BaseOperationAction.
|
|
31
|
-
[BaseOperationAction.
|
|
32
|
-
[BaseOperationAction.
|
|
26
|
+
const actionOptions = computed(() => createLogEnumOptions([
|
|
27
|
+
[BaseOperationAction.BASE_OPERATION_ACTION_UNSPECIFIED, t("system.base.log.operation_action.unspecified")],
|
|
28
|
+
[BaseOperationAction.BASE_OPERATION_ACTION_CREATE, t("system.base.log.operation_action.create")],
|
|
29
|
+
[BaseOperationAction.BASE_OPERATION_ACTION_UPDATE, t("system.base.log.operation_action.update")],
|
|
30
|
+
[BaseOperationAction.BASE_OPERATION_ACTION_DELETE, t("system.base.log.operation_action.delete")],
|
|
31
|
+
[BaseOperationAction.BASE_OPERATION_ACTION_PUBLISH, t("system.base.log.operation_action.publish")],
|
|
32
|
+
[BaseOperationAction.BASE_OPERATION_ACTION_REVOKE, t("system.base.log.operation_action.revoke")],
|
|
33
|
+
[BaseOperationAction.BASE_OPERATION_ACTION_IMPORT, t("system.base.log.operation_action.import")],
|
|
34
|
+
[BaseOperationAction.BASE_OPERATION_ACTION_EXPORT, t("system.base.log.operation_action.export")],
|
|
35
|
+
[BaseOperationAction.BASE_OPERATION_ACTION_OTHER, t("system.base.log.operation_action.other")]
|
|
33
36
|
]));
|
|
34
37
|
const columns = computed<ColumnProps[]>(() => [
|
|
35
|
-
{ prop: "resource_type", label: t("system.base.
|
|
36
|
-
{ prop: "resource_id", label: t("system.base.
|
|
37
|
-
{ prop: "resource_name", label: t("system.base.
|
|
38
|
-
{ prop: "action", label: t("system.base.
|
|
39
|
-
{ prop: "result", label: t("system.base.
|
|
40
|
-
{ prop: "user_name", label: t("system.base.
|
|
41
|
-
{ prop: "occurred_at", label: t("system.base.
|
|
42
|
-
|
|
38
|
+
{ prop: "resource_type", label: t("system.base.log.field.resource_type"), minWidth: 150, search: { el: "input" } },
|
|
39
|
+
{ prop: "resource_id", label: t("system.base.log.field.resource_id"), minWidth: 120 },
|
|
40
|
+
{ prop: "resource_name", label: t("system.base.log.field.resource_name"), minWidth: 160 },
|
|
41
|
+
{ prop: "action", label: t("system.base.log.field.action"), minWidth: 110, search: { el: "select", enum: actionOptions.value }, render: scope => logEnumLabel(actionOptions.value, (scope.row as BaseOperationLog).action) },
|
|
42
|
+
{ prop: "result", label: t("system.base.log.field.result"), minWidth: 110, search: { el: "select", enum: resultOptions.value }, render: scope => logEnumLabel(resultOptions.value, (scope.row as BaseOperationLog).result) },
|
|
43
|
+
{ prop: "user_name", label: t("system.base.log.field.user_name"), minWidth: 130 },
|
|
44
|
+
{ prop: "occurred_at", label: t("system.base.log.field.occurred_at"), minWidth: 190, search: logDateSearch(t) },
|
|
45
|
+
logDetailColumn(t("common.action.view"), id => page.value?.handleOpenDialog(id))
|
|
43
46
|
]);
|
|
44
47
|
|
|
45
|
-
const config = computed<
|
|
48
|
+
const config = computed<LogTableConfig>(() => ({
|
|
46
49
|
columns: columns.value,
|
|
47
|
-
detailTitle: t("system.base.
|
|
50
|
+
detailTitle: t("system.base.log.operation.title.detail"),
|
|
48
51
|
closeText: t("common.action.close"),
|
|
52
|
+
trace: requestLogTrace,
|
|
49
53
|
detailFields: [
|
|
50
|
-
{ key: "id", label: t("system.base.
|
|
51
|
-
{ key: "tenant_id", label: t("system.base.
|
|
52
|
-
{ key: "tenant_code", label: t("system.base.
|
|
53
|
-
{ key: "user_id", label: t("system.base.
|
|
54
|
-
{ key: "user_name", label: t("system.base.
|
|
55
|
-
{ key: "resource_type", label: t("system.base.
|
|
56
|
-
{ key: "resource_id", label: t("system.base.
|
|
57
|
-
{ key: "resource_name", label: t("system.base.
|
|
58
|
-
{ key: "action", label: t("system.base.
|
|
59
|
-
{ key: "result", label: t("system.base.
|
|
60
|
-
{ key: "changed_fields", label: t("system.base.
|
|
61
|
-
{ key: "before_data", label: t("system.base.
|
|
62
|
-
{ key: "after_data", label: t("system.base.
|
|
63
|
-
{ key: "reason_code", label: t("system.base.
|
|
64
|
-
{ key: "reason", label: t("system.base.
|
|
65
|
-
{ key: "request_id", label: t("system.base.
|
|
66
|
-
{ key: "trace_id", label: t("system.base.
|
|
67
|
-
{ key: "occurred_at", label: t("system.base.
|
|
68
|
-
{ key: "created_at", label: t("system.base.
|
|
54
|
+
{ key: "id", label: t("system.base.log.field.id") },
|
|
55
|
+
{ key: "tenant_id", label: t("system.base.log.field.tenant_id") },
|
|
56
|
+
{ key: "tenant_code", label: t("system.base.log.field.tenant_code") },
|
|
57
|
+
{ key: "user_id", label: t("system.base.log.field.user_id") },
|
|
58
|
+
{ key: "user_name", label: t("system.base.log.field.user_name") },
|
|
59
|
+
{ key: "resource_type", label: t("system.base.log.field.resource_type") },
|
|
60
|
+
{ key: "resource_id", label: t("system.base.log.field.resource_id") },
|
|
61
|
+
{ key: "resource_name", label: t("system.base.log.field.resource_name") },
|
|
62
|
+
{ key: "action", label: t("system.base.log.field.action"), enum: actionOptions.value },
|
|
63
|
+
{ key: "result", label: t("system.base.log.field.result"), enum: resultOptions.value },
|
|
64
|
+
{ key: "changed_fields", label: t("system.base.log.field.changed_fields"), span: 2, code: true },
|
|
65
|
+
{ key: "before_data", label: t("system.base.log.field.before_data"), span: 2, code: true },
|
|
66
|
+
{ key: "after_data", label: t("system.base.log.field.after_data"), span: 2, code: true },
|
|
67
|
+
{ key: "reason_code", label: t("system.base.log.field.reason_code") },
|
|
68
|
+
{ key: "reason", label: t("system.base.log.field.reason"), span: 2 },
|
|
69
|
+
{ key: "request_id", label: t("system.base.log.field.request_id") },
|
|
70
|
+
{ key: "trace_id", label: t("system.base.log.field.trace_id") },
|
|
71
|
+
{ key: "occurred_at", label: t("system.base.log.field.occurred_at") },
|
|
72
|
+
{ key: "created_at", label: t("system.base.log.field.created_at") }
|
|
69
73
|
],
|
|
70
74
|
request: requestTable,
|
|
71
75
|
get: getDetail
|
|
@@ -76,7 +80,7 @@ async function requestTable(params: Record<string, unknown>) {
|
|
|
76
80
|
return { list: response.base_operation_logs as unknown as Record<string, unknown>[], total: response.total };
|
|
77
81
|
}
|
|
78
82
|
|
|
79
|
-
async function getDetail(id:
|
|
83
|
+
async function getDetail(id: string) {
|
|
80
84
|
return (await defBaseOperationLogService.GetBaseOperationLog({ id })) as unknown as Record<string, unknown>;
|
|
81
85
|
}
|
|
82
86
|
</script>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<LogTable ref="page" :config="config" />
|
|
3
3
|
</template>
|
|
4
4
|
|
|
5
5
|
<script setup lang="ts">
|
|
@@ -7,68 +7,73 @@ import { computed, ref } from "vue";
|
|
|
7
7
|
import type { ColumnProps } from "@liujitcn/kratos-admin-core/components/ProTable/interface";
|
|
8
8
|
import { t } from "@liujitcn/kratos-admin-core";
|
|
9
9
|
import { buildPageRequest } from "@liujitcn/kratos-admin-core/table";
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import { defBasePermissionLogService } from "@liujitcn/kratos-admin-system/api/system/
|
|
13
|
-
import {
|
|
14
|
-
import
|
|
10
|
+
import LogTable, { type LogTableConfig } from "@liujitcn/kratos-admin-system/components/LogTable.vue";
|
|
11
|
+
import { logDateSearch, logDetailColumn, logEnumLabel, createLogEnumOptions, requestLogTrace } from "@liujitcn/kratos-admin-system/components/log";
|
|
12
|
+
import { defBasePermissionLogService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_permission_log";
|
|
13
|
+
import { BaseLogResult } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_log";
|
|
14
|
+
import { BasePermissionAction, BasePermissionTargetType } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_permission_log";
|
|
15
|
+
import type { BasePermissionLog, PageBasePermissionLogRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_permission_log";
|
|
15
16
|
|
|
16
17
|
defineOptions({ name: "BasePermissionLog", inheritAttrs: false });
|
|
17
18
|
|
|
18
|
-
const page = ref<InstanceType<typeof
|
|
19
|
-
const resultOptions = computed(() =>
|
|
20
|
-
[
|
|
21
|
-
[
|
|
22
|
-
[
|
|
19
|
+
const page = ref<InstanceType<typeof LogTable>>();
|
|
20
|
+
const resultOptions = computed(() => createLogEnumOptions([
|
|
21
|
+
[BaseLogResult.BASE_LOG_RESULT_UNSPECIFIED, t("system.base.log.result.unspecified")],
|
|
22
|
+
[BaseLogResult.BASE_LOG_RESULT_SUCCESS, t("system.base.log.result.success")],
|
|
23
|
+
[BaseLogResult.BASE_LOG_RESULT_FAILURE, t("system.base.log.result.failure")],
|
|
24
|
+
[BaseLogResult.BASE_LOG_RESULT_ERROR, t("system.base.log.result.error")]
|
|
23
25
|
]));
|
|
24
|
-
const targetOptions = computed(() =>
|
|
25
|
-
[BasePermissionTargetType.
|
|
26
|
-
[BasePermissionTargetType.
|
|
27
|
-
[BasePermissionTargetType.
|
|
28
|
-
[BasePermissionTargetType.
|
|
29
|
-
[BasePermissionTargetType.
|
|
26
|
+
const targetOptions = computed(() => createLogEnumOptions([
|
|
27
|
+
[BasePermissionTargetType.BASE_PERMISSION_TARGET_TYPE_UNSPECIFIED, t("system.base.log.target_type.unspecified")],
|
|
28
|
+
[BasePermissionTargetType.BASE_PERMISSION_TARGET_TYPE_USER, t("common.field.user")],
|
|
29
|
+
[BasePermissionTargetType.BASE_PERMISSION_TARGET_TYPE_ROLE, t("common.field.role")],
|
|
30
|
+
[BasePermissionTargetType.BASE_PERMISSION_TARGET_TYPE_MENU, t("system.base.log.target_type.menu")],
|
|
31
|
+
[BasePermissionTargetType.BASE_PERMISSION_TARGET_TYPE_API, t("system.base.log.target_type.api")],
|
|
32
|
+
[BasePermissionTargetType.BASE_PERMISSION_TARGET_TYPE_TENANT, t("common.field.tenant")]
|
|
30
33
|
]));
|
|
31
|
-
const actionOptions = computed(() =>
|
|
32
|
-
[BasePermissionAction.
|
|
33
|
-
[BasePermissionAction.
|
|
34
|
-
[BasePermissionAction.
|
|
35
|
-
[BasePermissionAction.
|
|
36
|
-
[BasePermissionAction.
|
|
37
|
-
[BasePermissionAction.
|
|
34
|
+
const actionOptions = computed(() => createLogEnumOptions([
|
|
35
|
+
[BasePermissionAction.BASE_PERMISSION_ACTION_UNSPECIFIED, t("system.base.log.permission_action.unspecified")],
|
|
36
|
+
[BasePermissionAction.BASE_PERMISSION_ACTION_GRANT, t("system.base.log.permission_action.grant")],
|
|
37
|
+
[BasePermissionAction.BASE_PERMISSION_ACTION_REVOKE, t("system.base.log.permission_action.revoke")],
|
|
38
|
+
[BasePermissionAction.BASE_PERMISSION_ACTION_CREATE, t("system.base.log.permission_action.create")],
|
|
39
|
+
[BasePermissionAction.BASE_PERMISSION_ACTION_UPDATE, t("system.base.log.permission_action.update")],
|
|
40
|
+
[BasePermissionAction.BASE_PERMISSION_ACTION_DELETE, t("system.base.log.permission_action.delete")],
|
|
41
|
+
[BasePermissionAction.BASE_PERMISSION_ACTION_ASSIGN, t("system.base.log.permission_action.assign")]
|
|
38
42
|
]));
|
|
39
43
|
const columns = computed<ColumnProps[]>(() => [
|
|
40
|
-
{ prop: "target_type", label: t("system.base.
|
|
41
|
-
{ prop: "target_name", label: t("system.base.
|
|
42
|
-
{ prop: "action", label: t("system.base.
|
|
43
|
-
{ prop: "result", label: t("system.base.
|
|
44
|
-
{ prop: "user_name", label: t("system.base.
|
|
45
|
-
{ prop: "occurred_at", label: t("system.base.
|
|
46
|
-
|
|
44
|
+
{ prop: "target_type", label: t("system.base.log.field.target_type"), minWidth: 120, search: { el: "select", enum: targetOptions.value }, render: scope => logEnumLabel(targetOptions.value, (scope.row as BasePermissionLog).target_type) },
|
|
45
|
+
{ prop: "target_name", label: t("system.base.log.field.target_name"), minWidth: 180, search: { el: "input" } },
|
|
46
|
+
{ prop: "action", label: t("system.base.log.field.action"), minWidth: 110, search: { el: "select", enum: actionOptions.value }, render: scope => logEnumLabel(actionOptions.value, (scope.row as BasePermissionLog).action) },
|
|
47
|
+
{ prop: "result", label: t("system.base.log.field.result"), minWidth: 110, search: { el: "select", enum: resultOptions.value }, render: scope => logEnumLabel(resultOptions.value, (scope.row as BasePermissionLog).result) },
|
|
48
|
+
{ prop: "user_name", label: t("system.base.log.field.user_name"), minWidth: 130 },
|
|
49
|
+
{ prop: "occurred_at", label: t("system.base.log.field.occurred_at"), minWidth: 190, search: logDateSearch(t) },
|
|
50
|
+
logDetailColumn(t("common.action.view"), id => page.value?.handleOpenDialog(id))
|
|
47
51
|
]);
|
|
48
52
|
|
|
49
|
-
const config = computed<
|
|
53
|
+
const config = computed<LogTableConfig>(() => ({
|
|
50
54
|
columns: columns.value,
|
|
51
|
-
detailTitle: t("system.base.
|
|
55
|
+
detailTitle: t("system.base.log.permission.title.detail"),
|
|
52
56
|
closeText: t("common.action.close"),
|
|
57
|
+
trace: requestLogTrace,
|
|
53
58
|
detailFields: [
|
|
54
|
-
{ key: "id", label: t("system.base.
|
|
55
|
-
{ key: "tenant_id", label: t("system.base.
|
|
56
|
-
{ key: "tenant_code", label: t("system.base.
|
|
57
|
-
{ key: "user_id", label: t("system.base.
|
|
58
|
-
{ key: "user_name", label: t("system.base.
|
|
59
|
-
{ key: "target_type", label: t("system.base.
|
|
60
|
-
{ key: "target_id", label: t("system.base.
|
|
61
|
-
{ key: "target_name", label: t("system.base.
|
|
62
|
-
{ key: "action", label: t("system.base.
|
|
63
|
-
{ key: "old_value", label: t("system.base.
|
|
64
|
-
{ key: "new_value", label: t("system.base.
|
|
65
|
-
{ key: "result", label: t("system.base.
|
|
66
|
-
{ key: "reason_code", label: t("system.base.
|
|
67
|
-
{ key: "reason", label: t("system.base.
|
|
68
|
-
{ key: "request_id", label: t("system.base.
|
|
69
|
-
{ key: "trace_id", label: t("system.base.
|
|
70
|
-
{ key: "occurred_at", label: t("system.base.
|
|
71
|
-
{ key: "created_at", label: t("system.base.
|
|
59
|
+
{ key: "id", label: t("system.base.log.field.id") },
|
|
60
|
+
{ key: "tenant_id", label: t("system.base.log.field.tenant_id") },
|
|
61
|
+
{ key: "tenant_code", label: t("system.base.log.field.tenant_code") },
|
|
62
|
+
{ key: "user_id", label: t("system.base.log.field.user_id") },
|
|
63
|
+
{ key: "user_name", label: t("system.base.log.field.user_name") },
|
|
64
|
+
{ key: "target_type", label: t("system.base.log.field.target_type"), enum: targetOptions.value },
|
|
65
|
+
{ key: "target_id", label: t("system.base.log.field.target_id") },
|
|
66
|
+
{ key: "target_name", label: t("system.base.log.field.target_name") },
|
|
67
|
+
{ key: "action", label: t("system.base.log.field.action"), enum: actionOptions.value },
|
|
68
|
+
{ key: "old_value", label: t("system.base.log.field.old_value"), span: 2, code: true },
|
|
69
|
+
{ key: "new_value", label: t("system.base.log.field.new_value"), span: 2, code: true },
|
|
70
|
+
{ key: "result", label: t("system.base.log.field.result"), enum: resultOptions.value },
|
|
71
|
+
{ key: "reason_code", label: t("system.base.log.field.reason_code") },
|
|
72
|
+
{ key: "reason", label: t("system.base.log.field.reason"), span: 2 },
|
|
73
|
+
{ key: "request_id", label: t("system.base.log.field.request_id") },
|
|
74
|
+
{ key: "trace_id", label: t("system.base.log.field.trace_id") },
|
|
75
|
+
{ key: "occurred_at", label: t("system.base.log.field.occurred_at") },
|
|
76
|
+
{ key: "created_at", label: t("system.base.log.field.created_at") }
|
|
72
77
|
],
|
|
73
78
|
request: requestTable,
|
|
74
79
|
get: getDetail
|
|
@@ -79,7 +84,7 @@ async function requestTable(params: Record<string, unknown>) {
|
|
|
79
84
|
return { list: response.base_permission_logs as unknown as Record<string, unknown>[], total: response.total };
|
|
80
85
|
}
|
|
81
86
|
|
|
82
|
-
async function getDetail(id:
|
|
87
|
+
async function getDetail(id: string) {
|
|
83
88
|
return (await defBasePermissionLogService.GetBasePermissionLog({ id })) as unknown as Record<string, unknown>;
|
|
84
89
|
}
|
|
85
90
|
</script>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<LogTable ref="page" :config="config" />
|
|
3
3
|
</template>
|
|
4
4
|
|
|
5
5
|
<script setup lang="ts">
|
|
@@ -7,65 +7,76 @@ import { computed, ref } from "vue";
|
|
|
7
7
|
import type { ColumnProps } from "@liujitcn/kratos-admin-core/components/ProTable/interface";
|
|
8
8
|
import { t } from "@liujitcn/kratos-admin-core";
|
|
9
9
|
import { buildPageRequest } from "@liujitcn/kratos-admin-core/table";
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
import LogTable, { type LogTableConfig } from "@liujitcn/kratos-admin-system/components/LogTable.vue";
|
|
11
|
+
import {
|
|
12
|
+
createLogEnumOptions,
|
|
13
|
+
formatLogCount,
|
|
14
|
+
formatLogDuration,
|
|
15
|
+
logDateSearch,
|
|
16
|
+
logDetailColumn,
|
|
17
|
+
logEnumLabel,
|
|
18
|
+
requestLogTrace
|
|
19
|
+
} from "@liujitcn/kratos-admin-system/components/log";
|
|
20
|
+
import { defBasePolicyEvaluationLogService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_policy_evaluation_log";
|
|
21
|
+
import { BasePolicyDecision, BasePolicyEvaluationType } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_policy_evaluation_log";
|
|
22
|
+
import type { BasePolicyEvaluationLog, PageBasePolicyEvaluationLogRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_policy_evaluation_log";
|
|
15
23
|
|
|
16
24
|
defineOptions({ name: "BasePolicyEvaluationLog", inheritAttrs: false });
|
|
17
25
|
|
|
18
|
-
const page = ref<InstanceType<typeof
|
|
19
|
-
const decisionOptions = computed(() =>
|
|
20
|
-
[BasePolicyDecision.
|
|
21
|
-
[BasePolicyDecision.
|
|
22
|
-
[BasePolicyDecision.
|
|
26
|
+
const page = ref<InstanceType<typeof LogTable>>();
|
|
27
|
+
const decisionOptions = computed(() => createLogEnumOptions([
|
|
28
|
+
[BasePolicyDecision.BASE_POLICY_DECISION_UNSPECIFIED, t("system.base.log.policy_decision.unspecified")],
|
|
29
|
+
[BasePolicyDecision.BASE_POLICY_DECISION_ALLOW, t("system.base.log.policy_decision.allow")],
|
|
30
|
+
[BasePolicyDecision.BASE_POLICY_DECISION_DENY, t("system.base.log.policy_decision.deny")],
|
|
31
|
+
[BasePolicyDecision.BASE_POLICY_DECISION_ERROR, t("system.base.log.policy_decision.error")]
|
|
23
32
|
]));
|
|
24
|
-
const evaluationTypeOptions = computed(() =>
|
|
25
|
-
[BasePolicyEvaluationType.
|
|
26
|
-
[BasePolicyEvaluationType.
|
|
27
|
-
[BasePolicyEvaluationType.
|
|
33
|
+
const evaluationTypeOptions = computed(() => createLogEnumOptions([
|
|
34
|
+
[BasePolicyEvaluationType.BASE_POLICY_EVALUATION_TYPE_UNSPECIFIED, t("system.base.log.evaluation_type.unspecified")],
|
|
35
|
+
[BasePolicyEvaluationType.BASE_POLICY_EVALUATION_TYPE_IS_AUTHORIZED, t("system.base.log.evaluation_type.is_authorized")],
|
|
36
|
+
[BasePolicyEvaluationType.BASE_POLICY_EVALUATION_TYPE_FILTER_PAIRS, t("system.base.log.evaluation_type.filter_pairs")],
|
|
37
|
+
[BasePolicyEvaluationType.BASE_POLICY_EVALUATION_TYPE_FILTER_PROJECTS, t("system.base.log.evaluation_type.filter_projects")]
|
|
28
38
|
]));
|
|
29
39
|
const columns = computed<ColumnProps[]>(() => [
|
|
30
|
-
{ prop: "resource", label: t("system.base.
|
|
31
|
-
{ prop: "action", label: t("system.base.
|
|
32
|
-
{ prop: "engine", label: t("system.base.
|
|
33
|
-
{ prop: "evaluation_type", label: t("system.base.
|
|
34
|
-
{ prop: "decision", label: t("system.base.
|
|
35
|
-
{ prop: "duration_ms", label: t("system.base.
|
|
36
|
-
{ prop: "occurred_at", label: t("system.base.
|
|
37
|
-
|
|
40
|
+
{ prop: "resource", label: t("system.base.log.field.resource"), minWidth: 320, search: { el: "input" } },
|
|
41
|
+
{ prop: "action", label: t("system.base.log.field.action"), minWidth: 100 },
|
|
42
|
+
{ prop: "engine", label: t("system.base.log.field.engine"), minWidth: 100 },
|
|
43
|
+
{ prop: "evaluation_type", label: t("system.base.log.field.evaluation_type"), minWidth: 160, search: { el: "select", enum: evaluationTypeOptions.value }, render: scope => logEnumLabel(evaluationTypeOptions.value, (scope.row as BasePolicyEvaluationLog).evaluation_type) },
|
|
44
|
+
{ prop: "decision", label: t("system.base.log.field.decision"), minWidth: 110, search: { el: "select", enum: decisionOptions.value }, render: scope => logEnumLabel(decisionOptions.value, (scope.row as BasePolicyEvaluationLog).decision) },
|
|
45
|
+
{ prop: "duration_ms", label: t("system.base.log.field.duration_ms"), minWidth: 110 },
|
|
46
|
+
{ prop: "occurred_at", label: t("system.base.log.field.occurred_at"), minWidth: 190, search: logDateSearch(t) },
|
|
47
|
+
logDetailColumn(t("common.action.view"), id => page.value?.handleOpenDialog(id))
|
|
38
48
|
]);
|
|
39
49
|
|
|
40
|
-
const config = computed<
|
|
50
|
+
const config = computed<LogTableConfig>(() => ({
|
|
41
51
|
columns: columns.value,
|
|
42
|
-
detailTitle: t("system.base.
|
|
52
|
+
detailTitle: t("system.base.log.policy.title.detail"),
|
|
43
53
|
closeText: t("common.action.close"),
|
|
54
|
+
trace: requestLogTrace,
|
|
44
55
|
detailFields: [
|
|
45
|
-
{ key: "id", label: t("system.base.
|
|
46
|
-
{ key: "tenant_id", label: t("system.base.
|
|
47
|
-
{ key: "tenant_code", label: t("system.base.
|
|
48
|
-
{ key: "user_id", label: t("system.base.
|
|
49
|
-
{ key: "user_name", label: t("system.base.
|
|
50
|
-
{ key: "role_id", label: t("system.base.
|
|
51
|
-
{ key: "role_code", label: t("system.base.
|
|
52
|
-
{ key: "engine", label: t("system.base.
|
|
53
|
-
{ key: "evaluation_type", label: t("system.base.
|
|
54
|
-
{ key: "resource", label: t("system.base.
|
|
55
|
-
{ key: "action", label: t("system.base.
|
|
56
|
-
{ key: "project", label: t("system.base.
|
|
57
|
-
{ key: "decision", label: t("system.base.
|
|
58
|
-
{ key: "reason_code", label: t("system.base.
|
|
59
|
-
{ key: "reason", label: t("system.base.
|
|
60
|
-
{ key: "duration_ms", label: t("system.base.
|
|
61
|
-
{ key: "candidate_count", label: t("system.base.
|
|
62
|
-
{ key: "matched_count", label: t("system.base.
|
|
63
|
-
{ key: "input_hash", label: t("system.base.
|
|
64
|
-
{ key: "client_ip", label: t("system.base.
|
|
65
|
-
{ key: "request_id", label: t("system.base.
|
|
66
|
-
{ key: "trace_id", label: t("system.base.
|
|
67
|
-
{ key: "occurred_at", label: t("system.base.
|
|
68
|
-
{ key: "created_at", label: t("system.base.
|
|
56
|
+
{ key: "id", label: t("system.base.log.field.id") },
|
|
57
|
+
{ key: "tenant_id", label: t("system.base.log.field.tenant_id") },
|
|
58
|
+
{ key: "tenant_code", label: t("system.base.log.field.tenant_code") },
|
|
59
|
+
{ key: "user_id", label: t("system.base.log.field.user_id") },
|
|
60
|
+
{ key: "user_name", label: t("system.base.log.field.user_name") },
|
|
61
|
+
{ key: "role_id", label: t("system.base.log.field.role_id") },
|
|
62
|
+
{ key: "role_code", label: t("system.base.log.field.role_code") },
|
|
63
|
+
{ key: "engine", label: t("system.base.log.field.engine") },
|
|
64
|
+
{ key: "evaluation_type", label: t("system.base.log.field.evaluation_type"), enum: evaluationTypeOptions.value },
|
|
65
|
+
{ key: "resource", label: t("system.base.log.field.resource"), span: 2 },
|
|
66
|
+
{ key: "action", label: t("system.base.log.field.action") },
|
|
67
|
+
{ key: "project", label: t("system.base.log.field.project") },
|
|
68
|
+
{ key: "decision", label: t("system.base.log.field.decision"), enum: decisionOptions.value },
|
|
69
|
+
{ key: "reason_code", label: t("system.base.log.field.reason_code") },
|
|
70
|
+
{ key: "reason", label: t("system.base.log.field.reason"), span: 2 },
|
|
71
|
+
{ key: "duration_ms", label: t("system.base.log.field.duration_ms"), format: value => formatLogDuration(value, t) },
|
|
72
|
+
{ key: "candidate_count", label: t("system.base.log.field.candidate_count"), format: value => formatLogCount(value, t) },
|
|
73
|
+
{ key: "matched_count", label: t("system.base.log.field.matched_count"), format: value => formatLogCount(value, t) },
|
|
74
|
+
{ key: "input_hash", label: t("system.base.log.field.input_hash") },
|
|
75
|
+
{ key: "client_ip", label: t("system.base.log.field.client_ip") },
|
|
76
|
+
{ key: "request_id", label: t("system.base.log.field.request_id") },
|
|
77
|
+
{ key: "trace_id", label: t("system.base.log.field.trace_id") },
|
|
78
|
+
{ key: "occurred_at", label: t("system.base.log.field.occurred_at") },
|
|
79
|
+
{ key: "created_at", label: t("system.base.log.field.created_at") }
|
|
69
80
|
],
|
|
70
81
|
request: requestTable,
|
|
71
82
|
get: getDetail
|
|
@@ -76,7 +87,7 @@ async function requestTable(params: Record<string, unknown>) {
|
|
|
76
87
|
return { list: response.base_policy_evaluation_logs as unknown as Record<string, unknown>[], total: response.total };
|
|
77
88
|
}
|
|
78
89
|
|
|
79
|
-
async function getDetail(id:
|
|
90
|
+
async function getDetail(id: string) {
|
|
80
91
|
return (await defBasePolicyEvaluationLogService.GetBasePolicyEvaluationLog({ id })) as unknown as Record<string, unknown>;
|
|
81
92
|
}
|
|
82
93
|
</script>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<FormDialog
|
|
13
13
|
v-model="dialog.visible"
|
|
14
14
|
ref="formDialogRef"
|
|
15
|
-
:title="t(dialog.titleKey, { resource: t('
|
|
15
|
+
:title="t(dialog.titleKey, { resource: t('common.field.post') })"
|
|
16
16
|
width="560px"
|
|
17
17
|
:model="formData"
|
|
18
18
|
:fields="formFields"
|
|
@@ -32,9 +32,9 @@ import ProTable from "@liujitcn/kratos-admin-core/components/ProTable";
|
|
|
32
32
|
import FormDialog from "@liujitcn/kratos-admin-core/components/Dialog/FormDialog.vue";
|
|
33
33
|
import type { ProFormField, ProFormOption } from "@liujitcn/kratos-admin-core/components/ProForm/interface";
|
|
34
34
|
import { useAuthButtons } from "@liujitcn/kratos-admin-core/auth";
|
|
35
|
-
import { defBasePostService } from "@liujitcn/kratos-admin-system/api/system/base_post";
|
|
35
|
+
import { defBasePostService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_post";
|
|
36
36
|
import type { BasePost, BasePostForm, PageBasePostRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_post";
|
|
37
|
-
import { defBaseTenantService } from "@liujitcn/kratos-admin-system/api/system/base_tenant";
|
|
37
|
+
import { defBaseTenantService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_tenant";
|
|
38
38
|
import type { SelectOptionResponse_Option } from "@liujitcn/kratos-admin-system/rpc/common/v1/common";
|
|
39
39
|
import { Status } from "@liujitcn/kratos-admin-system/rpc/common/v1/enum";
|
|
40
40
|
import { buildPageRequest, normalizeSelectedIds } from "@liujitcn/kratos-admin-core/table";
|
|
@@ -142,7 +142,7 @@ const formFields = computed<ProFormField[]>(() => [
|
|
|
142
142
|
label: t("common.field.tenant"),
|
|
143
143
|
component: "select",
|
|
144
144
|
props: {
|
|
145
|
-
placeholder: t("common.
|
|
145
|
+
placeholder: t("common.placeholder.select"),
|
|
146
146
|
filterable: true,
|
|
147
147
|
disabled: Boolean(formData.id)
|
|
148
148
|
},
|
|
@@ -319,7 +319,7 @@ function handleSubmit() {
|
|
|
319
319
|
request.then(() => {
|
|
320
320
|
ElMessage.success(
|
|
321
321
|
t(submitData.id ? "common.message.update_success" : "common.message.create_success", {
|
|
322
|
-
resource: t("
|
|
322
|
+
resource: t("common.field.post")
|
|
323
323
|
})
|
|
324
324
|
);
|
|
325
325
|
handleCloseDialog();
|
|
@@ -336,7 +336,7 @@ async function handleBeforeSetStatus(row: BasePost) {
|
|
|
336
336
|
await ElMessageBox.confirm(
|
|
337
337
|
t("common.dialog.status_change", {
|
|
338
338
|
action: text,
|
|
339
|
-
resource: t("
|
|
339
|
+
resource: t("common.field.post"),
|
|
340
340
|
field: t("system.base.post.field.name"),
|
|
341
341
|
value: row.name || row.code || `ID:${row.id}`
|
|
342
342
|
}),
|
|
@@ -372,10 +372,10 @@ function handleDelete(selected?: number | string | Array<number | string> | Base
|
|
|
372
372
|
}
|
|
373
373
|
const confirmMessage =
|
|
374
374
|
postList.length === 1
|
|
375
|
-
? `${t("common.dialog.delete_single", { resource: t("
|
|
375
|
+
? `${t("common.dialog.delete_single", { resource: t("common.field.post") })}\n${t("common.dialog.resource_field", { field: t("system.base.post.field.name"), value: postList[0].name || postList[0].code || `ID:${postList[0].id}` })}`
|
|
376
376
|
: postList.length > 1
|
|
377
|
-
? t("common.dialog.delete_batch", { count: postList.length, unit: "", resource: t("
|
|
378
|
-
: t("common.dialog.delete_selected", { resource: t("
|
|
377
|
+
? t("common.dialog.delete_batch", { count: postList.length, unit: "", resource: t("common.field.post") })
|
|
378
|
+
: t("common.dialog.delete_selected", { resource: t("common.field.post") });
|
|
379
379
|
ElMessageBox.confirm(confirmMessage, t("common.title.warning"), {
|
|
380
380
|
confirmButtonText: t("common.action.confirm"),
|
|
381
381
|
cancelButtonText: t("common.action.cancel"),
|
|
@@ -383,10 +383,10 @@ function handleDelete(selected?: number | string | Array<number | string> | Base
|
|
|
383
383
|
}).then(
|
|
384
384
|
() =>
|
|
385
385
|
defBasePostService.DeleteBasePost({ id: postIds }).then(() => {
|
|
386
|
-
ElMessage.success(t("common.message.delete_success", { resource: t("
|
|
386
|
+
ElMessage.success(t("common.message.delete_success", { resource: t("common.field.post") }));
|
|
387
387
|
refreshTable();
|
|
388
388
|
}),
|
|
389
|
-
() => ElMessage.info(t("common.dialog.cancel_delete", { resource: t("
|
|
389
|
+
() => ElMessage.info(t("common.dialog.cancel_delete", { resource: t("common.field.post") }))
|
|
390
390
|
);
|
|
391
391
|
}
|
|
392
392
|
</script>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="table-box page-box">
|
|
3
|
+
<ProTable ref="table" row-key="id" :columns="columns" :header-actions="headerActions" :request-api="requestTable" />
|
|
4
|
+
<FormDialog v-model="dialog.visible" ref="dialogRef" :title="t(dialog.titleKey)" width="620px" :model="form" :fields="fields" :rules="rules" @confirm="submit" @close="resetForm" />
|
|
5
|
+
</div>
|
|
6
|
+
</template>
|
|
7
|
+
|
|
8
|
+
<script setup lang="ts">
|
|
9
|
+
import { computed, reactive, ref } from "vue";
|
|
10
|
+
import { ElMessage, ElMessageBox } from "element-plus";
|
|
11
|
+
import { Delete, EditPen } from "@element-plus/icons-vue";
|
|
12
|
+
import type { ColumnProps, HeaderActionProps, ProTableInstance } from "@liujitcn/kratos-admin-core/components/ProTable/interface";
|
|
13
|
+
import ProTable from "@liujitcn/kratos-admin-core/components/ProTable";
|
|
14
|
+
import FormDialog from "@liujitcn/kratos-admin-core/components/Dialog/FormDialog.vue";
|
|
15
|
+
import type { ProFormField, ProFormOption } from "@liujitcn/kratos-admin-core/components/ProForm/interface";
|
|
16
|
+
import { useAuthButtons } from "@liujitcn/kratos-admin-core/auth";
|
|
17
|
+
import { buildPageRequest, normalizeSelectedIds } from "@liujitcn/kratos-admin-core/table";
|
|
18
|
+
import { t } from "@liujitcn/kratos-admin-core";
|
|
19
|
+
import { defBaseRedactFieldService } from "@liujitcn/kratos-admin-system/api/system/base_redact_field";
|
|
20
|
+
import { defBaseRedactRuleService } from "@liujitcn/kratos-admin-system/api/system/base_redact_rule";
|
|
21
|
+
import type { BaseRedactField, BaseRedactFieldForm, PageBaseRedactFieldRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_redact_field";
|
|
22
|
+
import { BaseRedactSearchMode, BaseRedactStorageMode } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_redact_field";
|
|
23
|
+
import { Status } from "@liujitcn/kratos-admin-system/rpc/common/v1/enum";
|
|
24
|
+
|
|
25
|
+
defineOptions({ name: "BaseRedactField", inheritAttrs: false });
|
|
26
|
+
const { BUTTONS } = useAuthButtons();
|
|
27
|
+
const table = ref<ProTableInstance>();
|
|
28
|
+
const dialogRef = ref<InstanceType<typeof FormDialog>>();
|
|
29
|
+
const ruleOptions = ref<ProFormOption[]>([]);
|
|
30
|
+
const dialog = reactive({ visible: false, titleKey: "common.action.edit_resource" });
|
|
31
|
+
const form = reactive<BaseRedactFieldForm>({ id: 0, message_ref: "", field_path: "", field_kind: "string", sensitivity_type: "", source: "PROTO", entity_ref: "", table_name: "", column_name: "", record_key_field: "", storage_mode: BaseRedactStorageMode.BASE_REDACT_STORAGE_MODE_UNSPECIFIED, storage_rule_id: 0, search_mode: BaseRedactSearchMode.BASE_REDACT_SEARCH_MODE_UNSPECIFIED, status: Status.STATUS_ENABLE, remark: "" });
|
|
32
|
+
const statusOptions = computed<ProFormOption[]>(() => [{ label: t("common.status.enabled"), value: Status.STATUS_ENABLE }, { label: t("common.status.disabled"), value: Status.STATUS_DISABLE }]);
|
|
33
|
+
const storageSupported = computed(() => form.message_ref === "system.admin.v1.BaseUser" && form.field_path === "phone");
|
|
34
|
+
const storageModeOptions = computed<ProFormOption[]>(() => { const options: ProFormOption[] = [{ label: t("system.base.redact_policy.storage_mode.unspecified"), value: BaseRedactStorageMode.BASE_REDACT_STORAGE_MODE_UNSPECIFIED }]; if (storageSupported.value) options.push({ label: t("system.base.redact_policy.storage_mode.plain"), value: BaseRedactStorageMode.BASE_REDACT_STORAGE_MODE_PLAIN }, { label: t("system.base.redact_policy.storage_mode.mask"), value: BaseRedactStorageMode.BASE_REDACT_STORAGE_MODE_MASK }); return options; });
|
|
35
|
+
const searchModeOptions = computed<ProFormOption[]>(() => { const options: ProFormOption[] = [{ label: t("system.base.redact_policy.search_mode.unspecified"), value: BaseRedactSearchMode.BASE_REDACT_SEARCH_MODE_UNSPECIFIED }]; if (storageSupported.value) options.push({ label: t("system.base.redact_policy.search_mode.none"), value: BaseRedactSearchMode.BASE_REDACT_SEARCH_MODE_NONE }, { label: t("system.base.redact_policy.search_mode.digest"), value: BaseRedactSearchMode.BASE_REDACT_SEARCH_MODE_DIGEST }); return options; });
|
|
36
|
+
const fields = computed<ProFormField[]>(() => [{ prop: "message_ref", label: t("system.base.redact_policy.field.message_ref"), component: "input", props: { disabled: true } }, { prop: "field_path", label: t("system.base.redact_policy.field.field_path"), component: "input", props: { disabled: true } }, { prop: "field_kind", label: t("system.base.redact_policy.field.field_kind"), component: "input", props: { disabled: true } }, { prop: "sensitivity_type", label: t("system.base.redact_policy.field.sensitivity_type"), component: "input" }, { prop: "entity_ref", label: t("system.base.redact_policy.field.entity_ref"), component: "input" }, { prop: "table_name", label: t("system.base.redact_policy.field.table_name"), component: "input" }, { prop: "column_name", label: t("system.base.redact_policy.field.column_name"), component: "input" }, { prop: "record_key_field", label: t("system.base.redact_policy.field.record_key_field"), component: "input" }, { prop: "storage_mode", label: t("system.base.redact_policy.field.storage_mode"), component: "select", options: storageModeOptions.value }, { prop: "storage_rule_id", label: t("system.base.redact_policy.field.storage_rule"), component: "select", props: { filterable: true, clearable: true }, options: ruleOptions.value, visible: () => form.storage_mode === BaseRedactStorageMode.BASE_REDACT_STORAGE_MODE_MASK }, { prop: "search_mode", label: t("system.base.redact_policy.field.search_mode"), component: "select", options: searchModeOptions.value }, { prop: "status", label: t("common.field.status"), component: "radio-group", options: statusOptions.value }, { prop: "remark", label: t("common.field.remark"), component: "textarea" }]);
|
|
37
|
+
const rules = computed(() => ({ message_ref: [{ required: true, message: t("system.base.redact_policy.validation.message_ref"), trigger: "blur" }], field_path: [{ required: true, message: t("system.base.redact_policy.validation.field_path"), trigger: "blur" }] }));
|
|
38
|
+
const columns = computed<ColumnProps[]>(() => [{ type: "selection", width: 55 }, { prop: "message_ref", label: t("system.base.redact_policy.field.message_ref"), minWidth: 220, search: { el: "input" } }, { prop: "field_path", label: t("system.base.redact_policy.field.field_path"), minWidth: 140, search: { el: "input" } }, { prop: "field_kind", label: t("system.base.redact_policy.field.field_kind"), width: 110 }, { prop: "sensitivity_type", label: t("system.base.redact_policy.field.sensitivity_type"), width: 140 }, { prop: "source", label: t("system.base.redact_policy.field.source"), width: 110, search: { el: "select", enum: [{ label: "PROTO", value: "PROTO" }, { label: "DATABASE", value: "DATABASE" }] } }, { prop: "storage_mode", label: t("system.base.redact_policy.field.storage_mode"), width: 120, enum: storageModeOptions.value, isFilterEnum: true }, { prop: "search_mode", label: t("system.base.redact_policy.field.search_mode"), width: 120, enum: searchModeOptions.value, isFilterEnum: true }, { prop: "status", label: t("common.field.status"), width: 100, cellType: "status", statusProps: { activeValue: Status.STATUS_ENABLE, inactiveValue: Status.STATUS_DISABLE, activeText: t("common.status.enabled"), inactiveText: t("common.status.disabled"), disabled: () => !BUTTONS.value["base:redact-field:status"], beforeChange: scope => changeStatus(scope.row as BaseRedactField) } }, { prop: "operation", label: t("common.field.operation"), width: 140, fixed: "right", cellType: "actions", actions: [{ label: t("common.action.edit"), type: "primary", link: true, icon: EditPen, hidden: () => !BUTTONS.value["base:redact-field:update"], onClick: scope => openDialog((scope.row as BaseRedactField).id) }, { label: t("common.action.delete"), type: "danger", link: true, icon: Delete, hidden: () => !BUTTONS.value["base:redact-field:delete"], onClick: scope => deleteItems(scope.row as BaseRedactField) }] }]);
|
|
39
|
+
const headerActions = computed<HeaderActionProps[]>(() => [{ label: t("common.action.delete"), type: "danger", icon: Delete, hidden: () => !BUTTONS.value["base:redact-field:delete"], disabled: scope => !scope.selectedList.length, onClick: scope => deleteItems(scope.selectedList as BaseRedactField[]) }]);
|
|
40
|
+
|
|
41
|
+
/** 请求字段分页列表。 */
|
|
42
|
+
async function requestTable(params: PageBaseRedactFieldRequest) { const data = await defBaseRedactFieldService.PageBaseRedactField(buildPageRequest(params)); return { data: { list: data.base_redact_fields ?? [], total: data.total } }; }
|
|
43
|
+
/** 加载存储脱敏规则选项。 */
|
|
44
|
+
async function loadRuleOptions() { const result = await defBaseRedactRuleService.OptionBaseRedactRule({ keyword: "" }); ruleOptions.value = result.list ?? []; }
|
|
45
|
+
/** 打开字段编辑弹窗。 */
|
|
46
|
+
async function openDialog(id: number) { resetForm(); await loadRuleOptions(); dialog.titleKey = "common.action.edit_resource"; dialog.visible = true; Object.assign(form, await defBaseRedactFieldService.GetBaseRedactField({ id })); }
|
|
47
|
+
/** 重置字段表单。 */
|
|
48
|
+
function resetForm() { dialog.visible = false; dialogRef.value?.resetFields(); Object.assign(form, { id: 0, message_ref: "", field_path: "", field_kind: "string", sensitivity_type: "", source: "PROTO", entity_ref: "", table_name: "", column_name: "", record_key_field: "", storage_mode: BaseRedactStorageMode.BASE_REDACT_STORAGE_MODE_UNSPECIFIED, storage_rule_id: 0, search_mode: BaseRedactSearchMode.BASE_REDACT_SEARCH_MODE_UNSPECIFIED, status: Status.STATUS_ENABLE, remark: "" }); }
|
|
49
|
+
/** 提交字段表单。 */
|
|
50
|
+
function submit() { dialogRef.value?.validate()?.then(async valid => { if (!valid) return; const payload = JSON.parse(JSON.stringify(form)) as BaseRedactFieldForm; if (payload.storage_mode !== BaseRedactStorageMode.BASE_REDACT_STORAGE_MODE_MASK) payload.storage_rule_id = 0; await defBaseRedactFieldService.UpdateBaseRedactField({ base_redact_field: payload }); ElMessage.success(t("common.message.update_success", { resource: t("system.base.redact_policy.tabs.field") })); resetForm(); table.value?.getTableList(); }); }
|
|
51
|
+
/** 切换字段状态。 */
|
|
52
|
+
async function changeStatus(row: BaseRedactField) { const next = row.status === Status.STATUS_ENABLE ? Status.STATUS_DISABLE : Status.STATUS_ENABLE; try { await ElMessageBox.confirm(t("common.dialog.status_change", { action: t(next === Status.STATUS_ENABLE ? "common.status.enabled" : "common.status.disabled"), resource: t("system.base.redact_policy.tabs.field"), field: t("system.base.redact_policy.field.message_ref"), value: row.message_ref })); await defBaseRedactFieldService.SetBaseRedactFieldStatus({ id: row.id, status: next }); table.value?.getTableList(); return true; } catch { return false; } }
|
|
53
|
+
/** 删除字段目录。 */
|
|
54
|
+
function deleteItems(selected?: BaseRedactField | BaseRedactField[] | number | string | Array<number | string>) { const items = Array.isArray(selected) ? selected.filter((item): item is BaseRedactField => typeof item === "object") : selected && typeof selected === "object" ? [selected] : []; const ids = items.length ? items.map(item => item.id) : normalizeSelectedIds(selected as number | string | Array<number | string>); if (!ids.length) { ElMessage.warning(t("common.message.select_delete_item")); return; } ElMessageBox.confirm(t("common.dialog.delete_selected", { resource: t("system.base.redact_policy.tabs.field") }), t("common.title.warning"), { type: "warning" }).then(async () => { await defBaseRedactFieldService.DeleteBaseRedactField({ id: ids.join(",") }); ElMessage.success(t("common.message.delete_success", { resource: t("system.base.redact_policy.tabs.field") })); table.value?.getTableList(); }); }
|
|
55
|
+
</script>
|
|
56
|
+
|
|
57
|
+
<style scoped lang="scss">
|
|
58
|
+
.page-box { padding: 20px; }
|
|
59
|
+
</style>
|