@cicctencent/midwayjs-base 1.0.20 → 1.0.22

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.
Files changed (40) hide show
  1. package/dist/base/base.controller.d.ts +5 -0
  2. package/dist/base/base.controller.js +28 -0
  3. package/dist/base/base.model.service.d.ts +29 -0
  4. package/dist/base/base.model.service.js +86 -0
  5. package/dist/base/base.service.d.ts +30 -0
  6. package/dist/base/base.service.js +86 -0
  7. package/dist/config/config.default.d.ts +3 -0
  8. package/dist/config/config.default.js +153 -0
  9. package/dist/config/env.d.ts +1 -0
  10. package/dist/config/env.js +19 -0
  11. package/dist/configuration.d.ts +5 -0
  12. package/dist/configuration.js +79 -0
  13. package/dist/filter/default.filter.d.ts +7 -0
  14. package/dist/filter/default.filter.js +24 -0
  15. package/dist/filter/notfound.filter.d.ts +5 -0
  16. package/dist/filter/notfound.filter.js +22 -0
  17. package/dist/guard/api.d.ts +16 -0
  18. package/dist/guard/api.js +88 -0
  19. package/dist/guard/auth.d.ts +19 -0
  20. package/dist/guard/auth.js +184 -0
  21. package/dist/index.d.ts +16 -0
  22. package/dist/index.js +37 -0
  23. package/dist/lib/decorator.d.ts +36 -0
  24. package/dist/lib/decorator.js +79 -0
  25. package/dist/lib/request.d.ts +7 -0
  26. package/dist/lib/request.js +7 -0
  27. package/dist/lib/utils.d.ts +15 -0
  28. package/dist/lib/utils.js +100 -0
  29. package/dist/middleware/apiResultFormatter.d.ts +8 -0
  30. package/dist/middleware/apiResultFormatter.js +84 -0
  31. package/dist/middleware/detect.middleware.d.ts +5 -0
  32. package/dist/middleware/detect.middleware.js +61 -0
  33. package/dist/middleware/requestInit.d.ts +8 -0
  34. package/dist/middleware/requestInit.js +100 -0
  35. package/dist/service/session.service.d.ts +39 -0
  36. package/dist/service/session.service.js +93 -0
  37. package/dist/service/tencent.service.d.ts +38 -0
  38. package/dist/service/tencent.service.js +87 -0
  39. package/package.json +2 -2
  40. package/typings/midway.d.ts +54 -54
@@ -0,0 +1,5 @@
1
+ import { Application, Context } from '@midwayjs/koa';
2
+ export declare abstract class BaseController {
3
+ protected app: Application;
4
+ protected ctx: Context;
5
+ }
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2RlbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jhc2UvYmFzZS5tb2RlbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVdBLGlEQUE2QztBQUM3Qyx5RUFBb0U7QUFjcEUsTUFBc0IsZ0JBQXVDLFNBQVEsMEJBQVc7SUFHNUU7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFTLEVBQUUsU0FBdUI7UUFDekMsSUFBRyxJQUFJLENBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNuQyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQUNyRCxDQUFDO1FBQ0QsSUFBRyxTQUFTLEVBQUUsQ0FBQztZQUNYLE9BQU8sTUFBTSxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRCxnQ0FBZ0M7SUFDekIsS0FBSyxDQUFDLE1BQU0sQ0FDZixJQUF1QztRQUV2QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQztRQUNqRCxNQUFNLFFBQVEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2QscUNBQXFDO1lBQ3JDLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLEdBQUcsRUFBRTtZQUNMLE9BQU87U0FDVixDQUFDLENBQ0wsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTSxDQUNmLElBQXVDLEVBQ3ZDLElBQW9CO1FBRXBCLElBQUksUUFBUSxDQUFDO1FBQ2IsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDZixRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLENBQUM7YUFBTSxDQUFDO1lBQ0osUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQztRQUNqRCxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFMUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUMxQixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDckIsR0FBRyxDQUFDO2dCQUNKLE9BQU87YUFDVixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBQ0YsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxNQUFNLENBQ2YsSUFBdUMsRUFDdkMsSUFBb0I7UUFDaEIsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzlCLElBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JCLEtBQUksTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7YUFDSSxDQUFDO1lBQ0YsU0FBUztZQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsaUJBQU0sQ0FBQyxPQUFPLENBQUM7WUFDNUIsT0FBTyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWSxDQUNyQixLQUFrRCxFQUNsRCxPQUFvQjtRQUVwQixNQUFNLEVBQ0YsTUFBTSxFQUNOLEtBQUssR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQXlCLEVBQ3JELElBQUksR0FBRyxDQUFDLEVBQ1IsSUFBSSxHQUFHLEVBQUUsRUFDVCxTQUFTLEdBQ1osR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsSUFBRyxJQUFJLEdBQUcsS0FBSztZQUFFLElBQUksR0FBRyxLQUFLLENBQUM7UUFFOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU3QyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQzVCLENBQUMsQ0FBQztRQUVILE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNKO0FBMUdELDRDQTBHQyJ9
@@ -0,0 +1,30 @@
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 & {
28
+ accessKey?: string;
29
+ }): Promise<AxiosResponse<any, T>>;
30
+ }
@@ -0,0 +1,86 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jhc2UvYmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLGFBQWE7QUFDYix5Q0FBcUQ7QUFPckQseURBQWtEO0FBQ2xELDRDQUErQztBQUUvQyxNQUFhLFdBQVc7SUFFVixHQUFHLENBQWM7SUFHcEIsR0FBRyxDQUFVO0lBR3BCLGlCQUFpQixDQUloQjtJQUNELFVBQVU7SUFFVixTQUFTLENBRVA7SUFFRjs7O09BR0c7SUFDSCxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQWtCLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRSxPQUFPO1FBQzFFLE9BQU8sT0FBTyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGNBQWMsQ0FBcUIsR0FBbUIsRUFBRSxNQUEyQjtRQUNyRixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBSSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekQsT0FBTyxHQUFHLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFnQixHQUFtQixFQUFFLE1BRTNEO1FBQ0csTUFBTSxHQUFHO1lBQ0wsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUc7WUFDbkMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxJQUFJLEVBQUU7WUFDcEMsR0FBRyxNQUFNO1NBQ1UsQ0FBQztRQUV4QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsQixNQUFNLFNBQVMsR0FBRyxhQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2RCxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztZQUN4QyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1lBRWpEOzs7ZUFHRztRQUNQLENBQUM7UUFDRCxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7UUFDOUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDNUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQy9FLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzVCLDJCQUEyQjtRQUMzQixNQUFNLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN6QixhQUFhO1FBQ2IsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFBLHVCQUFhLEVBQXdCLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRSxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7Q0FDSjtBQXRFRCxrQ0FzRUM7QUFwRWE7SUFEVCxJQUFBLFVBQUcsR0FBRTs7d0NBQ3FCO0FBR3BCO0lBRE4sSUFBQSxhQUFNLEdBQUU7O3dDQUNXO0FBR3BCO0lBREMsSUFBQSxhQUFNLEVBQUMsYUFBYSxDQUFDOztzREFLckI7QUFHRDtJQURDLElBQUEsYUFBTSxFQUFDLFdBQVcsQ0FBQzs7OENBR2xCIn0=
@@ -0,0 +1,3 @@
1
+ import type { MidwayConfig, MidwayAppInfo } from '@midwayjs/core';
2
+ declare const _default: (appInfo: MidwayAppInfo) => MidwayConfig;
3
+ export default _default;
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const path = require("path");
4
+ exports.default = (appInfo) => {
5
+ appInfo.appId = Number(process.env.APP_ID) || 0;
6
+ const appRoot = appInfo.appDir || appInfo.root;
7
+ appInfo.dist = path.join(appRoot, 'dist');
8
+ appInfo.webDist = path.join(appInfo.dist, 'web');
9
+ appInfo.webPublic = path.join(appInfo.webDist, 'public');
10
+ const config = {
11
+ // use for cookie sign key, should change to your own and keep security
12
+ keys: appInfo.name + '_1641910879296_0612',
13
+ cookies: {
14
+ // 确保不设置secret,或者设置为空字符串
15
+ secret: '', // 如果为空字符串,则关闭加密,但仍然可以解密已加密的cookies
16
+ // ...
17
+ },
18
+ view: {
19
+ //默认view目录
20
+ defaultViewEngine: 'nunjucks',
21
+ //默认view目录,本地开发目录必须在web下的,正式环境则是根目录下的view,因为web目录会被删
22
+ rootDir: {
23
+ default: path.join(appInfo.webDist, 'view/'),
24
+ },
25
+ mapping: {
26
+ '.html': 'nunjucks',
27
+ },
28
+ },
29
+ // 上传配置
30
+ upload: {
31
+ // 文件模式
32
+ mode: 'file',
33
+ // 上传目录
34
+ fileSize: '10mb',
35
+ whitelist: ['.jpg', '.jpeg', '.png', '.gif', '.webp', '.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx'],
36
+ },
37
+ // 静态文件服务
38
+ staticFile: {
39
+ dirs: {
40
+ default: {
41
+ // 默认public目录
42
+ dir: appInfo.webPublic,
43
+ },
44
+ },
45
+ },
46
+ /**
47
+ * api相关配置
48
+ */
49
+ apiOption: {
50
+ // 接口请求校验key
51
+ key: process.env.API_KEY || '2024@fefeding#',
52
+ reg: /^\/([^/]+\/)?api\//i,
53
+ ignore: [
54
+ '/',
55
+ /^\/([^/]+\/)?api\/cos\/get/i
56
+ ]
57
+ },
58
+ // ip白名单
59
+ ipOption: {
60
+ whiteList: [
61
+ '127.0.0.1',
62
+ '::1',
63
+ '0.0.0.0',
64
+ '::',
65
+ 'localhost',
66
+ ...(process.env.IP_WHITE_LIST?.split(',') || [])
67
+ ],
68
+ },
69
+ // 查看系统信息
70
+ info: {
71
+ infoPath: '/_sys_info',
72
+ },
73
+ axios: {
74
+ default: {
75
+ // 所有实例复用的配置
76
+ },
77
+ clients: {
78
+ // 默认实例的配置
79
+ default: {
80
+ // `headers` are custom headers to be sent
81
+ headers: {
82
+ 'X-Requested-With': 'XMLHttpRequest',
83
+ },
84
+ timeout: 1000, // default is `0` (no timeout)
85
+ // `withCredentials` indicates whether or not cross-site Access-Control requests
86
+ // should be made using credentials
87
+ withCredentials: false, // default
88
+ },
89
+ },
90
+ },
91
+ // 基础服务
92
+ baseService: {
93
+ manager: ['admin'], // 管理员帐号
94
+ appId: appInfo.appId,
95
+ url: process.env.BASE_SERVER_URL || ''
96
+ },
97
+ session: {
98
+ // session 过期设置
99
+ timeout: Number(process.env.SESSION_TIMEOUT) || 20 * 60 * 1000,
100
+ secretKey: 'fjjiowhb@#$^111)*&',
101
+ },
102
+ // 登陆态校验配置
103
+ auth: {
104
+ // 忽略登陆态校验
105
+ ignores: [
106
+ /\/api\/test\//i,
107
+ "/api/test/action"
108
+ ]
109
+ },
110
+ // 登陆相关配置
111
+ sso: {
112
+ baseUrl: process.env.SSO_URL || '',
113
+ appId: appInfo.appId,
114
+ },
115
+ tencentCredential: {
116
+ secretId: process.env.TENCENT_CREDENTIAL_SECRETID || '',
117
+ secretKey: process.env.TENCENT_CREDENTIAL_SECRETKEY || '',
118
+ },
119
+ busboy: {
120
+ mode: 'file',
121
+ },
122
+ bodyParser: {
123
+ formLimit: '30mb',
124
+ jsonLimit: '30mb',
125
+ },
126
+ cacheManager: {
127
+ clients: {
128
+ default: {
129
+ store: 'memory',
130
+ options: {
131
+ max: 10000, // 代表缓存 key 的最大个数
132
+ ttl: 600000, // 缓存的过期时间,单位毫秒。
133
+ },
134
+ },
135
+ },
136
+ session: {
137
+ store: 'memory',
138
+ options: {
139
+ max: 10000, // 代表缓存 key 的最大个数
140
+ ttl: 600000, // 缓存的过期时间,单位毫秒。
141
+ },
142
+ },
143
+ },
144
+ logger: {
145
+ // 日志配置
146
+ level: process.env.LOG_LEVEL || 'info',
147
+ consoleLevel: process.env.LOG_LEVEL || 'info',
148
+ remoteUrl: process.env.REMOTE_LOGGER_URL || '',
149
+ }
150
+ };
151
+ return config;
152
+ };
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsNkJBQTZCO0FBQzdCLGtCQUFlLENBQUMsT0FBc0IsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQztJQUMvQyxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXpELE1BQU0sTUFBTSxHQUFHO1FBQ1gsdUVBQXVFO1FBQ3ZFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxHQUFHLHFCQUFxQjtRQUMxQyxPQUFPLEVBQUU7WUFDTCx3QkFBd0I7WUFDeEIsTUFBTSxFQUFFLEVBQUUsRUFBRSxtQ0FBbUM7WUFDL0MsTUFBTTtTQUNUO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsVUFBVTtZQUNWLGlCQUFpQixFQUFFLFVBQVU7WUFDN0Isb0RBQW9EO1lBQ3BELE9BQU8sRUFBRTtnQkFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQzthQUMvQztZQUNELE9BQU8sRUFBRTtnQkFDTCxPQUFPLEVBQUUsVUFBVTthQUN0QjtTQUNKO1FB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
@@ -0,0 +1 @@
1
+ export declare function loadEnv(envPath?: string): NodeJS.ProcessEnv;
@@ -0,0 +1,19 @@
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
+ return process.env;
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9lbnYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSwwQkFZQztBQWpCRCxpQ0FBaUM7QUFDakMsNkJBQTZCO0FBQzdCLHlCQUF5QjtBQUd6QixTQUFnQixPQUFPLENBQUMsT0FBZ0I7SUFDcEMsT0FBTyxHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVqQyxJQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN4QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ3RCLElBQUksRUFBRSxPQUFPO1lBQ2IsUUFBUSxFQUFFLE9BQU87U0FDcEIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDO0FBQ3ZCLENBQUMifQ==
@@ -0,0 +1,5 @@
1
+ import * as koa from '@midwayjs/koa';
2
+ export declare class BaseConfiguration {
3
+ app: koa.Application;
4
+ onReady(): Promise<void>;
5
+ }
@@ -0,0 +1,79 @@
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
+ if (process.env.FEFE_MIDWAYJS_BASE_READY === 'true') {
36
+ return;
37
+ }
38
+ process.env.SERVICE_NAME = process.env.SERVICE_NAME || this.app.getProjectName();
39
+ // 接口守位
40
+ this.app.useGuard([
41
+ api_1.ApiGuard,
42
+ auth_1.AuthGuard
43
+ ]);
44
+ // add middleware
45
+ this.app.useMiddleware([
46
+ requestInit_1.RequestInitMiddleware,
47
+ detect_middleware_1.DetectMiddleware,
48
+ apiResultFormatter_1.ApiResultFormatterMiddleware,
49
+ ]);
50
+ process.env.FEFE_MIDWAYJS_BASE_READY = 'true';
51
+ }
52
+ };
53
+ exports.BaseConfiguration = BaseConfiguration;
54
+ __decorate([
55
+ (0, core_1.App)(),
56
+ __metadata("design:type", Object)
57
+ ], BaseConfiguration.prototype, "app", void 0);
58
+ exports.BaseConfiguration = BaseConfiguration = __decorate([
59
+ (0, core_1.Configuration)({
60
+ namespace: 'MidwayjsBase',
61
+ imports: [
62
+ koa,
63
+ {
64
+ component: info,
65
+ enabledEnvironment: ['local'],
66
+ },
67
+ view,
68
+ staticFile,
69
+ axios,
70
+ cacheManager,
71
+ ],
72
+ importConfigs: [
73
+ {
74
+ default: DefaultConfig,
75
+ },
76
+ ],
77
+ })
78
+ ], BaseConfiguration);
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLGFBQWE7QUFDYix5Q0FBNEQ7QUFDNUQsYUFBYTtBQUNiLHFDQUFxQztBQUNyQyx1Q0FBdUM7QUFDdkMsYUFBYTtBQUNiLHlDQUF5QztBQUN6Qyx3RUFBK0U7QUFDL0UsMERBQWlFO0FBQ2pFLHNFQUFrRTtBQUNsRSxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELHdEQUF3RDtBQUN4RCx5REFBeUQ7QUFDekQscUNBQXVDO0FBQ3ZDLHVDQUF5QztBQUV6QyxnQ0FBZ0M7QUFDaEMsc0NBQXVDO0FBQ3ZDLElBQUEsYUFBTyxHQUFFLENBQUM7QUFxQkgsSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBaUI7SUFFMUIsR0FBRyxDQUFrQjtJQUVyQixLQUFLLENBQUMsT0FBTztRQUNULElBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUNqRCxPQUFPO1FBQ1gsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakYsT0FBTztRQUNQLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ2QsY0FBUTtZQUNSLGdCQUFTO1NBQ1osQ0FBQyxDQUFDO1FBRUgsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO1lBQ25CLG1DQUFxQjtZQUNyQixvQ0FBZ0I7WUFDaEIsaURBQTRCO1NBQy9CLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEdBQUcsTUFBTSxDQUFDO0lBQ2xELENBQUM7Q0FDSixDQUFBO0FBdkJZLDhDQUFpQjtBQUUxQjtJQURDLElBQUEsVUFBRyxHQUFFOzs4Q0FDZTs0QkFGWixpQkFBaUI7SUFuQjdCLElBQUEsb0JBQWEsRUFBQztRQUNiLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLE9BQU8sRUFBRTtZQUNQLEdBQUc7WUFDSDtnQkFDSSxTQUFTLEVBQUUsSUFBSTtnQkFDZixrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUNoQztZQUNELElBQUk7WUFDSixVQUFVO1lBQ1YsS0FBSztZQUNMLFlBQVk7U0FDZjtRQUNDLGFBQWEsRUFBRTtZQUNiO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2FBQ3ZCO1NBQ0Y7S0FDRixDQUFDO0dBQ1csaUJBQWlCLENBdUI3QiJ9
@@ -0,0 +1,7 @@
1
+ import { Context } from '@midwayjs/koa';
2
+ export declare class DefaultErrorFilter {
3
+ catch(err: Error, ctx: Context): Promise<{
4
+ success: boolean;
5
+ message: string;
6
+ }>;
7
+ }
@@ -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,5 @@
1
+ import { MidwayHttpError } from '@midwayjs/core';
2
+ import { Context } from '@midwayjs/koa';
3
+ export declare class NotFoundFilter {
4
+ catch(err: MidwayHttpError, ctx: Context): Promise<void>;
5
+ }
@@ -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
+ }