@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.
Files changed (341) hide show
  1. package/README.md +34 -20
  2. package/dist/package/declarations/src/api/base/{notification.d.ts → v1/notification.d.ts} +3 -1
  3. package/dist/package/declarations/src/api/system/admin/v1/base_api_log.d.ts +10 -0
  4. package/dist/package/declarations/src/api/system/{base_area.d.ts → admin/v1/base_area.d.ts} +1 -1
  5. package/dist/package/declarations/src/api/system/{base_config.d.ts → admin/v1/base_config.d.ts} +5 -1
  6. package/dist/package/declarations/src/api/system/admin/v1/base_data_access_log.d.ts +10 -0
  7. package/dist/package/declarations/src/api/system/admin/v1/base_dict.d.ts +20 -0
  8. package/dist/package/declarations/src/api/system/admin/v1/base_dict_item.d.ts +18 -0
  9. package/dist/package/declarations/src/api/system/{base_job.d.ts → admin/v1/base_job.d.ts} +4 -5
  10. package/dist/package/declarations/src/api/system/admin/v1/base_job_log.d.ts +9 -0
  11. package/dist/package/declarations/src/api/system/{base_language.d.ts → admin/v1/base_language.d.ts} +3 -3
  12. package/dist/package/declarations/src/api/system/admin/v1/base_log.d.ts +8 -0
  13. package/dist/package/declarations/src/api/system/admin/v1/base_login_log.d.ts +10 -0
  14. package/dist/package/declarations/src/api/system/admin/v1/base_login_policy.d.ts +19 -0
  15. package/dist/package/declarations/src/api/system/admin/v1/base_operation_log.d.ts +10 -0
  16. package/dist/package/declarations/src/api/system/admin/v1/base_permission_log.d.ts +10 -0
  17. package/dist/package/declarations/src/api/system/admin/v1/base_policy_evaluation_log.d.ts +10 -0
  18. package/dist/package/declarations/src/api/system/admin/v1/base_redact_output_policy.d.ts +19 -0
  19. package/dist/package/declarations/src/api/system/admin/v1/base_redact_rule.d.ts +22 -0
  20. package/dist/package/declarations/src/api/system/admin/v1/base_redact_storage_policy.d.ts +19 -0
  21. package/dist/package/declarations/src/api/system/admin/v1/base_table_archive.d.ts +20 -0
  22. package/dist/package/declarations/src/api/system/admin/v1/base_table_archive_record.d.ts +11 -0
  23. package/dist/package/declarations/src/api/system/admin/v1/base_table_archive_restore.d.ts +14 -0
  24. package/dist/package/declarations/src/api/system/admin/v1/base_table_backup.d.ts +20 -0
  25. package/dist/package/declarations/src/api/system/admin/v1/base_table_backup_record.d.ts +11 -0
  26. package/dist/package/declarations/src/api/system/admin/v1/base_table_backup_restore.d.ts +14 -0
  27. package/dist/package/declarations/src/api/system/admin/v1/base_table_source.d.ts +11 -0
  28. package/dist/package/declarations/src/api/system/admin/v1/cache.d.ts +7 -0
  29. package/dist/package/declarations/src/components/ChangePasswordForm.vue.d.ts +3 -0
  30. package/dist/package/declarations/src/components/DynamicI18nCell.vue.d.ts +5 -1
  31. package/dist/package/declarations/src/components/ForcedPasswordDialog.vue.d.ts +3 -0
  32. package/dist/package/declarations/src/components/{AuditLogTable.vue.d.ts → LogTable.vue.d.ts} +14 -7
  33. package/dist/package/declarations/src/components/dynamicI18n.d.ts +4 -7
  34. package/dist/package/declarations/src/components/log.d.ts +20 -0
  35. package/dist/package/declarations/src/config/base-log-fallback.d.ts +7 -0
  36. package/dist/package/declarations/src/config/database-backup.d.ts +12 -0
  37. package/dist/package/declarations/src/config/index.d.ts +7 -0
  38. package/dist/package/declarations/src/config/types.d.ts +56 -0
  39. package/dist/package/declarations/src/locales/generated.d.ts +1376 -500
  40. package/dist/package/declarations/src/rpc/base/v1/login.d.ts +5 -3
  41. package/dist/package/declarations/src/rpc/base/v1/notification.d.ts +25 -0
  42. package/dist/package/declarations/src/rpc/system/admin/v1/auth.d.ts +13 -0
  43. package/dist/package/declarations/src/rpc/system/admin/v1/base_api.d.ts +2 -0
  44. package/dist/package/declarations/src/rpc/system/admin/v1/base_api_log.d.ts +84 -0
  45. package/dist/package/declarations/src/rpc/system/admin/v1/base_config.d.ts +38 -0
  46. package/dist/package/declarations/src/rpc/system/admin/v1/base_data_access_log.d.ts +112 -0
  47. package/dist/package/declarations/src/rpc/system/admin/v1/base_dict.d.ts +0 -101
  48. package/dist/package/declarations/src/rpc/system/admin/v1/base_dict_item.d.ts +107 -0
  49. package/dist/package/declarations/src/rpc/system/admin/v1/base_job.d.ts +5 -56
  50. package/dist/package/declarations/src/rpc/system/admin/v1/base_job_log.d.ts +60 -0
  51. package/dist/package/declarations/src/rpc/system/admin/v1/base_log.d.ts +77 -0
  52. package/dist/package/declarations/src/rpc/system/admin/v1/base_login_log.d.ts +92 -0
  53. package/dist/package/declarations/src/rpc/system/admin/v1/base_login_policy.d.ts +169 -41
  54. package/dist/package/declarations/src/rpc/system/admin/v1/base_operation_log.d.ts +106 -0
  55. package/dist/package/declarations/src/rpc/system/admin/v1/base_permission_log.d.ts +118 -0
  56. package/dist/package/declarations/src/rpc/system/admin/v1/base_policy_evaluation_log.d.ts +119 -0
  57. package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_common.d.ts +9 -0
  58. package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_output_policy.d.ts +135 -0
  59. package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_rule.d.ts +107 -0
  60. package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_storage_policy.d.ts +114 -0
  61. package/dist/package/declarations/src/rpc/system/admin/v1/base_table_archive.d.ts +90 -0
  62. package/dist/package/declarations/src/rpc/system/admin/v1/base_table_archive_record.d.ts +82 -0
  63. package/dist/package/declarations/src/rpc/system/admin/v1/base_table_archive_restore.d.ts +76 -0
  64. package/dist/package/declarations/src/rpc/system/admin/v1/base_table_backup.d.ts +74 -0
  65. package/dist/package/declarations/src/rpc/system/admin/v1/base_table_backup_record.d.ts +69 -0
  66. package/dist/package/declarations/src/rpc/system/admin/v1/base_table_backup_restore.d.ts +76 -0
  67. package/dist/package/declarations/src/rpc/system/admin/v1/base_table_source.d.ts +16 -0
  68. package/dist/package/declarations/src/rpc/system/admin/v1/base_user.d.ts +15 -0
  69. package/dist/package/declarations/src/rpc/system/admin/v1/cache.d.ts +47 -0
  70. package/dist/package/declarations/src/rpc/system/admin/v1/code_gen_column.d.ts +2 -0
  71. package/dist/package/declarations/src/rpc/system/admin/v1/code_gen_table.d.ts +8 -0
  72. package/dist/package/declarations/src/rpc/system/common/v1/common.d.ts +26 -0
  73. package/dist/package/declarations/src/rpc/system/config/v1/system_config.d.ts +8 -0
  74. package/dist/package/declarations/src/{api/system → utils}/code_gen_i18n.d.ts +1 -2
  75. package/dist/package/declarations/src/{api/system → utils}/code_gen_sse.d.ts +1 -1
  76. package/dist/package/declarations/src/utils/notification-response.d.ts +5 -0
  77. package/dist/package/declarations/src/{api/system → utils}/ops_monitoring_sse.d.ts +1 -1
  78. package/dist/package/declarations/src/{api/system → utils}/runtime_log_sse.d.ts +1 -1
  79. package/dist/package/declarations/src/views/base/backup-management/archive-config/index.vue.d.ts +3 -0
  80. package/dist/package/declarations/src/views/base/backup-management/archive-record/index.vue.d.ts +3 -0
  81. package/dist/package/declarations/src/views/base/backup-management/archive-restore/index.vue.d.ts +3 -0
  82. package/dist/package/declarations/src/views/base/backup-management/backup-config/index.vue.d.ts +3 -0
  83. package/dist/package/declarations/src/views/base/backup-management/backup-record/index.vue.d.ts +3 -0
  84. package/dist/package/declarations/src/views/base/backup-management/backup-restore/index.vue.d.ts +3 -0
  85. package/dist/package/declarations/src/views/base/login-policy/format.d.ts +2 -0
  86. package/dist/package/declarations/src/views/base/redact-output-policy/index.vue.d.ts +3 -0
  87. package/dist/package/declarations/src/views/base/redact-rule/index.vue.d.ts +3 -0
  88. package/dist/package/declarations/src/views/base/redact-storage-policy/index.vue.d.ts +3 -0
  89. package/dist/package/declarations/src/views/base/runtime-config/index.vue.d.ts +3 -0
  90. package/dist/package/declarations/src/views/tool/cache/index.vue.d.ts +3 -0
  91. package/dist/package/src/api/base/v1/notification.ts +99 -0
  92. package/dist/package/src/api/system/admin/v1/base_api_log.ts +33 -0
  93. package/dist/package/src/api/system/{base_area.ts → admin/v1/base_area.ts} +1 -1
  94. package/dist/package/src/api/system/{base_config.ts → admin/v1/base_config.ts} +20 -0
  95. package/dist/package/src/api/system/admin/v1/base_data_access_log.ts +33 -0
  96. package/dist/package/src/api/system/{base_dict.ts → admin/v1/base_dict.ts} +0 -60
  97. package/dist/package/src/api/system/admin/v1/base_dict_item.ts +72 -0
  98. package/dist/package/src/api/system/{base_job.ts → admin/v1/base_job.ts} +11 -22
  99. package/dist/package/src/api/system/admin/v1/base_job_log.ts +32 -0
  100. package/dist/package/src/api/system/{base_language.ts → admin/v1/base_language.ts} +3 -3
  101. package/dist/package/src/api/system/admin/v1/base_log.ts +23 -0
  102. package/dist/package/src/api/system/admin/v1/base_login_log.ts +33 -0
  103. package/dist/package/src/api/system/admin/v1/base_login_policy.ts +67 -0
  104. package/dist/package/src/api/system/{base_message.ts → admin/v1/base_message.ts} +29 -9
  105. package/dist/package/src/api/system/{base_message_category.ts → admin/v1/base_message_category.ts} +30 -7
  106. package/dist/package/src/api/system/admin/v1/base_operation_log.ts +33 -0
  107. package/dist/package/src/api/system/admin/v1/base_permission_log.ts +33 -0
  108. package/dist/package/src/api/system/admin/v1/base_policy_evaluation_log.ts +33 -0
  109. package/dist/package/src/api/system/admin/v1/base_redact_output_policy.ts +51 -0
  110. package/dist/package/src/api/system/admin/v1/base_redact_rule.ts +27 -0
  111. package/dist/package/src/api/system/admin/v1/base_redact_storage_policy.ts +51 -0
  112. package/dist/package/src/api/system/admin/v1/base_table_archive.ts +70 -0
  113. package/dist/package/src/api/system/admin/v1/base_table_archive_record.ts +33 -0
  114. package/dist/package/src/api/system/admin/v1/base_table_archive_restore.ts +44 -0
  115. package/dist/package/src/api/system/admin/v1/base_table_backup.ts +70 -0
  116. package/dist/package/src/api/system/admin/v1/base_table_backup_record.ts +33 -0
  117. package/dist/package/src/api/system/admin/v1/base_table_backup_restore.ts +44 -0
  118. package/dist/package/src/api/system/admin/v1/base_table_source.ts +33 -0
  119. package/dist/package/src/api/system/admin/v1/cache.ts +22 -0
  120. package/dist/package/src/api/system/{code_gen_column.ts → admin/v1/code_gen_column.ts} +19 -3
  121. package/dist/package/src/api/system/{code_gen_table.ts → admin/v1/code_gen_table.ts} +13 -4
  122. package/dist/package/src/components/Ai.vue +1 -1
  123. package/dist/package/src/components/ChangePasswordForm.vue +143 -0
  124. package/dist/package/src/components/DynamicI18nCell.vue +28 -8
  125. package/dist/package/src/components/DynamicI18nEditor.vue +1 -1
  126. package/dist/package/src/components/ForcedPasswordDialog.vue +40 -0
  127. package/dist/package/src/components/LogTable.vue +190 -0
  128. package/dist/package/src/components/Notification.vue +112 -7
  129. package/dist/package/src/components/dynamicI18n.ts +5 -9
  130. package/dist/package/src/components/log.ts +87 -0
  131. package/dist/package/src/config/base-log-fallback.ts +26 -0
  132. package/dist/package/src/config/database-backup.ts +57 -0
  133. package/dist/package/src/config/index.ts +26 -0
  134. package/dist/package/src/config/types.ts +59 -0
  135. package/dist/package/src/locales/README.md +2 -1
  136. package/dist/package/src/locales/en-US.json +358 -127
  137. package/dist/package/src/locales/ja-JP.json +358 -127
  138. package/dist/package/src/locales/zh-CN.json +358 -127
  139. package/dist/package/src/locales/zh-TW.json +358 -127
  140. package/dist/package/src/module.ts +3 -1
  141. package/dist/package/src/rpc/base/v1/ai_message.ts +1 -1
  142. package/dist/package/src/rpc/base/v1/ai_session.ts +1 -1
  143. package/dist/package/src/rpc/base/v1/ai_tool.ts +1 -1
  144. package/dist/package/src/rpc/base/v1/config.ts +1 -1
  145. package/dist/package/src/rpc/base/v1/login.ts +5 -3
  146. package/dist/package/src/rpc/base/v1/notification.ts +29 -1
  147. package/dist/package/src/rpc/base/v1/oauth.ts +1 -1
  148. package/dist/package/src/rpc/base/v1/oauth_client.ts +1 -1
  149. package/dist/package/src/rpc/base/v1/sse.ts +1 -1
  150. package/dist/package/src/rpc/common/v1/analytics.ts +1 -1
  151. package/dist/package/src/rpc/common/v1/common.ts +1 -1
  152. package/dist/package/src/rpc/common/v1/enum.ts +1 -1
  153. package/dist/package/src/rpc/common/v1/types.ts +1 -1
  154. package/dist/package/src/rpc/google/protobuf/empty.ts +1 -1
  155. package/dist/package/src/rpc/google/protobuf/timestamp.ts +1 -1
  156. package/dist/package/src/rpc/system/admin/v1/auth.ts +14 -1
  157. package/dist/package/src/rpc/system/admin/v1/base_api.ts +3 -1
  158. package/dist/package/src/rpc/system/admin/v1/base_api_log.ts +102 -0
  159. package/dist/package/src/rpc/system/admin/v1/base_area.ts +1 -1
  160. package/dist/package/src/rpc/system/admin/v1/base_config.ts +43 -1
  161. package/dist/package/src/rpc/system/admin/v1/base_dashboard.ts +1 -1
  162. package/dist/package/src/rpc/system/admin/v1/base_data_access_log.ts +135 -0
  163. package/dist/package/src/rpc/system/admin/v1/base_dept.ts +1 -1
  164. package/dist/package/src/rpc/system/admin/v1/base_dict.ts +1 -113
  165. package/dist/package/src/rpc/system/admin/v1/base_dict_item.ts +126 -0
  166. package/dist/package/src/rpc/system/admin/v1/base_file.ts +1 -1
  167. package/dist/package/src/rpc/system/admin/v1/base_i18n.ts +1 -1
  168. package/dist/package/src/rpc/system/admin/v1/base_job.ts +6 -63
  169. package/dist/package/src/rpc/system/admin/v1/base_job_log.ts +75 -0
  170. package/dist/package/src/rpc/system/admin/v1/base_language.ts +1 -1
  171. package/dist/package/src/rpc/system/admin/v1/base_log.ts +90 -0
  172. package/dist/package/src/rpc/system/admin/v1/base_login_log.ts +113 -0
  173. package/dist/package/src/rpc/system/admin/v1/base_login_policy.ts +192 -43
  174. package/dist/package/src/rpc/system/admin/v1/base_menu.ts +1 -1
  175. package/dist/package/src/rpc/system/admin/v1/base_message.ts +1 -1
  176. package/dist/package/src/rpc/system/admin/v1/base_message_category.ts +1 -1
  177. package/dist/package/src/rpc/system/admin/v1/base_migration.ts +1 -1
  178. package/dist/package/src/rpc/system/admin/v1/base_operation_log.ts +127 -0
  179. package/dist/package/src/rpc/system/admin/v1/base_permission_log.ts +142 -0
  180. package/dist/package/src/rpc/system/admin/v1/base_policy_evaluation_log.ts +143 -0
  181. package/dist/package/src/rpc/system/admin/v1/base_post.ts +1 -1
  182. package/dist/package/src/rpc/system/admin/v1/base_redact_common.ts +17 -0
  183. package/dist/package/src/rpc/system/admin/v1/base_redact_output_policy.ts +157 -0
  184. package/dist/package/src/rpc/system/admin/v1/base_redact_rule.ts +127 -0
  185. package/dist/package/src/rpc/system/admin/v1/base_redact_storage_policy.ts +137 -0
  186. package/dist/package/src/rpc/system/admin/v1/base_role.ts +1 -1
  187. package/dist/package/src/rpc/system/admin/v1/base_session.ts +1 -1
  188. package/dist/package/src/rpc/system/admin/v1/base_table_archive.ts +109 -0
  189. package/dist/package/src/rpc/system/admin/v1/base_table_archive_record.ts +95 -0
  190. package/dist/package/src/rpc/system/admin/v1/base_table_archive_restore.ts +93 -0
  191. package/dist/package/src/rpc/system/admin/v1/base_table_backup.ts +91 -0
  192. package/dist/package/src/rpc/system/admin/v1/base_table_backup_record.ts +82 -0
  193. package/dist/package/src/rpc/system/admin/v1/base_table_backup_restore.ts +91 -0
  194. package/dist/package/src/rpc/system/admin/v1/base_table_source.ts +26 -0
  195. package/dist/package/src/rpc/system/admin/v1/base_tenant.ts +1 -1
  196. package/dist/package/src/rpc/system/admin/v1/base_third_account.ts +1 -1
  197. package/dist/package/src/rpc/system/admin/v1/base_user.ts +16 -1
  198. package/dist/package/src/rpc/system/admin/v1/cache.ts +59 -0
  199. package/dist/package/src/rpc/system/admin/v1/code_gen.ts +1 -1
  200. package/dist/package/src/rpc/system/admin/v1/code_gen_column.ts +3 -1
  201. package/dist/package/src/rpc/system/admin/v1/code_gen_proto.ts +1 -1
  202. package/dist/package/src/rpc/system/admin/v1/code_gen_table.ts +9 -1
  203. package/dist/package/src/rpc/system/admin/v1/common.ts +1 -1
  204. package/dist/package/src/rpc/system/admin/v1/oauth_client.ts +1 -1
  205. package/dist/package/src/rpc/system/admin/v1/ops_monitoring.ts +1 -1
  206. package/dist/package/src/rpc/system/admin/v1/project_document.ts +1 -1
  207. package/dist/package/src/rpc/system/admin/v1/runtime_log.ts +1 -1
  208. package/dist/package/src/rpc/system/common/v1/common.ts +35 -0
  209. package/dist/package/src/rpc/system/config/v1/system_config.ts +16 -0
  210. package/dist/package/src/{api/system → utils}/code_gen_i18n.ts +1 -1
  211. package/dist/package/src/{api/system → utils}/code_gen_sse.ts +1 -1
  212. package/dist/package/src/utils/notification-response.ts +22 -0
  213. package/dist/package/src/{api/system → utils}/ops_monitoring_sse.ts +1 -1
  214. package/dist/package/src/{api/system → utils}/runtime_log_sse.ts +1 -1
  215. package/dist/package/src/views/ai/chat/components/AiMarkdown.vue +1 -1
  216. package/dist/package/src/views/ai/chat/components/ChatPanel.vue +2 -4
  217. package/dist/package/src/views/ai/chat/components/XSender.vue +1 -1
  218. package/dist/package/src/views/ai/chat/index.vue +3 -3
  219. package/dist/package/src/views/ai/chat/message.ts +3 -8
  220. package/dist/package/src/views/base/api/index.vue +4 -4
  221. package/dist/package/src/views/base/api-log/index.vue +56 -45
  222. package/dist/package/src/views/base/area/index.vue +1 -1
  223. package/dist/package/src/views/base/backup-management/archive-config/index.vue +151 -0
  224. package/dist/package/src/views/base/backup-management/archive-record/index.vue +44 -0
  225. package/dist/package/src/views/base/backup-management/archive-restore/index.vue +59 -0
  226. package/dist/package/src/views/base/backup-management/backup-config/index.vue +119 -0
  227. package/dist/package/src/views/base/backup-management/backup-record/index.vue +41 -0
  228. package/dist/package/src/views/base/backup-management/backup-restore/index.vue +66 -0
  229. package/dist/package/src/views/base/config/index.vue +16 -25
  230. package/dist/package/src/views/base/dashboard/index.vue +68 -66
  231. package/dist/package/src/views/base/data-access-log/index.vue +64 -52
  232. package/dist/package/src/views/base/dept/index.vue +11 -11
  233. package/dist/package/src/views/base/dict/index.vue +5 -5
  234. package/dist/package/src/views/base/dict/item.vue +12 -12
  235. package/dist/package/src/views/base/file/index.vue +220 -16
  236. package/dist/package/src/views/base/job/index.vue +5 -5
  237. package/dist/package/src/views/base/job/log.vue +38 -11
  238. package/dist/package/src/views/base/language/index.vue +1 -1
  239. package/dist/package/src/views/base/login-log/index.vue +49 -45
  240. package/dist/package/src/views/base/login-policy/format.ts +4 -0
  241. package/dist/package/src/views/base/login-policy/index.vue +496 -185
  242. package/dist/package/src/views/base/menu/index.vue +17 -17
  243. package/dist/package/src/views/base/message/index.vue +149 -19
  244. package/dist/package/src/views/base/message-category/index.vue +41 -10
  245. package/dist/package/src/views/base/migration/index.vue +2 -2
  246. package/dist/package/src/views/base/oauth-client/index.vue +19 -9
  247. package/dist/package/src/views/base/operation-log/index.vue +54 -50
  248. package/dist/package/src/views/base/permission-log/index.vue +57 -52
  249. package/dist/package/src/views/base/policy-evaluation-log/index.vue +61 -50
  250. package/dist/package/src/views/base/post/index.vue +11 -11
  251. package/dist/package/src/views/base/redact-output-policy/index.vue +324 -0
  252. package/dist/package/src/views/base/redact-rule/index.vue +361 -0
  253. package/dist/package/src/views/base/redact-storage-policy/index.vue +276 -0
  254. package/dist/package/src/views/base/role/index.vue +9 -9
  255. package/dist/package/src/views/base/runtime-config/index.vue +479 -0
  256. package/dist/package/src/views/base/tenant/index.vue +9 -9
  257. package/dist/package/src/views/base/user/components/dept-tree.vue +1 -1
  258. package/dist/package/src/views/base/user/index.vue +86 -47
  259. package/dist/package/src/views/message/inbox/index.vue +38 -11
  260. package/dist/package/src/views/profile/components/base.vue +84 -8
  261. package/dist/package/src/views/profile/components/password.vue +2 -228
  262. package/dist/package/src/views/profile/components/security.vue +3 -3
  263. package/dist/package/src/views/profile/components/session.vue +10 -2
  264. package/dist/package/src/views/profile/index.vue +10 -9
  265. package/dist/package/src/views/tool/api-doc/index.vue +3 -3
  266. package/dist/package/src/views/tool/cache/index.vue +352 -0
  267. package/dist/package/src/views/tool/code-gen/code-preview/index.vue +4 -4
  268. package/dist/package/src/views/tool/code-gen/columns/index.vue +16 -16
  269. package/dist/package/src/views/tool/code-gen/components/CodeGenLocaleEditor.vue +2 -2
  270. package/dist/package/src/views/tool/code-gen/components/CodeGenProgressDialog.vue +2 -2
  271. package/dist/package/src/views/tool/code-gen/config.ts +2 -0
  272. package/dist/package/src/views/tool/code-gen/preview/index.vue +9 -9
  273. package/dist/package/src/views/tool/code-gen/proto/index.vue +10 -12
  274. package/dist/package/src/views/tool/code-gen/table/index.vue +71 -15
  275. package/dist/package/src/views/tool/ops-monitoring/index.vue +31 -96
  276. package/dist/package/src/views/tool/project-doc/index.vue +2 -2
  277. package/dist/package/src/views/tool/runtime-log/index.vue +6 -6
  278. package/package.json +7 -2
  279. package/dist/package/declarations/src/api/system/base_audit_log.d.ts +0 -55
  280. package/dist/package/declarations/src/api/system/base_dict.d.ts +0 -32
  281. package/dist/package/declarations/src/api/system/base_login_policy.d.ts +0 -10
  282. package/dist/package/declarations/src/components/auditLog.d.ts +0 -9
  283. package/dist/package/declarations/src/rpc/system/admin/v1/base_audit_log.d.ts +0 -640
  284. package/dist/package/src/api/base/notification.ts +0 -69
  285. package/dist/package/src/api/system/base_audit_log.ts +0 -168
  286. package/dist/package/src/api/system/base_login_policy.ts +0 -32
  287. package/dist/package/src/components/AuditLogTable.vue +0 -105
  288. package/dist/package/src/components/auditLog.ts +0 -46
  289. package/dist/package/src/rpc/system/admin/v1/base_audit_log.ts +0 -737
  290. /package/dist/package/declarations/src/api/base/{ai_message.d.ts → v1/ai_message.d.ts} +0 -0
  291. /package/dist/package/declarations/src/api/base/{ai_session.d.ts → v1/ai_session.d.ts} +0 -0
  292. /package/dist/package/declarations/src/api/base/{ai_tool.d.ts → v1/ai_tool.d.ts} +0 -0
  293. /package/dist/package/declarations/src/api/base/{oauth.d.ts → v1/oauth.d.ts} +0 -0
  294. /package/dist/package/declarations/src/api/base/{sse.d.ts → v1/sse.d.ts} +0 -0
  295. /package/dist/package/declarations/src/api/system/{auth.d.ts → admin/v1/auth.d.ts} +0 -0
  296. /package/dist/package/declarations/src/api/system/{base_api.d.ts → admin/v1/base_api.d.ts} +0 -0
  297. /package/dist/package/declarations/src/api/system/{base_dashboard.d.ts → admin/v1/base_dashboard.d.ts} +0 -0
  298. /package/dist/package/declarations/src/api/system/{base_dept.d.ts → admin/v1/base_dept.d.ts} +0 -0
  299. /package/dist/package/declarations/src/api/system/{base_file.d.ts → admin/v1/base_file.d.ts} +0 -0
  300. /package/dist/package/declarations/src/api/system/{base_i18n.d.ts → admin/v1/base_i18n.d.ts} +0 -0
  301. /package/dist/package/declarations/src/api/system/{base_menu.d.ts → admin/v1/base_menu.d.ts} +0 -0
  302. /package/dist/package/declarations/src/api/system/{base_message.d.ts → admin/v1/base_message.d.ts} +0 -0
  303. /package/dist/package/declarations/src/api/system/{base_message_category.d.ts → admin/v1/base_message_category.d.ts} +0 -0
  304. /package/dist/package/declarations/src/api/system/{base_migration.d.ts → admin/v1/base_migration.d.ts} +0 -0
  305. /package/dist/package/declarations/src/api/system/{base_post.d.ts → admin/v1/base_post.d.ts} +0 -0
  306. /package/dist/package/declarations/src/api/system/{base_role.d.ts → admin/v1/base_role.d.ts} +0 -0
  307. /package/dist/package/declarations/src/api/system/{base_session.d.ts → admin/v1/base_session.d.ts} +0 -0
  308. /package/dist/package/declarations/src/api/system/{base_tenant.d.ts → admin/v1/base_tenant.d.ts} +0 -0
  309. /package/dist/package/declarations/src/api/system/{base_user.d.ts → admin/v1/base_user.d.ts} +0 -0
  310. /package/dist/package/declarations/src/api/system/{code_gen.d.ts → admin/v1/code_gen.d.ts} +0 -0
  311. /package/dist/package/declarations/src/api/system/{code_gen_column.d.ts → admin/v1/code_gen_column.d.ts} +0 -0
  312. /package/dist/package/declarations/src/api/system/{code_gen_proto.d.ts → admin/v1/code_gen_proto.d.ts} +0 -0
  313. /package/dist/package/declarations/src/api/system/{code_gen_table.d.ts → admin/v1/code_gen_table.d.ts} +0 -0
  314. /package/dist/package/declarations/src/api/system/{oauth_client.d.ts → admin/v1/oauth_client.d.ts} +0 -0
  315. /package/dist/package/declarations/src/api/system/{ops_monitoring.d.ts → admin/v1/ops_monitoring.d.ts} +0 -0
  316. /package/dist/package/declarations/src/api/system/{project_document.d.ts → admin/v1/project_document.d.ts} +0 -0
  317. /package/dist/package/declarations/src/api/system/{runtime_log.d.ts → admin/v1/runtime_log.d.ts} +0 -0
  318. /package/dist/package/src/api/base/{ai_message.ts → v1/ai_message.ts} +0 -0
  319. /package/dist/package/src/api/base/{ai_session.ts → v1/ai_session.ts} +0 -0
  320. /package/dist/package/src/api/base/{ai_tool.ts → v1/ai_tool.ts} +0 -0
  321. /package/dist/package/src/api/base/{oauth.ts → v1/oauth.ts} +0 -0
  322. /package/dist/package/src/api/base/{sse.ts → v1/sse.ts} +0 -0
  323. /package/dist/package/src/api/system/{auth.ts → admin/v1/auth.ts} +0 -0
  324. /package/dist/package/src/api/system/{base_api.ts → admin/v1/base_api.ts} +0 -0
  325. /package/dist/package/src/api/system/{base_dashboard.ts → admin/v1/base_dashboard.ts} +0 -0
  326. /package/dist/package/src/api/system/{base_dept.ts → admin/v1/base_dept.ts} +0 -0
  327. /package/dist/package/src/api/system/{base_file.ts → admin/v1/base_file.ts} +0 -0
  328. /package/dist/package/src/api/system/{base_i18n.ts → admin/v1/base_i18n.ts} +0 -0
  329. /package/dist/package/src/api/system/{base_menu.ts → admin/v1/base_menu.ts} +0 -0
  330. /package/dist/package/src/api/system/{base_migration.ts → admin/v1/base_migration.ts} +0 -0
  331. /package/dist/package/src/api/system/{base_post.ts → admin/v1/base_post.ts} +0 -0
  332. /package/dist/package/src/api/system/{base_role.ts → admin/v1/base_role.ts} +0 -0
  333. /package/dist/package/src/api/system/{base_session.ts → admin/v1/base_session.ts} +0 -0
  334. /package/dist/package/src/api/system/{base_tenant.ts → admin/v1/base_tenant.ts} +0 -0
  335. /package/dist/package/src/api/system/{base_user.ts → admin/v1/base_user.ts} +0 -0
  336. /package/dist/package/src/api/system/{code_gen.ts → admin/v1/code_gen.ts} +0 -0
  337. /package/dist/package/src/api/system/{code_gen_proto.ts → admin/v1/code_gen_proto.ts} +0 -0
  338. /package/dist/package/src/api/system/{oauth_client.ts → admin/v1/oauth_client.ts} +0 -0
  339. /package/dist/package/src/api/system/{ops_monitoring.ts → admin/v1/ops_monitoring.ts} +0 -0
  340. /package/dist/package/src/api/system/{project_document.ts → admin/v1/project_document.ts} +0 -0
  341. /package/dist/package/src/api/system/{runtime_log.ts → admin/v1/runtime_log.ts} +0 -0
@@ -6,23 +6,105 @@
6
6
  :columns="columns"
7
7
  :request-api="requestBaseFileTable"
8
8
  />
9
+
10
+ <ProDialog
11
+ v-model="detailVisible"
12
+ :title="detail?.file_name || t('system.base.file.detail')"
13
+ width="min(960px, calc(100vw - 32px))"
14
+ top="5vh"
15
+ destroy-on-close
16
+ :show-footer="false"
17
+ @closed="resetDetail"
18
+ >
19
+ <el-skeleton v-if="!detail" :rows="8" animated />
20
+ <template v-else>
21
+ <section class="file-preview" aria-live="polite">
22
+ <el-skeleton v-if="previewLoading" :rows="8" animated />
23
+ <template v-else-if="previewUrl && previewKind === 'image'">
24
+ <img class="file-preview__image" :src="previewUrl" :alt="detail.file_name" />
25
+ </template>
26
+ <video v-else-if="previewUrl && previewKind === 'video'" class="file-preview__media" controls :src="previewUrl">
27
+ {{ t("system.base.file.message.preview_unsupported") }}
28
+ </video>
29
+ <audio v-else-if="previewUrl && previewKind === 'audio'" class="file-preview__audio" controls :src="previewUrl">
30
+ {{ t("system.base.file.message.preview_unsupported") }}
31
+ </audio>
32
+ <iframe
33
+ v-else-if="previewUrl && previewKind === 'pdf'"
34
+ class="file-preview__document"
35
+ :src="previewUrl"
36
+ :title="detail.file_name"
37
+ />
38
+ <pre v-else-if="previewKind === 'text' && !previewError" class="file-preview__text">{{ previewText }}</pre>
39
+ <el-result
40
+ v-else-if="previewError"
41
+ class="file-preview__result"
42
+ icon="error"
43
+ :title="t('system.base.file.message.preview_failed')"
44
+ :sub-title="t('system.base.file.message.preview_retry_download')"
45
+ />
46
+ <el-result
47
+ v-else
48
+ class="file-preview__result"
49
+ icon="info"
50
+ :title="t('system.base.file.message.preview_unsupported')"
51
+ :sub-title="t('system.base.file.message.preview_download_hint')"
52
+ />
53
+ </section>
54
+
55
+ <el-descriptions class="file-meta" :column="2" border size="small">
56
+ <el-descriptions-item :label="t('system.base.file.field.name')" :span="2">
57
+ <span class="file-meta__value" :title="detail.file_name">{{ detail.file_name }}</span>
58
+ </el-descriptions-item>
59
+ <el-descriptions-item :label="t('system.base.file.field.mime')">{{ detail.mime_type || "-" }}</el-descriptions-item>
60
+ <el-descriptions-item :label="t('system.base.file.field.size')">{{ formatFileSize(detail.size) }}</el-descriptions-item>
61
+ <el-descriptions-item :label="t('system.base.file.field.path')" :span="2">
62
+ <code class="file-meta__value">{{ detail.link_url }}</code>
63
+ </el-descriptions-item>
64
+ <el-descriptions-item :label="t('system.base.file.field.hash')" :span="2">
65
+ <code class="file-meta__value">{{ detail.content_hash || "-" }}</code>
66
+ </el-descriptions-item>
67
+ </el-descriptions>
68
+
69
+ <div class="file-detail__actions">
70
+ <el-button type="primary" :icon="Download" @click="downloadDetail">
71
+ {{ t("common.action.download") }}
72
+ </el-button>
73
+ </div>
74
+ </template>
75
+ </ProDialog>
9
76
  </div>
10
77
  </template>
11
78
 
12
79
  <script setup lang="ts">
13
- import { computed, h, ref } from "vue";
80
+ import { computed, ref } from "vue";
81
+ import { Download, Delete, View } from "@element-plus/icons-vue";
14
82
  import ProTable from "@liujitcn/kratos-admin-core/components/ProTable";
83
+ import ProDialog from "@liujitcn/kratos-admin-core/components/Dialog/ProDialog.vue";
15
84
  import type { ColumnProps, ProTableInstance } from "@liujitcn/kratos-admin-core/components/ProTable/interface";
16
85
  import { useAuthButtons } from "@liujitcn/kratos-admin-core/auth";
17
86
  import { buildPageRequest } from "@liujitcn/kratos-admin-core/table";
18
87
  import { t } from "@liujitcn/kratos-admin-core";
19
- import { defBaseFileService } from "@liujitcn/kratos-admin-system/api/system/base_file";
88
+ import { defFileService } from "@liujitcn/kratos-admin-core/api/base/v1/file";
89
+ import { defBaseFileService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_file";
20
90
  import type { BaseFile, PageBaseFileRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_file";
21
91
 
22
92
  defineOptions({ name: "BaseFile", inheritAttrs: false });
23
93
 
24
94
  const { BUTTONS } = useAuthButtons();
25
95
  const proTable = ref<ProTableInstance>();
96
+ const detailVisible = ref(false);
97
+ const detail = ref<BaseFile>();
98
+ const previewLoading = ref(false);
99
+ const previewError = ref(false);
100
+ const previewUrl = ref("");
101
+ const previewText = ref("");
102
+ let viewRequestId = 0;
103
+
104
+ /** 文件内容预览类型。 */
105
+ type PreviewKind = "image" | "video" | "audio" | "pdf" | "text" | "unsupported";
106
+
107
+ const previewKind = computed<PreviewKind>(() => (detail.value ? getPreviewKind(detail.value) : "unsupported"));
26
108
 
27
109
  const columns = computed<ColumnProps[]>(() => [
28
110
  { prop: "file_name", label: t("system.base.file.field.name"), minWidth: 220, search: { el: "input" } },
@@ -67,16 +149,80 @@ async function requestBaseFileTable(params: PageBaseFileRequest) {
67
149
 
68
150
  /** 查看文件资产详情。 */
69
151
  async function handleView(row: BaseFile) {
70
- const detail = await defBaseFileService.GetBaseFile({ id: row.id });
71
- const lines = [
72
- `${t("system.base.file.field.name")}:${detail.file_name}`,
73
- `${t("system.base.file.field.path")}:${detail.file_directory}/${detail.save_file_name}`,
74
- `${t("system.base.file.field.mime")}:${detail.mime_type}`,
75
- `${t("system.base.file.field.size")}:${formatFileSize(detail.size)}`,
76
- `${t("system.base.file.field.hash")}:${detail.content_hash}`,
77
- `${t("system.base.file.field.url")}:${detail.link_url}`
78
- ];
79
- await ElMessageBox.alert(h("pre", { class: "file-detail" }, lines.join("\n")), t("system.base.file.detail"), { dangerouslyUseHTMLString: false });
152
+ const requestId = ++viewRequestId;
153
+ detailVisible.value = true;
154
+ detail.value = undefined;
155
+ resetPreview();
156
+ try {
157
+ const loadedDetail = await defBaseFileService.GetBaseFile({ id: row.id });
158
+ if (requestId !== viewRequestId) return;
159
+ detail.value = loadedDetail;
160
+ await loadPreview(loadedDetail, requestId);
161
+ } catch {
162
+ if (requestId === viewRequestId) detailVisible.value = false;
163
+ }
164
+ }
165
+
166
+ /** 加载文件内容并准备浏览器预览。 */
167
+ async function loadPreview(file: BaseFile, requestId: number) {
168
+ const kind = getPreviewKind(file);
169
+ if (kind === "unsupported") return;
170
+
171
+ previewLoading.value = true;
172
+ previewError.value = false;
173
+ try {
174
+ const blob = await defFileService.GetFileBlob(file.link_url, file.file_name);
175
+ if (!isViewActive(file, requestId)) return;
176
+ const previewBlob = new Blob([blob], { type: file.mime_type || blob.type || "application/octet-stream" });
177
+ if (kind === "text") {
178
+ const text = await previewBlob.text();
179
+ if (isViewActive(file, requestId)) previewText.value = text;
180
+ } else {
181
+ previewUrl.value = URL.createObjectURL(previewBlob);
182
+ }
183
+ } catch {
184
+ if (isViewActive(file, requestId)) previewError.value = true;
185
+ } finally {
186
+ if (requestId === viewRequestId) previewLoading.value = false;
187
+ }
188
+ }
189
+
190
+ /** 下载当前详情文件。 */
191
+ async function downloadDetail() {
192
+ if (!detail.value) return;
193
+ await defFileService.DownloadFile(detail.value.link_url, detail.value.file_name);
194
+ }
195
+
196
+ /** 关闭详情时释放预览资源并清空状态。 */
197
+ function resetDetail() {
198
+ viewRequestId += 1;
199
+ detail.value = undefined;
200
+ resetPreview();
201
+ }
202
+
203
+ /** 清理当前预览状态。 */
204
+ function resetPreview() {
205
+ if (previewUrl.value) URL.revokeObjectURL(previewUrl.value);
206
+ previewUrl.value = "";
207
+ previewText.value = "";
208
+ previewError.value = false;
209
+ previewLoading.value = false;
210
+ }
211
+
212
+ /** 根据 MIME 类型选择安全的在线预览方式。 */
213
+ function getPreviewKind(file: BaseFile): PreviewKind {
214
+ const mimeType = file.mime_type.toLowerCase().split(";", 1)[0];
215
+ if (mimeType.startsWith("image/")) return "image";
216
+ if (mimeType.startsWith("video/")) return "video";
217
+ if (mimeType.startsWith("audio/")) return "audio";
218
+ if (mimeType === "application/pdf") return "pdf";
219
+ if (mimeType.startsWith("text/") || mimeType === "application/json") return "text";
220
+ return "unsupported";
221
+ }
222
+
223
+ /** 判断异步预览请求是否仍对应当前打开的文件详情。 */
224
+ function isViewActive(file: BaseFile, requestId: number) {
225
+ return detailVisible.value && requestId === viewRequestId && detail.value?.id === file.id;
80
226
  }
81
227
 
82
228
  /** 删除文件资产。 */
@@ -108,12 +254,70 @@ function formatFileSize(size: number) {
108
254
  }
109
255
  </script>
110
256
 
111
- <style scoped>
112
- .file-detail {
113
- max-width: 720px;
257
+ <style scoped lang="scss">
258
+ .file-preview {
259
+ min-height: 220px;
260
+ display: grid;
261
+ place-items: center;
262
+ padding: 16px;
263
+ border: 1px solid var(--el-border-color-lighter);
264
+ background: var(--el-fill-color-lighter);
265
+ }
266
+
267
+ .file-preview__image {
268
+ display: block;
269
+ max-width: 100%;
270
+ max-height: 48vh;
271
+ object-fit: contain;
272
+ }
273
+
274
+ .file-preview__media {
275
+ display: block;
276
+ width: min(100%, 760px);
277
+ max-height: 48vh;
278
+ }
279
+
280
+ .file-preview__audio {
281
+ width: min(100%, 560px);
282
+ }
283
+
284
+ .file-preview__document {
285
+ display: block;
286
+ width: 100%;
287
+ height: 48vh;
288
+ border: 0;
289
+ }
290
+
291
+ .file-preview__text {
292
+ width: 100%;
293
+ max-height: 48vh;
114
294
  margin: 0;
115
- overflow-wrap: anywhere;
295
+ overflow: auto;
116
296
  white-space: pre-wrap;
297
+ overflow-wrap: anywhere;
117
298
  text-align: left;
299
+ color: var(--el-text-color-primary);
300
+ }
301
+
302
+ .file-preview__result {
303
+ padding: 24px 0;
304
+ }
305
+
306
+ .file-meta {
307
+ margin-top: 16px;
308
+ }
309
+
310
+ .file-meta__value {
311
+ display: block;
312
+ max-width: 100%;
313
+ overflow: hidden;
314
+ text-overflow: ellipsis;
315
+ white-space: nowrap;
316
+ }
317
+
318
+ .file-detail__actions {
319
+ display: flex;
320
+ justify-content: flex-end;
321
+ margin-top: 16px;
118
322
  }
119
323
  </style>
@@ -39,8 +39,8 @@ import FormDialog from "@liujitcn/kratos-admin-core/components/Dialog/FormDialog
39
39
  import type { ProFormField, ProFormOption } from "@liujitcn/kratos-admin-core/components/ProForm/interface";
40
40
  import ProTable from "@liujitcn/kratos-admin-core/components/ProTable";
41
41
  import { useAuthButtons } from "@liujitcn/kratos-admin-core/auth";
42
- import { defBaseJobService } from "@liujitcn/kratos-admin-system/api/system/base_job";
43
- import { loadEnabledBaseLanguages } from "@liujitcn/kratos-admin-system/api/system/base_language";
42
+ import { defBaseJobService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_job";
43
+ import { loadEnabledBaseLanguages } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_language";
44
44
  import type {
45
45
  BaseJob,
46
46
  BaseJobArgs,
@@ -69,7 +69,7 @@ defineOptions({
69
69
  const { BUTTONS } = useAuthButtons();
70
70
  const proTable = ref<ProTableInstance>();
71
71
  const formDialogRef = ref<InstanceType<typeof FormDialog>>();
72
- const i18nValues = ref<DynamicI18nValue[]>(normalizeDynamicI18ns(undefined, "name"));
72
+ const i18nValues = ref<DynamicI18nValue[]>(normalizeDynamicI18ns(undefined));
73
73
 
74
74
  const dialog = reactive({
75
75
  editing: false,
@@ -427,7 +427,7 @@ async function handleOpenDialog(jobId?: number) {
427
427
 
428
428
  const data = await defBaseJobService.GetBaseJob({ id: jobId });
429
429
  Object.assign(formData, data);
430
- i18nValues.value = normalizeDynamicI18ns(data.i18ns as DynamicI18nRecord[], "name");
430
+ i18nValues.value = normalizeDynamicI18ns(data.i18ns as DynamicI18nRecord[]);
431
431
  }
432
432
 
433
433
  /**
@@ -451,7 +451,7 @@ function resetForm() {
451
451
  formData.cron_expression = "";
452
452
  formData.status = Status.STATUS_ENABLE;
453
453
  formData.i18ns = [];
454
- i18nValues.value = normalizeDynamicI18ns(undefined, "name");
454
+ i18nValues.value = normalizeDynamicI18ns(undefined);
455
455
  }
456
456
 
457
457
  /**
@@ -45,11 +45,12 @@ import { InfoFilled } from "@element-plus/icons-vue";
45
45
  import type { ColumnProps, ProTableInstance } from "@liujitcn/kratos-admin-core/components/ProTable/interface";
46
46
  import ProTable from "@liujitcn/kratos-admin-core/components/ProTable";
47
47
  import ProDialog from "@liujitcn/kratos-admin-core/components/Dialog/ProDialog.vue";
48
- import { defBaseJobService } from "@liujitcn/kratos-admin-system/api/system/base_job";
48
+ import { defBaseJobService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_job";
49
+ import { defBaseJobLogService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_job_log";
49
50
  import { buildPageRequest } from "@liujitcn/kratos-admin-core/table";
50
51
  import { formatJson } from "@liujitcn/kratos-admin-core/format";
51
- import type { BaseJobLog, PageBaseJobLogRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_job";
52
- import { BaseJobLogStatus } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_job";
52
+ import type { BaseJobLog, PageBaseJobLogRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_job_log";
53
+ import { BaseJobLogStatus } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_job_log";
53
54
  import { t } from "@liujitcn/kratos-admin-core";
54
55
 
55
56
  defineOptions({
@@ -59,7 +60,7 @@ defineOptions({
59
60
 
60
61
  const route = useRoute();
61
62
  const proTable = ref<ProTableInstance>();
62
- const jobId = ref(Number(route.query.jobId ?? 0));
63
+ const initialJobID = Number(route.query.jobId ?? 0);
63
64
 
64
65
  const dialog = reactive({
65
66
  visible: false
@@ -91,6 +92,18 @@ const detail = reactive<BaseJobLog>(createDefaultDetail());
91
92
 
92
93
  /** 定时任务日志表格列配置。 */
93
94
  const columns = computed<ColumnProps[]>(() => [
95
+ {
96
+ prop: "job_id",
97
+ label: t("system.base.job.field.name"),
98
+ minWidth: 180,
99
+ search: {
100
+ el: "select",
101
+ defaultValue: initialJobID > 0 ? initialJobID : undefined,
102
+ props: { clearable: true, filterable: true },
103
+ order: 1
104
+ },
105
+ enum: requestBaseJobOptions
106
+ },
94
107
  {
95
108
  prop: "status",
96
109
  label: t("common.field.status"),
@@ -137,16 +150,30 @@ const columns = computed<ColumnProps[]>(() => [
137
150
  watch(
138
151
  () => route.query.jobId,
139
152
  value => {
140
- jobId.value = Number(value ?? 0);
141
- proTable.value?.search();
153
+ const nextJobID = Number(value ?? 0);
154
+ if (!proTable.value) return;
155
+ if (nextJobID > 0) {
156
+ proTable.value.searchParam.job_id = nextJobID;
157
+ proTable.value.searchInitParam.job_id = nextJobID;
158
+ } else {
159
+ delete proTable.value.searchParam.job_id;
160
+ delete proTable.value.searchInitParam.job_id;
161
+ }
162
+ proTable.value.search();
142
163
  }
143
164
  );
144
165
 
166
+ /** 请求定时任务筛选选项。 */
167
+ async function requestBaseJobOptions() {
168
+ const data = await defBaseJobService.OptionBaseJob({});
169
+ return { data: data.list ?? [] };
170
+ }
171
+
145
172
  /**
146
- * 请求定时任务日志列表,并补充当前任务 ID。
173
+ * 请求定时任务日志列表。
147
174
  */
148
175
  async function requestBaseJobLogTable(params: PageBaseJobLogRequest) {
149
- const data = await defBaseJobService.PageBaseJobLog({ ...buildPageRequest(params), job_id: jobId.value });
176
+ const data = await defBaseJobLogService.PageBaseJobLog(buildPageRequest(params));
150
177
  return { data: { list: data.base_job_logs ?? [], total: data.total } };
151
178
  }
152
179
 
@@ -158,7 +185,7 @@ function handleOpenDialog(logId?: number) {
158
185
  dialog.visible = true;
159
186
  if (!logId) return;
160
187
 
161
- defBaseJobService.GetBaseJobLog({ id: logId }).then(data => {
188
+ defBaseJobLogService.GetBaseJobLog({ id: logId }).then(data => {
162
189
  Object.assign(detail, data);
163
190
  });
164
191
  }
@@ -185,7 +212,7 @@ function resetDetail() {
185
212
  padding: 20px;
186
213
  overflow-y: auto;
187
214
  background: #ffffff;
188
- border-radius: 4px;
215
+ border-radius: var(--admin-page-radius);
189
216
  }
190
217
  .mt-4 {
191
218
  margin-top: 16px;
@@ -196,6 +223,6 @@ function resetDetail() {
196
223
  margin: 0;
197
224
  overflow: auto;
198
225
  background: #f5f7fa;
199
- border-radius: 4px;
226
+ border-radius: var(--admin-page-radius);
200
227
  }
201
228
  </style>
@@ -34,7 +34,7 @@ import type { ProFormField, ProFormOption } from "@liujitcn/kratos-admin-core/co
34
34
  import { useAuthButtons } from "@liujitcn/kratos-admin-core/auth";
35
35
  import { buildPageRequest, normalizeSelectedIds } from "@liujitcn/kratos-admin-core/table";
36
36
  import { applyLanguageConfig, defLanguageService, t } from "@liujitcn/kratos-admin-core";
37
- import { defBaseLanguageService, invalidateEnabledBaseLanguages } from "@liujitcn/kratos-admin-system/api/system/base_language";
37
+ import { defBaseLanguageService, invalidateEnabledBaseLanguages } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_language";
38
38
  import type { BaseLanguage, BaseLanguageForm, PageBaseLanguageRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_language";
39
39
  import { Status } from "@liujitcn/kratos-admin-system/rpc/common/v1/enum";
40
40
 
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <AuditLogTable ref="page" :config="config" />
2
+ <LogTable ref="page" :config="config" />
3
3
  </template>
4
4
 
5
5
  <script setup lang="ts">
@@ -7,75 +7,79 @@ 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 AuditLogTable, { type AuditLogTableConfig } from "@liujitcn/kratos-admin-system/components/AuditLogTable.vue";
11
- import { auditDateSearch, auditDetailColumn, auditEnumLabel, createAuditEnumOptions } from "@liujitcn/kratos-admin-system/components/auditLog";
12
- import { defBaseLoginLogService } from "@liujitcn/kratos-admin-system/api/system/base_audit_log";
13
- import { BaseAuditResult, BaseLoginLogType } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_audit_log";
14
- import type { BaseLoginLog, PageBaseLoginLogRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_audit_log";
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 { defBaseLoginLogService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_login_log";
13
+ import { BaseLogResult } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_log";
14
+ import { BaseLoginLogType } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_login_log";
15
+ import type { BaseLoginLog, PageBaseLoginLogRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_login_log";
15
16
 
16
17
  defineOptions({ name: "BaseLoginLog", inheritAttrs: false });
17
18
 
18
- const page = ref<InstanceType<typeof AuditLogTable>>();
19
+ const page = ref<InstanceType<typeof LogTable>>();
19
20
  const resultOptions = computed(() =>
20
- createAuditEnumOptions([
21
- [BaseAuditResult.BASE_AUDIT_RESULT_SUCCESS, t("system.base.audit.result.success")],
22
- [BaseAuditResult.BASE_AUDIT_RESULT_FAILURE, t("system.base.audit.result.failure")],
23
- [BaseAuditResult.BASE_AUDIT_RESULT_ERROR, t("system.base.audit.result.error")]
21
+ createLogEnumOptions([
22
+ [BaseLogResult.BASE_LOG_RESULT_UNSPECIFIED, t("system.base.log.result.unspecified")],
23
+ [BaseLogResult.BASE_LOG_RESULT_SUCCESS, t("system.base.log.result.success")],
24
+ [BaseLogResult.BASE_LOG_RESULT_FAILURE, t("system.base.log.result.failure")],
25
+ [BaseLogResult.BASE_LOG_RESULT_ERROR, t("system.base.log.result.error")]
24
26
  ])
25
27
  );
26
28
  const loginTypeOptions = computed(() =>
27
- createAuditEnumOptions([
28
- [BaseLoginLogType.BASE_LOGIN_LOG_TYPE_PASSWORD, t("system.base.audit.login_type.password")],
29
- [BaseLoginLogType.BASE_LOGIN_LOG_TYPE_OAUTH, t("system.base.audit.login_type.oauth")],
30
- [BaseLoginLogType.BASE_LOGIN_LOG_TYPE_MFA, t("system.base.audit.login_type.mfa")],
31
- [BaseLoginLogType.BASE_LOGIN_LOG_TYPE_TOKEN_REFRESH, t("system.base.audit.login_type.token_refresh")],
32
- [BaseLoginLogType.BASE_LOGIN_LOG_TYPE_LOGOUT, t("system.base.audit.login_type.logout")]
29
+ createLogEnumOptions([
30
+ [BaseLoginLogType.BASE_LOGIN_LOG_TYPE_UNSPECIFIED, t("system.base.log.login_type.unspecified")],
31
+ [BaseLoginLogType.BASE_LOGIN_LOG_TYPE_PASSWORD, t("system.base.log.login_type.password")],
32
+ [BaseLoginLogType.BASE_LOGIN_LOG_TYPE_OAUTH, t("system.base.log.login_type.oauth")],
33
+ [BaseLoginLogType.BASE_LOGIN_LOG_TYPE_MFA, t("system.base.log.login_type.mfa")],
34
+ [BaseLoginLogType.BASE_LOGIN_LOG_TYPE_TOKEN_REFRESH, t("system.base.log.login_type.token_refresh")],
35
+ [BaseLoginLogType.BASE_LOGIN_LOG_TYPE_LOGOUT, t("system.base.log.login_type.logout")]
33
36
  ])
34
37
  );
35
38
 
36
39
  const columns = computed<ColumnProps[]>(() => [
37
- { prop: "user_name", label: t("system.base.audit.field.user_name"), minWidth: 130 },
38
- { prop: "tenant_code", label: t("system.base.audit.field.tenant_code"), minWidth: 120 },
40
+ { prop: "user_name", label: t("system.base.log.field.user_name"), minWidth: 130 },
41
+ { prop: "tenant_code", label: t("system.base.log.field.tenant_code"), minWidth: 120 },
39
42
  {
40
43
  prop: "login_type",
41
- label: t("system.base.audit.field.login_type"),
44
+ label: t("system.base.log.field.login_type"),
42
45
  minWidth: 130,
43
46
  search: { el: "select", enum: loginTypeOptions.value },
44
- render: scope => auditEnumLabel(loginTypeOptions.value, (scope.row as BaseLoginLog).login_type)
47
+ render: scope => logEnumLabel(loginTypeOptions.value, (scope.row as BaseLoginLog).login_type)
45
48
  },
46
49
  {
47
50
  prop: "result",
48
- label: t("system.base.audit.field.result"),
51
+ label: t("system.base.log.field.result"),
49
52
  minWidth: 110,
50
53
  search: { el: "select", enum: resultOptions.value },
51
- render: scope => auditEnumLabel(resultOptions.value, (scope.row as BaseLoginLog).result)
54
+ render: scope => logEnumLabel(resultOptions.value, (scope.row as BaseLoginLog).result)
52
55
  },
53
- { prop: "client_ip", label: t("system.base.audit.field.client_ip"), minWidth: 140 },
54
- { prop: "occurred_at", label: t("system.base.audit.field.occurred_at"), minWidth: 190, search: auditDateSearch(t) },
55
- auditDetailColumn(t("common.action.view"), id => page.value?.handleOpenDialog(id))
56
+ { prop: "client_ip", label: t("system.base.log.field.client_ip"), minWidth: 140 },
57
+ { prop: "occurred_at", label: t("system.base.log.field.occurred_at"), minWidth: 190, search: logDateSearch(t) },
58
+ logDetailColumn(t("common.action.view"), id => page.value?.handleOpenDialog(id))
56
59
  ]);
57
60
 
58
- const config = computed<AuditLogTableConfig>(() => ({
61
+ const config = computed<LogTableConfig>(() => ({
59
62
  columns: columns.value,
60
- detailTitle: t("system.base.audit.login.title.detail"),
63
+ detailTitle: t("system.base.log.login.title.detail"),
61
64
  closeText: t("common.action.close"),
65
+ trace: requestLogTrace,
62
66
  detailFields: [
63
- { key: "id", label: t("system.base.audit.field.id") },
64
- { key: "tenant_id", label: t("system.base.audit.field.tenant_id") },
65
- { key: "tenant_code", label: t("system.base.audit.field.tenant_code") },
66
- { key: "user_id", label: t("system.base.audit.field.user_id") },
67
- { key: "user_name", label: t("system.base.audit.field.user_name") },
68
- { key: "login_type", label: t("system.base.audit.field.login_type") },
69
- { key: "result", label: t("system.base.audit.field.result") },
70
- { key: "reason_code", label: t("system.base.audit.field.reason_code") },
71
- { key: "reason", label: t("system.base.audit.field.reason"), span: 2 },
72
- { key: "client_ip", label: t("system.base.audit.field.client_ip") },
73
- { key: "device_id", label: t("system.base.audit.field.device_id") },
74
- { key: "user_agent", label: t("system.base.audit.field.user_agent"), span: 2 },
75
- { key: "request_id", label: t("system.base.audit.field.request_id") },
76
- { key: "trace_id", label: t("system.base.audit.field.trace_id") },
77
- { key: "occurred_at", label: t("system.base.audit.field.occurred_at") },
78
- { key: "created_at", label: t("system.base.audit.field.created_at") }
67
+ { key: "id", label: t("system.base.log.field.id") },
68
+ { key: "tenant_id", label: t("system.base.log.field.tenant_id") },
69
+ { key: "tenant_code", label: t("system.base.log.field.tenant_code") },
70
+ { key: "user_id", label: t("system.base.log.field.user_id") },
71
+ { key: "user_name", label: t("system.base.log.field.user_name") },
72
+ { key: "login_type", label: t("system.base.log.field.login_type"), enum: loginTypeOptions.value },
73
+ { key: "result", label: t("system.base.log.field.result"), enum: resultOptions.value },
74
+ { key: "reason_code", label: t("system.base.log.field.reason_code") },
75
+ { key: "reason", label: t("system.base.log.field.reason"), span: 2 },
76
+ { key: "client_ip", label: t("system.base.log.field.client_ip") },
77
+ { key: "device_id", label: t("system.base.log.field.device_id") },
78
+ { key: "user_agent", label: t("system.base.log.field.user_agent"), span: 2 },
79
+ { key: "request_id", label: t("system.base.log.field.request_id") },
80
+ { key: "trace_id", label: t("system.base.log.field.trace_id") },
81
+ { key: "occurred_at", label: t("system.base.log.field.occurred_at") },
82
+ { key: "created_at", label: t("system.base.log.field.created_at") }
79
83
  ],
80
84
  request: requestTable,
81
85
  get: getDetail
@@ -86,7 +90,7 @@ async function requestTable(params: Record<string, unknown>) {
86
90
  return { list: response.base_login_logs as unknown as Record<string, unknown>[], total: response.total };
87
91
  }
88
92
 
89
- async function getDetail(id: number) {
93
+ async function getDetail(id: string) {
90
94
  return (await defBaseLoginLogService.GetBaseLoginLog({ id })) as unknown as Record<string, unknown>;
91
95
  }
92
96
  </script>
@@ -0,0 +1,4 @@
1
+ /** formatLoginPolicyList 将登录策略列表格式化为表单文本。 */
2
+ export function formatLoginPolicyList(value: string[] | undefined, separator: string): string {
3
+ return (value ?? []).join(separator);
4
+ }