@liujitcn/kratos-admin-core 0.0.29 → 0.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -8
- package/build/auto-imports.json +73 -0
- package/build/plugins.ts +2 -58
- package/dist/package/declarations/src/api/base/{config.d.ts → v1/config.d.ts} +1 -1
- package/dist/package/declarations/src/api/base/{file.d.ts → v1/file.d.ts} +3 -1
- package/dist/package/declarations/src/api/base/{language.d.ts → v1/language.d.ts} +1 -1
- package/dist/package/declarations/src/api/base/{login.d.ts → v1/login.d.ts} +2 -2
- package/dist/package/declarations/src/api/base/v1/mfa.d.ts +26 -0
- package/dist/package/declarations/src/api/base/{oauth.d.ts → v1/oauth.d.ts} +1 -1
- package/dist/package/declarations/src/api/system/{auth.d.ts → admin/v1/auth.d.ts} +2 -2
- package/dist/package/declarations/src/api/system/{base_dict.d.ts → admin/v1/base_dict.d.ts} +1 -1
- package/dist/package/declarations/src/api/system/{base_tenant.d.ts → admin/v1/base_tenant.d.ts} +2 -2
- package/dist/package/declarations/src/components/Dialog/FormDialog.vue.d.ts +3 -3
- package/dist/package/declarations/src/components/Dialog/PasswordVerifyDialog.vue.d.ts +65 -0
- package/dist/package/declarations/src/components/Dialog/ProDialog.vue.d.ts +1 -1
- package/dist/package/declarations/src/components/Grid/components/GridItem.vue.d.ts +1 -1
- package/dist/package/declarations/src/components/Mfa/MfaRecoveryCodesDialog.vue.d.ts +19 -0
- package/dist/package/declarations/src/components/Mfa/MfaSetupPanel.vue.d.ts +8 -0
- package/dist/package/declarations/src/components/ProForm/components/ProFormItem.vue.d.ts +4 -4
- package/dist/package/declarations/src/components/ProForm/index.vue.d.ts +1 -1
- package/dist/package/declarations/src/components/ProForm/interface/index.d.ts +4 -1
- package/dist/package/declarations/src/components/ProTable/index.vue.d.ts +114 -0
- package/dist/package/declarations/src/components/RichTextPreview/index.vue.d.ts +8 -0
- package/dist/package/declarations/src/components/TreeFilter/index.vue.d.ts +84 -76
- package/dist/package/declarations/src/components/Upload/File.vue.d.ts +1 -1
- package/dist/package/declarations/src/components/Upload/Files.vue.d.ts +1 -1
- package/dist/package/declarations/src/components/Upload/Img.vue.d.ts +2 -2
- package/dist/package/declarations/src/components/Upload/Imgs.vue.d.ts +2 -2
- package/dist/package/declarations/src/components/WangEditor/index.vue.d.ts +2 -0
- package/dist/package/declarations/src/documentTitle.d.ts +2 -0
- package/dist/package/declarations/src/format.d.ts +1 -1
- package/dist/package/declarations/src/index.d.ts +2 -1
- package/dist/package/declarations/src/layouts/components/LockScreen.vue.d.ts +3 -0
- package/dist/package/declarations/src/locales/generated.d.ts +208 -0
- package/dist/package/declarations/src/locales/index.d.ts +2 -0
- package/dist/package/declarations/src/modules/index.d.ts +1 -3
- package/dist/package/declarations/src/request.d.ts +1 -1
- package/dist/package/declarations/src/routers/index.d.ts +1 -1
- package/dist/package/declarations/src/rpc/base/v1/login.d.ts +37 -5
- package/dist/package/declarations/src/rpc/base/v1/mfa.d.ts +152 -0
- package/dist/package/declarations/src/rpc/base/v1/oauth.d.ts +25 -0
- package/dist/package/declarations/src/rpc/base/v1/oauth_client.d.ts +23 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/auth.d.ts +13 -0
- package/dist/package/declarations/src/rpc/system/admin/v1/base_dict.d.ts +0 -101
- package/dist/package/declarations/src/rpc/system/admin/v1/base_i18n.d.ts +10 -6
- package/dist/package/declarations/src/rpc/system/common/v1/common.d.ts +26 -0
- package/dist/package/declarations/src/security.d.ts +2 -0
- package/dist/package/declarations/src/stores/interface/index.d.ts +19 -1
- package/dist/package/declarations/src/stores/modules/lockScreen.d.ts +20 -0
- package/dist/package/declarations/src/stores/modules/user.d.ts +7 -6
- package/dist/package/declarations/src/stores/runtime.d.ts +1 -0
- package/dist/package/declarations/src/utils/clipboard.d.ts +2 -0
- package/dist/package/declarations/src/utils/passwordStrength.d.ts +1 -12
- package/dist/package/declarations/src/utils/request.d.ts +13 -2
- package/dist/package/declarations/src/utils/utils.d.ts +4 -0
- package/dist/package/declarations/src/utils/webauthn.d.ts +4 -0
- package/dist/package/declarations/vite.config.d.ts +2 -0
- package/dist/package/src/api/base/{config.ts → v1/config.ts} +2 -2
- package/dist/package/src/api/base/{file.ts → v1/file.ts} +20 -24
- package/dist/package/src/api/base/{language.ts → v1/language.ts} +2 -2
- package/dist/package/src/api/base/{login.ts → v1/login.ts} +3 -3
- package/dist/package/src/api/base/v1/mfa.ts +114 -0
- package/dist/package/src/api/base/{oauth.ts → v1/oauth.ts} +2 -2
- package/dist/package/src/api/system/{auth.ts → admin/v1/auth.ts} +3 -3
- package/dist/package/src/api/system/{base_dict.ts → admin/v1/base_dict.ts} +2 -2
- package/dist/package/src/api/system/{base_tenant.ts → admin/v1/base_tenant.ts} +3 -3
- package/dist/package/src/bootstrap.ts +6 -5
- package/dist/package/src/components/CronExpression/index.vue +4 -3
- package/dist/package/src/components/Dialog/PasswordVerifyDialog.vue +176 -0
- package/dist/package/src/components/Dialog/ProDialog.vue +1 -0
- package/dist/package/src/components/ImportExcel/index.vue +4 -2
- package/dist/package/src/components/Loading/fullScreen.ts +2 -1
- package/dist/package/src/components/MarkdownPreview/index.vue +22 -2
- package/dist/package/src/components/Mfa/MfaRecoveryCodesDialog.vue +91 -0
- package/dist/package/src/components/Mfa/MfaSetupPanel.vue +81 -0
- package/dist/package/src/components/PasswordStrength/index.vue +1 -1
- package/dist/package/src/components/ProForm/components/ProFormItem.vue +16 -1
- package/dist/package/src/components/ProForm/interface/index.ts +4 -0
- package/dist/package/src/components/ProTable/components/ColSetting.vue +1 -1
- package/dist/package/src/components/ProTable/components/TableColumn.vue +14 -6
- package/dist/package/src/components/ProTable/index.vue +9 -5
- package/dist/package/src/components/RichTextPreview/index.vue +56 -0
- package/dist/package/src/components/SelectIcon/index.vue +3 -2
- package/dist/package/src/components/Upload/File.vue +2 -2
- package/dist/package/src/components/Upload/Files.vue +2 -2
- package/dist/package/src/components/Upload/Img.vue +7 -5
- package/dist/package/src/components/Upload/Imgs.vue +6 -5
- package/dist/package/src/components/WangEditor/index.vue +10 -7
- package/dist/package/src/config/index.ts +1 -1
- package/dist/package/src/documentTitle.ts +8 -0
- package/dist/package/src/format.ts +1 -1
- package/dist/package/src/index.ts +2 -1
- package/dist/package/src/layouts/LayoutClassic/index.vue +3 -1
- package/dist/package/src/layouts/LayoutColumns/index.vue +3 -1
- package/dist/package/src/layouts/LayoutTransverse/index.vue +3 -1
- package/dist/package/src/layouts/LayoutVertical/index.vue +9 -1
- package/dist/package/src/layouts/components/Header/components/Avatar.vue +26 -6
- package/dist/package/src/layouts/components/Header/components/InfoDialog.vue +4 -3
- package/dist/package/src/layouts/components/Header/components/PasswordDialog.vue +4 -3
- package/dist/package/src/layouts/components/Header/components/SearchMenu.vue +16 -8
- package/dist/package/src/layouts/components/LockScreen.vue +573 -0
- package/dist/package/src/layouts/components/Tabs/index.vue +12 -3
- package/dist/package/src/layouts/components/ThemeDrawer/index.scss +4 -4
- package/dist/package/src/layouts/index.vue +2 -0
- package/dist/package/src/layouts/indexAsync.vue +2 -0
- package/dist/package/src/locales/README.md +2 -1
- package/dist/package/src/locales/en-US.json +51 -3
- package/dist/package/src/locales/index.ts +16 -12
- package/dist/package/src/locales/ja-JP.json +51 -3
- package/dist/package/src/locales/zh-CN.json +51 -3
- package/dist/package/src/locales/zh-TW.json +51 -3
- package/dist/package/src/modules/index.ts +2 -4
- package/dist/package/src/request.ts +3 -0
- package/dist/package/src/routers/index.ts +15 -14
- package/dist/package/src/rpc/base/v1/login.ts +37 -4
- package/dist/package/src/rpc/base/v1/mfa.ts +180 -0
- package/dist/package/src/rpc/base/v1/oauth.ts +25 -0
- package/dist/package/src/rpc/base/v1/oauth_client.ts +33 -0
- package/dist/package/src/rpc/system/admin/v1/auth.ts +13 -0
- package/dist/package/src/rpc/system/admin/v1/base_dict.ts +0 -112
- package/dist/package/src/rpc/system/admin/v1/base_i18n.ts +10 -6
- package/dist/package/src/rpc/system/common/v1/common.ts +35 -0
- package/dist/package/src/security.ts +2 -0
- package/dist/package/src/stores/interface/index.ts +20 -1
- package/dist/package/src/stores/modules/auth.ts +1 -1
- package/dist/package/src/stores/modules/config.ts +2 -2
- package/dist/package/src/stores/modules/dict.ts +1 -1
- package/dist/package/src/stores/modules/lockScreen.ts +78 -0
- package/dist/package/src/stores/modules/user.ts +34 -22
- package/dist/package/src/stores/runtime.ts +1 -0
- package/dist/package/src/styles/element.scss +35 -4
- package/dist/package/src/utils/clipboard.ts +22 -0
- package/dist/package/src/utils/passwordCrypto.ts +1 -1
- package/dist/package/src/utils/passwordStrength.ts +7 -24
- package/dist/package/src/utils/request.ts +175 -40
- package/dist/package/src/utils/tenant.ts +1 -1
- package/dist/package/src/utils/utils.ts +25 -6
- package/dist/package/src/utils/webauthn.ts +90 -0
- package/dist/package/src/views/login/components/LoginForm.vue +257 -24
- package/dist/package/src/views/login/index.scss +2 -2
- package/dist/package/src/views/login/index.vue +3 -1
- package/dist/package/types/generated/auto-imports.d.ts +132 -129
- package/dist/package/types/generated/components.d.ts +4 -72
- package/package.json +22 -1
- package/types/generated/auto-imports.d.ts +132 -129
- package/types/generated/components.d.ts +4 -72
- package/vite.config.ts +4 -1
|
@@ -20,6 +20,27 @@ export enum PasswordCryptoScene {
|
|
|
20
20
|
PASSWORD_CRYPTO_SCENE_RESET_BASE_USER_PASSWORD = 3,
|
|
21
21
|
/** PASSWORD_CRYPTO_SCENE_UPDATE_USER_PASSWORD - 个人修改密码加密场景。 */
|
|
22
22
|
PASSWORD_CRYPTO_SCENE_UPDATE_USER_PASSWORD = 4,
|
|
23
|
+
/** PASSWORD_CRYPTO_SCENE_MFA - 多因素认证敏感操作场景。 */
|
|
24
|
+
PASSWORD_CRYPTO_SCENE_MFA = 5,
|
|
25
|
+
/** PASSWORD_CRYPTO_SCENE_CONFIGURE_PASSWORD_POLICY - 密码策略初始化密码配置场景。 */
|
|
26
|
+
PASSWORD_CRYPTO_SCENE_CONFIGURE_PASSWORD_POLICY = 6,
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* LoginStatus 表示登录请求当前所处的认证阶段。
|
|
31
|
+
* 只有 AUTHENTICATED 或 PASSWORD_CHANGE_REQUIRED 才会携带正式访问令牌,MFA 状态必须继续完成挑战。
|
|
32
|
+
*/
|
|
33
|
+
export enum LoginStatus {
|
|
34
|
+
/** LOGIN_STATUS_UNSPECIFIED - 未指定登录状态。 */
|
|
35
|
+
LOGIN_STATUS_UNSPECIFIED = 0,
|
|
36
|
+
/** LOGIN_STATUS_AUTHENTICATED - 已完成认证并签发令牌。 */
|
|
37
|
+
LOGIN_STATUS_AUTHENTICATED = 1,
|
|
38
|
+
/** LOGIN_STATUS_MFA_REQUIRED - 需要继续校验多因素认证。 */
|
|
39
|
+
LOGIN_STATUS_MFA_REQUIRED = 2,
|
|
40
|
+
/** LOGIN_STATUS_MFA_ENROLLMENT_REQUIRED - 必须先完成多因素认证绑定。 */
|
|
41
|
+
LOGIN_STATUS_MFA_ENROLLMENT_REQUIRED = 3,
|
|
42
|
+
/** LOGIN_STATUS_PASSWORD_CHANGE_REQUIRED - 下次操作前必须修改临时密码。 */
|
|
43
|
+
LOGIN_STATUS_PASSWORD_CHANGE_REQUIRED = 4,
|
|
23
44
|
}
|
|
24
45
|
|
|
25
46
|
/** 验证码获取条件 */
|
|
@@ -80,15 +101,15 @@ export interface PasswordPublicKeyResponse {
|
|
|
80
101
|
|
|
81
102
|
/** 刷新令牌请求参数 */
|
|
82
103
|
export interface RefreshTokenRequest {
|
|
83
|
-
/**
|
|
84
|
-
refresh_token
|
|
104
|
+
/** 更新令牌;未填写时由服务端从HttpOnly Cookie读取。 */
|
|
105
|
+
refresh_token?: string | undefined;
|
|
85
106
|
}
|
|
86
107
|
|
|
87
108
|
/** 刷新令牌响应 */
|
|
88
109
|
export interface RefreshTokenResponse {
|
|
89
110
|
/** 访问令牌,必选项。 */
|
|
90
111
|
access_token: string;
|
|
91
|
-
/**
|
|
112
|
+
/** 更新令牌;管理端 Cookie-only 请求不在响应体返回,应用端请求可返回。 */
|
|
92
113
|
refresh_token: string;
|
|
93
114
|
/** 令牌类型,该值大小写不敏感,必选项,可以是bearer类型或mac类型。 */
|
|
94
115
|
token_type: string;
|
|
@@ -116,12 +137,24 @@ export interface LoginRequest {
|
|
|
116
137
|
export interface LoginResponse {
|
|
117
138
|
/** 访问令牌,必选项。 */
|
|
118
139
|
access_token: string;
|
|
119
|
-
/**
|
|
140
|
+
/** 更新令牌;管理端 Cookie-only 请求不在响应体返回,应用端请求可返回。 */
|
|
120
141
|
refresh_token: string;
|
|
121
142
|
/** 令牌类型,该值大小写不敏感,必选项,可以是bearer类型或mac类型。 */
|
|
122
143
|
token_type: string;
|
|
123
144
|
/** 令牌有效时间,单位为秒。如果访问令牌过期,服务器应回复授予访问令牌的持续时间。如果省略该参数,必须其他方式设置过期时间。 */
|
|
124
145
|
expires_in: number;
|
|
146
|
+
/** 登录认证状态 */
|
|
147
|
+
status: LoginStatus;
|
|
148
|
+
/** 多因素认证挑战ID */
|
|
149
|
+
mfa_challenge_id: string;
|
|
150
|
+
/** 多因素认证绑定临时票据 */
|
|
151
|
+
mfa_setup_ticket: string;
|
|
152
|
+
/** 多因素认证挑战或绑定票据有效时间,单位秒 */
|
|
153
|
+
mfa_expires_in: number;
|
|
154
|
+
/** 多因素认证方式:totp、webauthn */
|
|
155
|
+
mfa_method: string;
|
|
156
|
+
/** WebAuthn认证选项JSON */
|
|
157
|
+
mfa_webauthn_options_json: string;
|
|
125
158
|
}
|
|
126
159
|
|
|
127
160
|
/** Base登录公共服务 */
|
|
@@ -0,0 +1,180 @@
|
|
|
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: base/v1/mfa.proto
|
|
6
|
+
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
import type { PasswordCrypto } from "../../common/v1/types";
|
|
9
|
+
import type { Empty } from "../../google/protobuf/empty";
|
|
10
|
+
import type { LoginResponse } from "./login";
|
|
11
|
+
|
|
12
|
+
/** 多因素认证校验请求。 */
|
|
13
|
+
export interface VerifyMfaRequest {
|
|
14
|
+
/** 多因素认证挑战ID */
|
|
15
|
+
challenge_id: string;
|
|
16
|
+
/** TOTP动态口令 */
|
|
17
|
+
code: string;
|
|
18
|
+
/** 一次性恢复码 */
|
|
19
|
+
recovery_code: string;
|
|
20
|
+
/** WebAuthn认证响应JSON */
|
|
21
|
+
webauthn_response_json: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** 登录强制绑定多因素认证请求。 */
|
|
25
|
+
export interface BeginMfaEnrollmentRequest {
|
|
26
|
+
/** 强制绑定临时票据 */
|
|
27
|
+
setup_ticket: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** 登录强制绑定多因素认证响应。 */
|
|
31
|
+
export interface BeginMfaEnrollmentResponse {
|
|
32
|
+
/** 绑定临时票据 */
|
|
33
|
+
setup_ticket: string;
|
|
34
|
+
/** Authenticator应用使用的otpauth地址 */
|
|
35
|
+
otpauth_uri: string;
|
|
36
|
+
/** 绑定临时票据有效时间,单位秒 */
|
|
37
|
+
expires_in: number;
|
|
38
|
+
/** 多因素认证方式:totp、webauthn */
|
|
39
|
+
method: string;
|
|
40
|
+
/** WebAuthn注册选项JSON */
|
|
41
|
+
webauthn_options_json: string;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** 登录强制绑定多因素认证确认请求。 */
|
|
45
|
+
export interface ConfirmMfaEnrollmentRequest {
|
|
46
|
+
/** 绑定临时票据 */
|
|
47
|
+
setup_ticket: string;
|
|
48
|
+
/** TOTP动态口令 */
|
|
49
|
+
code: string;
|
|
50
|
+
/** WebAuthn注册响应JSON */
|
|
51
|
+
webauthn_response_json: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** 登录强制绑定多因素认证确认响应。 */
|
|
55
|
+
export interface ConfirmMfaEnrollmentResponse {
|
|
56
|
+
/** 是否启用成功 */
|
|
57
|
+
enabled: boolean;
|
|
58
|
+
/** 一次性恢复码,仅本次返回 */
|
|
59
|
+
recovery_codes: string[];
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/** 查询当前用户多因素认证状态请求。 */
|
|
63
|
+
export interface GetMfaStatusRequest {
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** 多因素认证状态响应。 */
|
|
67
|
+
export interface MfaStatusResponse {
|
|
68
|
+
/** 是否已启用多因素认证 */
|
|
69
|
+
enabled: boolean;
|
|
70
|
+
/** 全局多因素认证策略 */
|
|
71
|
+
policy: string;
|
|
72
|
+
/** 认证方式 */
|
|
73
|
+
method: string;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** 开始绑定多因素认证请求。 */
|
|
77
|
+
export interface BeginMfaSetupRequest {
|
|
78
|
+
/** 当前登录密码 */
|
|
79
|
+
password:
|
|
80
|
+
| PasswordCrypto
|
|
81
|
+
| undefined;
|
|
82
|
+
/** 强制绑定场景下的临时票据 */
|
|
83
|
+
setup_ticket: string;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/** 开始绑定多因素认证响应。 */
|
|
87
|
+
export interface BeginMfaSetupResponse {
|
|
88
|
+
/** 绑定临时票据 */
|
|
89
|
+
setup_ticket: string;
|
|
90
|
+
/** Authenticator 应用使用的 otpauth 地址 */
|
|
91
|
+
otpauth_uri: string;
|
|
92
|
+
/** 绑定临时票据有效时间,单位秒 */
|
|
93
|
+
expires_in: number;
|
|
94
|
+
/** 多因素认证方式:totp、webauthn */
|
|
95
|
+
method: string;
|
|
96
|
+
/** WebAuthn 注册选项 JSON */
|
|
97
|
+
webauthn_options_json: string;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/** 确认绑定多因素认证请求。 */
|
|
101
|
+
export interface ConfirmMfaSetupRequest {
|
|
102
|
+
/** 绑定临时票据 */
|
|
103
|
+
setup_ticket: string;
|
|
104
|
+
/** TOTP 动态口令 */
|
|
105
|
+
code: string;
|
|
106
|
+
/** WebAuthn 注册响应 JSON */
|
|
107
|
+
webauthn_response_json: string;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/** 确认绑定多因素认证响应。 */
|
|
111
|
+
export interface ConfirmMfaSetupResponse {
|
|
112
|
+
/** 是否启用成功 */
|
|
113
|
+
enabled: boolean;
|
|
114
|
+
/** 一次性恢复码,仅本次返回 */
|
|
115
|
+
recovery_codes: string[];
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/** 开始禁用 WebAuthn 多因素认证请求。 */
|
|
119
|
+
export interface BeginMfaDisableRequest {
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/** 开始禁用 WebAuthn 多因素认证响应。 */
|
|
123
|
+
export interface BeginMfaDisableResponse {
|
|
124
|
+
/** WebAuthn 禁用挑战 ID */
|
|
125
|
+
challenge_id: string;
|
|
126
|
+
/** WebAuthn 禁用挑战有效时间,单位秒 */
|
|
127
|
+
expires_in: number;
|
|
128
|
+
/** WebAuthn 验证选项 JSON */
|
|
129
|
+
webauthn_options_json: string;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/** 禁用多因素认证请求。 */
|
|
133
|
+
export interface DisableMfaRequest {
|
|
134
|
+
/** 当前登录密码 */
|
|
135
|
+
password:
|
|
136
|
+
| PasswordCrypto
|
|
137
|
+
| undefined;
|
|
138
|
+
/** TOTP 动态口令 */
|
|
139
|
+
code: string;
|
|
140
|
+
/** WebAuthn 禁用挑战 ID */
|
|
141
|
+
webauthn_challenge_id: string;
|
|
142
|
+
/** WebAuthn 验证响应 JSON */
|
|
143
|
+
webauthn_response_json: string;
|
|
144
|
+
/** 一次性恢复码 */
|
|
145
|
+
recovery_code: string;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/** 重新生成恢复码请求。 */
|
|
149
|
+
export interface RegenerateMfaRecoveryCodesRequest {
|
|
150
|
+
/** TOTP 动态口令 */
|
|
151
|
+
code: string;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/** 恢复码响应。 */
|
|
155
|
+
export interface RecoveryCodesResponse {
|
|
156
|
+
/** 一次性恢复码,仅本次返回 */
|
|
157
|
+
recovery_codes: string[];
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/** Base 多因素认证公共服务。 */
|
|
161
|
+
export interface MfaService {
|
|
162
|
+
/** 校验多因素认证 */
|
|
163
|
+
VerifyMfa(request: VerifyMfaRequest): Promise<LoginResponse>;
|
|
164
|
+
/** 开始登录强制绑定配置的 MFA 方式 */
|
|
165
|
+
BeginMfaEnrollment(request: BeginMfaEnrollmentRequest): Promise<BeginMfaEnrollmentResponse>;
|
|
166
|
+
/** 确认登录强制绑定配置的 MFA 方式 */
|
|
167
|
+
ConfirmMfaEnrollment(request: ConfirmMfaEnrollmentRequest): Promise<ConfirmMfaEnrollmentResponse>;
|
|
168
|
+
/** 查询当前用户多因素认证状态。 */
|
|
169
|
+
GetMfaStatus(request: GetMfaStatusRequest): Promise<MfaStatusResponse>;
|
|
170
|
+
/** 开始绑定当前用户的多因素认证方式。 */
|
|
171
|
+
BeginMfaSetup(request: BeginMfaSetupRequest): Promise<BeginMfaSetupResponse>;
|
|
172
|
+
/** 确认绑定当前用户的多因素认证方式。 */
|
|
173
|
+
ConfirmMfaSetup(request: ConfirmMfaSetupRequest): Promise<ConfirmMfaSetupResponse>;
|
|
174
|
+
/** 开始禁用 WebAuthn 多因素认证的 Passkey 验证。 */
|
|
175
|
+
BeginMfaDisable(request: BeginMfaDisableRequest): Promise<BeginMfaDisableResponse>;
|
|
176
|
+
/** 禁用当前用户的多因素认证。 */
|
|
177
|
+
DisableMfa(request: DisableMfaRequest): Promise<Empty>;
|
|
178
|
+
/** 重新生成当前用户的多因素认证恢复码。 */
|
|
179
|
+
RegenerateMfaRecoveryCodes(request: RegenerateMfaRecoveryCodesRequest): Promise<RecoveryCodesResponse>;
|
|
180
|
+
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
/* eslint-disable */
|
|
8
8
|
import type { PasswordCrypto } from "../../common/v1/types";
|
|
9
9
|
import type { Empty } from "../../google/protobuf/empty";
|
|
10
|
+
import type { LoginStatus } from "./login";
|
|
10
11
|
|
|
11
12
|
/** 个人中心三方账号绑定列表查询条件 */
|
|
12
13
|
export interface ListOauthBindingRequest {
|
|
@@ -96,6 +97,18 @@ export interface CreateOauthSessionResponse {
|
|
|
96
97
|
expires_in: number;
|
|
97
98
|
/** 是否需要绑定已有账号。 */
|
|
98
99
|
binding_required: boolean;
|
|
100
|
+
/** 登录认证状态 */
|
|
101
|
+
status: LoginStatus;
|
|
102
|
+
/** 多因素认证挑战ID */
|
|
103
|
+
mfa_challenge_id: string;
|
|
104
|
+
/** 多因素认证绑定临时票据 */
|
|
105
|
+
mfa_setup_ticket: string;
|
|
106
|
+
/** 多因素认证挑战或绑定票据有效时间,单位秒 */
|
|
107
|
+
mfa_expires_in: number;
|
|
108
|
+
/** 多因素认证方式:totp、webauthn */
|
|
109
|
+
mfa_method: string;
|
|
110
|
+
/** WebAuthn认证选项JSON */
|
|
111
|
+
mfa_webauthn_options_json: string;
|
|
99
112
|
}
|
|
100
113
|
|
|
101
114
|
/** 三方登录回调请求 */
|
|
@@ -132,6 +145,18 @@ export interface ExchangeOauthTicketResponse {
|
|
|
132
145
|
token_type: string;
|
|
133
146
|
/** 令牌有效时间,单位为秒。 */
|
|
134
147
|
expires_in: number;
|
|
148
|
+
/** 登录认证状态 */
|
|
149
|
+
status: LoginStatus;
|
|
150
|
+
/** 多因素认证挑战ID */
|
|
151
|
+
mfa_challenge_id: string;
|
|
152
|
+
/** 多因素认证绑定临时票据 */
|
|
153
|
+
mfa_setup_ticket: string;
|
|
154
|
+
/** 多因素认证挑战或绑定票据有效时间,单位秒 */
|
|
155
|
+
mfa_expires_in: number;
|
|
156
|
+
/** 多因素认证方式:totp、webauthn */
|
|
157
|
+
mfa_method: string;
|
|
158
|
+
/** WebAuthn认证选项JSON */
|
|
159
|
+
mfa_webauthn_options_json: string;
|
|
135
160
|
}
|
|
136
161
|
|
|
137
162
|
/** 个人中心三方账号绑定回调请求 */
|
|
@@ -0,0 +1,33 @@
|
|
|
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: base/v1/oauth_client.proto
|
|
6
|
+
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
|
|
9
|
+
/** 客户端凭据令牌请求。 */
|
|
10
|
+
export interface IssueOauthClientTokenRequest {
|
|
11
|
+
/** 客户端标识 */
|
|
12
|
+
client_id: string;
|
|
13
|
+
/** 客户端密钥 */
|
|
14
|
+
client_secret: string;
|
|
15
|
+
/** 授权类型 */
|
|
16
|
+
grant_type: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** 客户端凭据令牌响应。 */
|
|
20
|
+
export interface IssueOauthClientTokenResponse {
|
|
21
|
+
/** 访问令牌 */
|
|
22
|
+
access_token: string;
|
|
23
|
+
/** 令牌类型 */
|
|
24
|
+
token_type: string;
|
|
25
|
+
/** 令牌有效时间,单位为秒 */
|
|
26
|
+
expires_in: number;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** 开放授权客户端令牌服务。 */
|
|
30
|
+
export interface OauthClientService {
|
|
31
|
+
/** 使用客户端凭据换取访问令牌。 */
|
|
32
|
+
IssueOauthClientToken(request: IssueOauthClientTokenRequest): Promise<IssueOauthClientTokenResponse>;
|
|
33
|
+
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
/* eslint-disable */
|
|
8
8
|
import type { PasswordCrypto, StringValues } from "../../../common/v1/types";
|
|
9
9
|
import type { Empty } from "../../../google/protobuf/empty";
|
|
10
|
+
import type { BaseUserIDType } from "../../common/v1/common";
|
|
10
11
|
import type { BaseMenuType } from "./common";
|
|
11
12
|
|
|
12
13
|
/** 登录用户菜单树查询参数 */
|
|
@@ -35,6 +36,12 @@ export interface UserInfoForm {
|
|
|
35
36
|
nick_name: string;
|
|
36
37
|
/** 手机号 */
|
|
37
38
|
phone: string;
|
|
39
|
+
/** 邮箱 */
|
|
40
|
+
email: string;
|
|
41
|
+
/** 证件类型:枚举【BaseUserIDType】 */
|
|
42
|
+
id_type: BaseUserIDType;
|
|
43
|
+
/** 证件号 */
|
|
44
|
+
id_code: string;
|
|
38
45
|
/** 头像 */
|
|
39
46
|
avatar: string;
|
|
40
47
|
/** 角色编号 */
|
|
@@ -65,6 +72,12 @@ export interface UserProfileForm {
|
|
|
65
72
|
gender: number;
|
|
66
73
|
/** 手机号 */
|
|
67
74
|
phone: string;
|
|
75
|
+
/** 邮箱 */
|
|
76
|
+
email: string;
|
|
77
|
+
/** 证件类型:枚举【BaseUserIDType】 */
|
|
78
|
+
id_type: BaseUserIDType;
|
|
79
|
+
/** 证件号 */
|
|
80
|
+
id_code: string;
|
|
68
81
|
/** 角色名 */
|
|
69
82
|
role_name: string;
|
|
70
83
|
/** 部门名 */
|
|
@@ -63,30 +63,6 @@ export interface PageBaseDictResponse {
|
|
|
63
63
|
total: number;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
/** 字典属性分页查询条件 */
|
|
67
|
-
export interface PageBaseDictItemRequest {
|
|
68
|
-
/** 字典ID */
|
|
69
|
-
dict_id: number;
|
|
70
|
-
/** 字典属性名称 */
|
|
71
|
-
label: string;
|
|
72
|
-
/** 状态 */
|
|
73
|
-
status?:
|
|
74
|
-
| Status
|
|
75
|
-
| undefined;
|
|
76
|
-
/** 当前页码 */
|
|
77
|
-
page_num: number;
|
|
78
|
-
/** 每一页的行数 */
|
|
79
|
-
page_size: number;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/** 字典属性分页响应 */
|
|
83
|
-
export interface PageBaseDictItemResponse {
|
|
84
|
-
/** 分页数据 */
|
|
85
|
-
base_dict_items: BaseDictItem[];
|
|
86
|
-
/** 总数 */
|
|
87
|
-
total: number;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
66
|
/** 查询字典请求参数 */
|
|
91
67
|
export interface GetBaseDictRequest {
|
|
92
68
|
/** 字典ID */
|
|
@@ -107,76 +83,24 @@ export interface BaseDictForm {
|
|
|
107
83
|
status: Status;
|
|
108
84
|
}
|
|
109
85
|
|
|
110
|
-
/** 查询字典属性请求参数 */
|
|
111
|
-
export interface GetBaseDictItemRequest {
|
|
112
|
-
/** 字典属性ID */
|
|
113
|
-
id: number;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/** 字典属性表单 */
|
|
117
|
-
export interface BaseDictItemForm {
|
|
118
|
-
/** 字典项ID */
|
|
119
|
-
id: number;
|
|
120
|
-
/** 字典ID */
|
|
121
|
-
dict_id: number;
|
|
122
|
-
/** 字典项值 */
|
|
123
|
-
value: string;
|
|
124
|
-
/** 字典项标签 */
|
|
125
|
-
label: string;
|
|
126
|
-
/** 标签类型,用于前端样式展示(如success、warning等) */
|
|
127
|
-
tag_type: string;
|
|
128
|
-
/** 排序 */
|
|
129
|
-
sort: number;
|
|
130
|
-
/** 非主语言翻译 */
|
|
131
|
-
i18ns: BaseI18n[];
|
|
132
|
-
/** 状态 */
|
|
133
|
-
status: Status;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
86
|
/** 创建字典请求参数 */
|
|
137
87
|
export interface CreateBaseDictRequest {
|
|
138
88
|
/** 字典表单 */
|
|
139
89
|
base_dict: BaseDictForm | undefined;
|
|
140
90
|
}
|
|
141
91
|
|
|
142
|
-
/** 创建字典属性请求参数 */
|
|
143
|
-
export interface CreateBaseDictItemRequest {
|
|
144
|
-
/** 字典属性表单 */
|
|
145
|
-
base_dict_item: BaseDictItemForm | undefined;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
92
|
/** 更新字典请求参数 */
|
|
149
93
|
export interface UpdateBaseDictRequest {
|
|
150
94
|
/** 字典表单 */
|
|
151
95
|
base_dict: BaseDictForm | undefined;
|
|
152
96
|
}
|
|
153
97
|
|
|
154
|
-
/** 更新字典属性请求参数 */
|
|
155
|
-
export interface UpdateBaseDictItemRequest {
|
|
156
|
-
/** 字典属性表单 */
|
|
157
|
-
base_dict_item: BaseDictItemForm | undefined;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
98
|
/** 删除字典请求参数 */
|
|
161
99
|
export interface DeleteBaseDictRequest {
|
|
162
100
|
/** 字典ID列表 */
|
|
163
101
|
id: string;
|
|
164
102
|
}
|
|
165
103
|
|
|
166
|
-
/** 删除字典属性请求参数 */
|
|
167
|
-
export interface DeleteBaseDictItemRequest {
|
|
168
|
-
/** 字典属性ID列表 */
|
|
169
|
-
id: string;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/** 设置字典属性状态请求参数 */
|
|
173
|
-
export interface SetBaseDictItemStatusRequest {
|
|
174
|
-
/** 字典属性ID */
|
|
175
|
-
id: number;
|
|
176
|
-
/** 状态 */
|
|
177
|
-
status: number;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
104
|
/** 设置字典状态请求参数 */
|
|
181
105
|
export interface SetBaseDictStatusRequest {
|
|
182
106
|
/** 字典ID */
|
|
@@ -203,56 +127,20 @@ export interface BaseDict {
|
|
|
203
127
|
i18ns: BaseI18n[];
|
|
204
128
|
}
|
|
205
129
|
|
|
206
|
-
/** 字典项 */
|
|
207
|
-
export interface BaseDictItem {
|
|
208
|
-
/** 字典项ID */
|
|
209
|
-
id: number;
|
|
210
|
-
/** 字典ID */
|
|
211
|
-
dict_id: number;
|
|
212
|
-
/** 字典项值 */
|
|
213
|
-
value: string;
|
|
214
|
-
/** 字典项标签 */
|
|
215
|
-
label: string;
|
|
216
|
-
/** 标签类型,用于前端样式展示(如success、warning等) */
|
|
217
|
-
tag_type: string;
|
|
218
|
-
/** 排序 */
|
|
219
|
-
sort: number;
|
|
220
|
-
/** 状态 */
|
|
221
|
-
status: Status;
|
|
222
|
-
/** 创建时间 */
|
|
223
|
-
created_at: string;
|
|
224
|
-
/** 更新时间 */
|
|
225
|
-
updated_at: string;
|
|
226
|
-
/** 非主语言翻译 */
|
|
227
|
-
i18ns: BaseI18n[];
|
|
228
|
-
}
|
|
229
|
-
|
|
230
130
|
/** Admin字典服务 */
|
|
231
131
|
export interface BaseDictService {
|
|
232
132
|
/** 查询字典列表 */
|
|
233
133
|
OptionBaseDict(request: OptionBaseDictRequest): Promise<OptionBaseDictResponse>;
|
|
234
134
|
/** 查询字典分页列表 */
|
|
235
135
|
PageBaseDict(request: PageBaseDictRequest): Promise<PageBaseDictResponse>;
|
|
236
|
-
/** 查询字典属性分页列表 */
|
|
237
|
-
PageBaseDictItem(request: PageBaseDictItemRequest): Promise<PageBaseDictItemResponse>;
|
|
238
136
|
/** 查询字典 */
|
|
239
137
|
GetBaseDict(request: GetBaseDictRequest): Promise<BaseDictForm>;
|
|
240
|
-
/** 查询字典属性 */
|
|
241
|
-
GetBaseDictItem(request: GetBaseDictItemRequest): Promise<BaseDictItemForm>;
|
|
242
138
|
/** 创建字典 */
|
|
243
139
|
CreateBaseDict(request: CreateBaseDictRequest): Promise<Empty>;
|
|
244
|
-
/** 创建字典属性 */
|
|
245
|
-
CreateBaseDictItem(request: CreateBaseDictItemRequest): Promise<Empty>;
|
|
246
140
|
/** 更新字典 */
|
|
247
141
|
UpdateBaseDict(request: UpdateBaseDictRequest): Promise<Empty>;
|
|
248
|
-
/** 更新字典属性 */
|
|
249
|
-
UpdateBaseDictItem(request: UpdateBaseDictItemRequest): Promise<Empty>;
|
|
250
142
|
/** 删除字典 */
|
|
251
143
|
DeleteBaseDict(request: DeleteBaseDictRequest): Promise<Empty>;
|
|
252
|
-
/** 删除字典属性 */
|
|
253
|
-
DeleteBaseDictItem(request: DeleteBaseDictItemRequest): Promise<Empty>;
|
|
254
|
-
/** 设置状态 */
|
|
255
|
-
SetBaseDictItemStatus(request: SetBaseDictItemStatusRequest): Promise<Empty>;
|
|
256
144
|
/** 设置状态 */
|
|
257
145
|
SetBaseDictStatus(request: SetBaseDictStatusRequest): Promise<Empty>;
|
|
258
146
|
}
|
|
@@ -15,12 +15,16 @@ export enum I18nTargetType {
|
|
|
15
15
|
I18N_TARGET_TYPE_BASE_CONFIG_VALUE = 1,
|
|
16
16
|
/** I18N_TARGET_TYPE_BASE_CONFIG_NAME - 系统配置名称。 */
|
|
17
17
|
I18N_TARGET_TYPE_BASE_CONFIG_NAME = 2,
|
|
18
|
-
/**
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
|
|
18
|
+
/** I18N_TARGET_TYPE_BASE_DICT_NAME - 字典名称。 */
|
|
19
|
+
I18N_TARGET_TYPE_BASE_DICT_NAME = 3,
|
|
20
|
+
/** I18N_TARGET_TYPE_BASE_DICT_ITEM_LABEL - 字典项标签。 */
|
|
21
|
+
I18N_TARGET_TYPE_BASE_DICT_ITEM_LABEL = 4,
|
|
22
|
+
/** I18N_TARGET_TYPE_BASE_MENU_META_TITLE - 菜单标题。 */
|
|
23
|
+
I18N_TARGET_TYPE_BASE_MENU_META_TITLE = 5,
|
|
24
|
+
/** I18N_TARGET_TYPE_BASE_JOB_NAME - 定时任务名称。 */
|
|
25
|
+
I18N_TARGET_TYPE_BASE_JOB_NAME = 6,
|
|
26
|
+
/** I18N_TARGET_TYPE_BASE_MIGRATION_DESCRIPTION - 数据库迁移说明。 */
|
|
27
|
+
I18N_TARGET_TYPE_BASE_MIGRATION_DESCRIPTION = 7,
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
/** 翻译单个文本请求。 */
|
|
@@ -0,0 +1,35 @@
|
|
|
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/common/v1/common.proto
|
|
6
|
+
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
|
|
9
|
+
/** 系统公共用户相关枚举。 */
|
|
10
|
+
export enum BaseUserIDType {
|
|
11
|
+
/** BASE_USER_ID_TYPE_UNSPECIFIED - 未指定证件类型。 */
|
|
12
|
+
BASE_USER_ID_TYPE_UNSPECIFIED = 0,
|
|
13
|
+
/** BASE_USER_ID_TYPE_ID_CARD - 居民身份证。 */
|
|
14
|
+
BASE_USER_ID_TYPE_ID_CARD = 1,
|
|
15
|
+
/** BASE_USER_ID_TYPE_PASSPORT - 护照。 */
|
|
16
|
+
BASE_USER_ID_TYPE_PASSPORT = 2,
|
|
17
|
+
/** BASE_USER_ID_TYPE_HK_MACAO_PERMIT - 港澳居民来往内地通行证。 */
|
|
18
|
+
BASE_USER_ID_TYPE_HK_MACAO_PERMIT = 3,
|
|
19
|
+
/** BASE_USER_ID_TYPE_TAIWAN_PERMIT - 台湾居民来往大陆通行证。 */
|
|
20
|
+
BASE_USER_ID_TYPE_TAIWAN_PERMIT = 4,
|
|
21
|
+
/** BASE_USER_ID_TYPE_FOREIGN_PERMANENT_RESIDENCE - 外国人永久居留身份证。 */
|
|
22
|
+
BASE_USER_ID_TYPE_FOREIGN_PERMANENT_RESIDENCE = 5,
|
|
23
|
+
/** BASE_USER_ID_TYPE_OTHER - 其他证件。 */
|
|
24
|
+
BASE_USER_ID_TYPE_OTHER = 6,
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** 用户密码修改状态。 */
|
|
28
|
+
export enum BaseUserPasswordChangeStatus {
|
|
29
|
+
/** BASE_USER_PASSWORD_CHANGE_STATUS_UNSPECIFIED - 未指定密码修改状态。 */
|
|
30
|
+
BASE_USER_PASSWORD_CHANGE_STATUS_UNSPECIFIED = 0,
|
|
31
|
+
/** BASE_USER_PASSWORD_CHANGE_STATUS_REQUIRED - 当前必须修改密码。 */
|
|
32
|
+
BASE_USER_PASSWORD_CHANGE_STATUS_REQUIRED = 1,
|
|
33
|
+
/** BASE_USER_PASSWORD_CHANGE_STATUS_NOT_REQUIRED - 当前无需修改密码。 */
|
|
34
|
+
BASE_USER_PASSWORD_CHANGE_STATUS_NOT_REQUIRED = 2,
|
|
35
|
+
}
|
|
@@ -53,12 +53,31 @@ export interface GlobalState {
|
|
|
53
53
|
/** 当前登录用户认证状态。 */
|
|
54
54
|
export interface UserState {
|
|
55
55
|
token: string;
|
|
56
|
-
refreshToken: string;
|
|
57
56
|
tokenType: string;
|
|
58
57
|
tokenExpiresAt: number;
|
|
58
|
+
/** 是否正在执行退出登录,阻止后台请求刷新令牌。 */
|
|
59
|
+
isLoggingOut: boolean;
|
|
60
|
+
/** 认证状态版本,用于丢弃退出期间完成的旧刷新请求。 */
|
|
61
|
+
authVersion: number;
|
|
62
|
+
/** 当前认证是否已被本地显式清理。 */
|
|
63
|
+
authInvalidated: boolean;
|
|
59
64
|
userInfo: UserInfoForm;
|
|
60
65
|
}
|
|
61
66
|
|
|
67
|
+
/** 当前管理端锁屏状态。 */
|
|
68
|
+
export interface LockScreenState {
|
|
69
|
+
/** 是否处于锁屏状态。 */
|
|
70
|
+
isLocked: boolean;
|
|
71
|
+
/** 当前锁屏密码的摘要,仅在锁屏期间持久化。 */
|
|
72
|
+
passwordHash: string;
|
|
73
|
+
/** 是否显示设置锁屏密码界面。 */
|
|
74
|
+
setupVisible: boolean;
|
|
75
|
+
/** 是否显示解锁输入界面。 */
|
|
76
|
+
unlockVisible: boolean;
|
|
77
|
+
/** 最近一次解锁是否失败。 */
|
|
78
|
+
unlockError: boolean;
|
|
79
|
+
}
|
|
80
|
+
|
|
62
81
|
/** 标签页菜单项状态。 */
|
|
63
82
|
export interface TabsMenuProps {
|
|
64
83
|
icon: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineStore } from "pinia";
|
|
2
|
-
import { defAuthService } from "../../api/system/auth";
|
|
2
|
+
import { defAuthService } from "../../api/system/admin/v1/auth";
|
|
3
3
|
import { AuthState } from "../../stores/interface";
|
|
4
4
|
import { getFlatMenuList, getShowMenuList, getAllBreadcrumbList, isExternalPath } from "../../utils";
|
|
5
5
|
import type { RouteItem } from "../../rpc/system/admin/v1/auth";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineStore } from "pinia";
|
|
2
|
-
import { defConfigService } from "../../api/base/config";
|
|
2
|
+
import { defConfigService } from "../../api/base/v1/config";
|
|
3
3
|
import { BaseConfigSite } from "../../rpc/base/v1/config";
|
|
4
4
|
import type { LoginCaptchaConfig, SiteConfigState, SiteDisplayConfig } from "../../stores/interface";
|
|
5
5
|
import defaultLogoUrl from "../../assets/images/logo.svg";
|
|
@@ -9,7 +9,7 @@ const CAPTCHA_TYPE_KEY = "captchaType";
|
|
|
9
9
|
const I18N_DRAFT_ENABLED_KEY = "i18n.draft.enabled";
|
|
10
10
|
|
|
11
11
|
const DEFAULT_SITE_DISPLAY_CONFIG: SiteDisplayConfig = {
|
|
12
|
-
sysName:
|
|
12
|
+
sysName: import.meta.env.VITE_GLOB_APP_TITLE,
|
|
13
13
|
icp: "",
|
|
14
14
|
copyright: "2026 © Admin",
|
|
15
15
|
watermark: "Admin",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineStore } from "pinia";
|
|
2
2
|
import pinia from "../../stores";
|
|
3
|
-
import { defBaseDictService } from "../../api/system/base_dict";
|
|
3
|
+
import { defBaseDictService } from "../../api/system/admin/v1/base_dict";
|
|
4
4
|
import type { DictState } from "../../stores/interface";
|
|
5
5
|
import piniaPersistConfig from "../../stores/helper/persist";
|
|
6
6
|
import type { OptionBaseDictResponse_BaseDict, OptionBaseDictResponse_BaseDictItem } from "../../rpc/system/admin/v1/base_dict";
|