@liujitcn/kratos-admin-system 0.0.31 → 0.0.33
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_redact_output_policy.d.ts +19 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_redact_rule.d.ts +22 -0
- package/dist/package/declarations/src/api/system/admin/v1/base_redact_storage_policy.d.ts +19 -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/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 +1376 -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_output_policy.d.ts +135 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_rule.d.ts +107 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_storage_policy.d.ts +114 -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-output-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/redact-storage-policy/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_redact_output_policy.ts +51 -0
- package/dist/package/src/api/system/admin/v1/base_redact_rule.ts +27 -0
- package/dist/package/src/api/system/admin/v1/base_redact_storage_policy.ts +51 -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/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 +358 -127
- package/dist/package/src/locales/ja-JP.json +358 -127
- package/dist/package/src/locales/zh-CN.json +358 -127
- package/dist/package/src/locales/zh-TW.json +358 -127
- package/dist/package/src/module.ts +3 -1
- package/dist/package/src/rpc/base/v1/ai_message.ts +1 -1
- package/dist/package/src/rpc/base/v1/ai_session.ts +1 -1
- package/dist/package/src/rpc/base/v1/ai_tool.ts +1 -1
- package/dist/package/src/rpc/base/v1/config.ts +1 -1
- package/dist/package/src/rpc/base/v1/login.ts +5 -3
- package/dist/package/src/rpc/base/v1/notification.ts +29 -1
- package/dist/package/src/rpc/base/v1/oauth.ts +1 -1
- package/dist/package/src/rpc/base/v1/oauth_client.ts +1 -1
- package/dist/package/src/rpc/base/v1/sse.ts +1 -1
- package/dist/package/src/rpc/common/v1/analytics.ts +1 -1
- package/dist/package/src/rpc/common/v1/common.ts +1 -1
- package/dist/package/src/rpc/common/v1/enum.ts +1 -1
- package/dist/package/src/rpc/common/v1/types.ts +1 -1
- package/dist/package/src/rpc/google/protobuf/empty.ts +1 -1
- package/dist/package/src/rpc/google/protobuf/timestamp.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/auth.ts +14 -1
- package/dist/package/src/rpc/system/admin/v1/base_api.ts +3 -1
- package/dist/package/src/rpc/system/admin/v1/base_api_log.ts +102 -0
- package/dist/package/src/rpc/system/admin/v1/base_area.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_config.ts +43 -1
- package/dist/package/src/rpc/system/admin/v1/base_dashboard.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_data_access_log.ts +135 -0
- package/dist/package/src/rpc/system/admin/v1/base_dept.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_dict.ts +1 -113
- package/dist/package/src/rpc/system/admin/v1/base_dict_item.ts +126 -0
- package/dist/package/src/rpc/system/admin/v1/base_file.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_i18n.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_job.ts +6 -63
- package/dist/package/src/rpc/system/admin/v1/base_job_log.ts +75 -0
- package/dist/package/src/rpc/system/admin/v1/base_language.ts +1 -1
- 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 +192 -43
- package/dist/package/src/rpc/system/admin/v1/base_menu.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_message.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_message_category.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_migration.ts +1 -1
- 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_post.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_redact_common.ts +17 -0
- package/dist/package/src/rpc/system/admin/v1/base_redact_output_policy.ts +157 -0
- package/dist/package/src/rpc/system/admin/v1/base_redact_rule.ts +127 -0
- package/dist/package/src/rpc/system/admin/v1/base_redact_storage_policy.ts +137 -0
- package/dist/package/src/rpc/system/admin/v1/base_role.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_session.ts +1 -1
- 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_tenant.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_third_account.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_user.ts +16 -1
- package/dist/package/src/rpc/system/admin/v1/cache.ts +59 -0
- package/dist/package/src/rpc/system/admin/v1/code_gen.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/code_gen_column.ts +3 -1
- package/dist/package/src/rpc/system/admin/v1/code_gen_proto.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/code_gen_table.ts +9 -1
- package/dist/package/src/rpc/system/admin/v1/common.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/oauth_client.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/ops_monitoring.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/project_document.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/runtime_log.ts +1 -1
- 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-output-policy/index.vue +324 -0
- package/dist/package/src/views/base/redact-rule/index.vue +361 -0
- package/dist/package/src/views/base/redact-storage-policy/index.vue +276 -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
|
@@ -66,9 +66,9 @@ import type {
|
|
|
66
66
|
} from "@liujitcn/kratos-admin-core/components/ProTable/interface";
|
|
67
67
|
import type { ProFormField, ProFormOption } from "@liujitcn/kratos-admin-core/components/ProForm/interface";
|
|
68
68
|
import SelectIcon from "@liujitcn/kratos-admin-core/components/SelectIcon/index.vue";
|
|
69
|
-
import { defBaseMenuService } from "@liujitcn/kratos-admin-system/api/system/base_menu";
|
|
70
|
-
import { loadEnabledBaseLanguages } from "@liujitcn/kratos-admin-system/api/system/base_language";
|
|
71
|
-
import { defBaseApiService } from "@liujitcn/kratos-admin-system/api/system/base_api";
|
|
69
|
+
import { defBaseMenuService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_menu";
|
|
70
|
+
import { loadEnabledBaseLanguages } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_language";
|
|
71
|
+
import { defBaseApiService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_api";
|
|
72
72
|
import { useAuthButtons } from "@liujitcn/kratos-admin-core/auth";
|
|
73
73
|
import type { BaseApi } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_api";
|
|
74
74
|
import type {
|
|
@@ -96,7 +96,7 @@ defineOptions({
|
|
|
96
96
|
inheritAttrs: false
|
|
97
97
|
});
|
|
98
98
|
|
|
99
|
-
const APP_MENU_ROOT_ID =
|
|
99
|
+
const APP_MENU_ROOT_ID = 99000000;
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
102
|
* 菜单表单状态,统一补齐 meta 字段,便于 ProForm 直接双向绑定。
|
|
@@ -113,7 +113,7 @@ const menuOptions = ref<ProFormOption[]>([]);
|
|
|
113
113
|
const parentMenuTypeMap = ref(new Map<number, BaseMenuType>());
|
|
114
114
|
const appMenuIds = ref(new Set<number>([APP_MENU_ROOT_ID]));
|
|
115
115
|
const apiList = ref<BaseApi[]>([]);
|
|
116
|
-
const i18nValues = ref<DynamicI18nValue[]>(normalizeDynamicI18ns(undefined
|
|
116
|
+
const i18nValues = ref<DynamicI18nValue[]>(normalizeDynamicI18ns(undefined));
|
|
117
117
|
|
|
118
118
|
const dialog = reactive({
|
|
119
119
|
editing: false,
|
|
@@ -192,21 +192,21 @@ function isAppTab(parentId?: number) {
|
|
|
192
192
|
return parentId === APP_MENU_ROOT_ID;
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
-
/**
|
|
195
|
+
/** 根据固定八位编号中的非零层级槽位识别菜单层级。 */
|
|
196
196
|
function getMenuLevel(menuId: number) {
|
|
197
|
-
if (menuId
|
|
198
|
-
if (menuId
|
|
199
|
-
if (menuId
|
|
200
|
-
if (menuId
|
|
201
|
-
return
|
|
197
|
+
if (menuId < 10000000 || menuId > 99999999) return 0;
|
|
198
|
+
if (menuId % 1000000 === 0) return 1;
|
|
199
|
+
if (menuId % 10000 === 0) return 2;
|
|
200
|
+
if (menuId % 100 === 0) return 3;
|
|
201
|
+
return 4;
|
|
202
202
|
}
|
|
203
203
|
|
|
204
204
|
/** 判断当前菜单是否还能继续新增下级节点。 */
|
|
205
205
|
function canCreateChild(menu: BaseMenu) {
|
|
206
206
|
const level = getMenuLevel(menu.id);
|
|
207
207
|
if (menu.id === APP_MENU_ROOT_ID || isAppMenu(menu.parent_id)) return level >= 1 && level < 4;
|
|
208
|
-
if (menu.type === BaseMenuType.BASE_MENU_TYPE_FOLDER) return level === 1 || level === 2;
|
|
209
|
-
if (menu.type === BaseMenuType.BASE_MENU_TYPE_MENU) return level === 2 || level === 3;
|
|
208
|
+
if (menu.type === BaseMenuType.BASE_MENU_TYPE_FOLDER) return level === 1 || level === 2 || level === 3;
|
|
209
|
+
if (menu.type === BaseMenuType.BASE_MENU_TYPE_MENU) return level === 2 || level === 3 || level === 4;
|
|
210
210
|
return false;
|
|
211
211
|
}
|
|
212
212
|
|
|
@@ -219,18 +219,18 @@ const availableMenuTypeOptions = computed(() => {
|
|
|
219
219
|
if (isAppMenu(formData.parent_id)) return menuTypeOptions.value.filter(item => item.value === BaseMenuType.BASE_MENU_TYPE_MENU);
|
|
220
220
|
if (formData.id > 0 && parentLevel === 0)
|
|
221
221
|
return menuTypeOptions.value.filter(item => item.value === BaseMenuType.BASE_MENU_TYPE_FOLDER);
|
|
222
|
-
if (dialog.parentType === BaseMenuType.BASE_MENU_TYPE_FOLDER && parentLevel === 1)
|
|
222
|
+
if (dialog.parentType === BaseMenuType.BASE_MENU_TYPE_FOLDER && (parentLevel === 1 || parentLevel === 2))
|
|
223
223
|
return menuTypeOptions.value.filter(
|
|
224
224
|
item =>
|
|
225
225
|
item.value === BaseMenuType.BASE_MENU_TYPE_FOLDER ||
|
|
226
226
|
item.value === BaseMenuType.BASE_MENU_TYPE_MENU ||
|
|
227
227
|
item.value === BaseMenuType.BASE_MENU_TYPE_EXT_LINK
|
|
228
228
|
);
|
|
229
|
-
if (dialog.parentType === BaseMenuType.BASE_MENU_TYPE_FOLDER && parentLevel ===
|
|
229
|
+
if (dialog.parentType === BaseMenuType.BASE_MENU_TYPE_FOLDER && parentLevel === 3)
|
|
230
230
|
return menuTypeOptions.value.filter(
|
|
231
231
|
item => item.value === BaseMenuType.BASE_MENU_TYPE_MENU || item.value === BaseMenuType.BASE_MENU_TYPE_EXT_LINK
|
|
232
232
|
);
|
|
233
|
-
if (dialog.parentType === BaseMenuType.BASE_MENU_TYPE_MENU && (parentLevel === 2 || parentLevel === 3))
|
|
233
|
+
if (dialog.parentType === BaseMenuType.BASE_MENU_TYPE_MENU && (parentLevel === 2 || parentLevel === 3 || parentLevel === 4))
|
|
234
234
|
return menuTypeOptions.value.filter(item => item.value === BaseMenuType.BASE_MENU_TYPE_BUTTON);
|
|
235
235
|
return [];
|
|
236
236
|
});
|
|
@@ -1145,7 +1145,7 @@ function resetForm(data?: Partial<BaseMenuForm>) {
|
|
|
1145
1145
|
formDialogRef.value?.resetFields();
|
|
1146
1146
|
formDialogRef.value?.clearValidate();
|
|
1147
1147
|
Object.assign(formData, normalizeMenuForm(data));
|
|
1148
|
-
|
|
1148
|
+
i18nValues.value = normalizeDynamicI18ns(data?.i18ns as DynamicI18nRecord[] | undefined);
|
|
1149
1149
|
}
|
|
1150
1150
|
|
|
1151
1151
|
/** 提交菜单表单,并在成功后关闭弹窗、刷新表格。 */
|
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
ref="formDialogRef"
|
|
7
7
|
:title="t(dialog.titleKey)"
|
|
8
8
|
width="900px"
|
|
9
|
+
destroy-on-close
|
|
9
10
|
:model="formState"
|
|
10
11
|
:fields="formFields"
|
|
11
12
|
:rules="rules"
|
|
12
13
|
@confirm="handleSubmit"
|
|
13
|
-
@
|
|
14
|
+
@closed="handleClose"
|
|
14
15
|
>
|
|
15
16
|
<template #audiences>
|
|
16
17
|
<div class="audiences-editor">
|
|
@@ -45,24 +46,72 @@
|
|
|
45
46
|
</div>
|
|
46
47
|
</template>
|
|
47
48
|
</FormDialog>
|
|
48
|
-
<
|
|
49
|
+
<ProDialog
|
|
50
|
+
v-model="content.visible"
|
|
51
|
+
:title="content.data?.base_message?.title || t('system.base.message.content.title')"
|
|
52
|
+
width="760px"
|
|
53
|
+
destroy-on-close
|
|
54
|
+
:show-footer="false"
|
|
55
|
+
>
|
|
56
|
+
<el-skeleton v-if="content.loading" :rows="8" animated />
|
|
57
|
+
<template v-else-if="content.data">
|
|
58
|
+
<div class="message-content-meta">
|
|
59
|
+
<span>{{ content.data.base_message?.category_name || "-" }}</span>
|
|
60
|
+
<span>{{ content.data.base_message?.created_at || "-" }}</span>
|
|
61
|
+
</div>
|
|
62
|
+
<RichTextPreview
|
|
63
|
+
v-if="content.data.form?.content_format === MessageContentFormat.MESSAGE_CONTENT_FORMAT_RICH_TEXT"
|
|
64
|
+
class="message-content-body"
|
|
65
|
+
:model-value="content.data.form?.content ?? ''"
|
|
66
|
+
/>
|
|
67
|
+
<pre v-else class="message-content-body">{{ content.data.form?.content ?? "" }}</pre>
|
|
68
|
+
</template>
|
|
69
|
+
</ProDialog>
|
|
70
|
+
<ProDialog
|
|
71
|
+
v-model="detail.visible"
|
|
72
|
+
:title="t('system.base.message.send_detail.title')"
|
|
73
|
+
width="min(1200px, calc(100vw - 32px))"
|
|
74
|
+
:show-footer="false"
|
|
75
|
+
>
|
|
49
76
|
<template v-if="detail.data">
|
|
50
77
|
<el-descriptions :column="2" border>
|
|
51
78
|
<el-descriptions-item :label="t('system.base.message.field.title')">{{
|
|
52
79
|
detail.data.base_message?.title
|
|
53
80
|
}}</el-descriptions-item>
|
|
81
|
+
<el-descriptions-item :label="t('system.base.message.field.category')">{{
|
|
82
|
+
detail.data.base_message?.category_name
|
|
83
|
+
}}</el-descriptions-item>
|
|
54
84
|
<el-descriptions-item :label="t('common.field.status')">{{
|
|
55
85
|
optionLabel(statusOptions, detail.data.base_message?.status)
|
|
56
86
|
}}</el-descriptions-item>
|
|
87
|
+
<el-descriptions-item :label="t('system.base.message.field.sender')">{{
|
|
88
|
+
detail.data.base_message?.sender_name
|
|
89
|
+
}}</el-descriptions-item>
|
|
57
90
|
<el-descriptions-item :label="t('system.base.message.field.delivered_total')">{{
|
|
58
91
|
detail.data.base_message?.delivered_total
|
|
59
92
|
}}</el-descriptions-item>
|
|
60
93
|
<el-descriptions-item :label="t('system.base.message.field.recipient_total')">{{
|
|
61
94
|
detail.data.base_message?.recipient_total
|
|
62
95
|
}}</el-descriptions-item>
|
|
96
|
+
<el-descriptions-item :label="t('system.base.message.field.failed_total')">{{
|
|
97
|
+
detail.data.base_message?.failed_total
|
|
98
|
+
}}</el-descriptions-item>
|
|
99
|
+
<el-descriptions-item :label="t('system.base.message.field.published_at')">{{
|
|
100
|
+
detail.data.base_message?.published_at || "-"
|
|
101
|
+
}}</el-descriptions-item>
|
|
102
|
+
<el-descriptions-item :label="t('system.base.message.field.scheduled_at')">{{
|
|
103
|
+
detail.data.base_message?.scheduled_at || "-"
|
|
104
|
+
}}</el-descriptions-item>
|
|
63
105
|
</el-descriptions>
|
|
64
106
|
<el-table :data="detail.data.dispatches" style="margin-top: 16px" size="small">
|
|
65
107
|
<el-table-column prop="id" label="ID" width="90" />
|
|
108
|
+
<el-table-column prop="audience_type" :label="t('system.base.message.field.audience_type')" width="120">
|
|
109
|
+
<template #default="scope">{{ optionLabel(audienceOptions, scope.row.audience_type) }}</template>
|
|
110
|
+
</el-table-column>
|
|
111
|
+
<el-table-column prop="audience_id" :label="t('system.base.message.field.audience_id')" width="110" />
|
|
112
|
+
<el-table-column prop="include_children" :label="t('system.base.message.field.include_children')" width="120">
|
|
113
|
+
<template #default="scope">{{ scope.row.include_children ? t("common.value.yes") : t("common.value.no") }}</template>
|
|
114
|
+
</el-table-column>
|
|
66
115
|
<el-table-column prop="status" :label="t('common.field.status')" width="120" />
|
|
67
116
|
<el-table-column prop="matched_total" :label="t('system.base.message.field.matched_total')" width="110" />
|
|
68
117
|
<el-table-column prop="inserted_total" :label="t('system.base.message.field.inserted_total')" width="110" />
|
|
@@ -87,14 +136,16 @@
|
|
|
87
136
|
</el-table-column>
|
|
88
137
|
</el-table>
|
|
89
138
|
</template>
|
|
90
|
-
</
|
|
139
|
+
</ProDialog>
|
|
91
140
|
</div>
|
|
92
141
|
</template>
|
|
93
142
|
|
|
94
143
|
<script setup lang="ts">
|
|
95
|
-
import { computed, onMounted, reactive, ref, watch } from "vue";
|
|
144
|
+
import { computed, h, onMounted, reactive, ref, watch } from "vue";
|
|
96
145
|
import ProTable from "@liujitcn/kratos-admin-core/components/ProTable";
|
|
146
|
+
import ProDialog from "@liujitcn/kratos-admin-core/components/Dialog/ProDialog.vue";
|
|
97
147
|
import FormDialog from "@liujitcn/kratos-admin-core/components/Dialog/FormDialog.vue";
|
|
148
|
+
import RichTextPreview from "@liujitcn/kratos-admin-core/components/RichTextPreview/index.vue";
|
|
98
149
|
import type { ColumnProps, HeaderActionProps, ProTableInstance } from "@liujitcn/kratos-admin-core/components/ProTable/interface";
|
|
99
150
|
import type { ProFormField, ProFormOption } from "@liujitcn/kratos-admin-core/components/ProForm/interface";
|
|
100
151
|
import { useAuthButtons } from "@liujitcn/kratos-admin-core/auth";
|
|
@@ -102,9 +153,9 @@ import { buildPageRequest, normalizeSelectedIds } from "@liujitcn/kratos-admin-c
|
|
|
102
153
|
import { DEFAULT_TENANT_CODE, requestTenantOptions } from "@liujitcn/kratos-admin-core/tenant";
|
|
103
154
|
import { useUserStore } from "@liujitcn/kratos-admin-core/stores/runtime";
|
|
104
155
|
import { t } from "@liujitcn/kratos-admin-core";
|
|
105
|
-
import { defBaseMessageService } from "@liujitcn/kratos-admin-system/api/system/base_message";
|
|
106
|
-
import { defBaseMessageCategoryService } from "@liujitcn/kratos-admin-system/api/system/base_message_category";
|
|
107
|
-
import { defBaseTenantService } from "@liujitcn/kratos-admin-system/api/system/base_tenant";
|
|
156
|
+
import { defBaseMessageService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_message";
|
|
157
|
+
import { defBaseMessageCategoryService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_message_category";
|
|
158
|
+
import { defBaseTenantService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_tenant";
|
|
108
159
|
import type {
|
|
109
160
|
BaseMessage,
|
|
110
161
|
BaseMessageDetail,
|
|
@@ -145,6 +196,7 @@ const formDialogRef = ref<InstanceType<typeof FormDialog>>();
|
|
|
145
196
|
const categoryOptions = ref<ProFormOption[]>([]);
|
|
146
197
|
const tenantOptions = ref<ProFormOption[]>([]);
|
|
147
198
|
const dialog = reactive({ visible: false, titleKey: "common.action.create" });
|
|
199
|
+
const content = reactive<{ visible: boolean; loading: boolean; data?: BaseMessageDetail }>({ visible: false, loading: false });
|
|
148
200
|
const detail = reactive<{ visible: boolean; data?: BaseMessageDetail }>({ visible: false });
|
|
149
201
|
const formState = reactive<MessageFormState>(defaultForm());
|
|
150
202
|
|
|
@@ -171,7 +223,10 @@ const statusOptions = computed<ProFormOption[]>(() => [
|
|
|
171
223
|
{ label: t("system.base.message.status.published"), value: MessageStatus.MESSAGE_STATUS_PUBLISHED },
|
|
172
224
|
{ label: t("system.base.message.status.revoked"), value: MessageStatus.MESSAGE_STATUS_REVOKED }
|
|
173
225
|
]);
|
|
174
|
-
onMounted(() =>
|
|
226
|
+
onMounted(() => {
|
|
227
|
+
void loadCategoryOptions();
|
|
228
|
+
void loadTenantOptions();
|
|
229
|
+
});
|
|
175
230
|
watch(
|
|
176
231
|
() => formState.action_type,
|
|
177
232
|
value => {
|
|
@@ -244,7 +299,11 @@ const formFields = computed<ProFormField[]>(() => [
|
|
|
244
299
|
label: t("system.base.message.field.content"),
|
|
245
300
|
labelTooltip: t("system.base.message.tooltip.content"),
|
|
246
301
|
component: "rich-text",
|
|
247
|
-
props: {
|
|
302
|
+
props: {
|
|
303
|
+
height: "320px",
|
|
304
|
+
uploadType: "message",
|
|
305
|
+
editorConfig: { placeholder: t("system.base.message.placeholder.content") }
|
|
306
|
+
},
|
|
248
307
|
colSpan: 24
|
|
249
308
|
},
|
|
250
309
|
{
|
|
@@ -310,8 +369,42 @@ const columns = computed<ColumnProps[]>(() => [
|
|
|
310
369
|
}
|
|
311
370
|
] satisfies ColumnProps[])
|
|
312
371
|
: []),
|
|
313
|
-
{
|
|
314
|
-
|
|
372
|
+
{
|
|
373
|
+
prop: "title",
|
|
374
|
+
label: t("system.base.message.field.title"),
|
|
375
|
+
minWidth: 220,
|
|
376
|
+
search: { el: "input" },
|
|
377
|
+
render: scope => {
|
|
378
|
+
const row = scope.row as BaseMessage;
|
|
379
|
+
return h(
|
|
380
|
+
"a",
|
|
381
|
+
{
|
|
382
|
+
href: "#",
|
|
383
|
+
title: row.title,
|
|
384
|
+
style: {
|
|
385
|
+
display: "block",
|
|
386
|
+
maxWidth: "100%",
|
|
387
|
+
overflow: "hidden",
|
|
388
|
+
color: "var(--el-color-primary)",
|
|
389
|
+
textDecoration: "none",
|
|
390
|
+
textOverflow: "ellipsis",
|
|
391
|
+
whiteSpace: "nowrap"
|
|
392
|
+
},
|
|
393
|
+
onClick: (event: MouseEvent) => {
|
|
394
|
+
event.preventDefault();
|
|
395
|
+
void openContent(row.id);
|
|
396
|
+
}
|
|
397
|
+
},
|
|
398
|
+
row.title
|
|
399
|
+
);
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
prop: "category_name",
|
|
404
|
+
label: t("system.base.message.field.category"),
|
|
405
|
+
minWidth: 130,
|
|
406
|
+
search: { el: "select", key: "category_id", enum: categoryOptions.value }
|
|
407
|
+
},
|
|
315
408
|
{
|
|
316
409
|
prop: "priority",
|
|
317
410
|
label: t("system.base.message.field.priority"),
|
|
@@ -330,7 +423,8 @@ const columns = computed<ColumnProps[]>(() => [
|
|
|
330
423
|
{
|
|
331
424
|
prop: "operation",
|
|
332
425
|
label: t("common.field.operation"),
|
|
333
|
-
width:
|
|
426
|
+
width: 380,
|
|
427
|
+
className: "message-operation-column",
|
|
334
428
|
fixed: "right",
|
|
335
429
|
cellType: "actions",
|
|
336
430
|
actions: [
|
|
@@ -343,7 +437,7 @@ const columns = computed<ColumnProps[]>(() => [
|
|
|
343
437
|
onClick: scope => openDialog((scope.row as BaseMessage).id)
|
|
344
438
|
},
|
|
345
439
|
{
|
|
346
|
-
label: t("system.base.message.
|
|
440
|
+
label: t("system.base.message.send_detail.action"),
|
|
347
441
|
link: true,
|
|
348
442
|
icon: View,
|
|
349
443
|
onClick: scope => openDetail((scope.row as BaseMessage).id)
|
|
@@ -399,7 +493,7 @@ const headerActions = computed<HeaderActionProps[]>(() => [
|
|
|
399
493
|
onClick: () => openDialog()
|
|
400
494
|
},
|
|
401
495
|
{
|
|
402
|
-
label: t("common.action.
|
|
496
|
+
label: t("common.action.delete"),
|
|
403
497
|
type: "danger",
|
|
404
498
|
icon: Delete,
|
|
405
499
|
hidden: !BUTTONS.value["base:message:delete"],
|
|
@@ -465,7 +559,6 @@ async function loadTenantOptions() {
|
|
|
465
559
|
if (!isDefaultTenant.value) return;
|
|
466
560
|
const result = await defBaseTenantService.OptionBaseTenant({ keyword: "" });
|
|
467
561
|
tenantOptions.value = result.list.map(item => ({ label: item.label, value: item.value }));
|
|
468
|
-
await loadCategoryOptions();
|
|
469
562
|
}
|
|
470
563
|
|
|
471
564
|
/** 加载消息分类选项。 */
|
|
@@ -505,12 +598,26 @@ async function handleSubmit() {
|
|
|
505
598
|
proTable.value?.getTableList();
|
|
506
599
|
}
|
|
507
600
|
|
|
508
|
-
/**
|
|
601
|
+
/** 打开发送详情并加载投递进度。 */
|
|
509
602
|
async function openDetail(id: number) {
|
|
510
603
|
detail.data = await defBaseMessageService.GetBaseMessage({ id });
|
|
511
604
|
detail.visible = true;
|
|
512
605
|
}
|
|
513
606
|
|
|
607
|
+
/** 打开消息正文并单独展示内容。 */
|
|
608
|
+
async function openContent(id: number) {
|
|
609
|
+
content.visible = true;
|
|
610
|
+
content.loading = true;
|
|
611
|
+
content.data = undefined;
|
|
612
|
+
try {
|
|
613
|
+
content.data = await defBaseMessageService.GetBaseMessage({ id });
|
|
614
|
+
} catch {
|
|
615
|
+
content.visible = false;
|
|
616
|
+
} finally {
|
|
617
|
+
content.loading = false;
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
|
|
514
621
|
/** 重试失败的消息投递任务并刷新详情。 */
|
|
515
622
|
async function retryDispatch(id: number) {
|
|
516
623
|
await defBaseMessageService.RetryBaseMessageDispatch({ id });
|
|
@@ -522,7 +629,7 @@ async function retryDispatch(id: number) {
|
|
|
522
629
|
/** 删除草稿消息。 */
|
|
523
630
|
async function handleDelete(value: BaseMessage | BaseMessage[] | number | number[]) {
|
|
524
631
|
const ids = normalizeSelectedIds(value as Parameters<typeof normalizeSelectedIds>[0]);
|
|
525
|
-
await ElMessageBox.confirm(t("common.confirm.delete"), t("common.
|
|
632
|
+
await ElMessageBox.confirm(t("common.confirm.delete"), t("common.title.warning"), { type: "warning" });
|
|
526
633
|
await defBaseMessageService.DeleteBaseMessage({ id: ids.join(",") });
|
|
527
634
|
ElMessage.success(t("common.message.operation_success"));
|
|
528
635
|
proTable.value?.getTableList();
|
|
@@ -530,7 +637,7 @@ async function handleDelete(value: BaseMessage | BaseMessage[] | number | number
|
|
|
530
637
|
|
|
531
638
|
/** 发布消息。 */
|
|
532
639
|
async function publishMessage(row: BaseMessage) {
|
|
533
|
-
await ElMessageBox.confirm(t("system.base.message.confirm.publish"), t("common.
|
|
640
|
+
await ElMessageBox.confirm(t("system.base.message.confirm.publish"), t("common.title.warning"), { type: "warning" });
|
|
534
641
|
await defBaseMessageService.PublishBaseMessage({ id: row.id });
|
|
535
642
|
proTable.value?.getTableList();
|
|
536
643
|
}
|
|
@@ -543,7 +650,7 @@ async function cancelSchedule(row: BaseMessage) {
|
|
|
543
650
|
|
|
544
651
|
/** 撤回消息。 */
|
|
545
652
|
async function revokeMessage(row: BaseMessage) {
|
|
546
|
-
await ElMessageBox.confirm(t("system.base.message.confirm.revoke"), t("common.
|
|
653
|
+
await ElMessageBox.confirm(t("system.base.message.confirm.revoke"), t("common.title.warning"), { type: "warning" });
|
|
547
654
|
await defBaseMessageService.RevokeBaseMessage({ id: row.id });
|
|
548
655
|
proTable.value?.getTableList();
|
|
549
656
|
}
|
|
@@ -579,4 +686,27 @@ function optionLabel(options: ProFormOption[], value: unknown) {
|
|
|
579
686
|
.audience-id {
|
|
580
687
|
width: 160px;
|
|
581
688
|
}
|
|
689
|
+
|
|
690
|
+
.message-content-meta {
|
|
691
|
+
display: flex;
|
|
692
|
+
align-items: center;
|
|
693
|
+
gap: 12px;
|
|
694
|
+
margin-bottom: 16px;
|
|
695
|
+
color: var(--el-text-color-secondary);
|
|
696
|
+
font-size: 13px;
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
.message-content-body {
|
|
700
|
+
max-height: 60vh;
|
|
701
|
+
margin: 0;
|
|
702
|
+
overflow: auto;
|
|
703
|
+
padding: 12px;
|
|
704
|
+
border: 1px solid var(--el-border-color-lighter);
|
|
705
|
+
color: var(--el-text-color-primary);
|
|
706
|
+
overflow-wrap: anywhere;
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
pre.message-content-body {
|
|
710
|
+
white-space: pre-wrap;
|
|
711
|
+
}
|
|
582
712
|
</style>
|
|
@@ -26,7 +26,7 @@ import { buildPageRequest, normalizeSelectedIds } from "@liujitcn/kratos-admin-c
|
|
|
26
26
|
import { DEFAULT_TENANT_CODE } from "@liujitcn/kratos-admin-core/tenant";
|
|
27
27
|
import { useUserStore } from "@liujitcn/kratos-admin-core/stores/runtime";
|
|
28
28
|
import { t } from "@liujitcn/kratos-admin-core";
|
|
29
|
-
import { defBaseMessageCategoryService } from "@liujitcn/kratos-admin-system/api/system/base_message_category";
|
|
29
|
+
import { defBaseMessageCategoryService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_message_category";
|
|
30
30
|
import type {
|
|
31
31
|
BaseMessageCategory,
|
|
32
32
|
BaseMessageCategoryForm,
|
|
@@ -207,7 +207,7 @@ const columns = computed<ColumnProps[]>(() => [
|
|
|
207
207
|
display: "inline-block",
|
|
208
208
|
width: "18px",
|
|
209
209
|
height: "18px",
|
|
210
|
-
borderRadius: "
|
|
210
|
+
borderRadius: "var(--admin-page-radius)",
|
|
211
211
|
backgroundColor: (scope.row as BaseMessageCategory).color || "var(--el-fill-color-light)"
|
|
212
212
|
}
|
|
213
213
|
})
|
|
@@ -270,7 +270,7 @@ const headerActions = computed<HeaderActionProps[]>(() => [
|
|
|
270
270
|
onClick: () => openDialog()
|
|
271
271
|
},
|
|
272
272
|
{
|
|
273
|
-
label: t("common.action.
|
|
273
|
+
label: t("common.action.delete"),
|
|
274
274
|
type: "danger",
|
|
275
275
|
icon: Delete,
|
|
276
276
|
hidden: !isDefaultTenant.value || !BUTTONS.value["base:message-category:delete"],
|
|
@@ -324,18 +324,49 @@ async function handleSubmit() {
|
|
|
324
324
|
|
|
325
325
|
/** 删除消息分类。 */
|
|
326
326
|
async function handleDelete(value: BaseMessageCategory | BaseMessageCategory[] | number | number[]) {
|
|
327
|
-
const
|
|
328
|
-
|
|
329
|
-
|
|
327
|
+
const idList = Array.isArray(value)
|
|
328
|
+
? value.map(item => (typeof item === "object" ? item.id : item))
|
|
329
|
+
: typeof value === "object"
|
|
330
|
+
? [value.id]
|
|
331
|
+
: normalizeSelectedIds(value);
|
|
332
|
+
const ids = idList.join(",");
|
|
333
|
+
if (!ids) {
|
|
334
|
+
ElMessage.warning(t("common.message.select_delete_item"));
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
await ElMessageBox.confirm(t("common.confirm.delete"), t("common.title.warning"), { type: "warning" });
|
|
338
|
+
await defBaseMessageCategoryService.DeleteBaseMessageCategory({ id: ids });
|
|
339
|
+
await proTable.value?.getTableList();
|
|
330
340
|
ElMessage.success(t("common.message.operation_success"));
|
|
331
|
-
proTable.value?.getTableList();
|
|
332
341
|
}
|
|
333
342
|
|
|
334
343
|
/** 设置消息分类状态。 */
|
|
335
344
|
async function handleSetStatus(row: BaseMessageCategory) {
|
|
336
345
|
const status = row.status === Status.STATUS_ENABLE ? Status.STATUS_DISABLE : Status.STATUS_ENABLE;
|
|
337
|
-
|
|
338
|
-
|
|
346
|
+
const action = t(status === Status.STATUS_ENABLE ? "common.status.enabled" : "common.status.disabled");
|
|
347
|
+
const name = row.name || row.code || `ID:${row.id}`;
|
|
348
|
+
try {
|
|
349
|
+
await ElMessageBox.confirm(
|
|
350
|
+
t("common.dialog.status_change", {
|
|
351
|
+
action,
|
|
352
|
+
resource: t("system.base.message_category.resource"),
|
|
353
|
+
field: t("system.base.message_category.field.name"),
|
|
354
|
+
value: name
|
|
355
|
+
}),
|
|
356
|
+
t("common.title.notice"),
|
|
357
|
+
{
|
|
358
|
+
confirmButtonText: t("common.action.confirm"),
|
|
359
|
+
cancelButtonText: t("common.action.cancel"),
|
|
360
|
+
type: "warning"
|
|
361
|
+
}
|
|
362
|
+
);
|
|
363
|
+
await defBaseMessageCategoryService.SetBaseMessageCategoryStatus({ id: row.id, status });
|
|
364
|
+
ElMessage.success(t("common.message.status_success", { action }));
|
|
365
|
+
await proTable.value?.getTableList();
|
|
366
|
+
return true;
|
|
367
|
+
} catch {
|
|
368
|
+
return false;
|
|
369
|
+
}
|
|
339
370
|
}
|
|
340
371
|
|
|
341
372
|
/** 关闭消息分类表单。 */
|
|
@@ -349,7 +380,7 @@ function priorityLabel(priority: MessagePriority) {
|
|
|
349
380
|
return priorityOptions.value.find(item => item.value === priority)?.label ?? "";
|
|
350
381
|
}
|
|
351
382
|
|
|
352
|
-
/**
|
|
383
|
+
/** 解析消息分类图标,未知图标使用默认图标。 */
|
|
353
384
|
function resolveCategoryIcon(icon: string) {
|
|
354
385
|
return categoryIcons[icon] ?? CollectionTag;
|
|
355
386
|
}
|
|
@@ -180,7 +180,7 @@ import { CopyDocument, Document, DocumentAdd, DocumentRemove, Files, Refresh, Se
|
|
|
180
180
|
import MarkdownPreview from "@liujitcn/kratos-admin-core/components/MarkdownPreview/index.vue";
|
|
181
181
|
import { useGlobalStore } from "@liujitcn/kratos-admin-core/stores/runtime";
|
|
182
182
|
import { buildPageRequest } from "@liujitcn/kratos-admin-core/table";
|
|
183
|
-
import { defBaseMigrationService } from "@liujitcn/kratos-admin-system/api/system/base_migration";
|
|
183
|
+
import { defBaseMigrationService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_migration";
|
|
184
184
|
import type {
|
|
185
185
|
BaseMigration,
|
|
186
186
|
BaseMigrationListItem,
|
|
@@ -643,7 +643,7 @@ onMounted(() => {
|
|
|
643
643
|
font-weight: 500;
|
|
644
644
|
color: var(--admin-page-text-secondary);
|
|
645
645
|
background: var(--admin-page-card-bg-muted);
|
|
646
|
-
border-radius:
|
|
646
|
+
border-radius: var(--admin-page-radius);
|
|
647
647
|
}
|
|
648
648
|
|
|
649
649
|
.sql-panel {
|
|
@@ -33,8 +33,8 @@ import { useAuthButtons } from "@liujitcn/kratos-admin-core/auth";
|
|
|
33
33
|
import { buildPageRequest, normalizeSelectedIds } from "@liujitcn/kratos-admin-core/table";
|
|
34
34
|
import { t } from "@liujitcn/kratos-admin-core";
|
|
35
35
|
import { copyText } from "@liujitcn/kratos-admin-core/security";
|
|
36
|
-
import { defOauthClientService } from "@liujitcn/kratos-admin-system/api/system/oauth_client";
|
|
37
|
-
import { defBaseTenantService } from "@liujitcn/kratos-admin-system/api/system/base_tenant";
|
|
36
|
+
import { defOauthClientService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/oauth_client";
|
|
37
|
+
import { defBaseTenantService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_tenant";
|
|
38
38
|
import type { BaseApi } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_api";
|
|
39
39
|
import {
|
|
40
40
|
OauthClientCryptoType,
|
|
@@ -47,6 +47,12 @@ import { Status } from "@liujitcn/kratos-admin-system/rpc/common/v1/enum";
|
|
|
47
47
|
import { useUserStore } from "@liujitcn/kratos-admin-core/stores/runtime";
|
|
48
48
|
import { DEFAULT_TENANT_CODE, requestTenantOptions } from "@liujitcn/kratos-admin-core/tenant";
|
|
49
49
|
|
|
50
|
+
/** 开放授权客户端表单状态,新增时租户保持未选择。 */
|
|
51
|
+
type OauthClientFormState = Omit<OauthClientForm, "tenant_id"> & {
|
|
52
|
+
/** 绑定租户ID。 */
|
|
53
|
+
tenant_id?: number;
|
|
54
|
+
};
|
|
55
|
+
|
|
50
56
|
defineOptions({
|
|
51
57
|
name: "OauthClient",
|
|
52
58
|
inheritAttrs: false
|
|
@@ -65,9 +71,9 @@ const dialog = reactive({
|
|
|
65
71
|
visible: false
|
|
66
72
|
});
|
|
67
73
|
|
|
68
|
-
const formData = reactive<
|
|
74
|
+
const formData = reactive<OauthClientFormState>({
|
|
69
75
|
id: 0,
|
|
70
|
-
tenant_id:
|
|
76
|
+
tenant_id: undefined,
|
|
71
77
|
client_name: "",
|
|
72
78
|
crypto_type: OauthClientCryptoType.OAUTH_CLIENT_CRYPTO_TYPE_SM4,
|
|
73
79
|
ip_whitelist: "",
|
|
@@ -102,7 +108,7 @@ const rules = computed(() => ({
|
|
|
102
108
|
tenant_id: [
|
|
103
109
|
{
|
|
104
110
|
required: isDefaultTenant.value,
|
|
105
|
-
message: t("common.validation.required_select", { field: t("
|
|
111
|
+
message: t("common.validation.required_select", { field: t("common.field.tenant") }),
|
|
106
112
|
trigger: "change"
|
|
107
113
|
}
|
|
108
114
|
],
|
|
@@ -133,9 +139,13 @@ const rules = computed(() => ({
|
|
|
133
139
|
const formFields = computed<ProFormField[]>(() => [
|
|
134
140
|
{
|
|
135
141
|
prop: "tenant_id",
|
|
136
|
-
label: t("
|
|
142
|
+
label: t("common.field.tenant"),
|
|
137
143
|
component: "select",
|
|
138
|
-
props: {
|
|
144
|
+
props: {
|
|
145
|
+
filterable: true,
|
|
146
|
+
disabled: Boolean(formData.id),
|
|
147
|
+
placeholder: t("common.placeholder.select")
|
|
148
|
+
},
|
|
139
149
|
options: tenantOptions.value,
|
|
140
150
|
visible: () => isDefaultTenant.value
|
|
141
151
|
},
|
|
@@ -178,7 +188,7 @@ const columns = computed<ColumnProps[]>(() => [
|
|
|
178
188
|
? ([
|
|
179
189
|
{
|
|
180
190
|
prop: "tenant_id",
|
|
181
|
-
label: t("
|
|
191
|
+
label: t("common.field.tenant"),
|
|
182
192
|
minWidth: 130,
|
|
183
193
|
search: { el: "select", key: "tenant_id", props: { filterable: true }, order: 1 },
|
|
184
194
|
enum: requestTenantOptions,
|
|
@@ -304,7 +314,7 @@ function resetForm() {
|
|
|
304
314
|
formDialogRef.value?.clearValidate();
|
|
305
315
|
Object.assign(formData, {
|
|
306
316
|
id: 0,
|
|
307
|
-
tenant_id:
|
|
317
|
+
tenant_id: undefined,
|
|
308
318
|
client_name: "",
|
|
309
319
|
crypto_type: OauthClientCryptoType.OAUTH_CLIENT_CRYPTO_TYPE_SM4,
|
|
310
320
|
ip_whitelist: "",
|