@liujitcn/kratos-admin-system 0.0.37 → 0.0.39
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/dist/package/declarations/src/api/system/admin/v1/base_login_log.d.ts +3 -1
- package/dist/package/declarations/src/api/system/admin/v1/base_session.d.ts +7 -1
- package/dist/package/declarations/src/locales/generated.d.ts +100 -0
- package/dist/package/declarations/src/rpc/base/v1/login.d.ts +2 -0
- package/dist/package/declarations/src/rpc/base/v1/notification.d.ts +1 -1
- package/dist/package/declarations/src/rpc/base/v1/oauth.d.ts +4 -0
- package/dist/package/declarations/src/rpc/base/v1/oauth_client.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_api_log.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_data_access_log.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_i18n.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_log.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_login_log.d.ts +10 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_login_policy.d.ts +8 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_message.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_message_category.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_migration.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_operation_log.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_permission_log.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_policy_evaluation_log.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_output_policy.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_redact_storage_policy.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_session.d.ts +41 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_table_archive.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_table_archive_record.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_table_archive_restore.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_table_backup.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_table_backup_record.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_table_backup_restore.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/base_table_source.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/cache.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/oauth_client.d.ts +1 -1
- package/dist/package/declarations/src/rpc/system/admin/v1/ops_monitoring.d.ts +1 -1
- package/dist/package/declarations/src/views/base/online-session/index.vue.d.ts +3 -0
- package/dist/package/declarations/src/views/profile/components/login-log.vue.d.ts +3 -0
- package/dist/package/src/api/base/v1/sse.ts +11 -2
- package/dist/package/src/api/system/admin/v1/base_login_log.ts +10 -0
- package/dist/package/src/api/system/admin/v1/base_session.ts +32 -1
- package/dist/package/src/locales/en-US.json +33 -20
- package/dist/package/src/locales/ja-JP.json +35 -22
- package/dist/package/src/locales/zh-CN.json +34 -21
- package/dist/package/src/locales/zh-TW.json +33 -20
- package/dist/package/src/module.ts +1 -0
- 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 +3 -1
- package/dist/package/src/rpc/base/v1/notification.ts +2 -2
- package/dist/package/src/rpc/base/v1/oauth.ts +5 -1
- package/dist/package/src/rpc/base/v1/oauth_client.ts +2 -2
- 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 +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_api.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_api_log.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_area.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_config.ts +1 -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 +2 -2
- 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 -1
- package/dist/package/src/rpc/system/admin/v1/base_dict_item.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_file.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_i18n.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_job.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_job_log.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_language.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_log.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_login_log.ts +12 -2
- package/dist/package/src/rpc/system/admin/v1/base_login_policy.ts +11 -1
- package/dist/package/src/rpc/system/admin/v1/base_menu.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_message.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_message_category.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_migration.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_operation_log.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_permission_log.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_policy_evaluation_log.ts +2 -2
- 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 +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_redact_output_policy.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_redact_rule.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_redact_storage_policy.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_role.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/base_session.ts +47 -1
- package/dist/package/src/rpc/system/admin/v1/base_table_archive.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_table_archive_record.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_table_archive_restore.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_table_backup.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_table_backup_record.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_table_backup_restore.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/base_table_source.ts +2 -2
- 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 +1 -1
- package/dist/package/src/rpc/system/admin/v1/cache.ts +2 -2
- 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 +1 -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 +1 -1
- package/dist/package/src/rpc/system/admin/v1/common.ts +1 -1
- package/dist/package/src/rpc/system/admin/v1/oauth_client.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/ops_monitoring.ts +2 -2
- package/dist/package/src/rpc/system/admin/v1/runtime_log.ts +1 -1
- package/dist/package/src/rpc/system/common/v1/common.ts +1 -1
- package/dist/package/src/rpc/system/config/v1/system_config.ts +1 -1
- package/dist/package/src/views/base/login-policy/index.vue +28 -0
- package/dist/package/src/views/base/online-session/index.vue +116 -0
- package/dist/package/src/views/base/user/index.vue +20 -8
- package/dist/package/src/views/profile/components/login-log.vue +123 -0
- package/dist/package/src/views/profile/components/session.vue +46 -61
- package/dist/package/src/views/profile/index.vue +13 -9
- package/dist/package/src/views/tool/code-gen/code-preview/index.vue +5 -15
- package/dist/package/src/views/tool/code-gen/table/index.vue +50 -24
- package/package.json +2 -2
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
2
|
// versions:
|
|
3
|
-
// protoc-gen-ts_proto v2.
|
|
3
|
+
// protoc-gen-ts_proto v2.11.8
|
|
4
4
|
// protoc unknown
|
|
5
5
|
// source: system/admin/v1/base_session.proto
|
|
6
6
|
|
|
7
7
|
/* eslint-disable */
|
|
8
8
|
import type { Empty } from "../../../google/protobuf/empty";
|
|
9
9
|
|
|
10
|
+
/** 查询本人全部会话请求。 */
|
|
11
|
+
export interface ListCurrentBaseSessionsRequest {
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/** 本人有效会话列表。 */
|
|
15
|
+
export interface ListCurrentBaseSessionsResponse {
|
|
16
|
+
/** 本人有效会话列表 */
|
|
17
|
+
sessions: BaseSession[];
|
|
18
|
+
}
|
|
19
|
+
|
|
10
20
|
/** 查询当前会话请求参数。 */
|
|
11
21
|
export interface GetCurrentBaseSessionRequest {
|
|
12
22
|
}
|
|
@@ -15,8 +25,36 @@ export interface GetCurrentBaseSessionRequest {
|
|
|
15
25
|
export interface RevokeAllBaseSessionsRequest {
|
|
16
26
|
}
|
|
17
27
|
|
|
28
|
+
/** 在线会话分页查询请求。 */
|
|
29
|
+
export interface PageOnlineBaseSessionsRequest {
|
|
30
|
+
/** 关键字 */
|
|
31
|
+
keyword: string;
|
|
32
|
+
/** 租户编码 */
|
|
33
|
+
tenant_code: string;
|
|
34
|
+
/** 当前页码 */
|
|
35
|
+
page_num: number;
|
|
36
|
+
/** 每页行数 */
|
|
37
|
+
page_size: number;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** 在线会话分页响应。 */
|
|
41
|
+
export interface PageOnlineBaseSessionsResponse {
|
|
42
|
+
/** 在线会话列表 */
|
|
43
|
+
sessions: BaseSession[];
|
|
44
|
+
/** 总数 */
|
|
45
|
+
total: number;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** 下线指定会话请求。 */
|
|
49
|
+
export interface RevokeBaseSessionRequest {
|
|
50
|
+
/** 会话ID */
|
|
51
|
+
session_id: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
18
54
|
/** 当前会话信息。 */
|
|
19
55
|
export interface BaseSession {
|
|
56
|
+
/** 会话ID */
|
|
57
|
+
session_id: string;
|
|
20
58
|
/** 用户ID */
|
|
21
59
|
user_id: number;
|
|
22
60
|
/** 用户账号 */
|
|
@@ -33,12 +71,20 @@ export interface BaseSession {
|
|
|
33
71
|
issued_at: string;
|
|
34
72
|
/** 令牌有效期(秒) */
|
|
35
73
|
expires_in: number;
|
|
74
|
+
/** 是否为当前请求会话 */
|
|
75
|
+
current: boolean;
|
|
36
76
|
}
|
|
37
77
|
|
|
38
78
|
/** Admin会话管理服务。 */
|
|
39
79
|
export interface BaseSessionService {
|
|
80
|
+
/** 查询当前用户全部有效会话。 */
|
|
81
|
+
ListCurrentBaseSessions(request: ListCurrentBaseSessionsRequest): Promise<ListCurrentBaseSessionsResponse>;
|
|
40
82
|
/** 查询当前用户会话。 */
|
|
41
83
|
GetCurrentBaseSession(request: GetCurrentBaseSessionRequest): Promise<BaseSession>;
|
|
42
84
|
/** 撤销当前用户全部会话。 */
|
|
43
85
|
RevokeAllBaseSessions(request: RevokeAllBaseSessionsRequest): Promise<Empty>;
|
|
86
|
+
/** 分页查询当前在线用户会话。 */
|
|
87
|
+
PageOnlineBaseSessions(request: PageOnlineBaseSessionsRequest): Promise<PageOnlineBaseSessionsResponse>;
|
|
88
|
+
/** 下线指定用户会话。 */
|
|
89
|
+
RevokeBaseSession(request: RevokeBaseSessionRequest): Promise<Empty>;
|
|
44
90
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
2
|
// versions:
|
|
3
|
-
// protoc-gen-ts_proto v2.
|
|
3
|
+
// protoc-gen-ts_proto v2.11.8
|
|
4
4
|
// protoc unknown
|
|
5
5
|
// source: system/admin/v1/base_table_archive.proto
|
|
6
6
|
|
|
@@ -92,7 +92,7 @@ export interface SetBaseTableArchiveStatusRequest {
|
|
|
92
92
|
status: number;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
/**
|
|
95
|
+
/** Admin数据库表归档配置服务。 */
|
|
96
96
|
export interface BaseTableArchiveService {
|
|
97
97
|
/** 查询表归档配置分页列表。 */
|
|
98
98
|
PageBaseTableArchive(request: PageBaseTableArchiveRequest): Promise<PageBaseTableArchiveResponse>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
2
|
// versions:
|
|
3
|
-
// protoc-gen-ts_proto v2.
|
|
3
|
+
// protoc-gen-ts_proto v2.11.8
|
|
4
4
|
// protoc unknown
|
|
5
5
|
// source: system/admin/v1/base_table_archive_record.proto
|
|
6
6
|
|
|
@@ -86,7 +86,7 @@ export interface GetBaseTableArchiveRecordRequest {
|
|
|
86
86
|
id: number;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
/**
|
|
89
|
+
/** Admin表归档执行记录服务。 */
|
|
90
90
|
export interface BaseTableArchiveRecordService {
|
|
91
91
|
/** 查询表归档记录分页列表。 */
|
|
92
92
|
PageBaseTableArchiveRecord(request: PageBaseTableArchiveRecordRequest): Promise<PageBaseTableArchiveRecordResponse>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
2
|
// versions:
|
|
3
|
-
// protoc-gen-ts_proto v2.
|
|
3
|
+
// protoc-gen-ts_proto v2.11.8
|
|
4
4
|
// protoc unknown
|
|
5
5
|
// source: system/admin/v1/base_table_archive_restore.proto
|
|
6
6
|
|
|
@@ -80,7 +80,7 @@ export interface ExecuteBaseTableArchiveRestoreRequest {
|
|
|
80
80
|
base_table_archive_restore: BaseTableArchiveRestore | undefined;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
/**
|
|
83
|
+
/** Admin归档数据恢复服务。 */
|
|
84
84
|
export interface BaseTableArchiveRestoreService {
|
|
85
85
|
/** 查询归档恢复记录分页列表。 */
|
|
86
86
|
PageBaseTableArchiveRestore(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
2
|
// versions:
|
|
3
|
-
// protoc-gen-ts_proto v2.
|
|
3
|
+
// protoc-gen-ts_proto v2.11.8
|
|
4
4
|
// protoc unknown
|
|
5
5
|
// source: system/admin/v1/base_table_backup.proto
|
|
6
6
|
|
|
@@ -74,7 +74,7 @@ export interface SetBaseTableBackupStatusRequest {
|
|
|
74
74
|
status: number;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
/**
|
|
77
|
+
/** Admin数据库备份配置服务。 */
|
|
78
78
|
export interface BaseTableBackupService {
|
|
79
79
|
/** 查询数据库备份配置分页列表。 */
|
|
80
80
|
PageBaseTableBackup(request: PageBaseTableBackupRequest): Promise<PageBaseTableBackupResponse>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
2
|
// versions:
|
|
3
|
-
// protoc-gen-ts_proto v2.
|
|
3
|
+
// protoc-gen-ts_proto v2.11.8
|
|
4
4
|
// protoc unknown
|
|
5
5
|
// source: system/admin/v1/base_table_backup_record.proto
|
|
6
6
|
|
|
@@ -73,7 +73,7 @@ export interface GetBaseTableBackupRecordRequest {
|
|
|
73
73
|
id: number;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
/**
|
|
76
|
+
/** Admin数据库备份执行记录服务。 */
|
|
77
77
|
export interface BaseTableBackupRecordService {
|
|
78
78
|
/** 查询数据库备份记录分页列表。 */
|
|
79
79
|
PageBaseTableBackupRecord(request: PageBaseTableBackupRecordRequest): Promise<PageBaseTableBackupRecordResponse>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
2
|
// versions:
|
|
3
|
-
// protoc-gen-ts_proto v2.
|
|
3
|
+
// protoc-gen-ts_proto v2.11.8
|
|
4
4
|
// protoc unknown
|
|
5
5
|
// source: system/admin/v1/base_table_backup_restore.proto
|
|
6
6
|
|
|
@@ -80,7 +80,7 @@ export interface ExecuteBaseTableBackupRestoreRequest {
|
|
|
80
80
|
base_table_backup_restore: BaseTableBackupRestore | undefined;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
/**
|
|
83
|
+
/** Admin数据库备份恢复服务。 */
|
|
84
84
|
export interface BaseTableBackupRestoreService {
|
|
85
85
|
/** 查询备份恢复记录分页列表。 */
|
|
86
86
|
PageBaseTableBackupRestore(request: PageBaseTableBackupRestoreRequest): Promise<PageBaseTableBackupRestoreResponse>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
2
|
// versions:
|
|
3
|
-
// protoc-gen-ts_proto v2.
|
|
3
|
+
// protoc-gen-ts_proto v2.11.8
|
|
4
4
|
// protoc unknown
|
|
5
5
|
// source: system/admin/v1/base_table_source.proto
|
|
6
6
|
|
|
@@ -17,7 +17,7 @@ export interface OptionBaseTableRequest {
|
|
|
17
17
|
source_name: string;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
/**
|
|
20
|
+
/** Admin数据源元数据服务,提供数据备份、数据归档和代码生成共用的数据源信息。 */
|
|
21
21
|
export interface BaseTableSourceService {
|
|
22
22
|
/** 查询已初始化的数据源名称。 */
|
|
23
23
|
OptionBaseTableSource(request: OptionBaseTableSourceRequest): Promise<StringValues>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
2
|
// versions:
|
|
3
|
-
// protoc-gen-ts_proto v2.
|
|
3
|
+
// protoc-gen-ts_proto v2.11.8
|
|
4
4
|
// protoc unknown
|
|
5
5
|
// source: system/admin/v1/cache.proto
|
|
6
6
|
|
|
@@ -52,7 +52,7 @@ export interface CacheField {
|
|
|
52
52
|
value: string;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
/** 运行时缓存查询服务。 */
|
|
55
|
+
/** Admin运行时缓存查询服务。 */
|
|
56
56
|
export interface CacheService {
|
|
57
57
|
/** 分页查询当前进程已观测到的缓存条目。 */
|
|
58
58
|
PageCache(request: PageCacheRequest): Promise<PageCacheResponse>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
2
|
// versions:
|
|
3
|
-
// protoc-gen-ts_proto v2.
|
|
3
|
+
// protoc-gen-ts_proto v2.11.8
|
|
4
4
|
// protoc unknown
|
|
5
5
|
// source: system/admin/v1/oauth_client.proto
|
|
6
6
|
|
|
@@ -151,7 +151,7 @@ export interface OauthClientCredentials {
|
|
|
151
151
|
crypto_key: string;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
/** 开放授权客户端管理服务。 */
|
|
154
|
+
/** Admin开放授权客户端管理服务。 */
|
|
155
155
|
export interface OauthClientService {
|
|
156
156
|
/** 查询可授权的开发接口选项。 */
|
|
157
157
|
OptionOauthClientApi(request: OptionOauthClientApiRequest): Promise<OptionOauthClientApiResponse>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
2
|
// versions:
|
|
3
|
-
// protoc-gen-ts_proto v2.
|
|
3
|
+
// protoc-gen-ts_proto v2.11.8
|
|
4
4
|
// protoc unknown
|
|
5
5
|
// source: system/admin/v1/ops_monitoring.proto
|
|
6
6
|
|
|
@@ -240,7 +240,7 @@ export interface OpsAlert {
|
|
|
240
240
|
status: string;
|
|
241
241
|
}
|
|
242
242
|
|
|
243
|
-
/** 运维监控服务。 */
|
|
243
|
+
/** Admin运维监控服务。 */
|
|
244
244
|
export interface OpsMonitoringService {
|
|
245
245
|
/** 查询当前进程运行信息。 */
|
|
246
246
|
GetOpsRuntime(request: GetOpsRuntimeRequest): Promise<OpsRuntime>;
|
|
@@ -136,6 +136,12 @@ const formFields = computed<ProFormField[]>(() => [
|
|
|
136
136
|
component: "input-number",
|
|
137
137
|
props: { min: 1, max: 1440, precision: 0 }
|
|
138
138
|
},
|
|
139
|
+
{
|
|
140
|
+
prop: "allow_concurrent_login",
|
|
141
|
+
label: t("system.base.login_policy.field.allow_concurrent_login"),
|
|
142
|
+
component: "switch",
|
|
143
|
+
props: { activeText: t("common.status.enabled"), inactiveText: t("common.status.disabled") }
|
|
144
|
+
},
|
|
139
145
|
{
|
|
140
146
|
prop: "password_min_length",
|
|
141
147
|
label: t("system.base.login_policy.field.password_min_length"),
|
|
@@ -160,6 +166,12 @@ const formFields = computed<ProFormField[]>(() => [
|
|
|
160
166
|
component: "input-number",
|
|
161
167
|
props: { min: 0, max: 3650, precision: 0 }
|
|
162
168
|
},
|
|
169
|
+
{
|
|
170
|
+
prop: "mfa_remember_days",
|
|
171
|
+
label: t("system.base.login_policy.field.mfa_remember_days"),
|
|
172
|
+
component: "input-number",
|
|
173
|
+
props: { min: 0, max: 90, precision: 0 }
|
|
174
|
+
},
|
|
163
175
|
{
|
|
164
176
|
prop: "initial_password",
|
|
165
177
|
label: t("system.base.login_policy.field.initial_password"),
|
|
@@ -182,6 +194,7 @@ const formRules = computed(() => ({
|
|
|
182
194
|
{ required: true, message: t("system.base.login_policy.validation.password_min_complexity_classes"), trigger: "change" }
|
|
183
195
|
],
|
|
184
196
|
password_max_age_days: [{ required: true, message: t("system.base.login_policy.validation.password_max_age_days"), trigger: "change" }]
|
|
197
|
+
,mfa_remember_days: [{ required: true, message: t("system.base.login_policy.validation.mfa_remember_days"), trigger: "change" }]
|
|
185
198
|
}));
|
|
186
199
|
|
|
187
200
|
const columns = computed<ColumnProps[]>(() => [
|
|
@@ -207,6 +220,18 @@ const columns = computed<ColumnProps[]>(() => [
|
|
|
207
220
|
},
|
|
208
221
|
{ prop: "max_failed_attempts", label: t("system.base.login_policy.field.max_failed_attempts"), width: 110, align: "right" },
|
|
209
222
|
{ prop: "lock_duration_minutes", label: t("system.base.login_policy.field.lock_duration_minutes"), width: 110, align: "right" },
|
|
223
|
+
{
|
|
224
|
+
prop: "allow_concurrent_login",
|
|
225
|
+
label: t("system.base.login_policy.field.allow_concurrent_login"),
|
|
226
|
+
width: 130,
|
|
227
|
+
cellType: "status",
|
|
228
|
+
statusProps: {
|
|
229
|
+
activeValue: true,
|
|
230
|
+
inactiveValue: false,
|
|
231
|
+
activeText: t("common.status.enabled"),
|
|
232
|
+
inactiveText: t("common.status.disabled")
|
|
233
|
+
}
|
|
234
|
+
},
|
|
210
235
|
{ prop: "password_min_length", label: t("system.base.login_policy.field.password_min_length"), width: 110, align: "right" },
|
|
211
236
|
{ prop: "password_history_count", label: t("system.base.login_policy.field.password_history_count"), width: 110, align: "right" },
|
|
212
237
|
{
|
|
@@ -216,6 +241,7 @@ const columns = computed<ColumnProps[]>(() => [
|
|
|
216
241
|
align: "right"
|
|
217
242
|
},
|
|
218
243
|
{ prop: "password_max_age_days", label: t("system.base.login_policy.field.password_max_age_days"), width: 110, align: "right" },
|
|
244
|
+
{ prop: "mfa_remember_days", label: t("system.base.login_policy.field.mfa_remember_days"), width: 130, align: "right" },
|
|
219
245
|
{
|
|
220
246
|
prop: "status",
|
|
221
247
|
label: t("common.field.status"),
|
|
@@ -312,10 +338,12 @@ function defaultForm(): BaseLoginPolicyFormState {
|
|
|
312
338
|
user_id: 0,
|
|
313
339
|
max_failed_attempts: 5,
|
|
314
340
|
lock_duration_minutes: 15,
|
|
341
|
+
allow_concurrent_login: false,
|
|
315
342
|
password_min_length: 8,
|
|
316
343
|
password_history_count: 3,
|
|
317
344
|
password_min_complexity_classes: 3,
|
|
318
345
|
password_max_age_days: 90,
|
|
346
|
+
mfa_remember_days: 0,
|
|
319
347
|
initial_password: "",
|
|
320
348
|
status: Status.STATUS_ENABLE,
|
|
321
349
|
rules: []
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="online-session-page">
|
|
3
|
+
<el-card class="admin-page-card">
|
|
4
|
+
<ProTable
|
|
5
|
+
:key="isDefaultTenant ? 'default-tenant' : 'current-tenant'"
|
|
6
|
+
ref="proTable"
|
|
7
|
+
row-key="session_id"
|
|
8
|
+
:columns="columns"
|
|
9
|
+
:request-api="requestTable"
|
|
10
|
+
/>
|
|
11
|
+
</el-card>
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script setup lang="ts">
|
|
16
|
+
import { computed, ref } from "vue";
|
|
17
|
+
import ProTable from "@liujitcn/kratos-admin-core/components/ProTable";
|
|
18
|
+
import type { ColumnProps, EnumProps, ProTableInstance } from "@liujitcn/kratos-admin-core/components/ProTable/interface";
|
|
19
|
+
import { DEFAULT_TENANT_CODE } from "@liujitcn/kratos-admin-core/tenant";
|
|
20
|
+
import { useUserStore } from "@liujitcn/kratos-admin-core/stores/runtime";
|
|
21
|
+
import { useAuthButtons } from "@liujitcn/kratos-admin-core/auth";
|
|
22
|
+
import { buildPageRequest } from "@liujitcn/kratos-admin-core/table";
|
|
23
|
+
import { t } from "@liujitcn/kratos-admin-core";
|
|
24
|
+
import { defBaseTenantService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_tenant";
|
|
25
|
+
import { defBaseSessionService } from "@liujitcn/kratos-admin-system/api/system/admin/v1/base_session";
|
|
26
|
+
import type { BaseSession, PageOnlineBaseSessionsRequest } from "@liujitcn/kratos-admin-system/rpc/system/admin/v1/base_session";
|
|
27
|
+
|
|
28
|
+
defineOptions({ name: "BaseOnlineSession", inheritAttrs: false });
|
|
29
|
+
|
|
30
|
+
const { BUTTONS } = useAuthButtons();
|
|
31
|
+
const proTable = ref<ProTableInstance>();
|
|
32
|
+
const userStore = useUserStore();
|
|
33
|
+
const isDefaultTenant = computed(() => userStore.userInfo.tenant_code === DEFAULT_TENANT_CODE);
|
|
34
|
+
|
|
35
|
+
const columns = computed<ColumnProps[]>(() => [
|
|
36
|
+
{
|
|
37
|
+
prop: "tenant_code",
|
|
38
|
+
label: t("common.field.tenant"),
|
|
39
|
+
minWidth: 130,
|
|
40
|
+
search: isDefaultTenant.value ? { el: "select", props: { filterable: true }, order: 1 } : undefined,
|
|
41
|
+
enum: requestSessionTenantOptions
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
prop: "user_name",
|
|
45
|
+
label: t("system.base.online_session.field.user_name"),
|
|
46
|
+
minWidth: 140,
|
|
47
|
+
search: { el: "input", key: "keyword", order: 2 }
|
|
48
|
+
},
|
|
49
|
+
{ prop: "client_ip", label: t("system.base.online_session.field.client_ip"), minWidth: 140 },
|
|
50
|
+
{ prop: "device", label: t("system.base.online_session.field.device"), minWidth: 180 },
|
|
51
|
+
{ prop: "user_agent", label: t("system.base.online_session.field.user_agent"), minWidth: 220 },
|
|
52
|
+
{ prop: "issued_at", label: t("system.base.online_session.field.issued_at"), minWidth: 180 },
|
|
53
|
+
{
|
|
54
|
+
prop: "operation",
|
|
55
|
+
label: t("common.field.operation"),
|
|
56
|
+
width: 100,
|
|
57
|
+
fixed: "right",
|
|
58
|
+
cellType: "actions",
|
|
59
|
+
actions: [
|
|
60
|
+
{
|
|
61
|
+
label: t("system.base.online_session.action.revoke"),
|
|
62
|
+
type: "danger",
|
|
63
|
+
link: true,
|
|
64
|
+
icon: SwitchButton,
|
|
65
|
+
hidden: () => !BUTTONS.value["base:online-session:revoke"],
|
|
66
|
+
onClick: scope => revokeSession(scope.row as BaseSession)
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
]);
|
|
71
|
+
|
|
72
|
+
/** 将租户名称映射到会话使用的租户编码,供下拉筛选与表格展示复用。 */
|
|
73
|
+
async function requestSessionTenantOptions() {
|
|
74
|
+
if (!isDefaultTenant.value) {
|
|
75
|
+
return { data: [{ value: userStore.userInfo.tenant_code, label: userStore.userInfo.tenant_name }] };
|
|
76
|
+
}
|
|
77
|
+
const options: EnumProps[] = [];
|
|
78
|
+
const pageSize = 100;
|
|
79
|
+
for (let pageNum = 1; ; pageNum++) {
|
|
80
|
+
const response = await defBaseTenantService.PageBaseTenant({ code: "", name: "", page_num: pageNum, page_size: pageSize });
|
|
81
|
+
const tenants = response.base_tenants ?? [];
|
|
82
|
+
options.push(...tenants.map(tenant => ({ value: tenant.code, label: tenant.name })));
|
|
83
|
+
if (options.length >= response.total || tenants.length === 0) break;
|
|
84
|
+
}
|
|
85
|
+
return { data: options };
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/** 查询在线用户会话列表。 */
|
|
89
|
+
async function requestTable(params: Record<string, unknown>) {
|
|
90
|
+
const response = await defBaseSessionService.PageOnlineBaseSessions(
|
|
91
|
+
buildPageRequest<PageOnlineBaseSessionsRequest>({
|
|
92
|
+
...(params as unknown as PageOnlineBaseSessionsRequest),
|
|
93
|
+
tenant_code: isDefaultTenant.value ? String(params.tenant_code ?? "") : ""
|
|
94
|
+
})
|
|
95
|
+
);
|
|
96
|
+
return { data: { list: response.sessions ?? [], total: response.total } };
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/** 下线指定在线用户会话。 */
|
|
100
|
+
async function revokeSession(row: BaseSession) {
|
|
101
|
+
await ElMessageBox.confirm(
|
|
102
|
+
t("system.base.online_session.confirm.revoke", { user_name: row.user_name }),
|
|
103
|
+
t("common.title.warning"),
|
|
104
|
+
{ type: "warning" }
|
|
105
|
+
);
|
|
106
|
+
await defBaseSessionService.RevokeBaseSession({ session_id: row.session_id });
|
|
107
|
+
ElMessage.success(t("system.base.online_session.message.revoked"));
|
|
108
|
+
proTable.value?.getTableList();
|
|
109
|
+
}
|
|
110
|
+
</script>
|
|
111
|
+
|
|
112
|
+
<style scoped lang="scss">
|
|
113
|
+
.online-session-page {
|
|
114
|
+
min-width: 0;
|
|
115
|
+
}
|
|
116
|
+
</style>
|
|
@@ -27,7 +27,9 @@
|
|
|
27
27
|
v-model="dialog.visible"
|
|
28
28
|
ref="formDialogRef"
|
|
29
29
|
:title="t(dialog.editing ? 'system.base.user.action.edit' : 'system.base.user.action.create')"
|
|
30
|
-
width="
|
|
30
|
+
width="960px"
|
|
31
|
+
label-width="120px"
|
|
32
|
+
:col-span="12"
|
|
31
33
|
:model="formData"
|
|
32
34
|
:fields="formFields"
|
|
33
35
|
:rules="rules"
|
|
@@ -400,12 +402,6 @@ const formFields = computed<ProFormField[]>(() => [
|
|
|
400
402
|
component: "input",
|
|
401
403
|
props: { placeholder: t("common.validation.phone_required") }
|
|
402
404
|
},
|
|
403
|
-
{
|
|
404
|
-
prop: "email",
|
|
405
|
-
label: t("system.base.user.field.email"),
|
|
406
|
-
component: "input",
|
|
407
|
-
props: { placeholder: t("system.base.user.placeholder.email") }
|
|
408
|
-
},
|
|
409
405
|
{
|
|
410
406
|
prop: "id_type",
|
|
411
407
|
label: t("system.base.user.field.id_type"),
|
|
@@ -419,10 +415,19 @@ const formFields = computed<ProFormField[]>(() => [
|
|
|
419
415
|
component: "input",
|
|
420
416
|
props: { placeholder: t("system.base.user.placeholder.id_code") }
|
|
421
417
|
},
|
|
418
|
+
{
|
|
419
|
+
prop: "email",
|
|
420
|
+
label: t("system.base.user.field.email"),
|
|
421
|
+
component: "input",
|
|
422
|
+
colSpan: 24,
|
|
423
|
+
props: { placeholder: t("system.base.user.placeholder.email") }
|
|
424
|
+
},
|
|
422
425
|
{
|
|
423
426
|
prop: "pwd",
|
|
424
427
|
label: t("system.base.user.field.password"),
|
|
425
428
|
component: "password",
|
|
429
|
+
rowBreakBefore: true,
|
|
430
|
+
colSpan: 24,
|
|
426
431
|
props: { placeholder: t("system.base.user.placeholder.password_optional"), showPassword: true },
|
|
427
432
|
visible: model => !model.id
|
|
428
433
|
},
|
|
@@ -431,9 +436,15 @@ const formFields = computed<ProFormField[]>(() => [
|
|
|
431
436
|
label: t("system.base.user.field.password_strength"),
|
|
432
437
|
component: "slot",
|
|
433
438
|
slotName: "passwordStrength",
|
|
439
|
+
colSpan: 24,
|
|
434
440
|
visible: model => !model.id
|
|
435
441
|
},
|
|
436
|
-
{
|
|
442
|
+
{
|
|
443
|
+
prop: "gender",
|
|
444
|
+
label: t("system.base.user.field.gender"),
|
|
445
|
+
component: "dict",
|
|
446
|
+
props: { code: "base_user_gender", style: { width: "100%" } }
|
|
447
|
+
},
|
|
437
448
|
{
|
|
438
449
|
prop: "status",
|
|
439
450
|
label: t("common.field.status"),
|
|
@@ -445,6 +456,7 @@ const formFields = computed<ProFormField[]>(() => [
|
|
|
445
456
|
prop: "remark",
|
|
446
457
|
label: t("common.field.remark"),
|
|
447
458
|
component: "textarea",
|
|
459
|
+
colSpan: 24,
|
|
448
460
|
props: { placeholder: t("common.placeholder.remark") }
|
|
449
461
|
}
|
|
450
462
|
]);
|