@liujitcn/kratos-admin-system 0.0.28 → 0.0.31

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 (135) hide show
  1. package/README.md +19 -2
  2. package/dist/package/declarations/src/api/base/notification.d.ts +24 -0
  3. package/dist/package/declarations/src/api/system/base_audit_log.d.ts +55 -0
  4. package/dist/package/declarations/src/api/system/base_dashboard.d.ts +14 -0
  5. package/dist/package/declarations/src/api/system/base_file.d.ts +13 -0
  6. package/dist/package/declarations/src/api/system/base_i18n.d.ts +5 -5
  7. package/dist/package/declarations/src/api/system/base_login_policy.d.ts +10 -0
  8. package/dist/package/declarations/src/api/system/base_message.d.ts +24 -0
  9. package/dist/package/declarations/src/api/system/base_message_category.d.ts +21 -0
  10. package/dist/package/declarations/src/api/system/base_session.d.ts +11 -0
  11. package/dist/package/declarations/src/api/system/oauth_client.d.ts +24 -0
  12. package/dist/package/declarations/src/components/AuditLogTable.vue.d.ts +45 -0
  13. package/dist/package/declarations/src/components/DynamicI18nCell.vue.d.ts +16 -0
  14. package/dist/package/declarations/src/components/DynamicI18nEditor.vue.d.ts +20 -0
  15. package/dist/package/declarations/src/components/auditLog.d.ts +9 -0
  16. package/dist/package/declarations/src/components/dynamicI18n.d.ts +38 -0
  17. package/dist/package/declarations/src/locales/generated.d.ts +1364 -68
  18. package/dist/package/declarations/src/rpc/base/v1/login.d.ts +149 -0
  19. package/dist/package/declarations/src/rpc/base/v1/notification.d.ts +281 -0
  20. package/dist/package/declarations/src/rpc/base/v1/oauth.d.ts +25 -0
  21. package/dist/package/declarations/src/rpc/base/v1/oauth_client.d.ts +23 -0
  22. package/dist/package/declarations/src/rpc/system/admin/v1/base_audit_log.d.ts +640 -0
  23. package/dist/package/declarations/src/rpc/system/admin/v1/base_config.d.ts +3 -3
  24. package/dist/package/declarations/src/rpc/system/admin/v1/base_dashboard.d.ts +60 -0
  25. package/dist/package/declarations/src/rpc/system/admin/v1/base_dict.d.ts +4 -4
  26. package/dist/package/declarations/src/rpc/system/admin/v1/base_file.d.ts +73 -0
  27. package/dist/package/declarations/src/rpc/system/admin/v1/base_i18n.d.ts +27 -23
  28. package/dist/package/declarations/src/rpc/system/admin/v1/base_job.d.ts +5 -0
  29. package/dist/package/declarations/src/rpc/system/admin/v1/base_login_policy.d.ts +51 -0
  30. package/dist/package/declarations/src/rpc/system/admin/v1/base_menu.d.ts +2 -2
  31. package/dist/package/declarations/src/rpc/system/admin/v1/base_message.d.ts +193 -0
  32. package/dist/package/declarations/src/rpc/system/admin/v1/base_message_category.d.ts +125 -0
  33. package/dist/package/declarations/src/rpc/system/admin/v1/base_session.d.ts +33 -0
  34. package/dist/package/declarations/src/rpc/system/admin/v1/base_user.d.ts +3 -3
  35. package/dist/package/declarations/src/rpc/system/admin/v1/code_gen.d.ts +1 -1
  36. package/dist/package/declarations/src/rpc/system/admin/v1/oauth_client.d.ts +145 -0
  37. package/dist/package/declarations/src/views/base/api-log/index.vue.d.ts +3 -0
  38. package/dist/package/declarations/src/views/base/dashboard/index.vue.d.ts +3 -0
  39. package/dist/package/declarations/src/views/base/data-access-log/index.vue.d.ts +3 -0
  40. package/dist/package/declarations/src/views/base/file/index.vue.d.ts +3 -0
  41. package/dist/package/declarations/src/views/base/login-log/index.vue.d.ts +3 -0
  42. package/dist/package/declarations/src/views/base/login-policy/index.vue.d.ts +3 -0
  43. package/dist/package/declarations/src/views/base/message/index.vue.d.ts +3 -0
  44. package/dist/package/declarations/src/views/base/message-category/index.vue.d.ts +3 -0
  45. package/dist/package/declarations/src/views/base/oauth-client/index.vue.d.ts +3 -0
  46. package/dist/package/declarations/src/views/base/operation-log/index.vue.d.ts +3 -0
  47. package/dist/package/declarations/src/views/base/permission-log/index.vue.d.ts +3 -0
  48. package/dist/package/declarations/src/views/base/policy-evaluation-log/index.vue.d.ts +3 -0
  49. package/dist/package/declarations/src/views/message/inbox/index.vue.d.ts +3 -0
  50. package/dist/package/declarations/src/views/profile/components/session.vue.d.ts +3 -0
  51. package/dist/package/src/api/base/notification.ts +69 -0
  52. package/dist/package/src/api/base/sse.ts +4 -4
  53. package/dist/package/src/api/system/auth.ts +1 -0
  54. package/dist/package/src/api/system/base_audit_log.ts +168 -0
  55. package/dist/package/src/api/system/base_dashboard.ts +55 -0
  56. package/dist/package/src/api/system/base_file.ts +43 -0
  57. package/dist/package/src/api/system/base_i18n.ts +12 -12
  58. package/dist/package/src/api/system/base_login_policy.ts +32 -0
  59. package/dist/package/src/api/system/base_message.ts +70 -0
  60. package/dist/package/src/api/system/base_message_category.ts +57 -0
  61. package/dist/package/src/api/system/base_session.ts +33 -0
  62. package/dist/package/src/api/system/oauth_client.ts +102 -0
  63. package/dist/package/src/components/AuditLogTable.vue +105 -0
  64. package/dist/package/src/components/{DynamicTranslationCell.vue → DynamicI18nCell.vue} +50 -50
  65. package/dist/package/src/components/{DynamicTranslationEditor.vue → DynamicI18nEditor.vue} +45 -45
  66. package/dist/package/src/components/Notification.vue +196 -0
  67. package/dist/package/src/components/auditLog.ts +46 -0
  68. package/dist/package/src/components/{dynamicTranslation.ts → dynamicI18n.ts} +15 -15
  69. package/dist/package/src/locales/README.md +5 -3
  70. package/dist/package/src/locales/en-US.json +345 -21
  71. package/dist/package/src/locales/ja-JP.json +347 -23
  72. package/dist/package/src/locales/zh-CN.json +343 -19
  73. package/dist/package/src/locales/zh-TW.json +346 -22
  74. package/dist/package/src/module.ts +5 -2
  75. package/dist/package/src/rpc/base/v1/login.ts +172 -0
  76. package/dist/package/src/rpc/base/v1/notification.ts +315 -0
  77. package/dist/package/src/rpc/base/v1/oauth.ts +25 -0
  78. package/dist/package/src/rpc/base/v1/oauth_client.ts +33 -0
  79. package/dist/package/src/rpc/system/admin/v1/base_audit_log.ts +737 -0
  80. package/dist/package/src/rpc/system/admin/v1/base_config.ts +3 -3
  81. package/dist/package/src/rpc/system/admin/v1/base_dashboard.ts +81 -0
  82. package/dist/package/src/rpc/system/admin/v1/base_dict.ts +4 -4
  83. package/dist/package/src/rpc/system/admin/v1/base_file.ts +88 -0
  84. package/dist/package/src/rpc/system/admin/v1/base_i18n.ts +27 -23
  85. package/dist/package/src/rpc/system/admin/v1/base_job.ts +5 -0
  86. package/dist/package/src/rpc/system/admin/v1/base_login_policy.ts +63 -0
  87. package/dist/package/src/rpc/system/admin/v1/base_menu.ts +2 -2
  88. package/dist/package/src/rpc/system/admin/v1/base_message.ts +236 -0
  89. package/dist/package/src/rpc/system/admin/v1/base_message_category.ts +149 -0
  90. package/dist/package/src/rpc/system/admin/v1/base_session.ts +44 -0
  91. package/dist/package/src/rpc/system/admin/v1/base_user.ts +3 -3
  92. package/dist/package/src/rpc/system/admin/v1/code_gen.ts +1 -1
  93. package/dist/package/src/rpc/system/admin/v1/oauth_client.ts +174 -0
  94. package/dist/package/src/views/ai/chat/components/ChatPanel.vue +2 -2
  95. package/dist/package/src/views/ai/chat/message.ts +7 -3
  96. package/dist/package/src/views/base/api-log/index.vue +83 -0
  97. package/dist/package/src/views/base/config/index.vue +41 -41
  98. package/dist/package/src/views/base/dashboard/index.vue +200 -0
  99. package/dist/package/src/views/base/data-access-log/index.vue +84 -0
  100. package/dist/package/src/views/base/dict/index.vue +23 -23
  101. package/dist/package/src/views/base/dict/item.vue +25 -25
  102. package/dist/package/src/views/base/file/index.vue +119 -0
  103. package/dist/package/src/views/base/job/index.vue +62 -7
  104. package/dist/package/src/views/base/language/index.vue +2 -1
  105. package/dist/package/src/views/base/login-log/index.vue +92 -0
  106. package/dist/package/src/views/base/login-policy/index.vue +219 -0
  107. package/dist/package/src/views/base/menu/index.vue +23 -23
  108. package/dist/package/src/views/base/message/index.vue +582 -0
  109. package/dist/package/src/views/base/message-category/index.vue +356 -0
  110. package/dist/package/src/views/base/oauth-client/index.vue +411 -0
  111. package/dist/package/src/views/base/operation-log/index.vue +82 -0
  112. package/dist/package/src/views/base/permission-log/index.vue +85 -0
  113. package/dist/package/src/views/base/policy-evaluation-log/index.vue +82 -0
  114. package/dist/package/src/views/message/inbox/index.vue +249 -0
  115. package/dist/package/src/views/profile/components/base.vue +6 -5
  116. package/dist/package/src/views/profile/components/password.vue +2 -2
  117. package/dist/package/src/views/profile/components/security.vue +475 -62
  118. package/dist/package/src/views/profile/components/session.vue +153 -0
  119. package/dist/package/src/views/profile/index.vue +35 -22
  120. package/dist/package/src/views/tool/code-gen/code-preview/index.vue +9 -9
  121. package/dist/package/src/views/tool/code-gen/columns/index.vue +1 -1
  122. package/dist/package/src/views/tool/code-gen/components/CodeGenLocaleEditor.vue +8 -8
  123. package/dist/package/src/views/tool/code-gen/config.ts +1 -0
  124. package/dist/package/src/views/tool/code-gen/table/index.vue +7 -7
  125. package/dist/package/src/views/tool/ops-monitoring/index.vue +25 -21
  126. package/package.json +2 -2
  127. package/dist/package/declarations/src/api/system/base_log.d.ts +0 -9
  128. package/dist/package/declarations/src/components/DynamicTranslationCell.vue.d.ts +0 -16
  129. package/dist/package/declarations/src/components/DynamicTranslationEditor.vue.d.ts +0 -20
  130. package/dist/package/declarations/src/components/dynamicTranslation.d.ts +0 -38
  131. package/dist/package/declarations/src/rpc/system/admin/v1/base_log.d.ts +0 -87
  132. package/dist/package/src/api/system/base_log.ts +0 -32
  133. package/dist/package/src/rpc/system/admin/v1/base_log.ts +0 -101
  134. package/dist/package/src/views/base/log/index.vue +0 -339
  135. /package/dist/package/declarations/src/{views/base/log/index.vue.d.ts → components/Notification.vue.d.ts} +0 -0
@@ -0,0 +1,149 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.11.8
4
+ // protoc unknown
5
+ // source: system/admin/v1/base_message_category.proto
6
+
7
+ /* eslint-disable */
8
+ import type { MessagePriority } from "../../../base/v1/notification";
9
+ import type { SelectOptionResponse } from "../../../common/v1/common";
10
+ import type { Status } from "../../../common/v1/enum";
11
+ import type { Empty } from "../../../google/protobuf/empty";
12
+
13
+ /** 消息分类选项查询条件。 */
14
+ export interface OptionBaseMessageCategoryRequest {
15
+ }
16
+
17
+ /** 消息分类分页查询条件。 */
18
+ export interface PageBaseMessageCategoryRequest {
19
+ /** 分类名称 */
20
+ name?:
21
+ | string
22
+ | undefined;
23
+ /** 分类编码 */
24
+ code?:
25
+ | string
26
+ | undefined;
27
+ /** 状态 */
28
+ status?:
29
+ | Status
30
+ | undefined;
31
+ /** 当前页码 */
32
+ page_num: number;
33
+ /** 每页数量 */
34
+ page_size: number;
35
+ }
36
+
37
+ /** 消息分类分页响应。 */
38
+ export interface PageBaseMessageCategoryResponse {
39
+ /** 消息分类列表 */
40
+ base_message_categories: BaseMessageCategory[];
41
+ /** 总数 */
42
+ total: number;
43
+ }
44
+
45
+ /** 消息分类详情查询条件。 */
46
+ export interface GetBaseMessageCategoryRequest {
47
+ /** 消息分类ID */
48
+ id: number;
49
+ }
50
+
51
+ /** 创建消息分类请求。 */
52
+ export interface CreateBaseMessageCategoryRequest {
53
+ /** 消息分类表单 */
54
+ base_message_category: BaseMessageCategoryForm | undefined;
55
+ }
56
+
57
+ /** 更新消息分类请求。 */
58
+ export interface UpdateBaseMessageCategoryRequest {
59
+ /** 消息分类表单 */
60
+ base_message_category: BaseMessageCategoryForm | undefined;
61
+ }
62
+
63
+ /** 删除消息分类请求。 */
64
+ export interface DeleteBaseMessageCategoryRequest {
65
+ /** 消息分类ID列表 */
66
+ id: string;
67
+ }
68
+
69
+ /** 设置消息分类状态请求。 */
70
+ export interface SetBaseMessageCategoryStatusRequest {
71
+ /** 消息分类ID */
72
+ id: number;
73
+ /** 状态 */
74
+ status: Status;
75
+ }
76
+
77
+ /** 消息分类表单。 */
78
+ export interface BaseMessageCategoryForm {
79
+ /** 消息分类ID */
80
+ id: number;
81
+ /** 分类编码 */
82
+ code: string;
83
+ /** 分类名称 */
84
+ name: string;
85
+ /** 分类图标 */
86
+ icon: string;
87
+ /** 分类颜色 */
88
+ color: string;
89
+ /** 排序 */
90
+ sort: number;
91
+ /** 默认优先级 */
92
+ default_priority: MessagePriority;
93
+ /** 保留天数 */
94
+ retention_days: number;
95
+ /** 是否允许归档 */
96
+ allow_archive: boolean;
97
+ /** 是否允许删除 */
98
+ allow_delete: boolean;
99
+ /** 状态 */
100
+ status: Status;
101
+ }
102
+
103
+ /** 消息分类。 */
104
+ export interface BaseMessageCategory {
105
+ /** 消息分类ID */
106
+ id: number;
107
+ /** 分类编码 */
108
+ code: string;
109
+ /** 分类名称 */
110
+ name: string;
111
+ /** 分类图标 */
112
+ icon: string;
113
+ /** 分类颜色 */
114
+ color: string;
115
+ /** 排序 */
116
+ sort: number;
117
+ /** 默认优先级 */
118
+ default_priority: MessagePriority;
119
+ /** 保留天数 */
120
+ retention_days: number;
121
+ /** 是否允许归档 */
122
+ allow_archive: boolean;
123
+ /** 是否允许删除 */
124
+ allow_delete: boolean;
125
+ /** 状态 */
126
+ status: Status;
127
+ /** 创建时间 */
128
+ created_at: string;
129
+ /** 更新时间 */
130
+ updated_at: string;
131
+ }
132
+
133
+ /** BaseMessageCategoryService 提供消息分类管理能力。 */
134
+ export interface BaseMessageCategoryService {
135
+ /** 查询消息分类选项。 */
136
+ OptionBaseMessageCategory(request: OptionBaseMessageCategoryRequest): Promise<SelectOptionResponse>;
137
+ /** 分页查询消息分类。 */
138
+ PageBaseMessageCategory(request: PageBaseMessageCategoryRequest): Promise<PageBaseMessageCategoryResponse>;
139
+ /** 查询消息分类详情。 */
140
+ GetBaseMessageCategory(request: GetBaseMessageCategoryRequest): Promise<BaseMessageCategoryForm>;
141
+ /** 创建消息分类。 */
142
+ CreateBaseMessageCategory(request: CreateBaseMessageCategoryRequest): Promise<Empty>;
143
+ /** 更新消息分类。 */
144
+ UpdateBaseMessageCategory(request: UpdateBaseMessageCategoryRequest): Promise<Empty>;
145
+ /** 删除消息分类。 */
146
+ DeleteBaseMessageCategory(request: DeleteBaseMessageCategoryRequest): Promise<Empty>;
147
+ /** 设置消息分类状态。 */
148
+ SetBaseMessageCategoryStatus(request: SetBaseMessageCategoryStatusRequest): Promise<Empty>;
149
+ }
@@ -0,0 +1,44 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.11.8
4
+ // protoc unknown
5
+ // source: system/admin/v1/base_session.proto
6
+
7
+ /* eslint-disable */
8
+ import type { Empty } from "../../../google/protobuf/empty";
9
+
10
+ /** 查询当前会话请求参数。 */
11
+ export interface GetCurrentBaseSessionRequest {
12
+ }
13
+
14
+ /** 撤销全部会话请求参数。 */
15
+ export interface RevokeAllBaseSessionsRequest {
16
+ }
17
+
18
+ /** 当前会话信息。 */
19
+ export interface BaseSession {
20
+ /** 用户ID */
21
+ user_id: number;
22
+ /** 用户账号 */
23
+ user_name: string;
24
+ /** 租户编码 */
25
+ tenant_code: string;
26
+ /** 客户端IP */
27
+ client_ip: string;
28
+ /** 登录设备 */
29
+ device: string;
30
+ /** 用户代理 */
31
+ user_agent: string;
32
+ /** 签发时间 */
33
+ issued_at: string;
34
+ /** 令牌有效期(秒) */
35
+ expires_in: number;
36
+ }
37
+
38
+ /** Admin会话管理服务。 */
39
+ export interface BaseSessionService {
40
+ /** 查询当前用户会话。 */
41
+ GetCurrentBaseSession(request: GetCurrentBaseSessionRequest): Promise<BaseSession>;
42
+ /** 撤销当前用户全部会话。 */
43
+ RevokeAllBaseSessions(request: RevokeAllBaseSessionsRequest): Promise<Empty>;
44
+ }
@@ -224,13 +224,13 @@ export interface SummaryBaseUserRequest {
224
224
  export interface SummaryBaseUserResponse {
225
225
  /** 用户总数 */
226
226
  total: number;
227
- /** 用户分组汇总 */
227
+ /** 用户注册时间维度汇总 */
228
228
  summaries: BaseUserSummaryItem[];
229
229
  }
230
230
 
231
- /** 用户注册分组汇总项 */
231
+ /** 用户注册时间维度汇总项 */
232
232
  export interface BaseUserSummaryItem {
233
- /** 分组序号 */
233
+ /** 统计周期值:按周统计时1至7依次表示星期一至星期日,按月统计时表示日期1至31,按年统计时表示月份1至12 */
234
234
  key: number;
235
235
  /** 用户数 */
236
236
  count: number;
@@ -82,7 +82,7 @@ export interface PreviewCodeGenResponse {
82
82
  | CodeGenOutputPaths
83
83
  | undefined;
84
84
  /** 正式生成前必须补齐的翻译配置 */
85
- missing_translations: string[];
85
+ missing_i18ns: string[];
86
86
  }
87
87
 
88
88
  /** 启动代码生成任务条件 */
@@ -0,0 +1,174 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.11.8
4
+ // protoc unknown
5
+ // source: system/admin/v1/oauth_client.proto
6
+
7
+ /* eslint-disable */
8
+ import type { Status } from "../../../common/v1/enum";
9
+ import type { Empty } from "../../../google/protobuf/empty";
10
+ import type { BaseApi } from "./base_api";
11
+
12
+ /**
13
+ * OauthClientCryptoType 定义开放授权客户端请求和响应使用的加密算法。
14
+ * 生产环境仅允许具备完整性保护的 AES-GCM 或 SM4-GCM,历史 3DES 值已禁用。
15
+ */
16
+ export enum OauthClientCryptoType {
17
+ OAUTH_CLIENT_CRYPTO_TYPE_UNSPECIFIED = 0,
18
+ OAUTH_CLIENT_CRYPTO_TYPE_SM4 = 1,
19
+ OAUTH_CLIENT_CRYPTO_TYPE_AES = 2,
20
+ }
21
+
22
+ /** 可授权 API 选项查询条件。 */
23
+ export interface OptionOauthClientApiRequest {
24
+ }
25
+
26
+ /** 可授权 API 选项响应。 */
27
+ export interface OptionOauthClientApiResponse {
28
+ /** 可授权的开发接口列表 */
29
+ base_apis: BaseApi[];
30
+ }
31
+
32
+ /** 开放授权客户端分页查询条件。 */
33
+ export interface PageOauthClientRequest {
34
+ /** 客户端名称 */
35
+ client_name?:
36
+ | string
37
+ | undefined;
38
+ /** 客户端状态 */
39
+ status?:
40
+ | Status
41
+ | undefined;
42
+ /** 绑定租户ID */
43
+ tenant_id?:
44
+ | number
45
+ | undefined;
46
+ /** 页码 */
47
+ page_num: number;
48
+ /** 每页数量 */
49
+ page_size: number;
50
+ }
51
+
52
+ /** 开放授权客户端分页响应。 */
53
+ export interface PageOauthClientResponse {
54
+ /** 客户端列表 */
55
+ oauth_clients: OauthClient[];
56
+ /** 总数 */
57
+ total: number;
58
+ }
59
+
60
+ /** 开放授权客户端查询条件。 */
61
+ export interface GetOauthClientRequest {
62
+ /** 客户端ID */
63
+ id: number;
64
+ }
65
+
66
+ /** 开放授权客户端凭据查询条件。 */
67
+ export interface GetOauthClientCredentialsRequest {
68
+ /** 客户端ID */
69
+ id: number;
70
+ }
71
+
72
+ /** 开放授权客户端凭据轮换条件。 */
73
+ export interface RotateOauthClientCredentialsRequest {
74
+ /** 客户端ID */
75
+ id: number;
76
+ }
77
+
78
+ /** 创建开放授权客户端请求。 */
79
+ export interface CreateOauthClientRequest {
80
+ /** 客户端表单 */
81
+ oauth_client: OauthClientForm | undefined;
82
+ }
83
+
84
+ /** 更新开放授权客户端请求。 */
85
+ export interface UpdateOauthClientRequest {
86
+ /** 客户端表单 */
87
+ oauth_client: OauthClientForm | undefined;
88
+ }
89
+
90
+ /** 删除开放授权客户端请求。 */
91
+ export interface DeleteOauthClientRequest {
92
+ /** 客户端ID列表 */
93
+ id: string;
94
+ }
95
+
96
+ /** 设置开放授权客户端状态请求。 */
97
+ export interface SetOauthClientStatusRequest {
98
+ /** 客户端ID */
99
+ id: number;
100
+ /** 状态 */
101
+ status: Status;
102
+ }
103
+
104
+ /** 开放授权客户端表单。 */
105
+ export interface OauthClientForm {
106
+ /** 客户端ID */
107
+ id: number;
108
+ /** 绑定租户ID */
109
+ tenant_id: number;
110
+ /** 客户端名称 */
111
+ client_name: string;
112
+ /** 协议加密类型 */
113
+ crypto_type: OauthClientCryptoType;
114
+ /** IP白名单 */
115
+ ip_whitelist: string;
116
+ /** 允许访问的 API operation 列表 */
117
+ api: string[];
118
+ /** 状态 */
119
+ status: Status;
120
+ }
121
+
122
+ /** 开放授权客户端非敏感信息。 */
123
+ export interface OauthClient {
124
+ /** 客户端ID */
125
+ id: number;
126
+ /** 客户端标识 */
127
+ client_id: string;
128
+ /** 客户端名称 */
129
+ client_name: string;
130
+ /** 绑定租户ID */
131
+ tenant_id: number;
132
+ /** 协议加密类型 */
133
+ crypto_type: OauthClientCryptoType;
134
+ /** IP白名单 */
135
+ ip_whitelist: string;
136
+ /** 允许访问的 API operation 列表 */
137
+ api: string[];
138
+ /** 状态 */
139
+ status: Status;
140
+ }
141
+
142
+ /** 开放授权客户端凭据元数据;敏感密钥字段始终为空,仅保留协议类型和客户端标识。 */
143
+ export interface OauthClientCredentials {
144
+ /** 客户端标识 */
145
+ client_id: string;
146
+ /** 客户端密钥 */
147
+ client_secret: string;
148
+ /** 协议加密类型 */
149
+ crypto_type: OauthClientCryptoType;
150
+ /** 协议加密密钥 */
151
+ crypto_key: string;
152
+ }
153
+
154
+ /** 开放授权客户端管理服务。 */
155
+ export interface OauthClientService {
156
+ /** 查询可授权的开发接口选项。 */
157
+ OptionOauthClientApi(request: OptionOauthClientApiRequest): Promise<OptionOauthClientApiResponse>;
158
+ /** 分页查询开放授权客户端。 */
159
+ PageOauthClient(request: PageOauthClientRequest): Promise<PageOauthClientResponse>;
160
+ /** 查询开放授权客户端详情。 */
161
+ GetOauthClient(request: GetOauthClientRequest): Promise<OauthClientForm>;
162
+ /** 查询客户端凭据元数据;客户端密钥和协议密钥不会通过接口回传。 */
163
+ GetOauthClientCredentials(request: GetOauthClientCredentialsRequest): Promise<OauthClientCredentials>;
164
+ /** 轮换客户端密钥并一次性返回新凭据。 */
165
+ RotateOauthClientCredentials(request: RotateOauthClientCredentialsRequest): Promise<OauthClientCredentials>;
166
+ /** 创建开放授权客户端。 */
167
+ CreateOauthClient(request: CreateOauthClientRequest): Promise<Empty>;
168
+ /** 更新开放授权客户端。 */
169
+ UpdateOauthClient(request: UpdateOauthClientRequest): Promise<Empty>;
170
+ /** 删除开放授权客户端。 */
171
+ DeleteOauthClient(request: DeleteOauthClientRequest): Promise<Empty>;
172
+ /** 设置开放授权客户端状态。 */
173
+ SetOauthClientStatus(request: SetOauthClientStatusRequest): Promise<Empty>;
174
+ }
@@ -115,11 +115,11 @@
115
115
  </template>
116
116
  <div class="agent-message-tool-payload">
117
117
  <section class="agent-message-tool-payload__section">
118
- <div class="agent-message-tool-payload__label">REQUEST</div>
118
+ <div class="agent-message-tool-payload__label">{{ t("system.ai.chat.field.request_payload") }}</div>
119
119
  <pre>{{ formatToolRequest(tool) }}</pre>
120
120
  </section>
121
121
  <section class="agent-message-tool-payload__section">
122
- <div class="agent-message-tool-payload__label">RESPONSE</div>
122
+ <div class="agent-message-tool-payload__label">{{ t("system.ai.chat.field.response_payload") }}</div>
123
123
  <pre>{{ formatToolResponse(tool) }}</pre>
124
124
  </section>
125
125
  </div>
@@ -9,13 +9,12 @@ import {
9
9
  import type { AiAction } from "@liujitcn/kratos-admin-system/rpc/base/v1/ai_message";
10
10
  import { AiMessageStatus } from "@liujitcn/kratos-admin-system/rpc/base/v1/ai_session";
11
11
  import { Terminal } from "@liujitcn/kratos-admin-system/rpc/base/v1/ai_tool";
12
- import { t } from "@liujitcn/kratos-admin-core";
12
+ import { getLocaleText, SUPPORTED_LOCALES, t } from "@liujitcn/kratos-admin-core";
13
13
  import type { AiStreamPayload, AIFlowBlock, ChatMessageItem, ReplySourceTag } from "./types";
14
14
 
15
15
  const THINKING_MESSAGE_ID_PREFIX = "ai-thinking";
16
16
  const LOCAL_USER_MESSAGE_ID_PREFIX = "ai-user-local";
17
17
  const PENDING_STREAM_MESSAGE_ID = "pending";
18
- const DEFAULT_SESSION_TITLES = new Set(["新对话", "新對話", "New conversation"]);
19
18
  const thinkingMessageContent = () => t("system.ai.chat.message.thinking");
20
19
 
21
20
  /** 生成流式消息分组键,确保同一轮回复只更新当前占位气泡。 */
@@ -55,12 +54,17 @@ export function normalizeSession(session?: Partial<AiSession> | null): AiSession
55
54
  /** 将服务端生成的默认会话文案切换到当前语言,兼容历史数据。 */
56
55
  function resolveSessionText(value: unknown, fallbackWhenEmpty: boolean) {
57
56
  const text = String(value ?? "");
58
- if ((fallbackWhenEmpty && !text) || DEFAULT_SESSION_TITLES.has(text)) {
57
+ if ((fallbackWhenEmpty && !text) || isDefaultSessionTitle(text)) {
59
58
  return t("system.ai.chat.value.new_conversation");
60
59
  }
61
60
  return text;
62
61
  }
63
62
 
63
+ /** 判断文本是否为任一已打包语言的默认会话标题。 */
64
+ function isDefaultSessionTitle(value: string) {
65
+ return SUPPORTED_LOCALES.some(locale => getLocaleText(locale, "system.ai.chat.value.new_conversation") === value);
66
+ }
67
+
64
68
  /** 将会话列表收敛成可安全渲染的数组。 */
65
69
  export function normalizeSessionList(list?: AiSession[] | null) {
66
70
  if (!Array.isArray(list)) return [];
@@ -0,0 +1,83 @@
1
+ <template>
2
+ <AuditLogTable ref="page" :config="config" />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import { computed, ref } from "vue";
7
+ import type { ColumnProps } from "@liujitcn/kratos-admin-core/components/ProTable/interface";
8
+ import { t } from "@liujitcn/kratos-admin-core";
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 { defBaseApiLogService } from "@liujitcn/kratos-admin-system/api/system/base_audit_log";
13
+ import { BaseAuditResult } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_audit_log";
14
+ import type { BaseApiLog, PageBaseApiLogRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_audit_log";
15
+
16
+ defineOptions({ name: "BaseApiLog", inheritAttrs: false });
17
+
18
+ const page = ref<InstanceType<typeof AuditLogTable>>();
19
+ 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")]
24
+ ])
25
+ );
26
+ const columns = computed<ColumnProps[]>(() => [
27
+ { prop: "operation", label: t("system.base.audit.field.operation"), minWidth: 320, search: { el: "input" } },
28
+ { prop: "method", label: t("system.base.audit.field.method"), minWidth: 90 },
29
+ { prop: "status_code", label: t("system.base.audit.field.status_code"), minWidth: 100 },
30
+ {
31
+ prop: "result",
32
+ label: t("system.base.audit.field.result"),
33
+ minWidth: 110,
34
+ search: { el: "select", enum: resultOptions.value },
35
+ render: scope => auditEnumLabel(resultOptions.value, (scope.row as BaseApiLog).result)
36
+ },
37
+ { prop: "latency_ms", label: t("system.base.audit.field.latency_ms"), minWidth: 110 },
38
+ { prop: "user_name", label: t("system.base.audit.field.user_name"), minWidth: 130 },
39
+ { prop: "occurred_at", label: t("system.base.audit.field.occurred_at"), minWidth: 190, search: auditDateSearch(t) },
40
+ auditDetailColumn(t("common.action.view"), id => page.value?.handleOpenDialog(id))
41
+ ]);
42
+
43
+ const config = computed<AuditLogTableConfig>(() => ({
44
+ columns: columns.value,
45
+ detailTitle: t("system.base.audit.api.title.detail"),
46
+ closeText: t("common.action.close"),
47
+ detailFields: [
48
+ { key: "id", label: t("system.base.audit.field.id") },
49
+ { key: "tenant_id", label: t("system.base.audit.field.tenant_id") },
50
+ { key: "tenant_code", label: t("system.base.audit.field.tenant_code") },
51
+ { key: "user_id", label: t("system.base.audit.field.user_id") },
52
+ { key: "user_name", label: t("system.base.audit.field.user_name") },
53
+ { key: "service_name", label: t("system.base.audit.field.service_name") },
54
+ { key: "operation", label: t("system.base.audit.field.operation"), span: 2 },
55
+ { key: "method", label: t("system.base.audit.field.method") },
56
+ { key: "path", label: t("system.base.audit.field.path"), span: 2 },
57
+ { key: "status_code", label: t("system.base.audit.field.status_code") },
58
+ { key: "result", label: t("system.base.audit.field.result") },
59
+ { key: "reason_code", label: t("system.base.audit.field.reason_code") },
60
+ { key: "reason", label: t("system.base.audit.field.reason"), span: 2 },
61
+ { key: "latency_ms", label: t("system.base.audit.field.latency_ms") },
62
+ { key: "request_size", label: t("system.base.audit.field.request_size") },
63
+ { key: "response_size", label: t("system.base.audit.field.response_size") },
64
+ { key: "client_ip", label: t("system.base.audit.field.client_ip") },
65
+ { key: "user_agent", label: t("system.base.audit.field.user_agent"), span: 2 },
66
+ { key: "request_id", label: t("system.base.audit.field.request_id") },
67
+ { key: "trace_id", label: t("system.base.audit.field.trace_id") },
68
+ { key: "occurred_at", label: t("system.base.audit.field.occurred_at") },
69
+ { key: "created_at", label: t("system.base.audit.field.created_at") }
70
+ ],
71
+ request: requestTable,
72
+ get: getDetail
73
+ }));
74
+
75
+ async function requestTable(params: Record<string, unknown>) {
76
+ const response = await defBaseApiLogService.PageBaseApiLog(buildPageRequest(params as unknown as PageBaseApiLogRequest));
77
+ return { list: response.base_api_logs as unknown as Record<string, unknown>[], total: response.total };
78
+ }
79
+
80
+ async function getDetail(id: number) {
81
+ return (await defBaseApiLogService.GetBaseApiLog({ id })) as unknown as Record<string, unknown>;
82
+ }
83
+ </script>