zova-ui-empty 5.1.87 → 5.1.89
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/.gitignore +0 -15
- package/.vscode/extensions.json +1 -1
- package/package.json +18 -18
- package/src/suite/a-demo/modules/demo-basic/tsconfig.json +1 -1
- package/src/suite/a-home/modules/home-api/cli/openapi.config.ts +7 -1
- package/src/suite/a-home/modules/home-api/mock/menu.fake.ts +7 -1
- package/src/suite/a-home/modules/home-api/mock/passport.fake.ts +23 -20
- package/src/suite/a-home/modules/home-api/src/api/home.ts +4 -1
- package/src/suite/a-home/modules/home-api/src/api/homeBasePermission.ts +4 -2
- package/src/suite/a-home/modules/home-api/src/api/homeUserPassport.ts +32 -14
- package/src/suite/a-home/modules/home-api/src/api/openapi/schemas.ts +36 -18
- package/src/suite/a-home/modules/home-api/src/api/openapi/types.ts +6 -2
- package/src/suite/a-home/modules/home-api/src/apiSchema/captcha.ts +5 -1
- package/src/suite/a-home/modules/home-api/src/apiSchema/homeBasePermission.ts +5 -1
- package/src/suite/a-home/modules/home-api/src/apiSchema/homeUserPassport.ts +10 -2
- package/src/suite/a-home/modules/home-api/tsconfig.json +1 -1
- package/src/suite/a-home/modules/home-base/src/.metadata/locales.ts +6 -1
- package/src/suite/a-home/modules/home-base/src/monkey.ts +11 -2
- package/src/suite/a-home/modules/home-base/src/service/routerGuards.ts +5 -1
- package/src/suite/a-home/modules/home-base/tsconfig.json +1 -1
- package/src/suite/a-home/modules/home-icon/tsconfig.json +1 -1
- package/src/suite/a-home/modules/home-index/tsconfig.json +1 -1
- package/src/suite/a-home/modules/home-layout/src/.metadata/locales.ts +6 -1
- package/src/suite/a-home/modules/home-layout/src/component/itemLink/controller.tsx +4 -1
- package/src/suite/a-home/modules/home-layout/src/model/menu.ts +25 -6
- package/src/suite/a-home/modules/home-passport/src/model/passport.ts +40 -10
- package/src/suite/a-home/modules/home-passport/tsconfig.json +1 -1
- package/src/suite/a-home/modules/home-theme/src/bean/theme.default.ts +7 -1
- package/src/suite/a-home/modules/home-theme/src/bean/theme.orange.ts +7 -1
- package/src-ssr/server.ts +7 -1
- package/tsconfig.base.json +2 -2
package/.gitignore
CHANGED
|
@@ -54,18 +54,3 @@ env/.env*.local
|
|
|
54
54
|
# /package.json
|
|
55
55
|
|
|
56
56
|
**/*.tsbuildinfo
|
|
57
|
-
|
|
58
|
-
/src/suite/*
|
|
59
|
-
!/src/suite/.gitkeep
|
|
60
|
-
!/src/suite/a-demo
|
|
61
|
-
!/src/suite/a-home
|
|
62
|
-
|
|
63
|
-
/src/suite-vendor/*
|
|
64
|
-
!/src/suite-vendor/.gitkeep
|
|
65
|
-
!/src/suite-vendor/a-zova
|
|
66
|
-
|
|
67
|
-
/src/module/*
|
|
68
|
-
!/src/module/.gitkeep
|
|
69
|
-
|
|
70
|
-
/src/module-vendor/*
|
|
71
|
-
!/src/module-vendor/.gitkeep
|
package/.vscode/extensions.json
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-ui-empty",
|
|
3
|
-
"version": "5.1.
|
|
4
|
-
"gitHead": "
|
|
3
|
+
"version": "5.1.89",
|
|
4
|
+
"gitHead": "7e847ec598e31559b3d2a6437f95ab1b6d230f9e",
|
|
5
5
|
"description": "A vue3 empty framework with ioc",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"ioc",
|
|
@@ -74,33 +74,33 @@
|
|
|
74
74
|
"vue": "^3.5.34",
|
|
75
75
|
"vue-router": "npm:@cabloy/vue-router@^4.4.16",
|
|
76
76
|
"zod": "^4.4.3",
|
|
77
|
-
"zova": "^5.1.
|
|
78
|
-
"zova-jsx": "^1.1.
|
|
77
|
+
"zova": "^5.1.69",
|
|
78
|
+
"zova-jsx": "^1.1.40",
|
|
79
79
|
"zova-module-a-api": "^5.1.10",
|
|
80
80
|
"zova-module-a-app": "^5.1.12",
|
|
81
|
-
"zova-module-a-bean": "^5.1.
|
|
81
|
+
"zova-module-a-bean": "^5.1.18",
|
|
82
82
|
"zova-module-a-behavior": "^5.1.13",
|
|
83
83
|
"zova-module-a-behaviors": "^5.1.10",
|
|
84
84
|
"zova-module-a-boundary": "^5.1.10",
|
|
85
|
-
"zova-module-a-command": "^5.1.
|
|
85
|
+
"zova-module-a-command": "^5.1.21",
|
|
86
86
|
"zova-module-a-fetch": "^5.1.12",
|
|
87
|
-
"zova-module-a-form": "^5.1.
|
|
87
|
+
"zova-module-a-form": "^5.1.25",
|
|
88
88
|
"zova-module-a-icon": "^5.1.14",
|
|
89
|
-
"zova-module-a-interceptor": "^5.1.
|
|
89
|
+
"zova-module-a-interceptor": "^5.1.17",
|
|
90
90
|
"zova-module-a-logger": "^5.1.11",
|
|
91
91
|
"zova-module-a-meta": "^5.1.10",
|
|
92
|
-
"zova-module-a-model": "^5.1.
|
|
93
|
-
"zova-module-a-openapi": "^5.1.
|
|
92
|
+
"zova-module-a-model": "^5.1.18",
|
|
93
|
+
"zova-module-a-openapi": "^5.1.22",
|
|
94
94
|
"zova-module-a-router": "^5.1.15",
|
|
95
|
-
"zova-module-a-routerstack": "^5.1.
|
|
96
|
-
"zova-module-a-routertabs": "^5.1.
|
|
95
|
+
"zova-module-a-routerstack": "^5.1.14",
|
|
96
|
+
"zova-module-a-routertabs": "^5.1.18",
|
|
97
97
|
"zova-module-a-ssr": "^5.1.12",
|
|
98
98
|
"zova-module-a-ssrhmr": "^5.1.11",
|
|
99
99
|
"zova-module-a-ssrserver": "^5.1.10",
|
|
100
|
-
"zova-module-a-style": "^5.1.
|
|
101
|
-
"zova-module-a-table": "^5.1.
|
|
102
|
-
"zova-module-a-zod": "^5.1.
|
|
103
|
-
"zova-module-a-zova": "^5.1.
|
|
100
|
+
"zova-module-a-style": "^5.1.20",
|
|
101
|
+
"zova-module-a-table": "^5.1.21",
|
|
102
|
+
"zova-module-a-zod": "^5.1.16",
|
|
103
|
+
"zova-module-a-zova": "^5.1.44",
|
|
104
104
|
"zova-module-demo-basic": "workspace:^",
|
|
105
105
|
"zova-module-home-api": "workspace:^",
|
|
106
106
|
"zova-module-home-base": "workspace:^",
|
|
@@ -121,14 +121,14 @@
|
|
|
121
121
|
"fs-extra": "^11.3.5",
|
|
122
122
|
"oxfmt": "^0.45.0",
|
|
123
123
|
"oxlint": "^1.64.0",
|
|
124
|
-
"quasar-app-extension-zova": "^1.2.
|
|
124
|
+
"quasar-app-extension-zova": "^1.2.27",
|
|
125
125
|
"sass": "^1.99.0",
|
|
126
126
|
"typescript": "^5.9.3",
|
|
127
127
|
"vite": "^7.3.3",
|
|
128
128
|
"vite-plugin-fake-server-turbo": "^3.0.18",
|
|
129
129
|
"vue-tsc": "^3.2.8",
|
|
130
130
|
"zova-openapi": "^1.1.9",
|
|
131
|
-
"zova-vite": "^1.1.
|
|
131
|
+
"zova-vite": "^1.1.26"
|
|
132
132
|
},
|
|
133
133
|
"packageManager": "pnpm@10.19.0",
|
|
134
134
|
"pnpm": {
|
|
@@ -3,7 +3,13 @@ import type { ZovaOpenapiConfigModule } from 'zova-openapi';
|
|
|
3
3
|
export default function (): ZovaOpenapiConfigModule {
|
|
4
4
|
return {
|
|
5
5
|
operations: {
|
|
6
|
-
match: [
|
|
6
|
+
match: [
|
|
7
|
+
/^Home_*/,
|
|
8
|
+
/^HomeBaseMenu_*/,
|
|
9
|
+
/^HomeBasePermission_*/,
|
|
10
|
+
/^HomeUserPassport_*/,
|
|
11
|
+
/^Captcha_*/,
|
|
12
|
+
],
|
|
7
13
|
},
|
|
8
14
|
};
|
|
9
15
|
}
|
|
@@ -4,7 +4,13 @@ const __MenuItems = [
|
|
|
4
4
|
{ order: 0, title: 'Home', caption: '', icon: '::home', link: '/' },
|
|
5
5
|
{ title: 'State', caption: 'ref, computed', icon: '', link: '/demo/basic/state' },
|
|
6
6
|
{ title: 'Component', caption: 'props, emits, slots', icon: '', link: '/demo/basic/component' },
|
|
7
|
-
{
|
|
7
|
+
{
|
|
8
|
+
title: 'GitHub',
|
|
9
|
+
caption: 'github.com/zovajs/zova',
|
|
10
|
+
icon: ':social:github',
|
|
11
|
+
external: true,
|
|
12
|
+
link: 'https://github.com/zovajs/zova',
|
|
13
|
+
},
|
|
8
14
|
];
|
|
9
15
|
const __MenuData = { menus: __MenuItems };
|
|
10
16
|
|
|
@@ -277,28 +277,29 @@ const __sdkSchemaPassportLogin = {
|
|
|
277
277
|
},
|
|
278
278
|
required: ['username', 'password', 'captcha'],
|
|
279
279
|
},
|
|
280
|
-
'a-captcha.dto.captchaVerify_c3cd80b1eeafe39bfe4433491bb081d68e84797e_3218e7d152830e08f6e764b9e0c3796df929ee2b':
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
280
|
+
'a-captcha.dto.captchaVerify_c3cd80b1eeafe39bfe4433491bb081d68e84797e_3218e7d152830e08f6e764b9e0c3796df929ee2b':
|
|
281
|
+
{
|
|
282
|
+
type: 'object',
|
|
283
|
+
properties: {
|
|
284
|
+
id: {
|
|
285
|
+
type: 'string',
|
|
286
|
+
errorMessage: {
|
|
287
|
+
default: '必填项',
|
|
288
|
+
},
|
|
287
289
|
},
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
290
|
+
token: {
|
|
291
|
+
type: 'string',
|
|
292
|
+
errorMessage: {
|
|
293
|
+
default: '必填项',
|
|
294
|
+
},
|
|
293
295
|
},
|
|
294
296
|
},
|
|
297
|
+
required: ['id', 'token'],
|
|
298
|
+
rest: {
|
|
299
|
+
render: 'captcha',
|
|
300
|
+
iconPrefix: ':editor:code-block',
|
|
301
|
+
},
|
|
295
302
|
},
|
|
296
|
-
required: ['id', 'token'],
|
|
297
|
-
rest: {
|
|
298
|
-
render: 'captcha',
|
|
299
|
-
iconPrefix: ':editor:code-block',
|
|
300
|
-
},
|
|
301
|
-
},
|
|
302
303
|
},
|
|
303
304
|
parameters: {},
|
|
304
305
|
},
|
|
@@ -367,8 +368,10 @@ export default defineFakeRoute([
|
|
|
367
368
|
if (captcha.id !== '88b3ad2d-e2a9-44bf-9154-3086ef9770a4' || captcha.token !== '7') {
|
|
368
369
|
return {
|
|
369
370
|
code: 422,
|
|
370
|
-
message:
|
|
371
|
-
|
|
371
|
+
message:
|
|
372
|
+
'[\n {\n "code": "custom",\n "path": [\n "captcha"\n ],\n "message": "验证码不正确"\n }\n]',
|
|
373
|
+
stack:
|
|
374
|
+
'Error: [\n {\n "code": "custom",\n "path": [\n "captcha"\n ],\n "message": "验证码不正确"\n }\n]\n',
|
|
372
375
|
name: 'Error',
|
|
373
376
|
level: 'error',
|
|
374
377
|
};
|
|
@@ -13,6 +13,9 @@ export type ApiApiHomeindexResponseBody =
|
|
|
13
13
|
export class ApiHome extends BeanApiBase {
|
|
14
14
|
/** @description Home */
|
|
15
15
|
index(options?: IApiActionOptions) {
|
|
16
|
-
return this.$fetch.get<any, ApiApiHomeindexResponseBody>(
|
|
16
|
+
return this.$fetch.get<any, ApiApiHomeindexResponseBody>(
|
|
17
|
+
ApiApiHomeindexPath,
|
|
18
|
+
this.$configPrepare(OpenApiBaseURL(this.sys), options),
|
|
19
|
+
);
|
|
17
20
|
}
|
|
18
21
|
}
|
|
@@ -3,8 +3,10 @@ import { Api, BeanApiBase, IApiActionOptions } from 'zova-module-a-api';
|
|
|
3
3
|
import { OpenApiBaseURL, type paths } from './openapi/index.js';
|
|
4
4
|
|
|
5
5
|
/** HomeBasePermission_retrievePermissions */
|
|
6
|
-
export const ApiApiHomeBasePermissionretrievePermissionsPath =
|
|
7
|
-
|
|
6
|
+
export const ApiApiHomeBasePermissionretrievePermissionsPath =
|
|
7
|
+
'/api/home/base/permission/{resource}';
|
|
8
|
+
export type ApiApiHomeBasePermissionretrievePermissionsPath =
|
|
9
|
+
'/api/home/base/permission/{resource}';
|
|
8
10
|
export type ApiApiHomeBasePermissionretrievePermissionsMethod = 'get';
|
|
9
11
|
export type ApiApiHomeBasePermissionretrievePermissionsRequestParams =
|
|
10
12
|
paths[ApiApiHomeBasePermissionretrievePermissionsPath][ApiApiHomeBasePermissionretrievePermissionsMethod]['parameters']['path'];
|
|
@@ -20,7 +20,8 @@ export type ApiApiHomeUserPassportlogoutResponseBody =
|
|
|
20
20
|
export const ApiApiHomeUserPassportregisterPath = '/api/home/user/passport/register';
|
|
21
21
|
export type ApiApiHomeUserPassportregisterPath = '/api/home/user/passport/register';
|
|
22
22
|
export type ApiApiHomeUserPassportregisterMethod = 'post';
|
|
23
|
-
export type ApiApiHomeUserPassportregisterRequestBody =
|
|
23
|
+
export type ApiApiHomeUserPassportregisterRequestBody =
|
|
24
|
+
components['schemas']['home-user.dto.register'];
|
|
24
25
|
export type ApiApiHomeUserPassportregisterResponseBody =
|
|
25
26
|
paths[ApiApiHomeUserPassportregisterPath][ApiApiHomeUserPassportregisterMethod]['responses']['200']['content']['application/json']['data'];
|
|
26
27
|
|
|
@@ -33,8 +34,10 @@ export type ApiApiHomeUserPassportloginResponseBody =
|
|
|
33
34
|
paths[ApiApiHomeUserPassportloginPath][ApiApiHomeUserPassportloginMethod]['responses']['200']['content']['application/json']['data'];
|
|
34
35
|
|
|
35
36
|
/** HomeUserPassport_loginOauth */
|
|
36
|
-
export const ApiApiHomeUserPassportloginOauthPath =
|
|
37
|
-
|
|
37
|
+
export const ApiApiHomeUserPassportloginOauthPath =
|
|
38
|
+
'/api/home/user/passport/login/{module}/{providerName}/{clientName?}';
|
|
39
|
+
export type ApiApiHomeUserPassportloginOauthPath =
|
|
40
|
+
'/api/home/user/passport/login/{module}/{providerName}/{clientName?}';
|
|
38
41
|
export type ApiApiHomeUserPassportloginOauthMethod = 'get';
|
|
39
42
|
export type ApiApiHomeUserPassportloginOauthRequestParams =
|
|
40
43
|
paths[ApiApiHomeUserPassportloginOauthPath][ApiApiHomeUserPassportloginOauthMethod]['parameters']['path'];
|
|
@@ -44,8 +47,10 @@ export type ApiApiHomeUserPassportloginOauthResponseBody =
|
|
|
44
47
|
paths[ApiApiHomeUserPassportloginOauthPath][ApiApiHomeUserPassportloginOauthMethod]['responses']['200']['content']['application/json']['data'];
|
|
45
48
|
|
|
46
49
|
/** HomeUserPassport_associate */
|
|
47
|
-
export const ApiApiHomeUserPassportassociatePath =
|
|
48
|
-
|
|
50
|
+
export const ApiApiHomeUserPassportassociatePath =
|
|
51
|
+
'/api/home/user/passport/associate/{module}/{providerName}/{clientName?}';
|
|
52
|
+
export type ApiApiHomeUserPassportassociatePath =
|
|
53
|
+
'/api/home/user/passport/associate/{module}/{providerName}/{clientName?}';
|
|
49
54
|
export type ApiApiHomeUserPassportassociateMethod = 'get';
|
|
50
55
|
export type ApiApiHomeUserPassportassociateRequestParams =
|
|
51
56
|
paths[ApiApiHomeUserPassportassociatePath][ApiApiHomeUserPassportassociateMethod]['parameters']['path'];
|
|
@@ -55,8 +60,10 @@ export type ApiApiHomeUserPassportassociateResponseBody =
|
|
|
55
60
|
paths[ApiApiHomeUserPassportassociatePath][ApiApiHomeUserPassportassociateMethod]['responses']['200']['content']['application/json']['data'];
|
|
56
61
|
|
|
57
62
|
/** HomeUserPassport_migrate */
|
|
58
|
-
export const ApiApiHomeUserPassportmigratePath =
|
|
59
|
-
|
|
63
|
+
export const ApiApiHomeUserPassportmigratePath =
|
|
64
|
+
'/api/home/user/passport/migrate/{module}/{providerName}/{clientName?}';
|
|
65
|
+
export type ApiApiHomeUserPassportmigratePath =
|
|
66
|
+
'/api/home/user/passport/migrate/{module}/{providerName}/{clientName?}';
|
|
60
67
|
export type ApiApiHomeUserPassportmigrateMethod = 'get';
|
|
61
68
|
export type ApiApiHomeUserPassportmigrateRequestParams =
|
|
62
69
|
paths[ApiApiHomeUserPassportmigratePath][ApiApiHomeUserPassportmigrateMethod]['parameters']['path'];
|
|
@@ -66,7 +73,8 @@ export type ApiApiHomeUserPassportmigrateResponseBody =
|
|
|
66
73
|
paths[ApiApiHomeUserPassportmigratePath][ApiApiHomeUserPassportmigrateMethod]['responses']['200']['content']['application/json']['data'];
|
|
67
74
|
|
|
68
75
|
/** HomeUserPassport_refreshAuthToken */
|
|
69
|
-
export const ApiApiHomeUserPassportrefreshAuthTokenPath =
|
|
76
|
+
export const ApiApiHomeUserPassportrefreshAuthTokenPath =
|
|
77
|
+
'/api/home/user/passport/refreshAuthToken';
|
|
70
78
|
export type ApiApiHomeUserPassportrefreshAuthTokenPath = '/api/home/user/passport/refreshAuthToken';
|
|
71
79
|
export type ApiApiHomeUserPassportrefreshAuthTokenMethod = 'post';
|
|
72
80
|
export type ApiApiHomeUserPassportrefreshAuthTokenRequestBody = {
|
|
@@ -76,8 +84,10 @@ export type ApiApiHomeUserPassportrefreshAuthTokenResponseBody =
|
|
|
76
84
|
paths[ApiApiHomeUserPassportrefreshAuthTokenPath][ApiApiHomeUserPassportrefreshAuthTokenMethod]['responses']['200']['content']['application/json']['data'];
|
|
77
85
|
|
|
78
86
|
/** HomeUserPassport_createPassportJwtFromOauthCode */
|
|
79
|
-
export const ApiApiHomeUserPassportcreatePassportJwtFromOauthCodePath =
|
|
80
|
-
|
|
87
|
+
export const ApiApiHomeUserPassportcreatePassportJwtFromOauthCodePath =
|
|
88
|
+
'/api/home/user/passport/createPassportJwtFromOauthCode';
|
|
89
|
+
export type ApiApiHomeUserPassportcreatePassportJwtFromOauthCodePath =
|
|
90
|
+
'/api/home/user/passport/createPassportJwtFromOauthCode';
|
|
81
91
|
export type ApiApiHomeUserPassportcreatePassportJwtFromOauthCodeMethod = 'post';
|
|
82
92
|
export type ApiApiHomeUserPassportcreatePassportJwtFromOauthCodeRequestBody = {
|
|
83
93
|
code: string;
|
|
@@ -86,8 +96,10 @@ export type ApiApiHomeUserPassportcreatePassportJwtFromOauthCodeResponseBody =
|
|
|
86
96
|
paths[ApiApiHomeUserPassportcreatePassportJwtFromOauthCodePath][ApiApiHomeUserPassportcreatePassportJwtFromOauthCodeMethod]['responses']['200']['content']['application/json']['data'];
|
|
87
97
|
|
|
88
98
|
/** HomeUserPassport_createTempAuthToken */
|
|
89
|
-
export const ApiApiHomeUserPassportcreateTempAuthTokenPath =
|
|
90
|
-
|
|
99
|
+
export const ApiApiHomeUserPassportcreateTempAuthTokenPath =
|
|
100
|
+
'/api/home/user/passport/createTempAuthToken';
|
|
101
|
+
export type ApiApiHomeUserPassportcreateTempAuthTokenPath =
|
|
102
|
+
'/api/home/user/passport/createTempAuthToken';
|
|
91
103
|
export type ApiApiHomeUserPassportcreateTempAuthTokenMethod = 'post';
|
|
92
104
|
export type ApiApiHomeUserPassportcreateTempAuthTokenRequestQuery =
|
|
93
105
|
paths[ApiApiHomeUserPassportcreateTempAuthTokenPath][ApiApiHomeUserPassportcreateTempAuthTokenMethod]['parameters']['query'];
|
|
@@ -163,7 +175,10 @@ export class ApiHomeUserPassport extends BeanApiBase {
|
|
|
163
175
|
);
|
|
164
176
|
}
|
|
165
177
|
|
|
166
|
-
refreshAuthToken(
|
|
178
|
+
refreshAuthToken(
|
|
179
|
+
body: ApiApiHomeUserPassportrefreshAuthTokenRequestBody,
|
|
180
|
+
options?: IApiActionOptions,
|
|
181
|
+
) {
|
|
167
182
|
return this.$fetch.post<any, ApiApiHomeUserPassportrefreshAuthTokenResponseBody>(
|
|
168
183
|
ApiApiHomeUserPassportrefreshAuthTokenPath,
|
|
169
184
|
body,
|
|
@@ -171,7 +186,10 @@ export class ApiHomeUserPassport extends BeanApiBase {
|
|
|
171
186
|
);
|
|
172
187
|
}
|
|
173
188
|
|
|
174
|
-
createPassportJwtFromOauthCode(
|
|
189
|
+
createPassportJwtFromOauthCode(
|
|
190
|
+
body: ApiApiHomeUserPassportcreatePassportJwtFromOauthCodeRequestBody,
|
|
191
|
+
options?: IApiActionOptions,
|
|
192
|
+
) {
|
|
175
193
|
return this.$fetch.post<any, ApiApiHomeUserPassportcreatePassportJwtFromOauthCodeResponseBody>(
|
|
176
194
|
ApiApiHomeUserPassportcreatePassportJwtFromOauthCodePath,
|
|
177
195
|
body,
|
|
@@ -16,7 +16,8 @@ export type ApiSchemaAMenuDtoMenuItemMeta = components['schemas']['a-menu.dto.me
|
|
|
16
16
|
export type ApiSchemaAMenuDtoMenuItemMetaPartial = Partial<ApiSchemaAMenuDtoMenuItemMeta>;
|
|
17
17
|
export type ApiSchemaAMenuDtoMenuGroup = components['schemas']['a-menu.dto.menuGroup'];
|
|
18
18
|
export type ApiSchemaAMenuDtoMenuGroupPartial = Partial<ApiSchemaAMenuDtoMenuGroup>;
|
|
19
|
-
export type ApiSchemaAPermissionDtoPermissions =
|
|
19
|
+
export type ApiSchemaAPermissionDtoPermissions =
|
|
20
|
+
components['schemas']['a-permission.dto.permissions'];
|
|
20
21
|
export type ApiSchemaAPermissionDtoPermissionsPartial = Partial<ApiSchemaAPermissionDtoPermissions>;
|
|
21
22
|
export type ApiSchemaHomeUserDtoPassport = components['schemas']['home-user.dto.passport'];
|
|
22
23
|
export type ApiSchemaHomeUserDtoPassportPartial = Partial<ApiSchemaHomeUserDtoPassport>;
|
|
@@ -42,13 +43,17 @@ export type ApiSchemaACaptchaDtoCaptchaVerify_c3cd80b1eeafe39bfe4433491bb081d68e
|
|
|
42
43
|
components['schemas']['a-captcha.dto.captchaVerify_c3cd80b1eeafe39bfe4433491bb081d68e84797e_3218e7d152830e08f6e764b9e0c3796df929ee2b'];
|
|
43
44
|
export type ApiSchemaACaptchaDtoCaptchaVerify_c3cd80b1eeafe39bfe4433491bb081d68e84797e_3218e7d152830e08f6e764b9e0c3796df929ee2bPartial =
|
|
44
45
|
Partial<ApiSchemaACaptchaDtoCaptchaVerify_c3cd80b1eeafe39bfe4433491bb081d68e84797e_3218e7d152830e08f6e764b9e0c3796df929ee2b>;
|
|
45
|
-
export type ApiSchemaTestRestDtoProductCreate =
|
|
46
|
+
export type ApiSchemaTestRestDtoProductCreate =
|
|
47
|
+
components['schemas']['test-rest.dto.productCreate'];
|
|
46
48
|
export type ApiSchemaTestRestDtoProductCreatePartial = Partial<ApiSchemaTestRestDtoProductCreate>;
|
|
47
|
-
export type ApiSchemaTestRestDtoProductQueryRes =
|
|
48
|
-
|
|
49
|
+
export type ApiSchemaTestRestDtoProductQueryRes =
|
|
50
|
+
components['schemas']['test-rest.dto.productQueryRes'];
|
|
51
|
+
export type ApiSchemaTestRestDtoProductQueryResPartial =
|
|
52
|
+
Partial<ApiSchemaTestRestDtoProductQueryRes>;
|
|
49
53
|
export type ApiSchemaTestRestEntityProduct = components['schemas']['test-rest.entity.product'];
|
|
50
54
|
export type ApiSchemaTestRestEntityProductPartial = Partial<ApiSchemaTestRestEntityProduct>;
|
|
51
|
-
export type ApiSchemaTestRestDtoProductUpdate =
|
|
55
|
+
export type ApiSchemaTestRestDtoProductUpdate =
|
|
56
|
+
components['schemas']['test-rest.dto.productUpdate'];
|
|
52
57
|
export type ApiSchemaTestRestDtoProductUpdatePartial = Partial<ApiSchemaTestRestDtoProductUpdate>;
|
|
53
58
|
export type ApiSchemaTestSsrDtoTestResult = components['schemas']['test-ssr.dto.testResult'];
|
|
54
59
|
export type ApiSchemaTestSsrDtoTestResultPartial = Partial<ApiSchemaTestSsrDtoTestResult>;
|
|
@@ -58,12 +63,17 @@ export type ApiSchemaTestSsrDtoTestBody = components['schemas']['test-ssr.dto.te
|
|
|
58
63
|
export type ApiSchemaTestSsrDtoTestBodyPartial = Partial<ApiSchemaTestSsrDtoTestBody>;
|
|
59
64
|
export type ApiSchemaTestCaptchaDtoSignin = components['schemas']['test-captcha.dto.signin'];
|
|
60
65
|
export type ApiSchemaTestCaptchaDtoSigninPartial = Partial<ApiSchemaTestCaptchaDtoSignin>;
|
|
61
|
-
export type ApiSchemaAPaypalEntityPaypalRecord =
|
|
66
|
+
export type ApiSchemaAPaypalEntityPaypalRecord =
|
|
67
|
+
components['schemas']['a-paypal.entity.paypalRecord'];
|
|
62
68
|
export type ApiSchemaAPaypalEntityPaypalRecordPartial = Partial<ApiSchemaAPaypalEntityPaypalRecord>;
|
|
63
|
-
export type ApiSchemaAPaypalDtoPaypalOrderRecordPayload =
|
|
64
|
-
|
|
65
|
-
export type
|
|
66
|
-
|
|
69
|
+
export type ApiSchemaAPaypalDtoPaypalOrderRecordPayload =
|
|
70
|
+
components['schemas']['a-paypal.dto.paypalOrderRecordPayload'];
|
|
71
|
+
export type ApiSchemaAPaypalDtoPaypalOrderRecordPayloadPartial =
|
|
72
|
+
Partial<ApiSchemaAPaypalDtoPaypalOrderRecordPayload>;
|
|
73
|
+
export type ApiSchemaAPaypalDtoPaypalOrderRecordOptions =
|
|
74
|
+
components['schemas']['a-paypal.dto.paypalOrderRecordOptions'];
|
|
75
|
+
export type ApiSchemaAPaypalDtoPaypalOrderRecordOptionsPartial =
|
|
76
|
+
Partial<ApiSchemaAPaypalDtoPaypalOrderRecordOptions>;
|
|
67
77
|
export type ApiSchemaAPlayDtoPlay = components['schemas']['a-play.dto.play'];
|
|
68
78
|
export type ApiSchemaAPlayDtoPlayPartial = Partial<ApiSchemaAPlayDtoPlay>;
|
|
69
79
|
export type ApiSchemaTestVonaDtoUserLazy = components['schemas']['test-vona.dto.userLazy'];
|
|
@@ -110,19 +120,27 @@ export type ApiSchemaTestVonaEntityProduct_bce173590aaef19772f1ae3a82196493c2633
|
|
|
110
120
|
components['schemas']['test-vona.entity.product_bce173590aaef19772f1ae3a82196493c2633e2e'];
|
|
111
121
|
export type ApiSchemaTestVonaEntityProduct_bce173590aaef19772f1ae3a82196493c2633e2ePartial =
|
|
112
122
|
Partial<ApiSchemaTestVonaEntityProduct_bce173590aaef19772f1ae3a82196493c2633e2e>;
|
|
113
|
-
export type ApiSchemaTestVonaDtoOrderResultPage =
|
|
114
|
-
|
|
123
|
+
export type ApiSchemaTestVonaDtoOrderResultPage =
|
|
124
|
+
components['schemas']['test-vona.dto.orderResultPage'];
|
|
125
|
+
export type ApiSchemaTestVonaDtoOrderResultPagePartial =
|
|
126
|
+
Partial<ApiSchemaTestVonaDtoOrderResultPage>;
|
|
115
127
|
export type ApiSchemaTestVonaDtoPostGroup = components['schemas']['test-vona.dto.postGroup'];
|
|
116
128
|
export type ApiSchemaTestVonaDtoPostGroupPartial = Partial<ApiSchemaTestVonaDtoPostGroup>;
|
|
117
|
-
export type ApiSchemaTestVonaDtoPostAggregate =
|
|
129
|
+
export type ApiSchemaTestVonaDtoPostAggregate =
|
|
130
|
+
components['schemas']['test-vona.dto.postAggregate'];
|
|
118
131
|
export type ApiSchemaTestVonaDtoPostAggregatePartial = Partial<ApiSchemaTestVonaDtoPostAggregate>;
|
|
119
132
|
export type ApiSchemaTestVonaDtoPostQueryRes = components['schemas']['test-vona.dto.postQueryRes'];
|
|
120
133
|
export type ApiSchemaTestVonaDtoPostQueryResPartial = Partial<ApiSchemaTestVonaDtoPostQueryRes>;
|
|
121
|
-
export type ApiSchemaTestVonaDtoSerializerSimple =
|
|
122
|
-
|
|
123
|
-
export type
|
|
124
|
-
|
|
125
|
-
export type
|
|
134
|
+
export type ApiSchemaTestVonaDtoSerializerSimple =
|
|
135
|
+
components['schemas']['test-vona.dto.serializerSimple'];
|
|
136
|
+
export type ApiSchemaTestVonaDtoSerializerSimplePartial =
|
|
137
|
+
Partial<ApiSchemaTestVonaDtoSerializerSimple>;
|
|
138
|
+
export type ApiSchemaTestVonaDtoSerializerArray =
|
|
139
|
+
components['schemas']['test-vona.dto.serializerArray'];
|
|
140
|
+
export type ApiSchemaTestVonaDtoSerializerArrayPartial =
|
|
141
|
+
Partial<ApiSchemaTestVonaDtoSerializerArray>;
|
|
142
|
+
export type ApiSchemaTestVonaDtoSerializerLazy =
|
|
143
|
+
components['schemas']['test-vona.dto.serializerLazy'];
|
|
126
144
|
export type ApiSchemaTestVonaDtoSerializerLazyPartial = Partial<ApiSchemaTestVonaDtoSerializerLazy>;
|
|
127
145
|
export type ApiSchemaTestVonaDtoSerializerSimple_1c4b95bcfe8fe28a56dbcc7028097cf11836b4fc =
|
|
128
146
|
components['schemas']['test-vona.dto.serializerSimple_1c4b95bcfe8fe28a56dbcc7028097cf11836b4fc'];
|
|
@@ -1526,7 +1526,9 @@ export interface components {
|
|
|
1526
1526
|
orderNo?: string;
|
|
1527
1527
|
/** @description Remark */
|
|
1528
1528
|
remark?: string | undefined;
|
|
1529
|
-
products?:
|
|
1529
|
+
products?:
|
|
1530
|
+
| components['schemas']['test-vona.entity.product_29731960f3f38d3572bc2f8a01a7498bfe927055'][]
|
|
1531
|
+
| undefined;
|
|
1530
1532
|
};
|
|
1531
1533
|
'test-vona.entity.product_29731960f3f38d3572bc2f8a01a7498bfe927055': {
|
|
1532
1534
|
/** @description Name */
|
|
@@ -1546,7 +1548,9 @@ export interface components {
|
|
|
1546
1548
|
orderNo?: string;
|
|
1547
1549
|
/** @description Remark */
|
|
1548
1550
|
remark?: string | undefined;
|
|
1549
|
-
products?:
|
|
1551
|
+
products?:
|
|
1552
|
+
| components['schemas']['test-vona.entity.product_9cf2c6bcd41713270c34bcfce21b7b4942e3fbc6'][]
|
|
1553
|
+
| undefined;
|
|
1550
1554
|
};
|
|
1551
1555
|
'test-vona.entity.product_9cf2c6bcd41713270c34bcfce21b7b4942e3fbc6': {
|
|
1552
1556
|
/**
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { BeanBase } from 'zova';
|
|
2
2
|
import { ApiSchema, IApiSchemaOptions } from 'zova-module-a-api';
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
ApiApiCaptchacreatePath,
|
|
6
|
+
ApiApiCaptcharefreshPath,
|
|
7
|
+
ApiApiCaptchaverifyImmediatePath,
|
|
8
|
+
} from '../api/captcha.js';
|
|
5
9
|
|
|
6
10
|
@ApiSchema()
|
|
7
11
|
export class ApiSchemaCaptcha extends BeanBase {
|
|
@@ -6,6 +6,10 @@ import { ApiApiHomeBasePermissionretrievePermissionsPath } from '../api/homeBase
|
|
|
6
6
|
@ApiSchema()
|
|
7
7
|
export class ApiSchemaHomeBasePermission extends BeanBase {
|
|
8
8
|
retrievePermissions(options?: IApiSchemaOptions) {
|
|
9
|
-
return this.$sdk.createApiSchemas(
|
|
9
|
+
return this.$sdk.createApiSchemas(
|
|
10
|
+
ApiApiHomeBasePermissionretrievePermissionsPath,
|
|
11
|
+
'get',
|
|
12
|
+
options,
|
|
13
|
+
);
|
|
10
14
|
}
|
|
11
15
|
}
|
|
@@ -49,10 +49,18 @@ export class ApiSchemaHomeUserPassport extends BeanBase {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
createPassportJwtFromOauthCode(options?: IApiSchemaOptions) {
|
|
52
|
-
return this.$sdk.createApiSchemas(
|
|
52
|
+
return this.$sdk.createApiSchemas(
|
|
53
|
+
ApiApiHomeUserPassportcreatePassportJwtFromOauthCodePath,
|
|
54
|
+
'post',
|
|
55
|
+
options,
|
|
56
|
+
);
|
|
53
57
|
}
|
|
54
58
|
|
|
55
59
|
createTempAuthToken(options?: IApiSchemaOptions) {
|
|
56
|
-
return this.$sdk.createApiSchemas(
|
|
60
|
+
return this.$sdk.createApiSchemas(
|
|
61
|
+
ApiApiHomeUserPassportcreateTempAuthTokenPath,
|
|
62
|
+
'post',
|
|
63
|
+
options,
|
|
64
|
+
);
|
|
57
65
|
}
|
|
58
66
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { TypeLocaleBase } from 'zova';
|
|
2
|
+
|
|
2
3
|
import { useApp, useComputed } from 'zova';
|
|
4
|
+
|
|
3
5
|
import locale_en_us from '../config/locale/en-us.js';
|
|
4
6
|
import locale_zh_cn from '../config/locale/zh-cn.js';
|
|
5
7
|
|
|
@@ -8,7 +10,10 @@ export const locales = {
|
|
|
8
10
|
'zh-cn': locale_zh_cn,
|
|
9
11
|
};
|
|
10
12
|
|
|
11
|
-
export function $useLocale<K extends keyof (typeof locales)[TypeLocaleBase]>(
|
|
13
|
+
export function $useLocale<K extends keyof (typeof locales)[TypeLocaleBase]>(
|
|
14
|
+
key: K,
|
|
15
|
+
...args: any[]
|
|
16
|
+
) {
|
|
12
17
|
const app = useApp();
|
|
13
18
|
const str = `home-base::${key}`;
|
|
14
19
|
return useComputed(() => {
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
BeanBase,
|
|
3
|
+
BeanContainer,
|
|
4
|
+
IMonkeyAppClose,
|
|
5
|
+
IMonkeyAppInitialize,
|
|
6
|
+
IMonkeyBeanInit,
|
|
7
|
+
} from 'zova';
|
|
2
8
|
|
|
3
9
|
import { BeanSimple } from 'zova';
|
|
4
10
|
|
|
@@ -6,7 +12,10 @@ import { definePropertyScopeBase } from './lib/utils.js';
|
|
|
6
12
|
import { ServiceRouterGuards } from './service/routerGuards.js';
|
|
7
13
|
import { ServiceSsr } from './service/ssr.js';
|
|
8
14
|
|
|
9
|
-
export class Monkey
|
|
15
|
+
export class Monkey
|
|
16
|
+
extends BeanSimple
|
|
17
|
+
implements IMonkeyAppInitialize, IMonkeyAppClose, IMonkeyBeanInit
|
|
18
|
+
{
|
|
10
19
|
serviceRouterGuards: ServiceRouterGuards;
|
|
11
20
|
serviceSsr: ServiceSsr;
|
|
12
21
|
|
|
@@ -8,7 +8,11 @@ import { BeanRouterGuardsBase } from 'zova-module-a-router';
|
|
|
8
8
|
export class ServiceRouterGuards extends BeanRouterGuardsBase {
|
|
9
9
|
protected onRouterGuards(router: BeanRouter) {
|
|
10
10
|
router.beforeEach(async to => {
|
|
11
|
-
if (
|
|
11
|
+
if (
|
|
12
|
+
!this.sys.config.ssr.ignoreCookieOnServer &&
|
|
13
|
+
to.meta.requiresAuth !== false &&
|
|
14
|
+
!this.$passport.isAuthenticated
|
|
15
|
+
) {
|
|
12
16
|
const [_res, err] = await catchError(() => {
|
|
13
17
|
return this.$passport.ensurePassport();
|
|
14
18
|
});
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { TypeLocaleBase } from 'zova';
|
|
2
|
+
|
|
2
3
|
import { useApp, useComputed } from 'zova';
|
|
4
|
+
|
|
3
5
|
import locale_en_us from '../config/locale/en-us.js';
|
|
4
6
|
import locale_zh_cn from '../config/locale/zh-cn.js';
|
|
5
7
|
|
|
@@ -8,7 +10,10 @@ export const locales = {
|
|
|
8
10
|
'zh-cn': locale_zh_cn,
|
|
9
11
|
};
|
|
10
12
|
|
|
11
|
-
export function $useLocale<K extends keyof (typeof locales)[TypeLocaleBase]>(
|
|
13
|
+
export function $useLocale<K extends keyof (typeof locales)[TypeLocaleBase]>(
|
|
14
|
+
key: K,
|
|
15
|
+
...args: any[]
|
|
16
|
+
) {
|
|
12
17
|
const app = useApp();
|
|
13
18
|
const str = `home-layout::${key}`;
|
|
14
19
|
return useComputed(() => {
|
|
@@ -19,7 +19,10 @@ export class ControllerItemLink extends BeanControllerBase {
|
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
_renderLink() {
|
|
22
|
-
const domContent = [
|
|
22
|
+
const domContent = [
|
|
23
|
+
<ZIcon name={this.$props.icon} height={24} width={24}></ZIcon>,
|
|
24
|
+
<span>{this.$props.title}</span>,
|
|
25
|
+
];
|
|
23
26
|
if (this.$props.href) {
|
|
24
27
|
return (
|
|
25
28
|
<a href={this.$props.href} target="_blank">
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { IDecoratorModelOptions } from 'zova-module-a-model';
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
ApiSchemaAMenuDtoMenuGroup,
|
|
4
|
+
ApiSchemaAMenuDtoMenuItem,
|
|
5
|
+
ApiSchemaAMenuDtoMenus,
|
|
6
|
+
} from 'zova-module-home-api';
|
|
3
7
|
|
|
4
8
|
import { TypeEventOff } from 'zova';
|
|
5
9
|
import { BeanModelBase, Model } from 'zova-module-a-model';
|
|
@@ -40,7 +44,9 @@ export class ModelMenu extends BeanModelBase {
|
|
|
40
44
|
return this.$useStateData({
|
|
41
45
|
queryKey: ['retrieveMenus'],
|
|
42
46
|
queryFn: async () => {
|
|
43
|
-
const data = await this.$api.homeBaseMenu.retrieveMenus({
|
|
47
|
+
const data = await this.$api.homeBaseMenu.retrieveMenus({
|
|
48
|
+
params: { publicPath: this.sys.env.APP_PUBLIC_PATH },
|
|
49
|
+
});
|
|
44
50
|
const menus = data.menus
|
|
45
51
|
?.map(item => {
|
|
46
52
|
if (item.link && !this.$router.isRouterName(item.link) && item.meta?.params) {
|
|
@@ -60,7 +66,9 @@ export class ModelMenu extends BeanModelBase {
|
|
|
60
66
|
findMenuItem(search: { name?: string; link?: string }): ApiSchemaAMenuDtoMenuItem | undefined {
|
|
61
67
|
const menus = this.retrieveMenus().data;
|
|
62
68
|
if (!menus || !menus.menus) return;
|
|
63
|
-
return menus.menus.find(
|
|
69
|
+
return menus.menus.find(
|
|
70
|
+
item => (item.name && search.name && item.name === search.name) || item.link === search.link,
|
|
71
|
+
);
|
|
64
72
|
}
|
|
65
73
|
|
|
66
74
|
private _prepareMenuTree(menus: ApiSchemaAMenuDtoMenus, groupName?: string): TypeMenuTree {
|
|
@@ -68,7 +76,11 @@ export class ModelMenu extends BeanModelBase {
|
|
|
68
76
|
if (menus.menus) {
|
|
69
77
|
children = children.concat(
|
|
70
78
|
menus.menus
|
|
71
|
-
?.filter(
|
|
79
|
+
?.filter(
|
|
80
|
+
item =>
|
|
81
|
+
item.group === groupName ||
|
|
82
|
+
(Array.isArray(item.group) && item.group.includes(groupName!)),
|
|
83
|
+
)
|
|
72
84
|
.map(item => {
|
|
73
85
|
return { ...item, folder: false };
|
|
74
86
|
}),
|
|
@@ -76,9 +88,16 @@ export class ModelMenu extends BeanModelBase {
|
|
|
76
88
|
}
|
|
77
89
|
if (menus.groups) {
|
|
78
90
|
const groups = menus.groups
|
|
79
|
-
.filter(
|
|
91
|
+
.filter(
|
|
92
|
+
item =>
|
|
93
|
+
item.group === groupName ||
|
|
94
|
+
(Array.isArray(item.group) && item.group.includes(groupName!)),
|
|
95
|
+
)
|
|
80
96
|
.map(menuGroup => {
|
|
81
|
-
return Object.assign({}, menuGroup, {
|
|
97
|
+
return Object.assign({}, menuGroup, {
|
|
98
|
+
folder: true,
|
|
99
|
+
children: this._prepareMenuTree(menus, menuGroup.name),
|
|
100
|
+
});
|
|
82
101
|
});
|
|
83
102
|
children = children.concat(groups);
|
|
84
103
|
}
|
|
@@ -10,7 +10,12 @@ import type {
|
|
|
10
10
|
import { combineQueries, isNil } from '@cabloy/utils';
|
|
11
11
|
import { SchemaObject } from 'openapi3-ts/oas31';
|
|
12
12
|
import { BeanModelBase, Model } from 'zova-module-a-model';
|
|
13
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
IPermissionHint,
|
|
15
|
+
IResourceFormActionRowNameRecord,
|
|
16
|
+
IResourceTableActionNameRecord,
|
|
17
|
+
TypeOpenapiPermissions,
|
|
18
|
+
} from 'zova-module-a-openapi';
|
|
14
19
|
import { ApiApiHomeUserPassportloginOauthPath, OpenApiBaseURL } from 'zova-module-home-api';
|
|
15
20
|
|
|
16
21
|
export interface IModelOptionsPassport extends IDecoratorModelOptions {}
|
|
@@ -27,10 +32,14 @@ export class ModelPassport extends BeanModelBase {
|
|
|
27
32
|
this.schemaLogin = this.$computed(() => {
|
|
28
33
|
return this.apiSchemasLogin.requestBody;
|
|
29
34
|
});
|
|
30
|
-
this.passport = process.env.CLIENT
|
|
35
|
+
this.passport = process.env.CLIENT
|
|
36
|
+
? this.$useStateLocal({ queryKey: ['passport'] })
|
|
37
|
+
: this.$useStateMem({ queryKey: ['passport'] });
|
|
31
38
|
this.jwt = this.$useStateLocal({ queryKey: ['jwt'] });
|
|
32
39
|
this.expireTime = this.$useStateLocal({ queryKey: ['expireTime'] });
|
|
33
|
-
this.accessToken = this.sys.config.ssr.ignoreCookieOnServer
|
|
40
|
+
this.accessToken = this.sys.config.ssr.ignoreCookieOnServer
|
|
41
|
+
? undefined
|
|
42
|
+
: this.$useStateCookie({ queryKey: ['token'] });
|
|
34
43
|
if (process.env.CLIENT) {
|
|
35
44
|
this._setLocaleTz();
|
|
36
45
|
}
|
|
@@ -41,7 +50,10 @@ export class ModelPassport extends BeanModelBase {
|
|
|
41
50
|
}
|
|
42
51
|
|
|
43
52
|
login() {
|
|
44
|
-
return this.$useMutationData<
|
|
53
|
+
return this.$useMutationData<
|
|
54
|
+
ApiApiHomeUserPassportloginResponseBody,
|
|
55
|
+
ApiApiHomeUserPassportloginRequestBody
|
|
56
|
+
>({
|
|
45
57
|
mutationKey: ['login'],
|
|
46
58
|
mutationFn: async params => {
|
|
47
59
|
return this.$api.homeUserPassport.login(params, { authToken: false });
|
|
@@ -59,7 +71,9 @@ export class ModelPassport extends BeanModelBase {
|
|
|
59
71
|
>({
|
|
60
72
|
mutationKey: ['loginByOauthCode'],
|
|
61
73
|
mutationFn: async params => {
|
|
62
|
-
return this.$api.homeUserPassport.createPassportJwtFromOauthCode(params, {
|
|
74
|
+
return this.$api.homeUserPassport.createPassportJwtFromOauthCode(params, {
|
|
75
|
+
authToken: false,
|
|
76
|
+
});
|
|
63
77
|
},
|
|
64
78
|
onSuccess: data => {
|
|
65
79
|
this.afterLogin(data);
|
|
@@ -74,7 +88,11 @@ export class ModelPassport extends BeanModelBase {
|
|
|
74
88
|
clientName,
|
|
75
89
|
});
|
|
76
90
|
const returnTo = this.app.$getReturnTo();
|
|
77
|
-
const redirect = this.$router.getPagePath(
|
|
91
|
+
const redirect = this.$router.getPagePath(
|
|
92
|
+
'/home/base/authCallback',
|
|
93
|
+
{ query: { returnTo } },
|
|
94
|
+
true,
|
|
95
|
+
);
|
|
78
96
|
return combineQueries(`${OpenApiBaseURL(this.sys)}${apiPath}`, { redirect });
|
|
79
97
|
}
|
|
80
98
|
|
|
@@ -125,7 +143,10 @@ export class ModelPassport extends BeanModelBase {
|
|
|
125
143
|
}
|
|
126
144
|
|
|
127
145
|
async refreshAuthToken(refreshToken: string): Promise<IJwtInfo> {
|
|
128
|
-
const jwt = await this.$api.homeUserPassport.refreshAuthToken(
|
|
146
|
+
const jwt = await this.$api.homeUserPassport.refreshAuthToken(
|
|
147
|
+
{ refreshToken },
|
|
148
|
+
{ authToken: false },
|
|
149
|
+
);
|
|
129
150
|
this._setJwt(jwt);
|
|
130
151
|
return (await this.getJwtInfo())!;
|
|
131
152
|
}
|
|
@@ -174,7 +195,8 @@ export class ModelPassport extends BeanModelBase {
|
|
|
174
195
|
private _setJwt(jwt?: ApiApiHomeUserPassportloginResponseBody['jwt']) {
|
|
175
196
|
if (jwt) {
|
|
176
197
|
this.jwt = jwt;
|
|
177
|
-
this.expireTime =
|
|
198
|
+
this.expireTime =
|
|
199
|
+
Date.now() + (jwt.expiresIn - this.scope.config.accessToken.expireTimeDelay) * 1000;
|
|
178
200
|
this.accessToken = jwt.accessToken;
|
|
179
201
|
} else {
|
|
180
202
|
this.jwt = undefined;
|
|
@@ -195,9 +217,17 @@ export class ModelPassport extends BeanModelBase {
|
|
|
195
217
|
if (permissions === false) return false;
|
|
196
218
|
if (permissions === true) return true;
|
|
197
219
|
// roleIds
|
|
198
|
-
if (
|
|
220
|
+
if (
|
|
221
|
+
permissions.roleIds &&
|
|
222
|
+
permissions.roleIds.some(roleId => this.roles?.some(role => role.id === roleId))
|
|
223
|
+
)
|
|
224
|
+
return true;
|
|
199
225
|
// roleNames
|
|
200
|
-
if (
|
|
226
|
+
if (
|
|
227
|
+
permissions.roleNames &&
|
|
228
|
+
permissions.roleNames.some(roleName => this.roles?.some(role => role.name === roleName))
|
|
229
|
+
)
|
|
230
|
+
return true;
|
|
201
231
|
// actions
|
|
202
232
|
if (permissions.actions && !!permissions.actions[permissionAction]) return true;
|
|
203
233
|
// others
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
IDecoratorThemeOptions,
|
|
3
|
+
IThemeApplyParams,
|
|
4
|
+
IThemeApplyResult,
|
|
5
|
+
IThemeBase,
|
|
6
|
+
ThemeToken,
|
|
7
|
+
} from 'zova-module-a-style';
|
|
2
8
|
|
|
3
9
|
import { BeanThemeBase, Theme } from 'zova-module-a-style';
|
|
4
10
|
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
IDecoratorThemeOptions,
|
|
3
|
+
IThemeApplyParams,
|
|
4
|
+
IThemeApplyResult,
|
|
5
|
+
IThemeBase,
|
|
6
|
+
ThemeToken,
|
|
7
|
+
} from 'zova-module-a-style';
|
|
2
8
|
|
|
3
9
|
import { BeanThemeBase, Theme } from 'zova-module-a-style';
|
|
4
10
|
|
package/src-ssr/server.ts
CHANGED
|
@@ -5,7 +5,13 @@
|
|
|
5
5
|
* Runs in Node context.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
defineSsrClose,
|
|
10
|
+
defineSsrCreate,
|
|
11
|
+
defineSsrListen,
|
|
12
|
+
defineSsrRenderPreloadTag,
|
|
13
|
+
defineSsrServeStaticContent,
|
|
14
|
+
} from '@quasar/app-vite/wrappers';
|
|
9
15
|
import compression from 'compression';
|
|
10
16
|
/**
|
|
11
17
|
* Make sure to yarn add / npm install (in your project root)
|
package/tsconfig.base.json
CHANGED