@cicctencent/midwayjs-base 1.0.23 → 1.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/config.default.js +2 -1
- package/dist/guard/auth.d.ts +5 -3
- package/dist/guard/auth.js +21 -8
- package/dist/index.d.ts +5 -3
- package/dist/index.js +7 -5
- package/dist/lib/decorator.js +1 -1
- package/dist/lib/jwt.d.ts +135 -0
- package/dist/lib/jwt.js +38 -0
- package/dist/lib/utils.d.ts +2 -3
- package/dist/lib/utils.js +16 -30
- package/dist/service/session.service.d.ts +4 -22
- package/dist/service/session.service.js +7 -42
- package/dist/service/tencent.service.d.ts +1 -1
- package/dist/service/tencent.service.js +2 -2
- package/dist/{base → types}/base.controller.js +1 -1
- package/dist/types/base.model.service.js +86 -0
- package/dist/{base → types}/base.service.d.ts +1 -1
- package/dist/{base → types}/base.service.js +1 -1
- package/dist/types/session.service.interface.d.ts +30 -0
- package/dist/types/session.service.interface.js +32 -0
- package/package.json +1 -1
- package/dist/base/base.model.service.js +0 -86
- /package/dist/{base → types}/base.controller.d.ts +0 -0
- /package/dist/{base → types}/base.model.service.d.ts +0 -0
|
@@ -98,6 +98,7 @@ exports.default = (appInfo) => {
|
|
|
98
98
|
// session 过期设置
|
|
99
99
|
timeout: Number(process.env.SESSION_TIMEOUT) || 20 * 60 * 1000,
|
|
100
100
|
secretKey: 'fjjiowhb@#$^111)*&',
|
|
101
|
+
serviceKey: 'session:service',
|
|
101
102
|
},
|
|
102
103
|
// 登陆态校验配置
|
|
103
104
|
auth: {
|
|
@@ -150,4 +151,4 @@ exports.default = (appInfo) => {
|
|
|
150
151
|
};
|
|
151
152
|
return config;
|
|
152
153
|
};
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsNkJBQTZCO0FBQzdCLGtCQUFlLENBQUMsT0FBc0IsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQztJQUMvQyxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXpELE1BQU0sTUFBTSxHQUFHO1FBQ1gsdUVBQXVFO1FBQ3ZFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxHQUFHLHFCQUFxQjtRQUMxQyxPQUFPLEVBQUU7WUFDTCx3QkFBd0I7WUFDeEIsTUFBTSxFQUFFLEVBQUUsRUFBRSxtQ0FBbUM7WUFDL0MsTUFBTTtTQUNUO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsVUFBVTtZQUNWLGlCQUFpQixFQUFFLFVBQVU7WUFDN0Isb0RBQW9EO1lBQ3BELE9BQU8sRUFBRTtnQkFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQzthQUMvQztZQUNELE9BQU8sRUFBRTtnQkFDTCxPQUFPLEVBQUUsVUFBVTthQUN0QjtTQUNKO1FB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
|
package/dist/guard/auth.d.ts
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { IGuard } from '@midwayjs/core';
|
|
2
|
-
import { Context } from '@midwayjs/koa';
|
|
3
|
-
import {
|
|
2
|
+
import { Application, Context } from '@midwayjs/koa';
|
|
3
|
+
import { ISessionService } from '../types/session.service.interface';
|
|
4
4
|
/**
|
|
5
5
|
* 校验请求的登陆态
|
|
6
6
|
*/
|
|
7
7
|
export declare class AuthGuard implements IGuard<Context> {
|
|
8
|
-
|
|
8
|
+
protected app: Application;
|
|
9
|
+
sessionService: ISessionService;
|
|
9
10
|
ssoOption: any;
|
|
10
11
|
authOption: {
|
|
11
12
|
ignores?: string | Array<RegExp | string>;
|
|
12
13
|
};
|
|
13
14
|
apiOption: any;
|
|
14
15
|
koa: any;
|
|
16
|
+
Init(): Promise<void>;
|
|
15
17
|
checkNeedAuth(context: Context, supplierClz: any, methodName: string): any;
|
|
16
18
|
canActivate(context: Context, supplierClz: any, methodName: string): Promise<boolean>;
|
|
17
19
|
checkAuth(context: Context, token: string, needAuth?: boolean): Promise<boolean>;
|
package/dist/guard/auth.js
CHANGED
|
@@ -12,18 +12,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.AuthGuard = void 0;
|
|
13
13
|
// @ts-ignore
|
|
14
14
|
const core_1 = require("@midwayjs/core");
|
|
15
|
-
const session_service_1 = require("../service/session.service");
|
|
16
15
|
const decorator_1 = require("../lib/decorator");
|
|
17
16
|
const utils_1 = require("../lib/utils");
|
|
17
|
+
const session_service_interface_1 = require("../types/session.service.interface");
|
|
18
18
|
/**
|
|
19
19
|
* 校验请求的登陆态
|
|
20
20
|
*/
|
|
21
21
|
let AuthGuard = class AuthGuard {
|
|
22
|
+
app;
|
|
22
23
|
sessionService;
|
|
23
24
|
ssoOption;
|
|
24
25
|
authOption;
|
|
25
26
|
apiOption;
|
|
26
27
|
koa;
|
|
28
|
+
async Init() {
|
|
29
|
+
const appContext = this.app.getApplicationContext();
|
|
30
|
+
// 如果用户自定义了session service的实现,则使用用户自定义的
|
|
31
|
+
this.sessionService = await appContext.getAsync(session_service_interface_1.DEFAULT_SESSION_SERVICE_KEY);
|
|
32
|
+
if (this.sessionService?.sessionOption.serviceKey !== session_service_interface_1.DEFAULT_SESSION_SERVICE_KEY) {
|
|
33
|
+
//尝试获取用户自定义的实现
|
|
34
|
+
const sessionServiceObj = await appContext.getAsync(this.sessionService.sessionOption.serviceKey);
|
|
35
|
+
if (sessionServiceObj) {
|
|
36
|
+
console.log('use custom session service for auth guard', this.sessionService.sessionOption.serviceKey);
|
|
37
|
+
this.sessionService = sessionServiceObj;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
27
41
|
// 检查是否需要验证登陆态
|
|
28
42
|
checkNeedAuth(context, supplierClz, methodName) {
|
|
29
43
|
// 如果有配置忽略验证,则直接返回false
|
|
@@ -70,9 +84,8 @@ let AuthGuard = class AuthGuard {
|
|
|
70
84
|
// 如果是从登陆回来,则验证监时码
|
|
71
85
|
const authCode = context.URL.searchParams.get('auth_code');
|
|
72
86
|
if (authCode) {
|
|
73
|
-
|
|
74
|
-
if (
|
|
75
|
-
session = res.data;
|
|
87
|
+
session = await this.sessionService.loginByCode(authCode);
|
|
88
|
+
if (session) {
|
|
76
89
|
// 登陆写入cookie
|
|
77
90
|
(0, utils_1.setAuthToken)(context, session.id);
|
|
78
91
|
}
|
|
@@ -159,9 +172,9 @@ let AuthGuard = class AuthGuard {
|
|
|
159
172
|
};
|
|
160
173
|
exports.AuthGuard = AuthGuard;
|
|
161
174
|
__decorate([
|
|
162
|
-
(0, core_1.
|
|
163
|
-
__metadata("design:type",
|
|
164
|
-
], AuthGuard.prototype, "
|
|
175
|
+
(0, core_1.App)(),
|
|
176
|
+
__metadata("design:type", Object)
|
|
177
|
+
], AuthGuard.prototype, "app", void 0);
|
|
165
178
|
__decorate([
|
|
166
179
|
(0, core_1.Config)('sso'),
|
|
167
180
|
__metadata("design:type", Object)
|
|
@@ -181,4 +194,4 @@ __decorate([
|
|
|
181
194
|
exports.AuthGuard = AuthGuard = __decorate([
|
|
182
195
|
(0, core_1.Guard)()
|
|
183
196
|
], AuthGuard);
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ndWFyZC9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLGFBQWE7QUFDYix5Q0FBMEU7QUFFMUUsZ0RBQWlEO0FBQ2pELHdDQUFxRTtBQUNyRSxrRkFBa0c7QUFFbEc7O0dBRUc7QUFFSSxJQUFNLFNBQVMsR0FBZixNQUFNLFNBQVM7SUFFUixHQUFHLENBQWM7SUFFM0IsY0FBYyxDQUFrQjtJQUdoQyxTQUFTLENBQU07SUFHZixVQUFVLENBRVI7SUFHRixTQUFTLENBQU07SUFHZixHQUFHLENBQU07SUFFVCxLQUFLLENBQUMsSUFBSTtRQUNOLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUVwRCx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLFVBQVUsQ0FBQyxRQUFRLENBQWtCLHVEQUEyQixDQUFDLENBQUM7UUFDOUYsSUFBRyxJQUFJLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxVQUFVLEtBQUssdURBQTJCLEVBQUUsQ0FBQztZQUMvRSxjQUFjO1lBQ2QsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLFVBQVUsQ0FBQyxRQUFRLENBQWtCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25ILElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQ0FBMkMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdkcsSUFBSSxDQUFDLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQztZQUM1QyxDQUFDO1FBQ0wsQ0FBQztJQUVMLENBQUM7SUFFRCxjQUFjO0lBQ2QsYUFBYSxDQUFDLE9BQWdCLEVBQzFCLFdBQWdCLEVBQ2hCLFVBQWtCO1FBQ2QsdUJBQXVCO1FBQzNC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
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * as koa from '@midwayjs/koa';
|
|
2
2
|
export { BaseConfiguration as Configuration } from './configuration';
|
|
3
3
|
export * as utils from './lib/utils';
|
|
4
|
+
export * as jwt from './lib/jwt';
|
|
4
5
|
export * as decorators from './lib/decorator';
|
|
5
6
|
export * from '@fefeding/common/dist/models/base/enumType';
|
|
6
7
|
export { BaseORM as BaseEntity } from '@fefeding/common/dist/models/base/baseORM';
|
|
@@ -9,8 +10,9 @@ export * from './middleware/requestInit';
|
|
|
9
10
|
export * from './middleware/detect.middleware';
|
|
10
11
|
export * from './guard/api';
|
|
11
12
|
export * from './guard/auth';
|
|
12
|
-
export * from './
|
|
13
|
-
export * from './
|
|
13
|
+
export * from './types/base.service';
|
|
14
|
+
export * from './types/base.model.service';
|
|
15
|
+
export * from './types/base.controller';
|
|
16
|
+
export * from './types/session.service.interface';
|
|
14
17
|
export * from './service/session.service';
|
|
15
18
|
export * from './service/tencent.service';
|
|
16
|
-
export * from './base/base.controller';
|
package/dist/index.js
CHANGED
|
@@ -14,12 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.BaseEntity = exports.decorators = exports.utils = exports.Configuration = exports.koa = void 0;
|
|
17
|
+
exports.BaseEntity = exports.decorators = exports.jwt = exports.utils = exports.Configuration = exports.koa = void 0;
|
|
18
18
|
// @ts-ignore
|
|
19
19
|
exports.koa = require("@midwayjs/koa");
|
|
20
20
|
var configuration_1 = require("./configuration");
|
|
21
21
|
Object.defineProperty(exports, "Configuration", { enumerable: true, get: function () { return configuration_1.BaseConfiguration; } });
|
|
22
22
|
exports.utils = require("./lib/utils");
|
|
23
|
+
exports.jwt = require("./lib/jwt");
|
|
23
24
|
exports.decorators = require("./lib/decorator");
|
|
24
25
|
__exportStar(require("@fefeding/common/dist/models/base/enumType"), exports);
|
|
25
26
|
var baseORM_1 = require("@fefeding/common/dist/models/base/baseORM");
|
|
@@ -29,9 +30,10 @@ __exportStar(require("./middleware/requestInit"), exports);
|
|
|
29
30
|
__exportStar(require("./middleware/detect.middleware"), exports);
|
|
30
31
|
__exportStar(require("./guard/api"), exports);
|
|
31
32
|
__exportStar(require("./guard/auth"), exports);
|
|
32
|
-
__exportStar(require("./
|
|
33
|
-
__exportStar(require("./
|
|
33
|
+
__exportStar(require("./types/base.service"), exports);
|
|
34
|
+
__exportStar(require("./types/base.model.service"), exports);
|
|
35
|
+
__exportStar(require("./types/base.controller"), exports);
|
|
36
|
+
__exportStar(require("./types/session.service.interface"), exports);
|
|
34
37
|
__exportStar(require("./service/session.service"), exports);
|
|
35
38
|
__exportStar(require("./service/tencent.service"), exports);
|
|
36
|
-
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxhQUFhO0FBQ2IsdUNBQXFDO0FBRXJDLGlEQUFxRTtBQUE1RCw4R0FBQSxpQkFBaUIsT0FBaUI7QUFFM0MsdUNBQXFDO0FBQ3JDLGdEQUE4QztBQUc5Qyw2RUFBMkQ7QUFDM0QscUVBQWtGO0FBQXpFLHFHQUFBLE9BQU8sT0FBYztBQUc5QixrRUFBZ0Q7QUFDaEQsMkRBQXlDO0FBQ3pDLGlFQUErQztBQUUvQyw4Q0FBNEI7QUFDNUIsK0NBQTZCO0FBRTdCLHNEQUFvQztBQUNwQyw0REFBMEM7QUFDMUMsNERBQTBDO0FBQzFDLDREQUEwQztBQUUxQyx5REFBdUMifQ==
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxhQUFhO0FBQ2IsdUNBQXFDO0FBRXJDLGlEQUFxRTtBQUE1RCw4R0FBQSxpQkFBaUIsT0FBaUI7QUFFM0MsdUNBQXFDO0FBQ3JDLG1DQUFpQztBQUNqQyxnREFBOEM7QUFHOUMsNkVBQTJEO0FBQzNELHFFQUFrRjtBQUF6RSxxR0FBQSxPQUFPLE9BQWM7QUFHOUIsa0VBQWdEO0FBQ2hELDJEQUF5QztBQUN6QyxpRUFBK0M7QUFFL0MsOENBQTRCO0FBQzVCLCtDQUE2QjtBQUU3Qix1REFBcUM7QUFDckMsNkRBQTJDO0FBQzNDLDBEQUF3QztBQUN4QyxvRUFBa0Q7QUFFbEQsNERBQTBDO0FBQzFDLDREQUEwQyJ9
|
package/dist/lib/decorator.js
CHANGED
|
@@ -76,4 +76,4 @@ function getCheckIP(target, propertyKey) {
|
|
|
76
76
|
const value = (0, core_1.getPropertyMetadata)(CheckIPKey, target, propertyKey);
|
|
77
77
|
return value;
|
|
78
78
|
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFXQSxzQ0FVQztBQU9ELGtDQWFDO0FBT0QsZ0NBVUM7QUFPRCxzQ0FPQztBQVNELDBCQVVDO0FBT0QsZ0NBT0M7QUF6R0QsYUFBYTtBQUNiLHlDQUFtRjtBQUNuRixxRUFBK0Q7QUFFL0QsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUM7QUFFMUM7Ozs7R0FJRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxJQUFJLEdBQUcsSUFBSTtJQUNyQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFO1FBQzNCLFNBQVM7UUFDVCxJQUFBLDJCQUFvQixFQUNoQixtQkFBVSxDQUFDLG1CQUFtQixFQUM5QixJQUFJLEVBQ0osTUFBTSxFQUNOLFdBQVcsQ0FDZCxDQUFDO0lBQ04sQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixXQUFXLENBQUMsTUFBTSxFQUFFLFdBQVc7SUFDM0MsSUFBSSxDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBQSwwQkFBbUIsRUFDN0IsbUJBQVUsQ0FBQyxtQkFBbUIsRUFDOUIsTUFBTSxFQUNOLFdBQVcsQ0FDZCxDQUFDO1FBQ0YsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELE9BQU0sQ0FBQyxFQUFFLENBQUM7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2YsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztBQUNMLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJO0lBQ2xDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUU7UUFDM0IsU0FBUztRQUNULElBQUEsMkJBQW9CLEVBQ2hCLG1CQUFVLENBQUMsa0JBQWtCLEVBQzdCLElBQUksRUFDSixNQUFNLEVBQ04sV0FBVyxDQUNkLENBQUM7SUFDTixDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxNQUFNLEVBQUUsV0FBVztJQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFBLDBCQUFtQixFQUM3QixtQkFBVSxDQUFDLGtCQUFrQixFQUM3QixNQUFNLEVBQ04sV0FBVyxDQUNkLENBQUM7SUFDRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBSUQ7Ozs7R0FJRztBQUNILFNBQWdCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSTtJQUMvQixPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFO1FBQzNCLFNBQVM7UUFDVCxJQUFBLDJCQUFvQixFQUNoQixVQUFVLEVBQ1YsSUFBSSxFQUNKLE1BQU0sRUFDTixXQUFXLENBQ2QsQ0FBQztJQUNOLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLE1BQU0sRUFBRSxXQUFXO0lBQzFDLE1BQU0sS0FBSyxHQUFHLElBQUEsMEJBQW1CLEVBQzdCLFVBQVUsRUFDVixNQUFNLEVBQ04sV0FBVyxDQUNkLENBQUM7SUFDRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDIn0=
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
export type Algorithm = 'HS256' | 'HS384' | 'HS512' | 'RS256' | 'RS384' | 'RS512' | 'ES256' | 'ES384' | 'ES512' | 'PS256' | 'PS384' | 'PS512';
|
|
2
|
+
export interface VerifyOptions {
|
|
3
|
+
/**
|
|
4
|
+
* 允许的算法列表
|
|
5
|
+
* 如果未指定,将根据提供的密钥类型使用默认值:
|
|
6
|
+
* - secret: ['HS256', 'HS384', 'HS512']
|
|
7
|
+
* - rsa: ['RS256', 'RS384', 'RS512']
|
|
8
|
+
* - ec: ['ES256', 'ES384', 'ES512']
|
|
9
|
+
* - 默认: ['RS256', 'RS384', 'RS512']
|
|
10
|
+
*/
|
|
11
|
+
algorithms?: Algorithm[];
|
|
12
|
+
/**
|
|
13
|
+
* 用于验证受众(aud 声明)
|
|
14
|
+
* 可以是字符串、正则表达式或它们的数组
|
|
15
|
+
* 例如: "urn:foo", /urn:f[o]{2}/, [/urn:f[o]{2}/, "urn:bar"]
|
|
16
|
+
*/
|
|
17
|
+
audience?: string | RegExp | (string | RegExp)[];
|
|
18
|
+
/**
|
|
19
|
+
* 如果为 true,返回包含 decoded { payload, header, signature } 的对象
|
|
20
|
+
* 而不仅仅是 payload 的内容
|
|
21
|
+
*/
|
|
22
|
+
complete?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* issuer 声明的有效值(iss 字段),可以是字符串或字符串数组
|
|
25
|
+
*/
|
|
26
|
+
issuer?: string | string[];
|
|
27
|
+
/**
|
|
28
|
+
* 用于验证 JWT ID(jti 声明)的值
|
|
29
|
+
*/
|
|
30
|
+
jwtid?: string;
|
|
31
|
+
/**
|
|
32
|
+
* 如果为 true,则不验证令牌的过期时间(exp 声明)
|
|
33
|
+
*/
|
|
34
|
+
ignoreExpiration?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* 如果为 true,则不验证令牌的生效时间(nbf 声明)
|
|
37
|
+
*/
|
|
38
|
+
ignoreNotBefore?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* 用于验证主题(sub 声明)的值
|
|
41
|
+
*/
|
|
42
|
+
subject?: string;
|
|
43
|
+
/**
|
|
44
|
+
* 检查 nbf 和 exp 声明时允许的秒数偏差
|
|
45
|
+
* 用于处理不同服务器之间的时钟差异
|
|
46
|
+
*/
|
|
47
|
+
clockTolerance?: number;
|
|
48
|
+
/**
|
|
49
|
+
* 令牌仍然有效的最大允许年龄
|
|
50
|
+
* 可以是秒数或描述时间跨度的字符串
|
|
51
|
+
* 例如: 1000, "2 days", "10h", "7d"
|
|
52
|
+
* 数值被解释为秒数,字符串需提供时间单位
|
|
53
|
+
*/
|
|
54
|
+
maxAge?: number | string;
|
|
55
|
+
/**
|
|
56
|
+
* 用于所有必要比较的当前时间(以秒为单位)
|
|
57
|
+
*/
|
|
58
|
+
clockTimestamp?: number;
|
|
59
|
+
/**
|
|
60
|
+
* 用于验证 nonce 声明的值
|
|
61
|
+
* 在 OpenID 中用于 ID 令牌
|
|
62
|
+
*/
|
|
63
|
+
nonce?: string;
|
|
64
|
+
/**
|
|
65
|
+
* 如果为 true,允许与指定算法不匹配的非对称密钥
|
|
66
|
+
* 此选项仅用于向后兼容,应避免使用
|
|
67
|
+
*/
|
|
68
|
+
allowInvalidAsymmetricKeyTypes?: boolean;
|
|
69
|
+
}
|
|
70
|
+
export interface SignOptions {
|
|
71
|
+
/**
|
|
72
|
+
* 用于签名的算法
|
|
73
|
+
* @default 'HS256'
|
|
74
|
+
*/
|
|
75
|
+
algorithm?: Algorithm;
|
|
76
|
+
/**
|
|
77
|
+
* 令牌过期时间
|
|
78
|
+
* 可以是秒数或描述时间跨度的字符串(如 "2 days"、"10h")
|
|
79
|
+
* 不能与 payload 中的 exp 同时存在
|
|
80
|
+
*/
|
|
81
|
+
expiresIn?: number | string;
|
|
82
|
+
/**
|
|
83
|
+
* 令牌生效时间(在此时间前令牌无效)
|
|
84
|
+
* 可以是秒数或描述时间跨度的字符串(如 "2 days"、"10h")
|
|
85
|
+
* 不能与 payload 中的 nbf 同时存在
|
|
86
|
+
*/
|
|
87
|
+
notBefore?: number | string;
|
|
88
|
+
/**
|
|
89
|
+
* 受众声明(aud)
|
|
90
|
+
* 不能与 payload 中的 aud 同时存在
|
|
91
|
+
*/
|
|
92
|
+
audience?: string | string[];
|
|
93
|
+
/**
|
|
94
|
+
* 发行者声明(iss)
|
|
95
|
+
* 不能与 payload 中的 iss 同时存在
|
|
96
|
+
*/
|
|
97
|
+
issuer?: string;
|
|
98
|
+
/**
|
|
99
|
+
* JWT ID 声明(jti)
|
|
100
|
+
*/
|
|
101
|
+
jwtid?: string;
|
|
102
|
+
/**
|
|
103
|
+
* 主题声明(sub)
|
|
104
|
+
* 不能与 payload 中的 sub 同时存在
|
|
105
|
+
*/
|
|
106
|
+
subject?: string;
|
|
107
|
+
/**
|
|
108
|
+
* 如果为 true,则不在令牌中包含 iat(发行时间)声明
|
|
109
|
+
*/
|
|
110
|
+
noTimestamp?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* 自定义 JWT 头部信息
|
|
113
|
+
*/
|
|
114
|
+
header?: Record<string, any>;
|
|
115
|
+
/**
|
|
116
|
+
* 用于头部中的 kid(密钥 ID)声明
|
|
117
|
+
*/
|
|
118
|
+
keyid?: string;
|
|
119
|
+
/**
|
|
120
|
+
* 如果为 true,签名函数将直接修改 payload 对象
|
|
121
|
+
* 在需要获取应用声明后但编码前的原始 payload 引用时有用
|
|
122
|
+
*/
|
|
123
|
+
mutatePayload?: boolean;
|
|
124
|
+
/**
|
|
125
|
+
* 如果为 true,允许使用 modulus 小于 2048 的私钥进行 RSA 签名
|
|
126
|
+
*/
|
|
127
|
+
allowInsecureKeySizes?: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* 如果为 true,允许与指定算法不匹配的非对称密钥
|
|
130
|
+
* 此选项仅用于向后兼容,应避免使用
|
|
131
|
+
*/
|
|
132
|
+
allowInvalidAsymmetricKeyTypes?: boolean;
|
|
133
|
+
}
|
|
134
|
+
export declare function decodeJWT(token: string, secretKey: string, options?: VerifyOptions): any;
|
|
135
|
+
export declare function encodeJWT(data: any, secretKey: string, options?: SignOptions): any;
|
package/dist/lib/jwt.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeJWT = decodeJWT;
|
|
4
|
+
exports.encodeJWT = encodeJWT;
|
|
5
|
+
const jwt = require("jsonwebtoken");
|
|
6
|
+
// 验证jwt
|
|
7
|
+
function decodeJWT(token, secretKey, options) {
|
|
8
|
+
try {
|
|
9
|
+
const decoded = jwt.verify(token, secretKey, {
|
|
10
|
+
algorithm: 'HS256',
|
|
11
|
+
...(options || {})
|
|
12
|
+
});
|
|
13
|
+
return decoded;
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
console.error('Token 验证失败:', err.message); // 如过期、篡改等
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/*
|
|
21
|
+
id: string;
|
|
22
|
+
code?: string;
|
|
23
|
+
loginId: string;
|
|
24
|
+
userId?: number;
|
|
25
|
+
user?: User;
|
|
26
|
+
account?: Account;
|
|
27
|
+
appId?: number;
|
|
28
|
+
status?: EStatus;
|
|
29
|
+
lastDate: Date;
|
|
30
|
+
*/
|
|
31
|
+
function encodeJWT(data, secretKey, options) {
|
|
32
|
+
const token = jwt.sign(data, secretKey, {
|
|
33
|
+
algorithm: 'HS256',
|
|
34
|
+
...(options || {})
|
|
35
|
+
});
|
|
36
|
+
return token;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9qd3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF3S0EsOEJBV0M7QUFhRCw4QkFNQztBQXJNRCxvQ0FBb0M7QUFzS3BDLFFBQVE7QUFDUixTQUFnQixTQUFTLENBQUMsS0FBYSxFQUFFLFNBQWlCLEVBQUUsT0FBdUI7SUFDL0UsSUFBSSxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQzdDLFNBQVMsRUFBRSxPQUFPO1lBQ2xCLEdBQUcsQ0FBQyxPQUFPLElBQUUsRUFBRSxDQUFDO1NBQ25CLENBQUMsQ0FBQztRQUNDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUNyRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7QUFDUCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7RUFVRTtBQUNGLFNBQWdCLFNBQVMsQ0FBQyxJQUFTLEVBQUUsU0FBaUIsRUFBRSxPQUFxQjtJQUN6RSxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7UUFDcEMsU0FBUyxFQUFFLE9BQU87UUFDbEIsR0FBRyxDQUFDLE9BQU8sSUFBRSxFQUFFLENBQUM7S0FDbkIsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyJ9
|
package/dist/lib/utils.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Context } from '@midwayjs/koa';
|
|
2
2
|
import { CookieSetOptions, CookieGetOptions } from '@midwayjs/cookies';
|
|
3
|
+
export * from './jwt';
|
|
3
4
|
import { loadEnv } from '../config/env';
|
|
4
5
|
export declare function checkUrlHost(url: string, host: string | Array<string>): boolean;
|
|
5
6
|
/**
|
|
@@ -11,6 +12,4 @@ export declare function checkUrlHost(url: string, host: string | Array<string>):
|
|
|
11
12
|
export declare function getDefaultTemplate(ctx: Context, file?: string, data?: any): Promise<string>;
|
|
12
13
|
export declare function getAuthToken(ctx: Context, option?: CookieGetOptions): any;
|
|
13
14
|
export declare function setAuthToken(ctx: Context, token: string, option?: CookieSetOptions): void;
|
|
14
|
-
export
|
|
15
|
-
export declare function encodeJWT(data: any, secretKey: string): any;
|
|
16
|
-
export { loadEnv };
|
|
15
|
+
export { loadEnv, };
|
package/dist/lib/utils.js
CHANGED
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
17
|
exports.loadEnv = void 0;
|
|
4
18
|
exports.checkUrlHost = checkUrlHost;
|
|
5
19
|
exports.getDefaultTemplate = getDefaultTemplate;
|
|
6
20
|
exports.getAuthToken = getAuthToken;
|
|
7
21
|
exports.setAuthToken = setAuthToken;
|
|
8
|
-
exports
|
|
9
|
-
exports.encodeJWT = encodeJWT;
|
|
10
|
-
const jwt = require("jsonwebtoken");
|
|
22
|
+
__exportStar(require("./jwt"), exports);
|
|
11
23
|
const env_1 = require("../config/env");
|
|
12
24
|
Object.defineProperty(exports, "loadEnv", { enumerable: true, get: function () { return env_1.loadEnv; } });
|
|
13
25
|
//判断url是否是对应的域名
|
|
@@ -73,30 +85,4 @@ function setAuthToken(ctx, token, option) {
|
|
|
73
85
|
...(option || {})
|
|
74
86
|
});
|
|
75
87
|
}
|
|
76
|
-
|
|
77
|
-
function decodeJWT(token, secretKey) {
|
|
78
|
-
try {
|
|
79
|
-
const decoded = jwt.verify(token, secretKey);
|
|
80
|
-
return decoded;
|
|
81
|
-
}
|
|
82
|
-
catch (err) {
|
|
83
|
-
console.error('Token 验证失败:', err.message); // 如过期、篡改等
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
/*
|
|
88
|
-
id: string;
|
|
89
|
-
code?: string;
|
|
90
|
-
loginId: string;
|
|
91
|
-
userId?: number;
|
|
92
|
-
user?: User;
|
|
93
|
-
account?: Account;
|
|
94
|
-
appId?: number;
|
|
95
|
-
status?: EStatus;
|
|
96
|
-
lastDate: Date;
|
|
97
|
-
*/
|
|
98
|
-
function encodeJWT(data, secretKey) {
|
|
99
|
-
const token = jwt.sign(data, secretKey, { algorithm: 'HS256' });
|
|
100
|
-
return token;
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU9BLG9DQVVDO0FBUUQsZ0RBcUJDO0FBR0Qsb0NBWUM7QUFHRCxvQ0FNQztBQUdELDhCQVFDO0FBYUQsOEJBR0M7QUE5RkQsb0NBQW9DO0FBQ3BDLHVDQUF3QztBQWdHcEMsd0ZBaEdLLGFBQU8sT0FnR0w7QUE5RlgsZUFBZTtBQUNmLFNBQWdCLFlBQVksQ0FBQyxHQUFXLEVBQUUsSUFBMEI7SUFDaEUsSUFBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3pDLElBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3JCLEtBQUksTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbEIsSUFBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFBRSxPQUFPLElBQUksQ0FBQztRQUN6QyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBRUQ7Ozs7O09BS087QUFDUCxTQUFnQixrQkFBa0IsQ0FBQyxHQUFZLEVBQUUsSUFBSSxHQUFDLFlBQVksRUFBRSxPQUFZLEVBQUU7SUFDOUUsc0JBQXNCO0lBQ3RCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7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
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT0Esb0NBVUM7QUFRRCxnREFxQkM7QUFHRCxvQ0FZQztBQUdELG9DQU1DO0FBbkVELHdDQUFzQjtBQUN0Qix1Q0FBd0M7QUFzRXBDLHdGQXRFSyxhQUFPLE9Bc0VMO0FBcEVYLGVBQWU7QUFDZixTQUFnQixZQUFZLENBQUMsR0FBVyxFQUFFLElBQTBCO0lBQ2hFLElBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN6QyxJQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNyQixLQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2xCLElBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQUUsT0FBTyxJQUFJLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNqRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDekIsQ0FBQztBQUVEOzs7OztPQUtPO0FBQ1AsU0FBZ0Isa0JBQWtCLENBQUMsR0FBWSxFQUFFLElBQUksR0FBQyxZQUFZLEVBQUUsT0FBWSxFQUFFO0lBQzlFLHNCQUFzQjtJQUN0QixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztJQUN6QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25DLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO0lBQ3ZDLE1BQU0sTUFBTSxHQUFHO1FBQ1gsSUFBSSxFQUFFO1lBQ0YsTUFBTSxFQUFFO2dCQUNKLE1BQU07YUFDVDtZQUNELE9BQU8sRUFBRSxHQUFHLENBQUMsY0FBYyxJQUFFLElBQUk7WUFDakMsR0FBRyxJQUFJO1NBQ1Y7UUFDRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ3ZCLFdBQVcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxFQUFFO1FBQzFDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztRQUNoQixNQUFNO1FBQ04sVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsUUFBUSxJQUFJLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO0tBQ2xFLENBQUM7SUFDRiwwQkFBMEI7SUFDMUIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBRUQsbUJBQW1CO0FBQ25CLFNBQWdCLFlBQVksQ0FBQyxHQUFZLEVBQUUsTUFBeUI7SUFDaEUsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQVEsQ0FBQztJQUN6QyxNQUFNLEtBQUssR0FDWCxHQUFHLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ2pDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUNsQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUU7WUFDckIsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztTQUNwQixDQUFDO1FBQ0YsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLLENBQUU7SUFDcEIsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQUVELFlBQVk7QUFDWixTQUFnQixZQUFZLENBQUMsR0FBWSxFQUFFLEtBQWEsRUFBRSxNQUF5QjtJQUMvRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFO1FBQzVCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsTUFBTSxFQUFFLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO1FBQ2hDLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO0tBQ3BCLENBQUMsQ0FBQztBQUNQLENBQUMifQ==
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export declare class SessionService extends BaseService {
|
|
5
|
-
sessionCache: MidwayCache;
|
|
6
|
-
sessionOption: {
|
|
7
|
-
timeout: number;
|
|
8
|
-
secretKey: string;
|
|
9
|
-
};
|
|
1
|
+
import { ISessionService } from '../types/session.service.interface';
|
|
2
|
+
import { Session } from '@fefeding/common/dist/models/account/session';
|
|
3
|
+
export declare class SessionService extends ISessionService {
|
|
10
4
|
/**
|
|
11
5
|
* 根据ID获取session
|
|
12
6
|
* 并判断session是否在有效期
|
|
@@ -18,22 +12,10 @@ export declare class SessionService extends BaseService {
|
|
|
18
12
|
* @param id 需要下线的id或者session
|
|
19
13
|
*/
|
|
20
14
|
logout(id: string): Promise<any>;
|
|
21
|
-
/**
|
|
22
|
-
* 登录接口
|
|
23
|
-
* @param loginParams 登录参数
|
|
24
|
-
* @returns
|
|
25
|
-
*/
|
|
26
|
-
loginByWx(loginParams: LoginByWxReq): Promise<LoginByWxRsp>;
|
|
27
|
-
/**
|
|
28
|
-
* 帐号登陆
|
|
29
|
-
* @param loginParams
|
|
30
|
-
* @returns
|
|
31
|
-
*/
|
|
32
|
-
loginByAccount(loginParams: LoginByAccountReq): Promise<LoginByAccountRsp>;
|
|
33
15
|
/**
|
|
34
16
|
* 用临时码登陆
|
|
35
17
|
* @param code 登陆临时码
|
|
36
18
|
* @returns
|
|
37
19
|
*/
|
|
38
|
-
loginByCode(code: string): Promise<
|
|
20
|
+
loginByCode(code: string): Promise<any>;
|
|
39
21
|
}
|
|
@@ -5,19 +5,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
9
|
exports.SessionService = void 0;
|
|
13
10
|
// @ts-ignore
|
|
14
11
|
const core_1 = require("@midwayjs/core");
|
|
15
|
-
const
|
|
16
|
-
const base_service_1 = require("../base/base.service");
|
|
12
|
+
const session_service_interface_1 = require("../types/session.service.interface");
|
|
17
13
|
const session_1 = require("@fefeding/common/dist/models/account/session");
|
|
18
|
-
let SessionService = class SessionService extends
|
|
19
|
-
sessionCache;
|
|
20
|
-
sessionOption;
|
|
14
|
+
let SessionService = class SessionService extends session_service_interface_1.ISessionService {
|
|
21
15
|
/**
|
|
22
16
|
* 根据ID获取session
|
|
23
17
|
* 并判断session是否在有效期
|
|
@@ -40,29 +34,6 @@ let SessionService = class SessionService extends base_service_1.BaseService {
|
|
|
40
34
|
this.ctx.currentSession = null;
|
|
41
35
|
return res;
|
|
42
36
|
}
|
|
43
|
-
/**
|
|
44
|
-
* 登录接口
|
|
45
|
-
* @param loginParams 登录参数
|
|
46
|
-
* @returns
|
|
47
|
-
*/
|
|
48
|
-
async loginByWx(loginParams) {
|
|
49
|
-
const req = new session_1.LoginByWxReq();
|
|
50
|
-
req.fromJSON(loginParams);
|
|
51
|
-
const res = await this.requestBaseApi(req);
|
|
52
|
-
return res;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* 帐号登陆
|
|
56
|
-
* @param loginParams
|
|
57
|
-
* @returns
|
|
58
|
-
*/
|
|
59
|
-
async loginByAccount(loginParams) {
|
|
60
|
-
loginParams.appId = '0'; //this.baseServiceOption.appId?.toString() || '0';
|
|
61
|
-
const req = new session_1.LoginByAccountReq();
|
|
62
|
-
req.fromJSON(loginParams);
|
|
63
|
-
const res = await this.requestBaseApi(req);
|
|
64
|
-
return res;
|
|
65
|
-
}
|
|
66
37
|
/**
|
|
67
38
|
* 用临时码登陆
|
|
68
39
|
* @param code 登陆临时码
|
|
@@ -74,20 +45,14 @@ let SessionService = class SessionService extends base_service_1.BaseService {
|
|
|
74
45
|
code
|
|
75
46
|
}
|
|
76
47
|
});
|
|
77
|
-
|
|
48
|
+
if (res.ret === 0)
|
|
49
|
+
return res.data;
|
|
50
|
+
return null;
|
|
78
51
|
}
|
|
79
52
|
};
|
|
80
53
|
exports.SessionService = SessionService;
|
|
81
|
-
__decorate([
|
|
82
|
-
(0, core_1.InjectClient)(cache_manager_1.CachingFactory, 'session'),
|
|
83
|
-
__metadata("design:type", Object)
|
|
84
|
-
], SessionService.prototype, "sessionCache", void 0);
|
|
85
|
-
__decorate([
|
|
86
|
-
(0, core_1.Config)('session'),
|
|
87
|
-
__metadata("design:type", Object)
|
|
88
|
-
], SessionService.prototype, "sessionOption", void 0);
|
|
89
54
|
exports.SessionService = SessionService = __decorate([
|
|
90
|
-
(0, core_1.Provide)(),
|
|
55
|
+
(0, core_1.Provide)(session_service_interface_1.DEFAULT_SESSION_SERVICE_KEY),
|
|
91
56
|
(0, core_1.Scope)(core_1.ScopeEnum.Request, { allowDowngrade: true })
|
|
92
57
|
], SessionService);
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2Uvc2Vzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLGFBQWE7QUFDYix5Q0FBaUY7QUFDakYsa0ZBQWtHO0FBQ2xHLDBFQUFxSTtBQUk5SCxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFlLFNBQVEsMkNBQWU7SUFDL0M7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQUMsRUFBVTtRQUM1QixNQUFNLEdBQUcsR0FBRyxJQUFJLDRCQUFrQixFQUFFLENBQUM7UUFDckMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDWixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQXFCLEdBQUcsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sR0FBRyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUNEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBVTtRQUNuQixNQUFNLEdBQUcsR0FBRyxJQUFJLG1CQUFTLEVBQUUsQ0FBQztRQUM1QixHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNaLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBWSxHQUFHLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDL0IsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBWTtRQUMxQixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsOEJBQThCLEVBQUU7WUFDbEUsSUFBSSxFQUFFO2dCQUNGLElBQUk7YUFDUDtTQUNKLENBQUMsQ0FBQztRQUNILElBQUcsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQUUsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSixDQUFBO0FBdENZLHdDQUFjO3lCQUFkLGNBQWM7SUFGMUIsSUFBQSxjQUFPLEVBQUMsdURBQTJCLENBQUM7SUFDcEMsSUFBQSxZQUFLLEVBQUMsZ0JBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUM7R0FDdEMsY0FBYyxDQXNDMUIifQ==
|
|
@@ -16,7 +16,7 @@ const fs = require("fs");
|
|
|
16
16
|
const url = require("url");
|
|
17
17
|
const TxCos = require("@fefeding/common/dist/utils/txCos");
|
|
18
18
|
const lodash_1 = require("lodash");
|
|
19
|
-
const base_service_1 = require("../
|
|
19
|
+
const base_service_1 = require("../types/base.service");
|
|
20
20
|
let TencentService = class TencentService extends base_service_1.BaseService {
|
|
21
21
|
tencentCredentialConfig;
|
|
22
22
|
cosFileOption;
|
|
@@ -84,4 +84,4 @@ exports.TencentService = TencentService = __decorate([
|
|
|
84
84
|
(0, core_1.Provide)(),
|
|
85
85
|
(0, core_1.Scope)(core_1.ScopeEnum.Request, { allowDowngrade: true })
|
|
86
86
|
], TencentService);
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuY2VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2UvdGVuY2VudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLGFBQWE7QUFDYix5Q0FBZ0Y7QUFDaEYseUJBQXlCO0FBQ3pCLDJCQUEyQjtBQUMzQiwyREFBMkQ7QUFDM0QsbUNBQXVDO0FBQ3ZDLHdEQUFvRDtBQVM3QyxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFlLFNBQVEsMEJBQVc7SUFHM0MsdUJBQXVCLENBRXJCO0lBR0YsYUFBYSxDQWFaO0lBQ0QsV0FBVztJQUNYLFNBQVMsQ0FBQyxJQUFZO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFDbEYsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztZQUM5QixvRkFBb0Y7WUFDcEYsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLHFGQUFxRjtZQUNyRixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7U0FDOUIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELE9BQU87SUFDUCxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQVcsRUFBRSxRQUFnQixFQUFFLEdBQUcsR0FBQyxTQUFTLEVBQUUsT0FBTyxHQUFHLEVBQUUsRUFBRSxNQUFNLEdBQUcsU0FBUztRQUM5RixNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0MsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsU0FBUztJQUNULEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBVyxFQUFFLElBQStCLEVBQUUsR0FBRyxHQUFDLFNBQVMsRUFBRSxPQUFPLEdBQUcsRUFBRSxFQUFFLE1BQU0sR0FBRyxTQUFTO1FBQzdHLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBRyxJQUFBLHNCQUFhLEVBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzVDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLEdBQUc7WUFDTixHQUFHLE1BQU0sQ0FBQyxPQUFPO1lBQ2pCLEdBQUcsT0FBTztTQUNiLENBQUM7UUFDRixNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDOUIsR0FBRyxNQUFNO1lBQ1QsR0FBRyxFQUFFLEdBQUc7WUFDUixJQUFJLEVBQUUsSUFBSTtZQUNWLE9BQU8sRUFBRSxPQUFPO1NBQ25CLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FNeEIsQ0FBQztRQUVGLElBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1osR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEQsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixLQUFLLENBQUMsYUFBYSxDQUFDLEdBQVcsRUFBRSxHQUFHLEdBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxTQUFTO1FBRTlELElBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNOLE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxDQUFDLFlBQVksQ0FBQztZQUNqQyxHQUFHLE1BQU07WUFDVCxHQUFHLEVBQUUsR0FBRztZQUNSLElBQUksRUFBRSxJQUFJO1NBQ2IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFXLENBQUM7UUFFckMsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0NBRUosQ0FBQTtBQXZGWSx3Q0FBYztBQUd2QjtJQURDLElBQUEsYUFBTSxFQUFDLG1CQUFtQixDQUFDOzsrREFHMUI7QUFHRjtJQURDLElBQUEsYUFBTSxFQUFDLGtCQUFrQixDQUFDOztxREFjMUI7eUJBckJRLGNBQWM7SUFGMUIsSUFBQSxjQUFPLEdBQUU7SUFDVCxJQUFBLFlBQUssRUFBQyxnQkFBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQztHQUN0QyxjQUFjLENBdUYxQiJ9
|
|
@@ -25,4 +25,4 @@ __decorate([
|
|
|
25
25
|
(0, core_1.Inject)(),
|
|
26
26
|
__metadata("design:type", Object)
|
|
27
27
|
], BaseController.prototype, "ctx", void 0);
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2Jhc2UuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSxhQUFhO0FBQ2IseUNBQTZDO0FBSTdDLE1BQXNCLGNBQWM7SUFFdEIsR0FBRyxDQUFjO0lBR2pCLEdBQUcsQ0FBVTtDQUMxQjtBQU5ELHdDQU1DO0FBSmE7SUFEVCxJQUFBLFVBQUcsR0FBRTs7MkNBQ3FCO0FBR2pCO0lBRFQsSUFBQSxhQUFNLEdBQUU7OzJDQUNjIn0=
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseModelService = void 0;
|
|
4
|
+
const base_service_1 = require("./base.service");
|
|
5
|
+
const enumType_1 = require("@fefeding/common/dist/models/base/enumType");
|
|
6
|
+
class BaseModelService extends base_service_1.BaseService {
|
|
7
|
+
/**
|
|
8
|
+
* 保存
|
|
9
|
+
* @param u 对象orm
|
|
10
|
+
*/
|
|
11
|
+
async save(entity, qryRunner) {
|
|
12
|
+
if (this.ctx?.currentSession?.loginId) {
|
|
13
|
+
entity.updater = this.ctx.currentSession.loginId;
|
|
14
|
+
}
|
|
15
|
+
if (qryRunner) {
|
|
16
|
+
return await qryRunner.manager.save(entity);
|
|
17
|
+
}
|
|
18
|
+
const res = await this.model.save(entity);
|
|
19
|
+
return res;
|
|
20
|
+
}
|
|
21
|
+
/** update 和 create都可以用insert */
|
|
22
|
+
async insert(data) {
|
|
23
|
+
const isArray = Array.isArray(data);
|
|
24
|
+
const updater = this.ctx.currentSession?.loginId;
|
|
25
|
+
const entities = (isArray ? data : [data]).map(it => this.model.create({
|
|
26
|
+
/** creator 优先用it的,updater优先用当前用户的 */
|
|
27
|
+
creator: updater,
|
|
28
|
+
...it,
|
|
29
|
+
updater,
|
|
30
|
+
}));
|
|
31
|
+
const models = await this.model.save(entities);
|
|
32
|
+
return isArray ? models : models[0];
|
|
33
|
+
}
|
|
34
|
+
async update(data, repo) {
|
|
35
|
+
let entities;
|
|
36
|
+
let isArray = false;
|
|
37
|
+
if (Array.isArray(data)) {
|
|
38
|
+
isArray = true;
|
|
39
|
+
entities = data;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
entities = [data];
|
|
43
|
+
}
|
|
44
|
+
const updater = this.ctx.currentSession?.loginId;
|
|
45
|
+
repo = repo || this.model;
|
|
46
|
+
const models = await repo.save(entities.map(o => {
|
|
47
|
+
return this.model.create({
|
|
48
|
+
...o,
|
|
49
|
+
updater,
|
|
50
|
+
});
|
|
51
|
+
}));
|
|
52
|
+
return isArray ? models : models[0];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* 删除对象
|
|
56
|
+
*/
|
|
57
|
+
async delete(data, repo) {
|
|
58
|
+
repo = repo || this.model;
|
|
59
|
+
if (Array.isArray(data)) {
|
|
60
|
+
for (const m of data) {
|
|
61
|
+
await this.delete(m, repo);
|
|
62
|
+
}
|
|
63
|
+
return data;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
// 标记为已删除
|
|
67
|
+
data.valid = enumType_1.EValid.Unvalid;
|
|
68
|
+
return await repo.save(data);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async findAndCount(where, options) {
|
|
72
|
+
const { select, order = { createTime: 'DESC' }, page = 1, size = 20, relations, } = options || {};
|
|
73
|
+
const skip = (Number(page) - 1) * Number(size);
|
|
74
|
+
let take = Number(size);
|
|
75
|
+
if (take > 10000)
|
|
76
|
+
take = 10000;
|
|
77
|
+
console.log('find count', where, skip, take);
|
|
78
|
+
const [rows, count] = await Promise.all([
|
|
79
|
+
this.model.find({ where, select, order, skip, take, relations }),
|
|
80
|
+
this.model.countBy(where),
|
|
81
|
+
]);
|
|
82
|
+
return { rows, count };
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.BaseModelService = BaseModelService;
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2RlbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2Jhc2UubW9kZWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFXQSxpREFBNkM7QUFDN0MseUVBQW9FO0FBY3BFLE1BQXNCLGdCQUF1QyxTQUFRLDBCQUFXO0lBRzVFOzs7T0FHRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBUyxFQUFFLFNBQXVCO1FBQ3pDLElBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDbkMsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFDckQsQ0FBQztRQUNELElBQUcsU0FBUyxFQUFFLENBQUM7WUFDWCxPQUFPLE1BQU0sU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQsZ0NBQWdDO0lBQ3pCLEtBQUssQ0FBQyxNQUFNLENBQ2YsSUFBdUM7UUFFdkMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUM7UUFDakQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUNoRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNkLHFDQUFx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
|
|
@@ -2,7 +2,7 @@ import { Application, Context } from '@midwayjs/koa';
|
|
|
2
2
|
import type { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
3
3
|
import request from '@fefeding/common/dist/models/base/request';
|
|
4
4
|
import response from '@fefeding/common/dist/models/base/response';
|
|
5
|
-
export declare class BaseService {
|
|
5
|
+
export declare abstract class BaseService {
|
|
6
6
|
protected app: Application;
|
|
7
7
|
ctx: Context;
|
|
8
8
|
baseServiceOption: {
|
|
@@ -83,4 +83,4 @@ __decorate([
|
|
|
83
83
|
(0, core_1.Config)('apiOption'),
|
|
84
84
|
__metadata("design:type", Object)
|
|
85
85
|
], BaseService.prototype, "apiOption", void 0);
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2Jhc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxhQUFhO0FBQ2IseUNBQXFEO0FBT3JELHlEQUFrRDtBQUNsRCw0Q0FBK0M7QUFFL0MsTUFBc0IsV0FBVztJQUVuQixHQUFHLENBQWM7SUFHcEIsR0FBRyxDQUFVO0lBR3BCLGlCQUFpQixDQUloQjtJQUNELFVBQVU7SUFFVixTQUFTLENBRVA7SUFFRjs7O09BR0c7SUFDSCxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQWtCLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRSxPQUFPO1FBQzFFLE9BQU8sT0FBTyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGNBQWMsQ0FBcUIsR0FBbUIsRUFBRSxNQUEyQjtRQUNyRixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBSSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekQsT0FBTyxHQUFHLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFnQixHQUFtQixFQUFFLE1BRTNEO1FBQ0csTUFBTSxHQUFHO1lBQ0wsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUc7WUFDbkMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxJQUFJLEVBQUU7WUFDcEMsR0FBRyxNQUFNO1NBQ1UsQ0FBQztRQUV4QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsQixNQUFNLFNBQVMsR0FBRyxhQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2RCxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztZQUN4QyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1lBRWpEOzs7ZUFHRztRQUNQLENBQUM7UUFDRCxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7UUFDOUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDNUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQy9FLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzVCLDJCQUEyQjtRQUMzQixNQUFNLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN6QixhQUFhO1FBQ2IsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFBLHVCQUFhLEVBQXdCLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRSxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7Q0FDSjtBQXRFRCxrQ0FzRUM7QUFwRWE7SUFEVCxJQUFBLFVBQUcsR0FBRTs7d0NBQ3FCO0FBR3BCO0lBRE4sSUFBQSxhQUFNLEdBQUU7O3dDQUNXO0FBR3BCO0lBREMsSUFBQSxhQUFNLEVBQUMsYUFBYSxDQUFDOztzREFLckI7QUFHRDtJQURDLElBQUEsYUFBTSxFQUFDLFdBQVcsQ0FBQzs7OENBR2xCIn0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ObjectIdentifier } from '@midwayjs/core';
|
|
2
|
+
import { MidwayCache } from '@midwayjs/cache-manager';
|
|
3
|
+
import { BaseService } from './base.service';
|
|
4
|
+
import { Session } from '@fefeding/common/dist/models/account/session';
|
|
5
|
+
export declare const DEFAULT_SESSION_SERVICE_KEY: ObjectIdentifier;
|
|
6
|
+
export declare abstract class ISessionService extends BaseService {
|
|
7
|
+
sessionCache: MidwayCache;
|
|
8
|
+
sessionOption: {
|
|
9
|
+
timeout: number;
|
|
10
|
+
secretKey: string;
|
|
11
|
+
serviceKey: ObjectIdentifier;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* 根据ID获取session
|
|
15
|
+
* 并判断session是否在有效期
|
|
16
|
+
* @param id token唯一
|
|
17
|
+
*/
|
|
18
|
+
abstract getLoginSession(id: string): Promise<Session>;
|
|
19
|
+
/**
|
|
20
|
+
* 下线
|
|
21
|
+
* @param id 需要下线的id或者session
|
|
22
|
+
*/
|
|
23
|
+
abstract logout(id: string): Promise<any>;
|
|
24
|
+
/**
|
|
25
|
+
* 用临时码登陆
|
|
26
|
+
* @param code 登陆临时码
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
abstract loginByCode(code: string): Promise<Session>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ISessionService = exports.DEFAULT_SESSION_SERVICE_KEY = void 0;
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
const core_1 = require("@midwayjs/core");
|
|
15
|
+
const cache_manager_1 = require("@midwayjs/cache-manager");
|
|
16
|
+
const base_service_1 = require("./base.service");
|
|
17
|
+
// 定义服务标识符常量
|
|
18
|
+
exports.DEFAULT_SESSION_SERVICE_KEY = 'default:session:service';
|
|
19
|
+
class ISessionService extends base_service_1.BaseService {
|
|
20
|
+
sessionCache;
|
|
21
|
+
sessionOption;
|
|
22
|
+
}
|
|
23
|
+
exports.ISessionService = ISessionService;
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, core_1.InjectClient)(cache_manager_1.CachingFactory, 'session'),
|
|
26
|
+
__metadata("design:type", Object)
|
|
27
|
+
], ISessionService.prototype, "sessionCache", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, core_1.Config)('session'),
|
|
30
|
+
__metadata("design:type", Object)
|
|
31
|
+
], ISessionService.prototype, "sessionOption", void 0);
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9zZXNzaW9uLnNlcnZpY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLGFBQWE7QUFDYix5Q0FBbUc7QUFDbkcsMkRBQXNFO0FBQ3RFLGlEQUE2QztBQUc3QyxZQUFZO0FBQ0MsUUFBQSwyQkFBMkIsR0FBRyx5QkFBNkMsQ0FBQztBQUV6RixNQUFzQixlQUFnQixTQUFRLDBCQUFXO0lBR3JELFlBQVksQ0FBYztJQUcxQixhQUFhLENBSVo7Q0FxQko7QUEvQkQsMENBK0JDO0FBNUJHO0lBREMsSUFBQSxtQkFBWSxFQUFDLDhCQUFjLEVBQUUsU0FBUyxDQUFDOztxREFDZDtBQUcxQjtJQURDLElBQUEsYUFBTSxFQUFDLFNBQVMsQ0FBQzs7c0RBS2pCIn0=
|
package/package.json
CHANGED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseModelService = void 0;
|
|
4
|
-
const base_service_1 = require("./base.service");
|
|
5
|
-
const enumType_1 = require("@fefeding/common/dist/models/base/enumType");
|
|
6
|
-
class BaseModelService extends base_service_1.BaseService {
|
|
7
|
-
/**
|
|
8
|
-
* 保存
|
|
9
|
-
* @param u 对象orm
|
|
10
|
-
*/
|
|
11
|
-
async save(entity, qryRunner) {
|
|
12
|
-
if (this.ctx?.currentSession?.loginId) {
|
|
13
|
-
entity.updater = this.ctx.currentSession.loginId;
|
|
14
|
-
}
|
|
15
|
-
if (qryRunner) {
|
|
16
|
-
return await qryRunner.manager.save(entity);
|
|
17
|
-
}
|
|
18
|
-
const res = await this.model.save(entity);
|
|
19
|
-
return res;
|
|
20
|
-
}
|
|
21
|
-
/** update 和 create都可以用insert */
|
|
22
|
-
async insert(data) {
|
|
23
|
-
const isArray = Array.isArray(data);
|
|
24
|
-
const updater = this.ctx.currentSession?.loginId;
|
|
25
|
-
const entities = (isArray ? data : [data]).map(it => this.model.create({
|
|
26
|
-
/** creator 优先用it的,updater优先用当前用户的 */
|
|
27
|
-
creator: updater,
|
|
28
|
-
...it,
|
|
29
|
-
updater,
|
|
30
|
-
}));
|
|
31
|
-
const models = await this.model.save(entities);
|
|
32
|
-
return isArray ? models : models[0];
|
|
33
|
-
}
|
|
34
|
-
async update(data, repo) {
|
|
35
|
-
let entities;
|
|
36
|
-
let isArray = false;
|
|
37
|
-
if (Array.isArray(data)) {
|
|
38
|
-
isArray = true;
|
|
39
|
-
entities = data;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
entities = [data];
|
|
43
|
-
}
|
|
44
|
-
const updater = this.ctx.currentSession?.loginId;
|
|
45
|
-
repo = repo || this.model;
|
|
46
|
-
const models = await repo.save(entities.map(o => {
|
|
47
|
-
return this.model.create({
|
|
48
|
-
...o,
|
|
49
|
-
updater,
|
|
50
|
-
});
|
|
51
|
-
}));
|
|
52
|
-
return isArray ? models : models[0];
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* 删除对象
|
|
56
|
-
*/
|
|
57
|
-
async delete(data, repo) {
|
|
58
|
-
repo = repo || this.model;
|
|
59
|
-
if (Array.isArray(data)) {
|
|
60
|
-
for (const m of data) {
|
|
61
|
-
await this.delete(m, repo);
|
|
62
|
-
}
|
|
63
|
-
return data;
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
// 标记为已删除
|
|
67
|
-
data.valid = enumType_1.EValid.Unvalid;
|
|
68
|
-
return await repo.save(data);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
async findAndCount(where, options) {
|
|
72
|
-
const { select, order = { createTime: 'DESC' }, page = 1, size = 20, relations, } = options || {};
|
|
73
|
-
const skip = (Number(page) - 1) * Number(size);
|
|
74
|
-
let take = Number(size);
|
|
75
|
-
if (take > 10000)
|
|
76
|
-
take = 10000;
|
|
77
|
-
console.log('find count', where, skip, take);
|
|
78
|
-
const [rows, count] = await Promise.all([
|
|
79
|
-
this.model.find({ where, select, order, skip, take, relations }),
|
|
80
|
-
this.model.countBy(where),
|
|
81
|
-
]);
|
|
82
|
-
return { rows, count };
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
exports.BaseModelService = BaseModelService;
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2RlbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jhc2UvYmFzZS5tb2RlbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVdBLGlEQUE2QztBQUM3Qyx5RUFBb0U7QUFjcEUsTUFBc0IsZ0JBQXVDLFNBQVEsMEJBQVc7SUFHNUU7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFTLEVBQUUsU0FBdUI7UUFDekMsSUFBRyxJQUFJLENBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNuQyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQUNyRCxDQUFDO1FBQ0QsSUFBRyxTQUFTLEVBQUUsQ0FBQztZQUNYLE9BQU8sTUFBTSxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRCxnQ0FBZ0M7SUFDekIsS0FBSyxDQUFDLE1BQU0sQ0FDZixJQUF1QztRQUV2QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQztRQUNqRCxNQUFNLFFBQVEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2QscUNBQXFD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
|
|
File without changes
|
|
File without changes
|