@cicctencent/midwayjs-base 1.0.35 → 1.0.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +347 -1
- package/dist/types/config/config.default.d.ts +3 -0
- package/dist/types/config/config.default.js +171 -0
- package/dist/types/config/env.js +52 -0
- package/dist/{configuration.js → types/configuration.js} +44 -20
- package/dist/{filter → types/filter}/default.filter.js +1 -2
- package/dist/{filter → types/filter}/notfound.filter.js +1 -3
- package/dist/{guard → types/guard}/api.d.ts +0 -3
- package/dist/types/guard/api.js +77 -0
- package/dist/{guard → types/guard}/auth.d.ts +0 -3
- package/dist/types/guard/auth.js +182 -0
- package/dist/{index.js → types/index.js} +27 -6
- package/dist/types/lib/decorator.d.ts +6 -0
- package/dist/types/lib/decorator.js +48 -0
- package/dist/types/lib/jwt.d.ts +34 -0
- package/dist/types/lib/jwt.js +59 -0
- package/dist/{lib → types/lib}/request.d.ts +0 -5
- package/dist/{lib → types/lib}/request.js +1 -1
- package/dist/{lib → types/lib}/utils.d.ts +1 -7
- package/dist/types/lib/utils.js +78 -0
- package/dist/types/middleware/apiResultFormatter.d.ts +7 -0
- package/dist/types/middleware/apiResultFormatter.js +83 -0
- package/dist/types/middleware/detect.middleware.d.ts +4 -0
- package/dist/types/middleware/detect.middleware.js +58 -0
- package/dist/types/middleware/requestInit.d.ts +7 -0
- package/dist/types/middleware/requestInit.js +139 -0
- package/dist/types/service/session.service.d.ts +9 -0
- package/dist/types/service/session.service.js +56 -0
- package/dist/types/service/tencent.service.d.ts +37 -0
- package/dist/types/service/tencent.service.js +132 -0
- package/dist/types/{base.controller.js → types/base.controller.js} +1 -4
- package/dist/types/{base.model.service.d.ts → types/base.model.service.d.ts} +1 -9
- package/dist/types/types/base.model.service.js +76 -0
- package/dist/types/{base.service.d.ts → types/base.service.d.ts} +1 -10
- package/dist/types/types/base.service.js +70 -0
- package/dist/types/{session.service.interface.d.ts → types/session.service.interface.d.ts} +1 -15
- package/dist/types/{session.service.interface.js → types/session.service.interface.js} +1 -5
- package/package.json +4 -1
- package/dist/config/config.default.d.ts +0 -3
- package/dist/config/config.default.js +0 -160
- package/dist/config/env.js +0 -19
- package/dist/guard/api.js +0 -88
- package/dist/guard/auth.js +0 -202
- package/dist/lib/decorator.d.ts +0 -36
- package/dist/lib/decorator.js +0 -79
- package/dist/lib/jwt.d.ts +0 -135
- package/dist/lib/jwt.js +0 -38
- package/dist/lib/utils.js +0 -89
- package/dist/middleware/apiResultFormatter.d.ts +0 -8
- package/dist/middleware/apiResultFormatter.js +0 -84
- package/dist/middleware/detect.middleware.d.ts +0 -5
- package/dist/middleware/detect.middleware.js +0 -61
- package/dist/middleware/requestInit.d.ts +0 -8
- package/dist/middleware/requestInit.js +0 -100
- package/dist/service/session.service.d.ts +0 -33
- package/dist/service/session.service.js +0 -81
- package/dist/service/tencent.service.d.ts +0 -45
- package/dist/service/tencent.service.js +0 -105
- package/dist/types/base.model.service.js +0 -86
- package/dist/types/base.service.js +0 -86
- /package/dist/{config → types/config}/env.d.ts +0 -0
- /package/dist/{configuration.d.ts → types/configuration.d.ts} +0 -0
- /package/dist/{filter → types/filter}/default.filter.d.ts +0 -0
- /package/dist/{filter → types/filter}/notfound.filter.d.ts +0 -0
- /package/dist/{index.d.ts → types/index.d.ts} +0 -0
- /package/dist/types/{base.controller.d.ts → types/base.controller.d.ts} +0 -0
|
@@ -1,100 +0,0 @@
|
|
|
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.RequestInitMiddleware = void 0;
|
|
13
|
-
const core_1 = require("@midwayjs/core");
|
|
14
|
-
const uuid_1 = require("uuid");
|
|
15
|
-
const ip = require("ip");
|
|
16
|
-
const logger_1 = require("@fefeding/common/dist/utils/logger");
|
|
17
|
-
let RequestInitMiddleware = class RequestInitMiddleware {
|
|
18
|
-
loggerConfig;
|
|
19
|
-
// 静态文件扩展名列表
|
|
20
|
-
staticExtensions = [
|
|
21
|
-
'.js', '.css', '.jpg', '.png', '.ico', '.svg',
|
|
22
|
-
'.woff', '.woff2', '.ttf', '.eot', '.map'
|
|
23
|
-
];
|
|
24
|
-
ignore(ctx) {
|
|
25
|
-
const isStaticFile = this.staticExtensions.some(ext => ctx.path.toLowerCase().endsWith(ext));
|
|
26
|
-
// 下面的路由将忽略此中间件
|
|
27
|
-
return isStaticFile || ctx.path === '/' || !ctx.path;
|
|
28
|
-
}
|
|
29
|
-
resolve() {
|
|
30
|
-
return async (ctx, next) => {
|
|
31
|
-
const body = (ctx.request.body || {});
|
|
32
|
-
let request_id = ctx.URL.searchParams.get('request_id') || body.request_id ||
|
|
33
|
-
ctx.request.header['x-request-id'] ||
|
|
34
|
-
ctx.cookies.get('request_id', {
|
|
35
|
-
signed: false,
|
|
36
|
-
});
|
|
37
|
-
if (!request_id)
|
|
38
|
-
request_id = (0, uuid_1.v4)().replace(/-/g, '');
|
|
39
|
-
ctx.request_id = request_id;
|
|
40
|
-
//console.log('request start', request_id, ctx.url);
|
|
41
|
-
const logger = new logger_1.default({
|
|
42
|
-
remoteUrl: this.loggerConfig?.remoteUrl,
|
|
43
|
-
serviceName: process.env.SERVICE_NAME,
|
|
44
|
-
logLevel: this.loggerConfig?.level,
|
|
45
|
-
requestId: ctx.request_id || '',
|
|
46
|
-
loginId: ctx.currentSession?.loginId || '',
|
|
47
|
-
userId: (ctx.currentSession?.userId || '').toString(),
|
|
48
|
-
clientIP: ctx.detect?.CLIENTIP || ctx.ip || '',
|
|
49
|
-
serverIP: ip.address() || '',
|
|
50
|
-
url: ctx.url,
|
|
51
|
-
});
|
|
52
|
-
// 将logger挂载到ctx上
|
|
53
|
-
ctx.logger = logger;
|
|
54
|
-
// 记录请求开始时间
|
|
55
|
-
const startTime = Date.now();
|
|
56
|
-
try {
|
|
57
|
-
// 继续处理请求
|
|
58
|
-
let result = await next();
|
|
59
|
-
const logData = {
|
|
60
|
-
requestId: ctx.request_id,
|
|
61
|
-
method: ctx.method,
|
|
62
|
-
status: ctx.status,
|
|
63
|
-
result,
|
|
64
|
-
responseTime: Date.now() - startTime
|
|
65
|
-
};
|
|
66
|
-
if (typeof logData.result === 'string') {
|
|
67
|
-
logData.result = logData.result.substring(0, 500);
|
|
68
|
-
}
|
|
69
|
-
// 记录成功响应
|
|
70
|
-
//logger.info('Request completed', logData);
|
|
71
|
-
return result;
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
// 记录错误响应
|
|
75
|
-
logger.error('Request failed', {
|
|
76
|
-
requestId: ctx.request_id,
|
|
77
|
-
method: ctx.method,
|
|
78
|
-
url: ctx.href,
|
|
79
|
-
error: {
|
|
80
|
-
name: error.name,
|
|
81
|
-
message: error.message,
|
|
82
|
-
stack: error.stack
|
|
83
|
-
},
|
|
84
|
-
responseTime: Date.now() - startTime
|
|
85
|
-
});
|
|
86
|
-
// 将错误继续抛出,由全局异常处理器处理
|
|
87
|
-
throw error;
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
exports.RequestInitMiddleware = RequestInitMiddleware;
|
|
93
|
-
__decorate([
|
|
94
|
-
(0, core_1.Config)('logger'),
|
|
95
|
-
__metadata("design:type", Object)
|
|
96
|
-
], RequestInitMiddleware.prototype, "loggerConfig", void 0);
|
|
97
|
-
exports.RequestInitMiddleware = RequestInitMiddleware = __decorate([
|
|
98
|
-
(0, core_1.Middleware)()
|
|
99
|
-
], RequestInitMiddleware);
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdEluaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWlkZGxld2FyZS9yZXF1ZXN0SW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBaUU7QUFFakUsK0JBQWtDO0FBQ2xDLHlCQUF5QjtBQUN6QiwrREFBd0Q7QUFHakQsSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBcUI7SUFFOUIsWUFBWSxDQUFNO0lBQ2xCLFlBQVk7SUFDSixnQkFBZ0IsR0FBRztRQUN2QixLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU07UUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU07S0FDNUMsQ0FBQztJQUNGLE1BQU0sQ0FBQyxHQUFZO1FBQ2YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUNwRCxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FDckMsQ0FBQztRQUNGLGVBQWU7UUFDZixPQUFPLFlBQVksSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDdkQsQ0FBQztJQUNILE9BQU87UUFDSCxPQUFPLEtBQUssRUFBRSxHQUFZLEVBQUUsSUFBa0IsRUFBRSxFQUFFO1lBQzlDLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFRLENBQUM7WUFDN0MsSUFBSSxVQUFVLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVO2dCQUN0RSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FB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
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { ISessionService } from '../types/session.service.interface';
|
|
2
|
-
import { Session, LoginByWxReq, LoginByWxRsp, LoginByAccountReq, LoginByAccountRsp } from '@fefeding/common/dist/models/account/session';
|
|
3
|
-
export declare class SessionService extends ISessionService {
|
|
4
|
-
/**
|
|
5
|
-
* 根据ID获取session
|
|
6
|
-
* 并判断session是否在有效期
|
|
7
|
-
* @param id token唯一
|
|
8
|
-
*/
|
|
9
|
-
getLoginSession(id: string): Promise<Session>;
|
|
10
|
-
/**
|
|
11
|
-
* 下线
|
|
12
|
-
* @param id 需要下线的id或者session
|
|
13
|
-
*/
|
|
14
|
-
logout(id: string): Promise<any>;
|
|
15
|
-
/**
|
|
16
|
-
* 用临时码登陆
|
|
17
|
-
* @param code 登陆临时码
|
|
18
|
-
* @returns
|
|
19
|
-
*/
|
|
20
|
-
loginByCode(code: 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
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.SessionService = void 0;
|
|
10
|
-
// @ts-ignore
|
|
11
|
-
const core_1 = require("@midwayjs/core");
|
|
12
|
-
const session_service_interface_1 = require("../types/session.service.interface");
|
|
13
|
-
const session_1 = require("@fefeding/common/dist/models/account/session");
|
|
14
|
-
let SessionService = class SessionService extends session_service_interface_1.ISessionService {
|
|
15
|
-
/**
|
|
16
|
-
* 根据ID获取session
|
|
17
|
-
* 并判断session是否在有效期
|
|
18
|
-
* @param id token唯一
|
|
19
|
-
*/
|
|
20
|
-
async getLoginSession(id) {
|
|
21
|
-
const req = new session_1.GetLoginSessionReq();
|
|
22
|
-
req.id = id;
|
|
23
|
-
const res = await this.requestBaseApi(req);
|
|
24
|
-
return res?.data || null;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* 下线
|
|
28
|
-
* @param id 需要下线的id或者session
|
|
29
|
-
*/
|
|
30
|
-
async logout(id) {
|
|
31
|
-
const req = new session_1.LogoutReq();
|
|
32
|
-
req.id = id;
|
|
33
|
-
const res = await this.requestBaseApi(req);
|
|
34
|
-
this.ctx.currentSession = null;
|
|
35
|
-
return res;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* 用临时码登陆
|
|
39
|
-
* @param code 登陆临时码
|
|
40
|
-
* @returns
|
|
41
|
-
*/
|
|
42
|
-
async loginByCode(code) {
|
|
43
|
-
const res = await this.requestBaseApi('/api/session/loginByAuthCode', {
|
|
44
|
-
data: {
|
|
45
|
-
code
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
if (res.ret === 0)
|
|
49
|
-
return res.data;
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* 登录接口
|
|
54
|
-
* @param loginParams 登录参数
|
|
55
|
-
* @returns
|
|
56
|
-
*/
|
|
57
|
-
async loginByWx(loginParams) {
|
|
58
|
-
const req = new session_1.LoginByWxReq();
|
|
59
|
-
req.fromJSON(loginParams);
|
|
60
|
-
const res = await this.requestBaseApi(req);
|
|
61
|
-
return res;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* 帐号登陆
|
|
65
|
-
* @param loginParams
|
|
66
|
-
* @returns
|
|
67
|
-
*/
|
|
68
|
-
async loginByAccount(loginParams) {
|
|
69
|
-
loginParams.appId = '0'; //this.baseServiceOption.appId?.toString() || '0';
|
|
70
|
-
const req = new session_1.LoginByAccountReq();
|
|
71
|
-
req.fromJSON(loginParams);
|
|
72
|
-
const res = await this.requestBaseApi(req);
|
|
73
|
-
return res;
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
exports.SessionService = SessionService;
|
|
77
|
-
exports.SessionService = SessionService = __decorate([
|
|
78
|
-
(0, core_1.Provide)(session_service_interface_1.DEFAULT_SESSION_SERVICE_KEY),
|
|
79
|
-
(0, core_1.Scope)(core_1.ScopeEnum.Request, { allowDowngrade: true })
|
|
80
|
-
], SessionService);
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2Uvc2Vzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLGFBQWE7QUFDYix5Q0FBaUY7QUFDakYsa0ZBQWtHO0FBQ2xHLDBFQUF1TTtBQUloTSxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFlLFNBQVEsMkNBQWU7SUFDL0M7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQUMsRUFBVTtRQUM1QixNQUFNLEdBQUcsR0FBRyxJQUFJLDRCQUFrQixFQUFFLENBQUM7UUFDckMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDWixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQXFCLEdBQUcsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sR0FBRyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUNEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBVTtRQUNuQixNQUFNLEdBQUcsR0FBRyxJQUFJLG1CQUFTLEVBQUUsQ0FBQztRQUM1QixHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNaLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBWSxHQUFHLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDL0IsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBWTtRQUMxQixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsOEJBQThCLEVBQUU7WUFDbEUsSUFBSSxFQUFFO2dCQUNGLElBQUk7YUFDUDtTQUNKLENBQUMsQ0FBQztRQUNILElBQUcsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQUUsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUF5QjtRQUNyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLHNCQUFZLEVBQUUsQ0FBQztRQUMvQixHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBZSxHQUFHLENBQUMsQ0FBQztRQUN6RCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUE4QjtRQUMvQyxXQUFXLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFBLG1EQUFtRDtRQUUzRSxNQUFNLEdBQUcsR0FBRyxJQUFJLDJCQUFpQixFQUFFLENBQUM7UUFDcEMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxQixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQW9CLEdBQUcsQ0FBQyxDQUFDO1FBQzlELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztDQUNKLENBQUE7QUEvRFksd0NBQWM7eUJBQWQsY0FBYztJQUYxQixJQUFBLGNBQU8sRUFBQyx1REFBMkIsQ0FBQztJQUNwQyxJQUFBLFlBQUssRUFBQyxnQkFBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQztHQUN0QyxjQUFjLENBK0QxQiJ9
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import * as fs from 'fs';
|
|
2
|
-
import { BaseService } from '../types/base.service';
|
|
3
|
-
interface TencentCredentialConfig {
|
|
4
|
-
secretId: string;
|
|
5
|
-
secretKey: string;
|
|
6
|
-
}
|
|
7
|
-
export declare class TencentService extends BaseService {
|
|
8
|
-
tencentCredentialConfig: TencentCredentialConfig | {
|
|
9
|
-
[client: string]: TencentCredentialConfig;
|
|
10
|
-
};
|
|
11
|
-
cosFileOption: {
|
|
12
|
-
[key: string]: {
|
|
13
|
-
/** 存储桶的名称,格式为<bucketname-appid>,例如examplebucket-1250000000 */
|
|
14
|
-
Bucket: string;
|
|
15
|
-
Region: string;
|
|
16
|
-
Key?: string;
|
|
17
|
-
Headers?: any;
|
|
18
|
-
url?: string;
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
cosClient(name: string): any;
|
|
22
|
-
uploadCosFile(key: string, filePath: string, cos?: string, headers?: {}, client?: string): Promise<{
|
|
23
|
-
/** 对象的实体标签(Entity Tag),是对象被创建时标识对象内容的信息标签,可用于检查对象的内容是否发生变化,例如"8e0b617ca298a564c3331da28dcb50df"。此头部并不一定返回对象的 MD5 值,而是根据对象上传和加密方式而有所不同 */
|
|
24
|
-
ETag: string;
|
|
25
|
-
/** 创建的存储桶访问地址,不带 https:// 前缀,例如 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/images/1.jpg */
|
|
26
|
-
Location: string;
|
|
27
|
-
url?: string;
|
|
28
|
-
}>;
|
|
29
|
-
uploadCosData(key: string, body: string | fs.ReadStream | any, cos?: string, headers?: {}, client?: string): Promise<{
|
|
30
|
-
/** 对象的实体标签(Entity Tag),是对象被创建时标识对象内容的信息标签,可用于检查对象的内容是否发生变化,例如"8e0b617ca298a564c3331da28dcb50df"。此头部并不一定返回对象的 MD5 值,而是根据对象上传和加密方式而有所不同 */
|
|
31
|
-
ETag: string;
|
|
32
|
-
/** 创建的存储桶访问地址,不带 https:// 前缀,例如 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/images/1.jpg */
|
|
33
|
-
Location: string;
|
|
34
|
-
url?: string;
|
|
35
|
-
}>;
|
|
36
|
-
getCosFileUrl(key: string, cos?: string, client?: string): Promise<string>;
|
|
37
|
-
/**
|
|
38
|
-
* 获取文件
|
|
39
|
-
* @param key 文件key
|
|
40
|
-
* @param cos
|
|
41
|
-
* @param client
|
|
42
|
-
*/
|
|
43
|
-
getFile(key: string, cos?: string, client?: string): Promise<COS.GetObjectResult>;
|
|
44
|
-
}
|
|
45
|
-
export {};
|
|
@@ -1,105 +0,0 @@
|
|
|
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.TencentService = void 0;
|
|
13
|
-
// @ts-ignore
|
|
14
|
-
const core_1 = require("@midwayjs/core");
|
|
15
|
-
const fs = require("fs");
|
|
16
|
-
const url = require("url");
|
|
17
|
-
const TxCos = require("@fefeding/common/dist/utils/txCos");
|
|
18
|
-
const lodash_1 = require("lodash");
|
|
19
|
-
const base_service_1 = require("../types/base.service");
|
|
20
|
-
let TencentService = class TencentService extends base_service_1.BaseService {
|
|
21
|
-
tencentCredentialConfig;
|
|
22
|
-
cosFileOption;
|
|
23
|
-
// 生成client
|
|
24
|
-
cosClient(name) {
|
|
25
|
-
const config = this.tencentCredentialConfig[name] || this.tencentCredentialConfig;
|
|
26
|
-
const client = TxCos.createClient({
|
|
27
|
-
/** 固定密钥的 SecretId,可从{@link https://console.cloud.tencent.com/cam/capi|API密钥管理}获取 */
|
|
28
|
-
SecretId: config.secretId,
|
|
29
|
-
/** 固定密钥的 SecretKey,可从{@link https://console.cloud.tencent.com/cam/capi|API密钥管理}获取 */
|
|
30
|
-
SecretKey: config.secretKey,
|
|
31
|
-
});
|
|
32
|
-
return client;
|
|
33
|
-
}
|
|
34
|
-
// 上传文件
|
|
35
|
-
async uploadCosFile(key, filePath, cos = 'default', headers = {}, client = 'default') {
|
|
36
|
-
const body = fs.createReadStream(filePath);
|
|
37
|
-
return this.uploadCosData(key, body, cos, headers, client);
|
|
38
|
-
}
|
|
39
|
-
// 上传文件内容
|
|
40
|
-
async uploadCosData(key, body, cos = 'default', headers = {}, client = 'default') {
|
|
41
|
-
const option = this.cosFileOption[cos];
|
|
42
|
-
if ((0, lodash_1.isPlainObject)(body) || Array.isArray(body)) {
|
|
43
|
-
body = JSON.stringify(body);
|
|
44
|
-
}
|
|
45
|
-
headers = {
|
|
46
|
-
...option.Headers,
|
|
47
|
-
...headers,
|
|
48
|
-
};
|
|
49
|
-
const res = await TxCos.putObject({
|
|
50
|
-
...option,
|
|
51
|
-
Key: key,
|
|
52
|
-
Body: body,
|
|
53
|
-
Headers: headers
|
|
54
|
-
}, this.cosClient(client));
|
|
55
|
-
if (option.url) {
|
|
56
|
-
res.url = (new url.URL(key, option.url)).toString();
|
|
57
|
-
}
|
|
58
|
-
return res;
|
|
59
|
-
}
|
|
60
|
-
// 获取文件访问url,带有临时签名
|
|
61
|
-
async getCosFileUrl(key, cos = 'default', client = 'default') {
|
|
62
|
-
if (!key) {
|
|
63
|
-
throw Error('指定文件地址');
|
|
64
|
-
}
|
|
65
|
-
const option = this.cosFileOption[cos];
|
|
66
|
-
const url = await TxCos.getObjectUrl({
|
|
67
|
-
...option,
|
|
68
|
-
Key: key,
|
|
69
|
-
Sign: true,
|
|
70
|
-
}, this.cosClient(client));
|
|
71
|
-
return url;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* 获取文件
|
|
75
|
-
* @param key 文件key
|
|
76
|
-
* @param cos
|
|
77
|
-
* @param client
|
|
78
|
-
*/
|
|
79
|
-
async getFile(key, cos = 'default', client = 'default') {
|
|
80
|
-
if (!key) {
|
|
81
|
-
throw Error('指定文件地址');
|
|
82
|
-
}
|
|
83
|
-
const option = this.cosFileOption[cos];
|
|
84
|
-
const url = await TxCos.getFile({
|
|
85
|
-
...option,
|
|
86
|
-
Key: key,
|
|
87
|
-
Sign: true,
|
|
88
|
-
}, this.cosClient(client));
|
|
89
|
-
return url;
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
exports.TencentService = TencentService;
|
|
93
|
-
__decorate([
|
|
94
|
-
(0, core_1.Config)('tencentCredential'),
|
|
95
|
-
__metadata("design:type", Object)
|
|
96
|
-
], TencentService.prototype, "tencentCredentialConfig", void 0);
|
|
97
|
-
__decorate([
|
|
98
|
-
(0, core_1.Config)('tencentCosOption'),
|
|
99
|
-
__metadata("design:type", Object)
|
|
100
|
-
], TencentService.prototype, "cosFileOption", void 0);
|
|
101
|
-
exports.TencentService = TencentService = __decorate([
|
|
102
|
-
(0, core_1.Provide)(),
|
|
103
|
-
(0, core_1.Scope)(core_1.ScopeEnum.Request, { allowDowngrade: true })
|
|
104
|
-
], TencentService);
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuY2VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2UvdGVuY2VudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLGFBQWE7QUFDYix5Q0FBZ0Y7QUFDaEYseUJBQXlCO0FBQ3pCLDJCQUEyQjtBQUMzQiwyREFBMkQ7QUFDM0QsbUNBQXVDO0FBQ3ZDLHdEQUFvRDtBQVM3QyxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFlLFNBQVEsMEJBQVc7SUFHM0MsdUJBQXVCLENBRXJCO0lBR0YsYUFBYSxDQWFaO0lBQ0QsV0FBVztJQUNYLFNBQVMsQ0FBQyxJQUFZO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFDbEYsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztZQUM5QixvRkFBb0Y7WUFDcEYsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLHFGQUFxRjtZQUNyRixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7U0FDOUIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFhLENBQUM7SUFDekIsQ0FBQztJQUVELE9BQU87SUFDUCxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQVcsRUFBRSxRQUFnQixFQUFFLEdBQUcsR0FBQyxTQUFTLEVBQUUsT0FBTyxHQUFHLEVBQUUsRUFBRSxNQUFNLEdBQUcsU0FBUztRQUM5RixNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0MsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsU0FBUztJQUNULEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBVyxF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
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2RlbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2Jhc2UubW9kZWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFXQSxpREFBNkM7QUFDN0MseUVBQW9FO0FBY3BFLE1BQXNCLGdCQUF1QyxTQUFRLDBCQUFXO0lBRzVFOzs7T0FHRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBUyxFQUFFLFNBQXVCO1FBQ3pDLElBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDbkMsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFDckQsQ0FBQztRQUNELElBQUcsU0FBUyxFQUFFLENBQUM7WUFDWCxPQUFPLE1BQU0sU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQsZ0NBQWdDO0lBQ3pCLEtBQUssQ0FBQyxNQUFNLENBQ2YsSUFBdUM7UUFFdkMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUM7UUFDakQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUNoRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNkLHFDQUFxQztZQUNyQyxPQUFPLEVBQUUsT0FBTztZQUNoQixHQUFHLEVBQUU7WUFDTCxPQUFPO1NBQ1YsQ0FBQyxDQUNMLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU0sQ0FDZixJQUF1QyxFQUN2QyxJQUFvQjtRQUVwQixJQUFJLFFBQVEsQ0FBQztRQUNiLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN0QixPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ2YsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNKLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUM7UUFDakQsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRTFCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FDMUIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQ3JCLEdBQUcsQ0FBQztnQkFDSixPQUFPO2FBQ1YsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNGLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsTUFBTSxDQUNmLElBQXVDLEVBQ3ZDLElBQW9CO1FBQ2hCLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM5QixJQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyQixLQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNsQixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO2FBQ0ksQ0FBQztZQUNGLFNBQVM7WUFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLGlCQUFNLENBQUMsT0FBTyxDQUFDO1lBQzVCLE9BQU8sTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLFlBQVksQ0FDckIsS0FBa0QsRUFDbEQsT0FBb0I7UUFFcEIsTUFBTSxFQUNGLE1BQU0sRUFDTixLQUFLLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUF5QixFQUNyRCxJQUFJLEdBQUcsQ0FBQyxFQUNSLElBQUksR0FBRyxFQUFFLEVBQ1QsU0FBUyxHQUNaLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUcsSUFBSSxHQUFHLEtBQUs7WUFBRSxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBRTlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFN0MsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztTQUM1QixDQUFDLENBQUM7UUFFSCxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDSjtBQTFHRCw0Q0EwR0MifQ==
|
|
@@ -1,86 +0,0 @@
|
|
|
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.BaseService = void 0;
|
|
13
|
-
// @ts-ignore
|
|
14
|
-
const core_1 = require("@midwayjs/core");
|
|
15
|
-
const api_1 = require("@fefeding/common/dist/utils/api");
|
|
16
|
-
const request_1 = require("../lib/request");
|
|
17
|
-
class BaseService {
|
|
18
|
-
app;
|
|
19
|
-
ctx;
|
|
20
|
-
baseServiceOption;
|
|
21
|
-
// 登陆态验证配置
|
|
22
|
-
apiOption;
|
|
23
|
-
/**
|
|
24
|
-
* 是否是管理员帐号
|
|
25
|
-
* @param account
|
|
26
|
-
*/
|
|
27
|
-
async checkManager(account = this.ctx.currentSession?.account?.account) {
|
|
28
|
-
return account && this.baseServiceOption.manager?.includes(account);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* 基础服务请求
|
|
32
|
-
* @param req
|
|
33
|
-
* @param option
|
|
34
|
-
*/
|
|
35
|
-
async requestBaseApi(req, option) {
|
|
36
|
-
const res = await this.requestBaseServer(req, option);
|
|
37
|
-
return res?.data || null;
|
|
38
|
-
}
|
|
39
|
-
async requestBaseServer(req, option) {
|
|
40
|
-
option = {
|
|
41
|
-
method: 'POST',
|
|
42
|
-
baseURL: this.baseServiceOption.url,
|
|
43
|
-
accessKey: this.apiOption?.key || '',
|
|
44
|
-
...option,
|
|
45
|
-
};
|
|
46
|
-
const headers = option.headers || {};
|
|
47
|
-
if (option.accessKey) {
|
|
48
|
-
const thisToken = api_1.default.createApiToken(option.accessKey);
|
|
49
|
-
headers['x-api-token'] = thisToken.sign;
|
|
50
|
-
headers['x-api-timestamp'] = thisToken.timestamp;
|
|
51
|
-
/*if(typeof req === 'object') {
|
|
52
|
-
req.api_token = thisToken.sign;
|
|
53
|
-
req.timestamp = thisToken.timestamp;
|
|
54
|
-
}*/
|
|
55
|
-
}
|
|
56
|
-
headers['x-request-id'] = this.ctx.request_id;
|
|
57
|
-
headers['x-auth-token'] = this.ctx.currentSession?.id || '';
|
|
58
|
-
const ip = this.ctx?.detect?.CLIENTIP || (this.ctx.request?.header?.['x-client-ip'] ||
|
|
59
|
-
this.ctx.request?.header?.['x-forwarded-for'] ||
|
|
60
|
-
this.ctx.request?.ip || '').toString();
|
|
61
|
-
headers['x-client-ip'] = ip;
|
|
62
|
-
//console.log(req, option);
|
|
63
|
-
option.headers = headers;
|
|
64
|
-
// @ts-ignore
|
|
65
|
-
const res = await (0, request_1.requestServer)(req, option);
|
|
66
|
-
return res;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
exports.BaseService = BaseService;
|
|
70
|
-
__decorate([
|
|
71
|
-
(0, core_1.App)(),
|
|
72
|
-
__metadata("design:type", Object)
|
|
73
|
-
], BaseService.prototype, "app", void 0);
|
|
74
|
-
__decorate([
|
|
75
|
-
(0, core_1.Inject)(),
|
|
76
|
-
__metadata("design:type", Object)
|
|
77
|
-
], BaseService.prototype, "ctx", void 0);
|
|
78
|
-
__decorate([
|
|
79
|
-
(0, core_1.Config)('baseService'),
|
|
80
|
-
__metadata("design:type", Object)
|
|
81
|
-
], BaseService.prototype, "baseServiceOption", void 0);
|
|
82
|
-
__decorate([
|
|
83
|
-
(0, core_1.Config)('apiOption'),
|
|
84
|
-
__metadata("design:type", Object)
|
|
85
|
-
], BaseService.prototype, "apiOption", void 0);
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2Jhc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxhQUFhO0FBQ2IseUNBQXFEO0FBT3JELHlEQUFrRDtBQUNsRCw0Q0FBK0M7QUFFL0MsTUFBc0IsV0FBVztJQUVuQixHQUFHLENBQWM7SUFHcEIsR0FBRyxDQUFVO0lBR3BCLGlCQUFpQixDQUloQjtJQUNELFVBQVU7SUFFVixTQUFTLENBRVA7SUFFRjs7O09BR0c7SUFDSCxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQWtCLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRSxPQUFPO1FBQzFFLE9BQU8sT0FBTyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGNBQWMsQ0FBcUIsR0FBbUIsRUFBRSxNQUEyQjtRQUNyRixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBSSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekQsT0FBTyxHQUFHLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFnQixHQUFtQixFQUFFLE1BRTNEO1FBQ0csTUFBTSxHQUFHO1lBQ0wsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUc7WUFDbkMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxJQUFJLEVBQUU7WUFDcEMsR0FBRyxNQUFNO1NBQ1UsQ0FBQztRQUV4QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsQixNQUFNLFNBQVMsR0FBRyxhQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2RCxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztZQUN4QyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1lBRWpEOzs7ZUFHRztRQUNQLENBQUM7UUFDRCxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7UUFDOUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDNUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQy9FLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzVCLDJCQUEyQjtRQUMzQixNQUFNLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN6QixhQUFhO1FBQ2IsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFBLHVCQUFhLEVBQXdCLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRSxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7Q0FDSjtBQXRFRCxrQ0FzRUM7QUFwRWE7SUFEVCxJQUFBLFVBQUcsR0FBRTs7d0NBQ3FCO0FBR3BCO0lBRE4sSUFBQSxhQUFNLEdBQUU7O3dDQUNXO0FBR3BCO0lBREMsSUFBQSxhQUFNLEVBQUMsYUFBYSxDQUFDOztzREFLckI7QUFHRDtJQURDLElBQUEsYUFBTSxFQUFDLFdBQVcsQ0FBQzs7OENBR2xCIn0=
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|