@cicctencent/midwayjs-base 1.0.12 → 1.0.14

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/README.md +1 -0
  2. package/dist/base/base.controller.d.ts +5 -0
  3. package/dist/base/base.controller.js +28 -0
  4. package/dist/base/base.model.service.d.ts +29 -0
  5. package/dist/base/base.model.service.js +86 -0
  6. package/dist/base/base.service.d.ts +28 -0
  7. package/dist/base/base.service.js +85 -0
  8. package/dist/config/config.default.d.ts +3 -0
  9. package/dist/config/config.default.js +144 -0
  10. package/dist/config/env.d.ts +1 -0
  11. package/dist/config/env.js +18 -0
  12. package/dist/configuration.d.ts +5 -0
  13. package/dist/configuration.js +75 -0
  14. package/dist/filter/default.filter.d.ts +7 -0
  15. package/dist/filter/default.filter.js +24 -0
  16. package/dist/filter/notfound.filter.d.ts +5 -0
  17. package/dist/filter/notfound.filter.js +22 -0
  18. package/dist/guard/api.d.ts +16 -0
  19. package/dist/guard/api.js +88 -0
  20. package/dist/guard/auth.d.ts +14 -0
  21. package/dist/guard/auth.js +149 -0
  22. package/dist/index.d.ts +16 -0
  23. package/dist/index.js +37 -0
  24. package/dist/lib/decorator.d.ts +36 -0
  25. package/dist/lib/decorator.js +79 -0
  26. package/dist/lib/request.d.ts +7 -0
  27. package/dist/lib/request.js +7 -0
  28. package/dist/lib/utils.d.ts +15 -0
  29. package/dist/lib/utils.js +100 -0
  30. package/dist/middleware/apiResultFormatter.d.ts +7 -0
  31. package/dist/middleware/apiResultFormatter.js +78 -0
  32. package/dist/middleware/detect.middleware.d.ts +5 -0
  33. package/dist/middleware/detect.middleware.js +61 -0
  34. package/dist/middleware/requestInit.d.ts +8 -0
  35. package/dist/middleware/requestInit.js +100 -0
  36. package/dist/service/session.service.d.ts +39 -0
  37. package/dist/service/session.service.js +93 -0
  38. package/dist/service/tencent.service.d.ts +38 -0
  39. package/dist/service/tencent.service.js +87 -0
  40. package/package.json +64 -64
package/README.md ADDED
@@ -0,0 +1 @@
1
+ midwayjs基础组件
@@ -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,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,3 @@
1
+ import type { MidwayConfig, MidwayAppInfo } from '@midwayjs/core';
2
+ declare const _default: (appInfo: MidwayAppInfo) => MidwayConfig;
3
+ export default _default;
@@ -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,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,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,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
+ }