smart-admin-web 10.13.1 → 10.15.0
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 +5 -5
- package/dist/api/index.d.ts +37 -0
- package/dist/api/index.js +35 -14
- package/dist/api/index.js.map +1 -1
- package/dist/api/schema.d.ts +381 -3
- package/dist/assets/icons/ph-subset.json.js +3 -3
- package/dist/assets/smart-logo.svg.js +5 -0
- package/dist/assets/smart-logo.svg.js.map +1 -0
- package/dist/components/SmartLogo.vue.d.ts +3 -0
- package/dist/components/SmartLogo.vue.js +1 -1
- package/dist/components/SmartLogo2.vue.js +22 -64
- package/dist/components/SmartLogo2.vue.js.map +1 -1
- package/dist/composables/useLoginHero.d.ts +2 -0
- package/dist/composables/useLoginHero.js +22 -0
- package/dist/composables/useLoginHero.js.map +1 -0
- package/dist/composables/usePageTitle.js +16 -14
- package/dist/composables/usePageTitle.js.map +1 -1
- package/dist/composables/useSite.d.ts +5 -0
- package/dist/composables/useSite.js +16 -13
- package/dist/composables/useSite.js.map +1 -1
- package/dist/index.js +92 -91
- package/dist/lib/favicon.d.ts +1 -0
- package/dist/lib/favicon.js +12 -0
- package/dist/lib/favicon.js.map +1 -0
- package/dist/lib/loginHero.d.ts +16 -0
- package/dist/lib/loginHero.js +33 -0
- package/dist/lib/loginHero.js.map +1 -0
- package/dist/lib/logoCrop.d.ts +25 -0
- package/dist/lib/logoCrop.js +22 -0
- package/dist/lib/logoCrop.js.map +1 -0
- package/dist/lib/runtime.d.ts +2 -0
- package/dist/lib/runtime.js +1 -1
- package/dist/lib/runtime.js.map +1 -1
- package/dist/lib/securityRules.d.ts +26 -0
- package/dist/lib/securityRules.js +86 -0
- package/dist/lib/securityRules.js.map +1 -0
- package/dist/locales/en-US.d.ts +250 -28
- package/dist/locales/en-US.js +271 -58
- package/dist/locales/en-US.js.map +1 -1
- package/dist/locales/zh-CN.d.ts +250 -28
- package/dist/locales/zh-CN.js +266 -58
- package/dist/locales/zh-CN.js.map +1 -1
- package/dist/router/viewRegistry.js +10 -10
- package/dist/router/viewRegistry.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/utils/oauthBrand.d.ts +34 -9
- package/dist/utils/oauthBrand.js +70 -74
- package/dist/utils/oauthBrand.js.map +1 -1
- package/dist/views/login/components/LoginHeroPanel.vue.d.ts +18 -0
- package/dist/views/login/components/LoginHeroPanel.vue.js +8 -0
- package/dist/views/login/components/LoginHeroPanel.vue.js.map +1 -0
- package/dist/views/login/components/LoginHeroPanel2.vue.js +66 -0
- package/dist/views/login/components/LoginHeroPanel2.vue.js.map +1 -0
- package/dist/views/login/skins/SplitPanel.vue.js +1 -1
- package/dist/views/login/skins/SplitPanel2.vue.js +39 -59
- package/dist/views/login/skins/SplitPanel2.vue.js.map +1 -1
- package/dist/views/system/api-docs/index.vue.js +5 -0
- package/dist/views/system/api-docs/index.vue.js.map +1 -0
- package/dist/views/system/api-docs/index2.vue.js +64 -0
- package/dist/views/system/api-docs/index2.vue.js.map +1 -0
- package/dist/views/system/config/components/AdminMock.vue.js +8 -0
- package/dist/views/system/config/components/AdminMock.vue.js.map +1 -0
- package/dist/views/system/config/components/AdminMock2.vue.js +76 -0
- package/dist/views/system/config/components/AdminMock2.vue.js.map +1 -0
- package/dist/views/system/config/components/AdvancedSection.vue.js +5 -0
- package/dist/views/system/config/components/AdvancedSection.vue.js.map +1 -0
- package/dist/views/system/config/components/AdvancedSection2.vue.js +135 -0
- package/dist/views/system/config/components/AdvancedSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/BrandSection.vue.d.ts +7 -0
- package/dist/views/system/config/components/BrandSection.vue.js +8 -0
- package/dist/views/system/config/components/BrandSection.vue.js.map +1 -0
- package/dist/views/system/config/components/BrandSection2.vue.js +264 -0
- package/dist/views/system/config/components/BrandSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgGroup.vue.d.ts +18 -0
- package/dist/views/system/config/components/CfgGroup.vue.js +8 -0
- package/dist/views/system/config/components/CfgGroup.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgGroup2.vue.js +22 -0
- package/dist/views/system/config/components/CfgGroup2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgRow.vue.d.ts +26 -0
- package/dist/views/system/config/components/CfgRow.vue.js +9 -0
- package/dist/views/system/config/components/CfgRow.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgRow2.vue.js +53 -0
- package/dist/views/system/config/components/CfgRow2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgSegment.vue.d.ts +28 -0
- package/dist/views/system/config/components/CfgSegment.vue.js +8 -0
- package/dist/views/system/config/components/CfgSegment.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgSegment2.vue.js +44 -0
- package/dist/views/system/config/components/CfgSegment2.vue.js.map +1 -0
- package/dist/views/system/config/components/ConfigFormModal.vue.js +5 -2
- package/dist/views/system/config/components/ConfigFormModal.vue.js.map +1 -1
- package/dist/views/system/config/components/ConfigFormModal2.vue.js +66 -56
- package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -1
- package/dist/views/system/config/components/JobSection.vue.js +8 -0
- package/dist/views/system/config/components/JobSection.vue.js.map +1 -0
- package/dist/views/system/config/components/JobSection2.vue.js +138 -0
- package/dist/views/system/config/components/JobSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/{GroupExtraConfig.vue.d.ts → LoginMock.vue.d.ts} +3 -4
- package/dist/views/system/config/components/LoginMock.vue.js +8 -0
- package/dist/views/system/config/components/LoginMock.vue.js.map +1 -0
- package/dist/views/system/config/components/LoginMock2.vue.js +121 -0
- package/dist/views/system/config/components/LoginMock2.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoCropper.vue.d.ts +10 -0
- package/dist/views/system/config/components/LogoCropper.vue.js +8 -0
- package/dist/views/system/config/components/LogoCropper.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoCropper2.vue.js +122 -0
- package/dist/views/system/config/components/LogoCropper2.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoEditor.vue.js +8 -0
- package/dist/views/system/config/components/LogoEditor.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoEditor2.vue.js +163 -0
- package/dist/views/system/config/components/LogoEditor2.vue.js.map +1 -0
- package/dist/views/system/config/components/ProviderSheet.vue.d.ts +17 -0
- package/dist/views/system/config/components/ProviderSheet.vue.js +8 -0
- package/dist/views/system/config/components/ProviderSheet.vue.js.map +1 -0
- package/dist/views/system/config/components/ProviderSheet2.vue.js +343 -0
- package/dist/views/system/config/components/ProviderSheet2.vue.js.map +1 -0
- package/dist/views/system/config/components/ScaleToFit.vue.d.ts +17 -0
- package/dist/views/system/config/components/ScaleToFit.vue.js +8 -0
- package/dist/views/system/config/components/ScaleToFit.vue.js.map +1 -0
- package/dist/views/system/config/components/ScaleToFit2.vue.js +41 -0
- package/dist/views/system/config/components/ScaleToFit2.vue.js.map +1 -0
- package/dist/views/system/config/components/SectionLayout.vue.d.ts +28 -0
- package/dist/views/system/config/components/SectionLayout.vue.js +8 -0
- package/dist/views/system/config/components/SectionLayout.vue.js.map +1 -0
- package/dist/views/system/config/components/SectionLayout2.vue.js +45 -0
- package/dist/views/system/config/components/SectionLayout2.vue.js.map +1 -0
- package/dist/views/system/config/components/SecuritySection.vue.js +8 -0
- package/dist/views/system/config/components/SecuritySection.vue.js.map +1 -0
- package/dist/views/system/config/components/SecuritySection2.vue.js +416 -0
- package/dist/views/system/config/components/SecuritySection2.vue.js.map +1 -0
- package/dist/views/system/config/components/SensitiveSection.vue.js +8 -0
- package/dist/views/system/config/components/SensitiveSection.vue.js.map +1 -0
- package/dist/views/system/config/components/SensitiveSection2.vue.js +209 -0
- package/dist/views/system/config/components/SensitiveSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/SigninSection.vue.d.ts +3 -0
- package/dist/views/system/config/components/SigninSection.vue.js +8 -0
- package/dist/views/system/config/components/SigninSection.vue.js.map +1 -0
- package/dist/views/system/config/components/SigninSection2.vue.js +201 -0
- package/dist/views/system/config/components/SigninSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadSection.vue.d.ts +3 -0
- package/dist/views/system/config/components/UploadSection.vue.js +8 -0
- package/dist/views/system/config/components/UploadSection.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadSection2.vue.js +167 -0
- package/dist/views/system/config/components/UploadSection2.vue.js.map +1 -0
- package/dist/views/system/config/draft.d.ts +148 -0
- package/dist/views/system/config/draft.js +170 -0
- package/dist/views/system/config/draft.js.map +1 -0
- package/dist/views/system/config/flash.d.ts +2 -0
- package/dist/views/system/config/flash.js +9 -0
- package/dist/views/system/config/flash.js.map +1 -0
- package/dist/views/system/config/groups.d.ts +35 -7
- package/dist/views/system/config/groups.js +99 -14
- package/dist/views/system/config/groups.js.map +1 -1
- package/dist/views/system/config/index.vue.js +4 -1
- package/dist/views/system/config/index.vue.js.map +1 -1
- package/dist/views/system/config/index2.vue.js +180 -115
- package/dist/views/system/config/index2.vue.js.map +1 -1
- package/dist/views/system/config/providerForm.d.ts +33 -0
- package/dist/views/system/config/providerForm.js +63 -0
- package/dist/views/system/config/providerForm.js.map +1 -0
- package/package.json +4 -4
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js +0 -8
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js +0 -218
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/GroupExtraConfig.vue.js +0 -8
- package/dist/views/system/config/components/GroupExtraConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js +0 -108
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/HighSensConfig.vue.js +0 -5
- package/dist/views/system/config/components/HighSensConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/HighSensConfig2.vue.js +0 -134
- package/dist/views/system/config/components/HighSensConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/JobConfig.vue.js +0 -5
- package/dist/views/system/config/components/JobConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/JobConfig2.vue.js +0 -116
- package/dist/views/system/config/components/JobConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/OtherConfig.vue.js +0 -5
- package/dist/views/system/config/components/OtherConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/OtherConfig2.vue.js +0 -121
- package/dist/views/system/config/components/OtherConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/SecurityConfig.vue.js +0 -8
- package/dist/views/system/config/components/SecurityConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/SecurityConfig2.vue.js +0 -456
- package/dist/views/system/config/components/SecurityConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/SysBaseConfig.vue.js +0 -5
- package/dist/views/system/config/components/SysBaseConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/SysBaseConfig2.vue.js +0 -107
- package/dist/views/system/config/components/SysBaseConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/UploadConfig.vue.js +0 -5
- package/dist/views/system/config/components/UploadConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/UploadConfig2.vue.js +0 -135
- package/dist/views/system/config/components/UploadConfig2.vue.js.map +0 -1
- /package/dist/views/system/{config/components/ExternalAuthConfig.vue.d.ts → api-docs/index.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{HighSensConfig.vue.d.ts → AdminMock.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{JobConfig.vue.d.ts → AdvancedSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{OtherConfig.vue.d.ts → JobSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{SecurityConfig.vue.d.ts → LogoEditor.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{SysBaseConfig.vue.d.ts → SecuritySection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{UploadConfig.vue.d.ts → SensitiveSection.vue.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ SmartAdmin 的前端内核:布局壳、动态菜单路由、登录与鉴权、
|
|
|
9
9
|
从前端模板起步最省事,它就是一个装好这个包的薄壳应用:
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
npx degit
|
|
12
|
+
npx degit SimpleOne-X/SmartAdmin/web/template web
|
|
13
13
|
cd web
|
|
14
14
|
npm install
|
|
15
15
|
npm run dev
|
|
@@ -66,13 +66,13 @@ import { SmartTable } from 'smart-naive-table'
|
|
|
66
66
|
|
|
67
67
|
## 版本
|
|
68
68
|
|
|
69
|
-
版本号与 NuGet 包 `SmartAdmin` 一致:主版本 = 内核所用的 .NET 主版本,次版本加功能,修订号修 bug。内置页照同一版后端的接口写,所以 `package.json` 里精确钉住版本、不带 `^`;升级时后端的 `SmartAdmin` 包与前端的 `smart-admin-web` 填同一个数字,改动见 [CHANGELOG](https://github.com/
|
|
69
|
+
版本号与 NuGet 包 `SmartAdmin` 一致:主版本 = 内核所用的 .NET 主版本,次版本加功能,修订号修 bug。内置页照同一版后端的接口写,所以 `package.json` 里精确钉住版本、不带 `^`;升级时后端的 `SmartAdmin` 包与前端的 `smart-admin-web` 填同一个数字,改动见 [CHANGELOG](https://github.com/SimpleOne-X/SmartAdmin/blob/main/CHANGELOG.md)。
|
|
70
70
|
|
|
71
71
|
## 文档
|
|
72
72
|
|
|
73
|
-
- 文档站:<https://
|
|
74
|
-
- 共享组件目录:[web/COMPONENTS.md](https://github.com/
|
|
75
|
-
- 源码与 issue:<https://github.com/
|
|
73
|
+
- 文档站:<https://simpleone-x.github.io/SmartAdmin/zh/>
|
|
74
|
+
- 共享组件目录:[web/COMPONENTS.md](https://github.com/SimpleOne-X/SmartAdmin/blob/main/web/COMPONENTS.md)
|
|
75
|
+
- 源码与 issue:<https://github.com/SimpleOne-X/SmartAdmin>
|
|
76
76
|
|
|
77
77
|
## 许可证
|
|
78
78
|
|
package/dist/api/index.d.ts
CHANGED
|
@@ -226,7 +226,32 @@ export declare const externalAuthApi: {
|
|
|
226
226
|
}>;
|
|
227
227
|
/** 解绑某 provider 的外部账号。 */
|
|
228
228
|
unbind: (code: string) => Promise<boolean>;
|
|
229
|
+
/** 管理端:类型目录 + 全部 provider 的配置状态(机密只回 hasValue 与尾四位)。「登录方式」页。 */
|
|
230
|
+
catalog: () => Promise<{
|
|
231
|
+
dataProtectionEphemeral: boolean;
|
|
232
|
+
callbackBaseUrlMissing: boolean;
|
|
233
|
+
types: components["schemas"]["ExternalAuthTypeView"][];
|
|
234
|
+
providers: components["schemas"]["ExternalAuthProviderView"][];
|
|
235
|
+
callbackUriTemplate: string;
|
|
236
|
+
}>;
|
|
237
|
+
/** 新增或更新一条配置;机密留空 = 不改。需重新验证身份。 */
|
|
238
|
+
saveProvider: (code: string, body: ExternalAuthProviderSaveInput) => Promise<boolean>;
|
|
239
|
+
/** 清除配置(软删,不动用户已绑定的外部账号)。需重新验证身份。 */
|
|
240
|
+
removeProvider: (code: string) => Promise<boolean>;
|
|
241
|
+
/** 连接测试:用表单里的值,机密留空取已保存的;不落库,失败原因在 checks 里。 */
|
|
242
|
+
testProvider: (body: ExternalAuthProviderTestInput) => Promise<{
|
|
243
|
+
ok: boolean;
|
|
244
|
+
checks: components["schemas"]["ExternalAuthCheckView"][];
|
|
245
|
+
}>;
|
|
229
246
|
};
|
|
247
|
+
export type ExternalAuthCatalog = components['schemas']['ExternalAuthCatalogOutput'];
|
|
248
|
+
export type ExternalAuthType = components['schemas']['ExternalAuthTypeView'];
|
|
249
|
+
export type ExternalAuthField = components['schemas']['ExternalAuthFieldView'];
|
|
250
|
+
export type ExternalAuthProvider = components['schemas']['ExternalAuthProviderView'];
|
|
251
|
+
export type ExternalAuthProviderSaveInput = components['schemas']['ExternalAuthProviderSaveInput'];
|
|
252
|
+
export type ExternalAuthProviderTestInput = components['schemas']['ExternalAuthProviderTestInput'];
|
|
253
|
+
export type ExternalAuthTestResult = components['schemas']['ExternalAuthTestView'];
|
|
254
|
+
export type ExternalAuthCheck = components['schemas']['ExternalAuthCheckView'];
|
|
230
255
|
export declare const dashboardApi: {
|
|
231
256
|
/** 工作台首页统计([ActiveSession]:任何登录用户可取,无需权限码)。 */
|
|
232
257
|
summary: () => Promise<DashboardSummary>;
|
|
@@ -394,6 +419,7 @@ export declare const configApi: {
|
|
|
394
419
|
name?: string;
|
|
395
420
|
groupCode?: string;
|
|
396
421
|
excludedGroupCodes?: string[];
|
|
422
|
+
excludedKeys?: string[];
|
|
397
423
|
}) => Promise<{
|
|
398
424
|
items: SysConfig[];
|
|
399
425
|
total: number;
|
|
@@ -411,6 +437,11 @@ export declare const configApi: {
|
|
|
411
437
|
configKey: string;
|
|
412
438
|
configValue?: string | null;
|
|
413
439
|
}[]) => Promise<boolean>;
|
|
440
|
+
/**
|
|
441
|
+
* 上传站点 Logo(只收 PNG/JPG/WEBP、1 MB 以内,不受全局上传白名单约束)。
|
|
442
|
+
* 返回的 viewUrl 是签名直链,写进 sys.site.logo 随批量保存生效。FormData 写法同 fileApi.upload。
|
|
443
|
+
*/
|
|
444
|
+
uploadLogo: (file: File) => Promise<FileUploadOutput>;
|
|
414
445
|
/** 站点信息(匿名可读:站点标题/副标题/版权等品牌展示白名单)。 */
|
|
415
446
|
siteInfo: () => Promise<{
|
|
416
447
|
title?: string | null;
|
|
@@ -418,6 +449,12 @@ export declare const configApi: {
|
|
|
418
449
|
copyright?: string | null;
|
|
419
450
|
copyrightUrl?: string | null;
|
|
420
451
|
logo?: string | null;
|
|
452
|
+
loginHero?: Record<string, {
|
|
453
|
+
headline?: string | null;
|
|
454
|
+
highlight?: string | null;
|
|
455
|
+
features?: string[] | null;
|
|
456
|
+
}> | null;
|
|
457
|
+
showFeatures?: boolean | null;
|
|
421
458
|
captchaEnabled?: boolean;
|
|
422
459
|
smsLoginEnabled?: boolean;
|
|
423
460
|
}>;
|
package/dist/api/index.js
CHANGED
|
@@ -31,14 +31,14 @@ function a(e) {
|
|
|
31
31
|
throw new u(n.code, n.msgKey, n.args, n.message);
|
|
32
32
|
return n.data;
|
|
33
33
|
}
|
|
34
|
-
function
|
|
34
|
+
function x(e, t, i) {
|
|
35
35
|
const o = s.request;
|
|
36
36
|
return o(e, t, i === void 0 ? void 0 : { body: i }).then((n) => a(n));
|
|
37
37
|
}
|
|
38
38
|
const r = (e) => ({
|
|
39
39
|
Current: e.page,
|
|
40
40
|
Size: e.pageSize
|
|
41
|
-
}),
|
|
41
|
+
}), U = (e) => ({
|
|
42
42
|
...r(e),
|
|
43
43
|
Keyword: e.keyword,
|
|
44
44
|
Number: e.number,
|
|
@@ -148,11 +148,11 @@ const C = {
|
|
|
148
148
|
bindComplete: (e) => s.POST("/api/v1/auth/mfa/bind/complete", { body: e }).then((t) => a(t)),
|
|
149
149
|
recovery: (e) => s.POST("/api/v1/auth/mfa/recovery", { body: e }).then((t) => a(t)),
|
|
150
150
|
clear: (e) => s.POST("/api/v1/sys/mfa/clear", { body: e }).then((t) => a(t))
|
|
151
|
-
},
|
|
151
|
+
}, D = {
|
|
152
152
|
list: () => s.GET("/api/v1/sys/mfa/high-sensitivity", {}).then((e) => a(e)),
|
|
153
153
|
add: (e) => s.POST("/api/v1/sys/mfa/high-sensitivity", { body: e }).then((t) => a(t)),
|
|
154
154
|
remove: (e) => s.DELETE("/api/v1/sys/mfa/high-sensitivity/{id}", { params: { path: { id: e } } }).then((t) => a(t))
|
|
155
|
-
},
|
|
155
|
+
}, q = {
|
|
156
156
|
/** 登录页可用的外部登录方式(启用的);空数组 = 不显 SSO 区。 */
|
|
157
157
|
providers: () => s.GET("/api/v1/auth/external/providers", {}).then((e) => a(e)),
|
|
158
158
|
/** 管理端全量列表(含已禁用);系统配置「第三方登录」Tab。 */
|
|
@@ -168,11 +168,19 @@ const C = {
|
|
|
168
168
|
/** 发起绑定:返回授权 URL,前端跳转开始 OAuth 往返(回调把身份绑到当前用户)。 */
|
|
169
169
|
bindStart: (e) => s.POST("/api/v1/auth/external/{provider}/bind", { params: { path: { provider: e } } }).then((t) => a(t)),
|
|
170
170
|
/** 解绑某 provider 的外部账号。 */
|
|
171
|
-
unbind: (e) => s.DELETE("/api/v1/auth/external/{provider}/binding", { params: { path: { provider: e } } }).then((t) => a(t))
|
|
172
|
-
|
|
171
|
+
unbind: (e) => s.DELETE("/api/v1/auth/external/{provider}/binding", { params: { path: { provider: e } } }).then((t) => a(t)),
|
|
172
|
+
/** 管理端:类型目录 + 全部 provider 的配置状态(机密只回 hasValue 与尾四位)。「登录方式」页。 */
|
|
173
|
+
catalog: () => s.GET("/api/v1/sys/external-auth/providers", {}).then((e) => a(e)),
|
|
174
|
+
/** 新增或更新一条配置;机密留空 = 不改。需重新验证身份。 */
|
|
175
|
+
saveProvider: (e, t) => s.PUT("/api/v1/sys/external-auth/providers/{code}", { params: { path: { code: e } }, body: t }).then((i) => a(i)),
|
|
176
|
+
/** 清除配置(软删,不动用户已绑定的外部账号)。需重新验证身份。 */
|
|
177
|
+
removeProvider: (e) => s.DELETE("/api/v1/sys/external-auth/providers/{code}", { params: { path: { code: e } } }).then((t) => a(t)),
|
|
178
|
+
/** 连接测试:用表单里的值,机密留空取已保存的;不落库,失败原因在 checks 里。 */
|
|
179
|
+
testProvider: (e) => s.POST("/api/v1/sys/external-auth/providers/test", { body: e }).then((t) => a(t))
|
|
180
|
+
}, L = {
|
|
173
181
|
/** 工作台首页统计([ActiveSession]:任何登录用户可取,无需权限码)。 */
|
|
174
182
|
summary: () => s.GET("/api/v1/dashboard/summary", {}).then((e) => a(e))
|
|
175
|
-
},
|
|
183
|
+
}, k = {
|
|
176
184
|
modules: () => s.GET("/api/v1/personal/modules", {}).then((e) => a(e)),
|
|
177
185
|
menu: (e) => s.GET("/api/v1/personal/menu", { params: { query: { moduleId: e } } }).then((t) => a(t)),
|
|
178
186
|
setDefaultModule: (e) => s.PUT("/api/v1/personal/default-module", { body: { moduleId: e } }).then((t) => a(t)),
|
|
@@ -344,7 +352,8 @@ const C = {
|
|
|
344
352
|
ConfigKey: e.configKey,
|
|
345
353
|
Name: e.name,
|
|
346
354
|
GroupCode: e.groupCode,
|
|
347
|
-
ExcludedGroupCodes: e.excludedGroupCodes
|
|
355
|
+
ExcludedGroupCodes: e.excludedGroupCodes,
|
|
356
|
+
ExcludedKeys: e.excludedKeys
|
|
348
357
|
}
|
|
349
358
|
}
|
|
350
359
|
}).then((t) => d(t)),
|
|
@@ -366,6 +375,18 @@ const C = {
|
|
|
366
375
|
},
|
|
367
376
|
/** 批量按键回写配置值(结构化表单保存);仅更新已存在键,未知键后端忽略。 */
|
|
368
377
|
saveBatch: (e) => s.PUT("/api/v1/sys/config/batch", { body: e }).then((t) => a(t)),
|
|
378
|
+
/**
|
|
379
|
+
* 上传站点 Logo(只收 PNG/JPG/WEBP、1 MB 以内,不受全局上传白名单约束)。
|
|
380
|
+
* 返回的 viewUrl 是签名直链,写进 sys.site.logo 随批量保存生效。FormData 写法同 fileApi.upload。
|
|
381
|
+
*/
|
|
382
|
+
uploadLogo: (e) => s.POST("/api/v1/sys/config/logo", {
|
|
383
|
+
timeout: l,
|
|
384
|
+
body: { file: e },
|
|
385
|
+
bodySerializer: (t) => {
|
|
386
|
+
const i = new FormData();
|
|
387
|
+
return i.append("file", t.file), i;
|
|
388
|
+
}
|
|
389
|
+
}).then((t) => a(t)),
|
|
369
390
|
/** 站点信息(匿名可读:站点标题/副标题/版权等品牌展示白名单)。 */
|
|
370
391
|
siteInfo: () => s.GET("/api/v1/sys/config/site", {}).then(
|
|
371
392
|
(e) => a(e)
|
|
@@ -682,17 +703,17 @@ export {
|
|
|
682
703
|
ee as aiUsageApi,
|
|
683
704
|
C as authApi,
|
|
684
705
|
$ as cacheApi,
|
|
685
|
-
|
|
706
|
+
x as callApi,
|
|
686
707
|
z as configApi,
|
|
687
|
-
|
|
708
|
+
L as dashboardApi,
|
|
688
709
|
f as dayRange,
|
|
689
710
|
V as dictAdminApi,
|
|
690
711
|
J as dictApi,
|
|
691
|
-
|
|
712
|
+
q as externalAuthApi,
|
|
692
713
|
_ as fileApi,
|
|
693
|
-
|
|
714
|
+
D as highSensApi,
|
|
694
715
|
X as jobApi,
|
|
695
|
-
|
|
716
|
+
U as listQuery,
|
|
696
717
|
B as logApi,
|
|
697
718
|
W as menuApi,
|
|
698
719
|
I as mfaApi,
|
|
@@ -703,7 +724,7 @@ export {
|
|
|
703
724
|
Q as noticeApi,
|
|
704
725
|
R as orgApi,
|
|
705
726
|
r as pageParams,
|
|
706
|
-
|
|
727
|
+
k as personalApi,
|
|
707
728
|
F as positionApi,
|
|
708
729
|
Y as recycleApi,
|
|
709
730
|
K as roleApi,
|