moyan-api 1.0.1

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 (52) hide show
  1. package/.eslintrc.js +28 -0
  2. package/.gitee/ISSUE_TEMPLATE.zh-CN.md +13 -0
  3. package/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md +11 -0
  4. package/.prettierrc +5 -0
  5. package/CHANGELOG.md +5 -0
  6. package/LICENSE +201 -0
  7. package/README.en.md +36 -0
  8. package/README.md +153 -0
  9. package/dist/apiv2/axios.d.ts +13 -0
  10. package/dist/apiv2/axios.js +69 -0
  11. package/dist/apiv2/axios.js.map +1 -0
  12. package/dist/apiv2/base.d.ts +43 -0
  13. package/dist/apiv2/base.js +93 -0
  14. package/dist/apiv2/base.js.map +1 -0
  15. package/dist/apiv2/config.d.ts +1 -0
  16. package/dist/apiv2/config.js +26 -0
  17. package/dist/apiv2/config.js.map +1 -0
  18. package/dist/index.d.ts +4 -0
  19. package/dist/index.js +18 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/lib/axios.d.ts +13 -0
  22. package/dist/lib/axios.js +71 -0
  23. package/dist/lib/axios.js.map +1 -0
  24. package/dist/lib/base.d.ts +48 -0
  25. package/dist/lib/base.js +95 -0
  26. package/dist/lib/base.js.map +1 -0
  27. package/dist/lib/config.d.ts +1 -0
  28. package/dist/lib/config.js +26 -0
  29. package/dist/lib/config.js.map +1 -0
  30. package/dist/main.d.ts +15 -0
  31. package/dist/main.js +75 -0
  32. package/dist/main.js.map +1 -0
  33. package/dist/template/api.d.ts +16 -0
  34. package/dist/template/api.js +90 -0
  35. package/dist/template/api.js.map +1 -0
  36. package/dist/template/schemas.d.ts +13 -0
  37. package/dist/template/schemas.js +89 -0
  38. package/dist/template/schemas.js.map +1 -0
  39. package/dist/tsconfig.tsbuildinfo +1 -0
  40. package/dist/utils/mo.d.ts +28 -0
  41. package/dist/utils/mo.js +254 -0
  42. package/dist/utils/mo.js.map +1 -0
  43. package/package.json +38 -0
  44. package/src/index.ts +38 -0
  45. package/src/lib/base.ts +180 -0
  46. package/src/main.ts +90 -0
  47. package/src/template/api.ts +102 -0
  48. package/src/template/schemas.ts +89 -0
  49. package/src/utils/mo.ts +402 -0
  50. package/tsconfig.json +20 -0
  51. package/view/api.ejs +25 -0
  52. package/view/schemas.ejs +12 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/apiv2/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const element_plus_1 = require("element-plus");
4
+ const base_1 = require("./base");
5
+ base_1.ApiCall.hintSuccessHandler = (apiCall) => {
6
+ console.info('请求成功!!');
7
+ base_1.ApiCall.hasPrompted = true;
8
+ element_plus_1.ElMessage.success({
9
+ message: apiCall.successMsg,
10
+ onClose: () => {
11
+ base_1.ApiCall.hasPrompted = false;
12
+ }
13
+ });
14
+ };
15
+ base_1.ApiCall.hintFailHandler = (apiCall) => {
16
+ console.info('请求错误!!');
17
+ base_1.ApiCall.hasPrompted = true;
18
+ apiCall.failMsg &&
19
+ element_plus_1.ElMessage.error({
20
+ message: apiCall.failMsg,
21
+ onClose: () => {
22
+ base_1.ApiCall.hasPrompted = false;
23
+ }
24
+ });
25
+ };
26
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/apiv2/config.ts"],"names":[],"mappings":";;AAAA,+CAAwC;AACxC,iCAAgC;AAEhC,cAAO,CAAC,kBAAkB,GAAG,CAAC,OAAO,EAAE,EAAE;IACvC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,cAAO,CAAC,WAAW,GAAG,IAAI,CAAA;IAC1B,wBAAS,CAAC,OAAO,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC,UAAU;QAC3B,OAAO,EAAE,GAAG,EAAE;YACZ,cAAO,CAAC,WAAW,GAAG,KAAK,CAAA;QAC7B,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,cAAO,CAAC,eAAe,GAAG,CAAC,OAAO,EAAE,EAAE;IACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,cAAO,CAAC,WAAW,GAAG,IAAI,CAAA;IAC1B,OAAO,CAAC,OAAO;QACb,wBAAS,CAAC,KAAK,CAAC;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,GAAG,EAAE;gBACZ,cAAO,CAAC,WAAW,GAAG,KAAK,CAAA;YAC7B,CAAC;SACF,CAAC,CAAA;AACN,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import 'colors';
3
+ import { ApiCall } from './lib/base';
4
+ export { ApiCall };
package/dist/index.js ADDED
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ApiCall = void 0;
5
+ const commander_1 = require("commander");
6
+ require("colors");
7
+ const main_1 = require("./main");
8
+ const base_1 = require("./lib/base");
9
+ Object.defineProperty(exports, "ApiCall", { enumerable: true, get: function () { return base_1.ApiCall; } });
10
+ commander_1.program
11
+ .version(require('../package').version)
12
+ .option('-p, --port [port]', 'Input port !')
13
+ .option('-d, --dev [dev]', 'Input dev !')
14
+ .option('-b, --build [build]', 'Input build !')
15
+ .parse(process.argv);
16
+ console.info('生成 openApi 3.0 调用SDK... ');
17
+ new main_1.ApisdkCreator().create();
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AACA,yCAAiC;AACjC,kBAAe;AACf,iCAAqC;AACrC,qCAAkC;AAgChC,wFAhCM,cAAO,OAgCN;AA3BT,mBAAO;KACJ,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;KACtC,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC;KAC3C,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC;KACxC,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC;KAC9C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAiBtB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;AAExC,IAAI,oBAAa,EAAE,CAAC,MAAM,EAAE,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { AxiosInstance } from 'axios';
2
+ import { ApiEntity } from './base';
3
+ declare const AXIOS: unique symbol;
4
+ export declare class MoAxios {
5
+ static [AXIOS]: AxiosInstance;
6
+ options: any;
7
+ constructor(options?: any);
8
+ get $axios(): AxiosInstance;
9
+ get config(): any;
10
+ init(): void;
11
+ request(apiEntity: ApiEntity): import("axios").AxiosPromise<any>;
12
+ }
13
+ export {};
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MoAxios = void 0;
4
+ const config_1 = require("../../config");
5
+ const axios_1 = require("axios");
6
+ const base_1 = require("./base");
7
+ const AXIOS = Symbol('mo#Api#axios');
8
+ class MoAxios {
9
+ constructor(options = {}) {
10
+ this.options = {};
11
+ this.options = options;
12
+ }
13
+ get $axios() {
14
+ if (!MoAxios[AXIOS]) {
15
+ MoAxios[AXIOS] = axios_1.default.create(this.config.axios);
16
+ this.init();
17
+ }
18
+ return MoAxios[AXIOS];
19
+ }
20
+ get config() {
21
+ return (0, config_1.getConfig)();
22
+ }
23
+ init() {
24
+ this.$axios.interceptors.response.use((res) => {
25
+ if (typeof this.options.render === 'function') {
26
+ return this.options.render(res);
27
+ }
28
+ else {
29
+ return res;
30
+ }
31
+ }, async (error) => {
32
+ if (error && error.response) {
33
+ switch (error.response.status) {
34
+ case 502:
35
+ error.message = '网关错误';
36
+ break;
37
+ case 504:
38
+ error.message = '网关超时';
39
+ break;
40
+ case 505:
41
+ error.message = '版本不受支持';
42
+ break;
43
+ default:
44
+ error.message = error.response.data.message;
45
+ break;
46
+ }
47
+ }
48
+ throw error;
49
+ });
50
+ }
51
+ request(apiEntity) {
52
+ const url = `${apiEntity.path}`;
53
+ const requsetOption = {
54
+ responseType: 'json',
55
+ baseURL: this.config.moApi.baseURL,
56
+ url,
57
+ method: apiEntity.method,
58
+ headers: {}
59
+ };
60
+ if (apiEntity.method === 'GET') {
61
+ requsetOption.params = { params: apiEntity.params };
62
+ }
63
+ else {
64
+ requsetOption.data = apiEntity.params;
65
+ }
66
+ return this.$axios(requsetOption);
67
+ }
68
+ }
69
+ exports.MoAxios = MoAxios;
70
+ base_1.ApiCall.use(new MoAxios());
71
+ //# sourceMappingURL=axios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axios.js","sourceRoot":"","sources":["../../src/lib/axios.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AACxC,iCAAgE;AAChE,iCAA2C;AAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AAEpC,MAAa,OAAO;IAIlB,YAAY,UAAe,EAAE;QAF7B,YAAO,GAAQ,EAAE,CAAA;QAGf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,IAAI,MAAM;QACR,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnB,OAAO,CAAC,KAAK,CAAC,GAAG,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAChD,IAAI,CAAC,IAAI,EAAE,CAAA;SACZ;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAA,kBAAS,GAAE,CAAA;IACpB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CACnC,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE;gBAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;aAChC;iBAAM;gBACL,OAAO,GAAG,CAAA;aACX;QACH,CAAC,EACD,KAAK,EAAE,KAAK,EAAE,EAAE;YAEd,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAC3B,QAAQ,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC7B,KAAK,GAAG;wBACN,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;wBACtB,MAAK;oBACP,KAAK,GAAG;wBACN,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;wBACtB,MAAK;oBACP,KAAK,GAAG;wBACN,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAA;wBACxB,MAAK;oBACP;wBACE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;wBAC3C,MAAK;iBACR;aACF;YACD,MAAM,KAAK,CAAA;QACb,CAAC,CACF,CAAA;IACH,CAAC;IAED,OAAO,CAAC,SAAoB;QAC1B,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;QAC/B,MAAM,aAAa,GAAuB;YACxC,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO;YAClC,GAAG;YACH,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,OAAO,EAAE,EAAE;SACZ,CAAA;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,EAAE;YAC9B,aAAa,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAA;SACpD;aAAM;YACL,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAA;SACtC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IACnC,CAAC;CACF;AArED,0BAqEC;AAED,cAAO,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAA"}
@@ -0,0 +1,48 @@
1
+ export declare type MoMethod = 'POST' | 'GET' | 'DELETE' | 'PUT';
2
+ export interface ObjectAny {
3
+ [key: string]: any;
4
+ }
5
+ export interface Option {
6
+ fileName?: string;
7
+ prefix?: boolean;
8
+ hintSuccess?: boolean;
9
+ hintFail?: boolean;
10
+ showLoading?: boolean;
11
+ successMsg?: ((res: any) => string) | string | null;
12
+ failMsg?: ((err: any) => string) | string | null;
13
+ loading?: boolean;
14
+ }
15
+ export interface ApiCallProps<T> {
16
+ params?: T;
17
+ option?: Option | {};
18
+ }
19
+ export declare abstract class RequestClass {
20
+ abstract request(apiEntity: ApiEntity): Promise<any>;
21
+ }
22
+ export interface SubApiEntity extends RequestClass {
23
+ }
24
+ export declare abstract class ApiCall<ReqType, ResType> extends Promise<ResType & ObjectAny> {
25
+ static MoCall: SubApiEntity;
26
+ static use(moCall: SubApiEntity): void;
27
+ static hasPrompted: boolean;
28
+ params: ReqType | {
29
+ [key: string]: any;
30
+ };
31
+ result: ResType & ObjectAny;
32
+ option: Option;
33
+ static hintSuccessHandler: (result: any) => void;
34
+ static hintFailHandler: (err: any) => void;
35
+ abstract path: string;
36
+ abstract method: MoMethod;
37
+ error: any;
38
+ response: any;
39
+ resolve: (result: ApiCall<ReqType, ResType>['result']) => void;
40
+ reject: (err: any) => void;
41
+ get successMsg(): any;
42
+ get failMsg(): any;
43
+ constructor(props?: ApiCallProps<ReqType>);
44
+ init(props?: ApiCallProps<ReqType>): void;
45
+ exec(): void;
46
+ }
47
+ export interface ApiEntity extends ApiCall<any, any> {
48
+ }
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiCall = exports.RequestClass = void 0;
4
+ class RequestClass {
5
+ }
6
+ exports.RequestClass = RequestClass;
7
+ class ApiCall extends Promise {
8
+ constructor(props) {
9
+ if (typeof props === 'function') {
10
+ super(props);
11
+ }
12
+ else {
13
+ const slef = {};
14
+ super((resolve, reject) => {
15
+ slef.resolve = resolve;
16
+ slef.reject = reject;
17
+ });
18
+ Object.assign(this, slef);
19
+ setTimeout(() => {
20
+ this.init(props);
21
+ this.exec();
22
+ });
23
+ }
24
+ }
25
+ static use(moCall) {
26
+ ApiCall.MoCall = moCall;
27
+ }
28
+ get successMsg() {
29
+ if (typeof this.option.successMsg === 'string') {
30
+ return this.option.successMsg;
31
+ }
32
+ else if (typeof this.option.successMsg === 'function') {
33
+ return this.option.successMsg(this.result);
34
+ }
35
+ else if (this.result.message) {
36
+ return this.result.message;
37
+ }
38
+ return '请求成功';
39
+ }
40
+ get failMsg() {
41
+ if (this.error) {
42
+ if (typeof this.option.failMsg === 'string') {
43
+ return this.option.failMsg;
44
+ }
45
+ else if (typeof this.option.failMsg === 'function') {
46
+ return this.option.failMsg(this.error);
47
+ }
48
+ return this.error.message || this.error.data ? this.error.data.mssage : '请求错误';
49
+ }
50
+ return false;
51
+ }
52
+ init(props) {
53
+ const defaultOption = {
54
+ prefix: true,
55
+ hintSuccess: false,
56
+ hintFail: true,
57
+ showLoading: true,
58
+ loading: false,
59
+ successMsg: (res) => {
60
+ return res.message || '请求成功';
61
+ },
62
+ failMsg: (err) => {
63
+ return err.message;
64
+ }
65
+ };
66
+ this.option = this.option || {};
67
+ if (props && typeof props.option === 'object') {
68
+ const option = Object.assign(defaultOption, this.option, props.option);
69
+ Object.assign(props.option, option);
70
+ this.option = props.option;
71
+ }
72
+ else {
73
+ this.option = Object.assign(defaultOption, this.option);
74
+ }
75
+ this.params = props && props.params ? props.params : {};
76
+ }
77
+ exec() {
78
+ ApiCall.MoCall.request(this)
79
+ .then((response) => {
80
+ this.result = response.data;
81
+ this.option.hintSuccess && !ApiCall.hasPrompted && ApiCall.hintSuccessHandler(this);
82
+ this.resolve(response.data);
83
+ })
84
+ .catch((err) => {
85
+ this.error = err;
86
+ this.option.hintSuccess && !ApiCall.hasPrompted && ApiCall.hintFailHandler(this);
87
+ this.reject(err);
88
+ });
89
+ }
90
+ }
91
+ exports.ApiCall = ApiCall;
92
+ ApiCall.hasPrompted = false;
93
+ ApiCall.hintSuccessHandler = (result) => { };
94
+ ApiCall.hintFailHandler = (err) => { };
95
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/lib/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const element_plus_1 = require("element-plus");
4
+ const base_1 = require("./base");
5
+ base_1.ApiCall.hintSuccessHandler = (apiCall) => {
6
+ console.info('请求成功!!');
7
+ base_1.ApiCall.hasPrompted = true;
8
+ element_plus_1.ElMessage.success({
9
+ message: apiCall.successMsg,
10
+ onClose: () => {
11
+ base_1.ApiCall.hasPrompted = false;
12
+ }
13
+ });
14
+ };
15
+ base_1.ApiCall.hintFailHandler = (apiCall) => {
16
+ console.info('请求错误!!');
17
+ base_1.ApiCall.hasPrompted = true;
18
+ apiCall.failMsg &&
19
+ element_plus_1.ElMessage.error({
20
+ message: apiCall.failMsg,
21
+ onClose: () => {
22
+ base_1.ApiCall.hasPrompted = false;
23
+ }
24
+ });
25
+ };
26
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":";;AAAA,+CAAwC;AACxC,iCAAgC;AAEhC,cAAO,CAAC,kBAAkB,GAAG,CAAC,OAAO,EAAE,EAAE;IACvC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,cAAO,CAAC,WAAW,GAAG,IAAI,CAAA;IAC1B,wBAAS,CAAC,OAAO,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC,UAAU;QAC3B,OAAO,EAAE,GAAG,EAAE;YACZ,cAAO,CAAC,WAAW,GAAG,KAAK,CAAA;QAC7B,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,cAAO,CAAC,eAAe,GAAG,CAAC,OAAO,EAAE,EAAE;IACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,cAAO,CAAC,WAAW,GAAG,IAAI,CAAA;IAC1B,OAAO,CAAC,OAAO;QACb,wBAAS,CAAC,KAAK,CAAC;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,GAAG,EAAE;gBACZ,cAAO,CAAC,WAAW,GAAG,KAAK,CAAA;YAC7B,CAAC;SACF,CAAC,CAAA;AACN,CAAC,CAAA"}
package/dist/main.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ import MFManage, { SchemaManager } from "moyan-file-model";
2
+ export declare class ApisdkCreator {
3
+ mFManage: MFManage;
4
+ error: Array<any>;
5
+ get runPath(): string;
6
+ get packageData(): any;
7
+ get outputPath(): string;
8
+ get openAPIObject(): any;
9
+ constructor();
10
+ schemaManagerData: {};
11
+ schemaManager: SchemaManager;
12
+ getRemoteData(): Promise<any>;
13
+ init(): Promise<void>;
14
+ create(): Promise<any[]>;
15
+ }
package/dist/main.js ADDED
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApisdkCreator = void 0;
4
+ const path = require("path");
5
+ const moyan_file_model_1 = require("moyan-file-model");
6
+ const axios_1 = require("axios");
7
+ const api_1 = require("./template/api");
8
+ const schemas_1 = require("./template/schemas");
9
+ class ApisdkCreator {
10
+ constructor() {
11
+ this.error = [];
12
+ this.schemaManagerData = {};
13
+ moyan_file_model_1.mFconfig.modulesPath = this.outputPath;
14
+ moyan_file_model_1.mFconfig.modulesTemplatePath = path.resolve(__dirname, './');
15
+ moyan_file_model_1.mFconfig.modulesTemplateViewsName = path.resolve(__dirname, "../view");
16
+ }
17
+ get runPath() {
18
+ const g = process.env.INIT_CWD;
19
+ return g;
20
+ }
21
+ get packageData() {
22
+ return require(path.resolve('package.json'));
23
+ }
24
+ get outputPath() {
25
+ return path.resolve(this.packageData['moyan-api'] && this.packageData['moyan-api']['output'] ? this.packageData['moyan-api']['output'] : "./src");
26
+ }
27
+ get openAPIObject() {
28
+ const file = this.packageData['moyan-api'] && this.packageData['moyan-api']['apijson'] ? this.packageData['moyan-api']['apijson'] : 'moyan.api.json';
29
+ console.info('获取本地数据:' + file);
30
+ const data = require(path.resolve(file));
31
+ return data;
32
+ }
33
+ async getRemoteData() {
34
+ const result = await axios_1.default.get(this.packageData['moyan-api']['jsonurl']);
35
+ return result.data;
36
+ }
37
+ async init() {
38
+ let openAPIObject = {};
39
+ if (this.packageData['moyan-api'] && this.packageData['moyan-api']['jsonurl']) {
40
+ console.log('获取远程数据:' + this.packageData['moyan-api']['jsonurl']);
41
+ openAPIObject = await this.getRemoteData();
42
+ }
43
+ else {
44
+ openAPIObject = this.openAPIObject;
45
+ }
46
+ if (!openAPIObject.openapi) {
47
+ throw new Error('api 数据错误');
48
+ }
49
+ this.schemaManagerData = {
50
+ type: moyan_file_model_1.smfType.dir,
51
+ name: "api",
52
+ children: [
53
+ {
54
+ type: moyan_file_model_1.smfType.ts,
55
+ name: "index",
56
+ template: new api_1.ApiTemplate(openAPIObject)
57
+ },
58
+ {
59
+ type: moyan_file_model_1.smfType.ts,
60
+ name: "schemas",
61
+ template: new schemas_1.SchemasTemplate(openAPIObject)
62
+ }
63
+ ]
64
+ };
65
+ }
66
+ async create() {
67
+ await this.init();
68
+ this.mFManage = new moyan_file_model_1.default();
69
+ this.schemaManager = new moyan_file_model_1.SchemaManager(this.schemaManagerData);
70
+ this.mFManage.run(this.schemaManager);
71
+ return this.error;
72
+ }
73
+ }
74
+ exports.ApisdkCreator = ApisdkCreator;
75
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { OpenAPIObject } from '@nestjs/swagger';
2
+ import { Temp, Template } from 'moyan-file-model';
3
+ export declare class ApiTemplate extends Temp implements Template {
4
+ openAPIObject: OpenAPIObject;
5
+ list: Array<any>;
6
+ schemaKeys: any[];
7
+ constructor(openAPIObject: OpenAPIObject);
8
+ init(): void;
9
+ private _getReqType;
10
+ parseSchema(schema: any): string;
11
+ getSchemaEntity(str: string): string;
12
+ _getResType(item: any): string;
13
+ _getReqDescription(item: any): any;
14
+ _getResDescription(item: any): any;
15
+ run(): Promise<unknown>;
16
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiTemplate = void 0;
4
+ const moyan_file_model_1 = require("moyan-file-model");
5
+ class ApiTemplate extends moyan_file_model_1.Temp {
6
+ constructor(openAPIObject) {
7
+ super(moyan_file_model_1.smfType.ts);
8
+ this.list = [];
9
+ this.schemaKeys = [];
10
+ this.openAPIObject = openAPIObject;
11
+ this.init();
12
+ }
13
+ init() {
14
+ const paths = new Map();
15
+ for (const key in this.openAPIObject.paths) {
16
+ for (const key1 in this.openAPIObject.paths[key]) {
17
+ const item = this.openAPIObject.paths[key][key1];
18
+ item.path = key;
19
+ item.method = key1.toUpperCase();
20
+ paths.set(`${item.operationId}`, Object.assign(Object.assign({}, item), { reqType: this._getReqType(item), resType: this._getResType(item), reqDescription: this._getReqDescription(item), resDescription: this._getResDescription(item), tag: JSON.stringify(item.tag) }));
21
+ }
22
+ }
23
+ this.list = [...paths.values()];
24
+ this.schemaKeys = Object.keys(this.openAPIObject.components.schemas);
25
+ }
26
+ _getReqType(item) {
27
+ try {
28
+ return this.getSchemaEntity(item.requestBody.content['application/json'].schema.$ref);
29
+ }
30
+ catch (_a) {
31
+ return this.parseSchema(item);
32
+ }
33
+ }
34
+ parseSchema(schema) {
35
+ const parameters = new Map();
36
+ schema.parameters.forEach((item) => {
37
+ parameters.set(item.name, item);
38
+ });
39
+ const arr = [...parameters.values()];
40
+ try {
41
+ let str = '{';
42
+ arr.forEach((item1) => {
43
+ str += ` ${item1.name}${item1.required ? '' : '?'}:${item1.schema.type},${item1.description ? ' //' + item1.description : ''}\n`;
44
+ });
45
+ str += '}';
46
+ return str;
47
+ }
48
+ catch (e) {
49
+ return `any`;
50
+ }
51
+ }
52
+ getSchemaEntity(str) {
53
+ const arr = str.split('/');
54
+ return arr[3] || `any`;
55
+ }
56
+ _getResType(item) {
57
+ try {
58
+ return this.getSchemaEntity(item.responses[200].content['application/json'].schema.$ref);
59
+ }
60
+ catch (_a) {
61
+ return `any`;
62
+ }
63
+ }
64
+ _getReqDescription(item) {
65
+ try {
66
+ return item.requestBody.description || '';
67
+ }
68
+ catch (_a) {
69
+ return '';
70
+ }
71
+ }
72
+ _getResDescription(item) {
73
+ try {
74
+ return item.responses[200].description || '';
75
+ }
76
+ catch (_a) {
77
+ return '';
78
+ }
79
+ }
80
+ async run() {
81
+ try {
82
+ return await this.render('api');
83
+ }
84
+ catch (err) {
85
+ console.info('===========ApiTemplate=err==========', err);
86
+ }
87
+ }
88
+ }
89
+ exports.ApiTemplate = ApiTemplate;
90
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/template/api.ts"],"names":[],"mappings":";;;AACA,uDAA0D;AAE1D,MAAa,WAAY,SAAQ,uBAAI;IAOnC,YAAY,aAA2B;QACrC,KAAK,CAAC,0BAAO,CAAC,EAAE,CAAC,CAAA;QALnB,SAAI,GAAe,EAAE,CAAA;QAErB,eAAU,GAAG,EAAE,CAAA;QAIb,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,IAAI,EAAE,CAAA;IACb,CAAC;IAED,IAAI;QACF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;QACvB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;YAC1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAChD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;gBAChD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;gBACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;gBAChC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,kCAC1B,IAAI,KACP,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAC/B,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAC/B,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAC7C,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAC7C,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAC7B,CAAA;aACH;SACF;QACD,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;QAC/B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACtE,CAAC;IAEO,WAAW,CAAC,IAAS;QAC3B,IAAI;YACF,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;SACtF;QAAC,WAAM;YACN,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;SAC9B;IACH,CAAC;IAED,WAAW,CAAC,MAAW;QACrB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;QAE5B,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YACtC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QACF,MAAM,GAAG,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;QAEpC,IAAI;YACF,IAAI,GAAG,GAAG,GAAG,CAAA;YACb,GAAG,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;gBACzB,GAAG,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAA;YACnI,CAAC,CAAC,CAAA;YACF,GAAG,IAAI,GAAG,CAAA;YACV,OAAO,GAAG,CAAA;SACX;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,KAAK,CAAA;SACb;IACH,CAAC;IAED,eAAe,CAAC,GAAW;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAA;IACxB,CAAC;IAED,WAAW,CAAC,IAAS;QACnB,IAAI;YACF,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;SACzF;QAAC,WAAM;YACN,OAAO,KAAK,CAAA;SACb;IACH,CAAC;IAED,kBAAkB,CAAC,IAAS;QAC1B,IAAI;YACF,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,CAAA;SAC1C;QAAC,WAAM;YACN,OAAO,EAAE,CAAA;SACV;IACH,CAAC;IAED,kBAAkB,CAAC,IAAS;QAC1B,IAAI;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,EAAE,CAAA;SAC7C;QAAC,WAAM;YACN,OAAO,EAAE,CAAA;SACV;IACH,CAAC;IAEM,KAAK,CAAC,GAAG;QACd,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;SAChC;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAA;SAC1D;IACH,CAAC;CACF;AAlGD,kCAkGC"}
@@ -0,0 +1,13 @@
1
+ import { OpenAPIObject } from '@nestjs/swagger';
2
+ import { Temp, Template } from 'moyan-file-model';
3
+ export declare class SchemasTemplate extends Temp implements Template {
4
+ openAPIObject: OpenAPIObject;
5
+ list: Array<any>;
6
+ constructor(openAPIObject: OpenAPIObject);
7
+ init(): void;
8
+ parseSchema(schema: any): string[];
9
+ isRequired(schema: any, key: string): boolean;
10
+ getSchemaEntity(str: string): string;
11
+ getDescription(item: any): string;
12
+ run(): Promise<unknown>;
13
+ }