@cicctencent/midwayjs-base 1.0.12 → 1.0.13
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 +1 -0
- package/dist/base/base.controller.d.ts +5 -0
- package/dist/base/base.controller.js +28 -0
- package/dist/base/base.model.service.d.ts +29 -0
- package/dist/base/base.model.service.js +86 -0
- package/dist/base/base.service.d.ts +28 -0
- package/dist/base/base.service.js +85 -0
- package/dist/config/config.default.d.ts +3 -0
- package/dist/config/config.default.js +144 -0
- package/dist/config/env.d.ts +1 -0
- package/dist/config/env.js +18 -0
- package/dist/configuration.d.ts +5 -0
- package/dist/configuration.js +75 -0
- package/dist/filter/default.filter.d.ts +7 -0
- package/dist/filter/default.filter.js +24 -0
- package/dist/filter/notfound.filter.d.ts +5 -0
- package/dist/filter/notfound.filter.js +22 -0
- package/dist/guard/api.d.ts +16 -0
- package/dist/guard/api.js +88 -0
- package/dist/guard/auth.d.ts +14 -0
- package/dist/guard/auth.js +149 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +37 -0
- package/dist/lib/decorator.d.ts +36 -0
- package/dist/lib/decorator.js +79 -0
- package/dist/lib/request.d.ts +7 -0
- package/dist/lib/request.js +7 -0
- package/dist/lib/utils.d.ts +15 -0
- package/dist/lib/utils.js +100 -0
- package/dist/middleware/apiResultFormatter.d.ts +7 -0
- package/dist/middleware/apiResultFormatter.js +78 -0
- package/dist/middleware/detect.middleware.d.ts +5 -0
- package/dist/middleware/detect.middleware.js +61 -0
- package/dist/middleware/requestInit.d.ts +8 -0
- package/dist/middleware/requestInit.js +100 -0
- package/dist/service/session.service.d.ts +39 -0
- package/dist/service/session.service.js +93 -0
- package/dist/service/tencent.service.d.ts +38 -0
- package/dist/service/tencent.service.js +87 -0
- package/package.json +64 -64
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
midwayjs基础组件
|
|
@@ -0,0 +1,28 @@
|
|
|
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.BaseController = void 0;
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
const core_1 = require("@midwayjs/core");
|
|
15
|
+
class BaseController {
|
|
16
|
+
app;
|
|
17
|
+
ctx;
|
|
18
|
+
}
|
|
19
|
+
exports.BaseController = BaseController;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, core_1.App)(),
|
|
22
|
+
__metadata("design:type", Object)
|
|
23
|
+
], BaseController.prototype, "app", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, core_1.Inject)(),
|
|
26
|
+
__metadata("design:type", Object)
|
|
27
|
+
], BaseController.prototype, "ctx", void 0);
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jhc2UvYmFzZS5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLGFBQWE7QUFDYix5Q0FBNkM7QUFJN0MsTUFBc0IsY0FBYztJQUV0QixHQUFHLENBQWM7SUFHakIsR0FBRyxDQUFVO0NBQzFCO0FBTkQsd0NBTUM7QUFKYTtJQURULElBQUEsVUFBRyxHQUFFOzsyQ0FDcUI7QUFHakI7SUFEVCxJQUFBLGFBQU0sR0FBRTs7MkNBQ2MifQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Repository, DeepPartial, FindOptionsWhere, FindOptionsSelect, FindOptionsOrder, FindOptionsRelations, QueryRunner } from 'typeorm';
|
|
2
|
+
import BaseEntity from '@fefeding/common/dist/models/base/baseORM';
|
|
3
|
+
import { BaseService } from './base.service';
|
|
4
|
+
export interface Options<Entity> {
|
|
5
|
+
select?: FindOptionsSelect<Entity>;
|
|
6
|
+
order?: FindOptionsOrder<Entity>;
|
|
7
|
+
page?: number;
|
|
8
|
+
size?: number;
|
|
9
|
+
relations?: FindOptionsRelations<Entity>;
|
|
10
|
+
}
|
|
11
|
+
export declare abstract class BaseModelService<K extends BaseEntity> extends BaseService {
|
|
12
|
+
protected abstract model: Repository<K>;
|
|
13
|
+
/**
|
|
14
|
+
* 保存
|
|
15
|
+
* @param u 对象orm
|
|
16
|
+
*/
|
|
17
|
+
save(entity: K, qryRunner?: QueryRunner): Promise<K>;
|
|
18
|
+
/** update 和 create都可以用insert */
|
|
19
|
+
insert(data: DeepPartial<K> | DeepPartial<K>[]): Promise<K | K[]>;
|
|
20
|
+
update(data: DeepPartial<K> | DeepPartial<K>[], repo?: Repository<K>): Promise<K>;
|
|
21
|
+
/**
|
|
22
|
+
* 删除对象
|
|
23
|
+
*/
|
|
24
|
+
delete(data: DeepPartial<K> | DeepPartial<K>[], repo?: Repository<K>): Promise<K | DeepPartial<K>[]>;
|
|
25
|
+
findAndCount(where: FindOptionsWhere<K> | FindOptionsWhere<K>[], options?: Options<K>): Promise<{
|
|
26
|
+
rows: K[];
|
|
27
|
+
count: number;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2RlbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jhc2UvYmFzZS5tb2RlbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVdBLGlEQUE2QztBQUM3Qyx5RUFBb0U7QUFjcEUsTUFBc0IsZ0JBQXVDLFNBQVEsMEJBQVc7SUFHNUU7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFTLEVBQUUsU0FBdUI7UUFDekMsSUFBRyxJQUFJLENBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNuQyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQUNyRCxDQUFDO1FBQ0QsSUFBRyxTQUFTLEVBQUUsQ0FBQztZQUNYLE9BQU8sTUFBTSxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRCxnQ0FBZ0M7SUFDekIsS0FBSyxDQUFDLE1BQU0sQ0FDZixJQUF1QztRQUV2QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQztRQUNqRCxNQUFNLFFBQVEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2QscUNBQXFD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
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Application, Context } from '@midwayjs/koa';
|
|
2
|
+
import type { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
3
|
+
import request from '@fefeding/common/dist/models/base/request';
|
|
4
|
+
import response from '@fefeding/common/dist/models/base/response';
|
|
5
|
+
export declare class BaseService {
|
|
6
|
+
protected app: Application;
|
|
7
|
+
ctx: Context;
|
|
8
|
+
baseServiceOption: {
|
|
9
|
+
manager?: Array<string>;
|
|
10
|
+
appId: number;
|
|
11
|
+
url: string;
|
|
12
|
+
};
|
|
13
|
+
apiOption: {
|
|
14
|
+
key: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* 是否是管理员帐号
|
|
18
|
+
* @param account
|
|
19
|
+
*/
|
|
20
|
+
checkManager(account?: string): Promise<boolean>;
|
|
21
|
+
/**
|
|
22
|
+
* 基础服务请求
|
|
23
|
+
* @param req
|
|
24
|
+
* @param option
|
|
25
|
+
*/
|
|
26
|
+
requestBaseApi<T extends response>(req: request | string, option?: AxiosRequestConfig): Promise<T>;
|
|
27
|
+
requestBaseServer<T extends any>(req: request | string, option?: AxiosRequestConfig): Promise<AxiosResponse<any, T>>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
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
|
+
...option,
|
|
44
|
+
};
|
|
45
|
+
const headers = option.headers || {};
|
|
46
|
+
if (this.apiOption?.key) {
|
|
47
|
+
const thisToken = api_1.default.createApiToken(this.apiOption.key);
|
|
48
|
+
headers['x-api-token'] = thisToken.sign;
|
|
49
|
+
headers['x-api-timestamp'] = thisToken.timestamp;
|
|
50
|
+
/*if(typeof req === 'object') {
|
|
51
|
+
req.api_token = thisToken.sign;
|
|
52
|
+
req.timestamp = thisToken.timestamp;
|
|
53
|
+
}*/
|
|
54
|
+
}
|
|
55
|
+
headers['x-request-id'] = this.ctx.request_id;
|
|
56
|
+
headers['x-auth-token'] = this.ctx.currentSession?.id || '';
|
|
57
|
+
const ip = this.ctx?.detect?.CLIENTIP || (this.ctx.request?.header?.['x-client-ip'] ||
|
|
58
|
+
this.ctx.request?.header?.['x-forwarded-for'] ||
|
|
59
|
+
this.ctx.request?.ip || '').toString();
|
|
60
|
+
headers['x-client-ip'] = ip;
|
|
61
|
+
//console.log(req, option);
|
|
62
|
+
option.headers = headers;
|
|
63
|
+
// @ts-ignore
|
|
64
|
+
const res = await (0, request_1.requestServer)(req, option);
|
|
65
|
+
return res;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.BaseService = BaseService;
|
|
69
|
+
__decorate([
|
|
70
|
+
(0, core_1.App)(),
|
|
71
|
+
__metadata("design:type", Object)
|
|
72
|
+
], BaseService.prototype, "app", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, core_1.Inject)(),
|
|
75
|
+
__metadata("design:type", Object)
|
|
76
|
+
], BaseService.prototype, "ctx", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, core_1.Config)('baseService'),
|
|
79
|
+
__metadata("design:type", Object)
|
|
80
|
+
], BaseService.prototype, "baseServiceOption", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, core_1.Config)('apiOption'),
|
|
83
|
+
__metadata("design:type", Object)
|
|
84
|
+
], BaseService.prototype, "apiOption", void 0);
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jhc2UvYmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLGFBQWE7QUFDYix5Q0FBcUQ7QUFPckQseURBQWtEO0FBQ2xELDRDQUErQztBQUUvQyxNQUFhLFdBQVc7SUFFVixHQUFHLENBQWM7SUFHcEIsR0FBRyxDQUFVO0lBR3BCLGlCQUFpQixDQUloQjtJQUNELFVBQVU7SUFFVixTQUFTLENBRVA7SUFFRjs7O09BR0c7SUFDSCxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQWtCLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRSxPQUFPO1FBQzFFLE9BQU8sT0FBTyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGNBQWMsQ0FBcUIsR0FBbUIsRUFBRSxNQUEyQjtRQUNyRixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBSSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekQsT0FBTyxHQUFHLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFnQixHQUFtQixFQUFFLE1BQTJCO1FBQ25GLE1BQU0sR0FBRztZQUNMLE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHO1lBQ25DLEdBQUcsTUFBTTtTQUNVLENBQUM7UUFFeEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sU0FBUyxHQUFHLGFBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6RCxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztZQUN4QyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1lBRWpEOzs7ZUFHRztRQUNQLENBQUM7UUFDRCxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7UUFDOUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDNUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQy9FLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzVCLDJCQUEyQjtRQUMzQixNQUFNLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN6QixhQUFhO1FBQ2IsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFBLHVCQUFhLEVBQXdCLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRSxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7Q0FDSjtBQW5FRCxrQ0FtRUM7QUFqRWE7SUFEVCxJQUFBLFVBQUcsR0FBRTs7d0NBQ3FCO0FBR3BCO0lBRE4sSUFBQSxhQUFNLEdBQUU7O3dDQUNXO0FBR3BCO0lBREMsSUFBQSxhQUFNLEVBQUMsYUFBYSxDQUFDOztzREFLckI7QUFHRDtJQURDLElBQUEsYUFBTSxFQUFDLFdBQVcsQ0FBQzs7OENBR2xCIn0=
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const path = require("path");
|
|
4
|
+
exports.default = (appInfo) => {
|
|
5
|
+
const appId = process.env.APP_ID || 0;
|
|
6
|
+
const appRoot = appInfo.appDir || appInfo.root;
|
|
7
|
+
const distDir = path.join(appRoot, 'dist');
|
|
8
|
+
const webDist = path.join(distDir, 'web');
|
|
9
|
+
const config = {
|
|
10
|
+
// use for cookie sign key, should change to your own and keep security
|
|
11
|
+
keys: appInfo.name + '_1641910879296_0612',
|
|
12
|
+
cookies: {
|
|
13
|
+
// 确保不设置secret,或者设置为空字符串
|
|
14
|
+
secret: '', // 如果为空字符串,则关闭加密,但仍然可以解密已加密的cookies
|
|
15
|
+
// ...
|
|
16
|
+
},
|
|
17
|
+
view: {
|
|
18
|
+
//默认view目录
|
|
19
|
+
defaultViewEngine: 'nunjucks',
|
|
20
|
+
//默认view目录,本地开发目录必须在web下的,正式环境则是根目录下的view,因为web目录会被删
|
|
21
|
+
rootDir: {
|
|
22
|
+
default: path.join(webDist, 'view/'),
|
|
23
|
+
},
|
|
24
|
+
mapping: {
|
|
25
|
+
'.html': 'nunjucks',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
// 上传配置
|
|
29
|
+
upload: {
|
|
30
|
+
// 文件模式
|
|
31
|
+
mode: 'file',
|
|
32
|
+
// 上传目录
|
|
33
|
+
fileSize: '10mb',
|
|
34
|
+
whitelist: ['.jpg', '.jpeg', '.png', '.gif', '.webp', '.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx'],
|
|
35
|
+
},
|
|
36
|
+
// 静态文件服务
|
|
37
|
+
staticFile: {
|
|
38
|
+
dirs: {
|
|
39
|
+
default: {
|
|
40
|
+
// 默认public目录
|
|
41
|
+
dir: path.join(webDist, 'public'),
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
/**
|
|
46
|
+
* api相关配置
|
|
47
|
+
*/
|
|
48
|
+
apiOption: {
|
|
49
|
+
// 接口请求校验key
|
|
50
|
+
key: process.env.API_KEY || '2024@fefeding#',
|
|
51
|
+
reg: /^\/([^/]+\/)?api\//i,
|
|
52
|
+
ignore: [
|
|
53
|
+
'/',
|
|
54
|
+
/^\/([^/]+\/)?api\/cos\/get/i
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
// ip白名单
|
|
58
|
+
ipOption: {
|
|
59
|
+
whiteList: [
|
|
60
|
+
'127.0.0.1',
|
|
61
|
+
'::1',
|
|
62
|
+
'0.0.0.0',
|
|
63
|
+
'::',
|
|
64
|
+
'localhost',
|
|
65
|
+
...(process.env.IP_WHITE_LIST?.split(',') || [])
|
|
66
|
+
],
|
|
67
|
+
},
|
|
68
|
+
// 查看系统信息
|
|
69
|
+
info: {
|
|
70
|
+
infoPath: '/_sys_info',
|
|
71
|
+
},
|
|
72
|
+
axios: {
|
|
73
|
+
default: {
|
|
74
|
+
// 所有实例复用的配置
|
|
75
|
+
},
|
|
76
|
+
clients: {
|
|
77
|
+
// 默认实例的配置
|
|
78
|
+
default: {
|
|
79
|
+
// `headers` are custom headers to be sent
|
|
80
|
+
headers: {
|
|
81
|
+
'X-Requested-With': 'XMLHttpRequest',
|
|
82
|
+
},
|
|
83
|
+
timeout: 1000, // default is `0` (no timeout)
|
|
84
|
+
// `withCredentials` indicates whether or not cross-site Access-Control requests
|
|
85
|
+
// should be made using credentials
|
|
86
|
+
withCredentials: false, // default
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
// 基础服务
|
|
91
|
+
baseService: {
|
|
92
|
+
manager: ['admin'], // 管理员帐号
|
|
93
|
+
appId: appId,
|
|
94
|
+
url: process.env.BASE_SERVER_URL || ''
|
|
95
|
+
},
|
|
96
|
+
session: {
|
|
97
|
+
// session 过期设置
|
|
98
|
+
timeout: Number(process.env.SESSION_TIMEOUT) || 20 * 60 * 1000,
|
|
99
|
+
secretKey: 'fjjiowhb@#$^111)*&',
|
|
100
|
+
},
|
|
101
|
+
// 登陆相关配置
|
|
102
|
+
sso: {
|
|
103
|
+
baseUrl: process.env.SSO_URL || '',
|
|
104
|
+
appId: appId,
|
|
105
|
+
},
|
|
106
|
+
tencentCredential: {
|
|
107
|
+
secretId: process.env.TENCENT_CREDENTIAL_SECRETID || '',
|
|
108
|
+
secretKey: process.env.TENCENT_CREDENTIAL_SECRETKEY || '',
|
|
109
|
+
},
|
|
110
|
+
busboy: {
|
|
111
|
+
mode: 'file',
|
|
112
|
+
},
|
|
113
|
+
bodyParser: {
|
|
114
|
+
formLimit: '30mb',
|
|
115
|
+
jsonLimit: '30mb',
|
|
116
|
+
},
|
|
117
|
+
cacheManager: {
|
|
118
|
+
clients: {
|
|
119
|
+
default: {
|
|
120
|
+
store: 'memory',
|
|
121
|
+
options: {
|
|
122
|
+
max: 10000, // 代表缓存 key 的最大个数
|
|
123
|
+
ttl: 600000, // 缓存的过期时间,单位毫秒。
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
session: {
|
|
128
|
+
store: 'memory',
|
|
129
|
+
options: {
|
|
130
|
+
max: 10000, // 代表缓存 key 的最大个数
|
|
131
|
+
ttl: 600000, // 缓存的过期时间,单位毫秒。
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
logger: {
|
|
136
|
+
// 日志配置
|
|
137
|
+
level: process.env.LOG_LEVEL || 'info',
|
|
138
|
+
consoleLevel: process.env.LOG_LEVEL || 'info',
|
|
139
|
+
remoteUrl: process.env.REMOTE_LOGGER_URL || '',
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
return config;
|
|
143
|
+
};
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsNkJBQTZCO0FBQzdCLGtCQUFlLENBQUMsT0FBc0IsRUFBRSxFQUFFO0lBQ3RDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztJQUN0QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUMsTUFBTSxNQUFNLEdBQUc7UUFDWCx1RUFBdUU7UUFDdkUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEdBQUcscUJBQXFCO1FBQzFDLE9BQU8sRUFBRTtZQUNMLHdCQUF3QjtZQUN4QixNQUFNLEVBQUUsRUFBRSxFQUFFLG1DQUFtQztZQUMvQyxNQUFNO1NBQ1Q7UUFDRCxJQUFJLEVBQUU7WUFDRixVQUFVO1lBQ1YsaUJBQWlCLEVBQUUsVUFBVTtZQUM3QixvREFBb0Q7WUFDcEQsT0FBTyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7YUFDdkM7WUFDRCxPQUFPLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLFVBQVU7YUFDdEI7U0FDSjtRQUNILE9BQU87UUFDUCxNQUFNLEVBQUU7WUFDTixPQUFPO1lBQ1AsSUFBSSxFQUFFLE1BQU07WUFDWixPQUFPO1lBQ1AsUUFBUSxFQUFFLE1BQU07WUFDaEIsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function loadEnv(envPath?: string): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadEnv = loadEnv;
|
|
4
|
+
const dotenv = require("dotenv");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const fs = require("fs");
|
|
7
|
+
function loadEnv(envPath) {
|
|
8
|
+
envPath = envPath || path.join(process.cwd(), '.env');
|
|
9
|
+
console.log('env path', envPath);
|
|
10
|
+
if (fs.existsSync(envPath)) {
|
|
11
|
+
const env = dotenv.config({
|
|
12
|
+
path: envPath,
|
|
13
|
+
encoding: 'utf-8'
|
|
14
|
+
});
|
|
15
|
+
console.log(env);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9lbnYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSwwQkFXQztBQWhCRCxpQ0FBaUM7QUFDakMsNkJBQTZCO0FBQzdCLHlCQUF5QjtBQUd6QixTQUFnQixPQUFPLENBQUMsT0FBZ0I7SUFDcEMsT0FBTyxHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVqQyxJQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN4QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ3RCLElBQUksRUFBRSxPQUFPO1lBQ2IsUUFBUSxFQUFFLE9BQU87U0FDcEIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0FBQ0wsQ0FBQyJ9
|
|
@@ -0,0 +1,75 @@
|
|
|
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.BaseConfiguration = void 0;
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
const core_1 = require("@midwayjs/core");
|
|
15
|
+
// @ts-ignore
|
|
16
|
+
const koa = require("@midwayjs/koa");
|
|
17
|
+
const info = require("@midwayjs/info");
|
|
18
|
+
// @ts-ignore
|
|
19
|
+
const axios = require("@midwayjs/axios");
|
|
20
|
+
const apiResultFormatter_1 = require("./middleware/apiResultFormatter");
|
|
21
|
+
const requestInit_1 = require("./middleware/requestInit");
|
|
22
|
+
const detect_middleware_1 = require("./middleware/detect.middleware");
|
|
23
|
+
const view = require("@midwayjs/view-nunjucks");
|
|
24
|
+
const staticFile = require("@midwayjs/static-file");
|
|
25
|
+
const cacheManager = require("@midwayjs/cache-manager");
|
|
26
|
+
const DefaultConfig = require("./config/config.default");
|
|
27
|
+
const api_1 = require("./guard/api");
|
|
28
|
+
const auth_1 = require("./guard/auth");
|
|
29
|
+
// load .env file in process.cwd
|
|
30
|
+
const env_1 = require("./config/env");
|
|
31
|
+
(0, env_1.loadEnv)();
|
|
32
|
+
let BaseConfiguration = class BaseConfiguration {
|
|
33
|
+
app;
|
|
34
|
+
async onReady() {
|
|
35
|
+
process.env.SERVICE_NAME = process.env.SERVICE_NAME || this.app.getProjectName();
|
|
36
|
+
// 接口守位
|
|
37
|
+
this.app.useGuard([
|
|
38
|
+
api_1.ApiGuard,
|
|
39
|
+
auth_1.AuthGuard
|
|
40
|
+
]);
|
|
41
|
+
// add middleware
|
|
42
|
+
this.app.useMiddleware([
|
|
43
|
+
requestInit_1.RequestInitMiddleware,
|
|
44
|
+
detect_middleware_1.DetectMiddleware,
|
|
45
|
+
apiResultFormatter_1.ApiResultFormatterMiddleware,
|
|
46
|
+
]);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.BaseConfiguration = BaseConfiguration;
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, core_1.App)(),
|
|
52
|
+
__metadata("design:type", Object)
|
|
53
|
+
], BaseConfiguration.prototype, "app", void 0);
|
|
54
|
+
exports.BaseConfiguration = BaseConfiguration = __decorate([
|
|
55
|
+
(0, core_1.Configuration)({
|
|
56
|
+
namespace: 'MidwayjsBase',
|
|
57
|
+
imports: [
|
|
58
|
+
koa,
|
|
59
|
+
{
|
|
60
|
+
component: info,
|
|
61
|
+
enabledEnvironment: ['local'],
|
|
62
|
+
},
|
|
63
|
+
view,
|
|
64
|
+
staticFile,
|
|
65
|
+
axios,
|
|
66
|
+
cacheManager,
|
|
67
|
+
],
|
|
68
|
+
importConfigs: [
|
|
69
|
+
{
|
|
70
|
+
default: DefaultConfig,
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
})
|
|
74
|
+
], BaseConfiguration);
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLGFBQWE7QUFDYix5Q0FBNEQ7QUFDNUQsYUFBYTtBQUNiLHFDQUFxQztBQUNyQyx1Q0FBdUM7QUFDdkMsYUFBYTtBQUNiLHlDQUF5QztBQUN6Qyx3RUFBK0U7QUFDL0UsMERBQWlFO0FBQ2pFLHNFQUFrRTtBQUNsRSxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELHdEQUF3RDtBQUN4RCx5REFBeUQ7QUFDekQscUNBQXVDO0FBQ3ZDLHVDQUF5QztBQUV6QyxnQ0FBZ0M7QUFDaEMsc0NBQXVDO0FBQ3ZDLElBQUEsYUFBTyxHQUFFLENBQUM7QUFxQkgsSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBaUI7SUFFMUIsR0FBRyxDQUFrQjtJQUVyQixLQUFLLENBQUMsT0FBTztRQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakYsT0FBTztRQUNQLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ2QsY0FBUTtZQUNSLGdCQUFTO1NBQ1osQ0FBQyxDQUFDO1FBRUgsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO1lBQ25CLG1DQUFxQjtZQUNyQixvQ0FBZ0I7WUFDaEIsaURBQTRCO1NBQy9CLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFBO0FBbkJZLDhDQUFpQjtBQUUxQjtJQURDLElBQUEsVUFBRyxHQUFFOzs4Q0FDZTs0QkFGWixpQkFBaUI7SUFuQjdCLElBQUEsb0JBQWEsRUFBQztRQUNiLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLE9BQU8sRUFBRTtZQUNQLEdBQUc7WUFDSDtnQkFDSSxTQUFTLEVBQUUsSUFBSTtnQkFDZixrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUNoQztZQUNELElBQUk7WUFDSixVQUFVO1lBQ1YsS0FBSztZQUNMLFlBQVk7U0FDZjtRQUNDLGFBQWEsRUFBRTtZQUNiO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2FBQ3ZCO1NBQ0Y7S0FDRixDQUFDO0dBQ1csaUJBQWlCLENBbUI3QiJ9
|
|
@@ -0,0 +1,24 @@
|
|
|
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.DefaultErrorFilter = void 0;
|
|
10
|
+
const core_1 = require("@midwayjs/core");
|
|
11
|
+
let DefaultErrorFilter = class DefaultErrorFilter {
|
|
12
|
+
async catch(err, ctx) {
|
|
13
|
+
// 所有的未分类错误会到这里
|
|
14
|
+
return {
|
|
15
|
+
success: false,
|
|
16
|
+
message: err.message,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
exports.DefaultErrorFilter = DefaultErrorFilter;
|
|
21
|
+
exports.DefaultErrorFilter = DefaultErrorFilter = __decorate([
|
|
22
|
+
(0, core_1.Catch)()
|
|
23
|
+
], DefaultErrorFilter);
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlsdGVyL2RlZmF1bHQuZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLHlDQUF1QztBQUloQyxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFrQjtJQUMzQixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQVUsRUFBRSxHQUFZO1FBQ2hDLGVBQWU7UUFDZixPQUFPO1lBQ0gsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87U0FDdkIsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFBO0FBUlksZ0RBQWtCOzZCQUFsQixrQkFBa0I7SUFEOUIsSUFBQSxZQUFLLEdBQUU7R0FDSyxrQkFBa0IsQ0FROUIifQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
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.NotFoundFilter = void 0;
|
|
10
|
+
// @ts-ignore
|
|
11
|
+
const core_1 = require("@midwayjs/core");
|
|
12
|
+
let NotFoundFilter = class NotFoundFilter {
|
|
13
|
+
async catch(err, ctx) {
|
|
14
|
+
// 404 错误会到这里
|
|
15
|
+
ctx.redirect('/404.html');
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
exports.NotFoundFilter = NotFoundFilter;
|
|
19
|
+
exports.NotFoundFilter = NotFoundFilter = __decorate([
|
|
20
|
+
(0, core_1.Catch)(core_1.httpError.NotFoundError)
|
|
21
|
+
], NotFoundFilter);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90Zm91bmQuZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbHRlci9ub3Rmb3VuZC5maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsYUFBYTtBQUNiLHlDQUFtRTtBQUk1RCxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFjO0lBQ3ZCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBb0IsRUFBRSxHQUFZO1FBQzFDLGFBQWE7UUFDYixHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDSixDQUFBO0FBTFksd0NBQWM7eUJBQWQsY0FBYztJQUQxQixJQUFBLFlBQUssRUFBQyxnQkFBUyxDQUFDLGFBQWEsQ0FBQztHQUNsQixjQUFjLENBSzFCIn0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IGuard } from '@midwayjs/core';
|
|
2
|
+
import { Context } from '@midwayjs/koa';
|
|
3
|
+
/**
|
|
4
|
+
* 对于需要token的接口,从query或body或cookie中取token,是否跟本服务的一致
|
|
5
|
+
*/
|
|
6
|
+
export declare class ApiGuard implements IGuard<Context> {
|
|
7
|
+
apiOption: {
|
|
8
|
+
key: string;
|
|
9
|
+
};
|
|
10
|
+
ipOption: {
|
|
11
|
+
whiteList: Array<string>;
|
|
12
|
+
};
|
|
13
|
+
canActivate(context: Context, supplierClz: any, methodName: string): Promise<boolean>;
|
|
14
|
+
checkApiToken(context: Context): Promise<void>;
|
|
15
|
+
checkIPInWhiteList(context: Context): void;
|
|
16
|
+
}
|