mas-server 2.0.4 → 2.0.5

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 (119) hide show
  1. package/.temp/merge/validType.ts +98 -0
  2. package/dist/index.js +8 -47
  3. package/dist/src/index.js +100 -0
  4. package/dist/src/state.js +4 -0
  5. package/dist/src/typings/index.js +2 -0
  6. package/dist/src/utils/apiDoc.js +33 -0
  7. package/dist/src/utils/createRouter.js +51 -0
  8. package/dist/src/utils/getLog.js +18 -0
  9. package/dist/src/utils/getRouterInfo.js +34 -0
  10. package/dist/src/utils/masUtils.js +12 -0
  11. package/dist/src/utils/meaToken.js +57 -0
  12. package/dist/src/utils/quickSend.js +32 -0
  13. package/dist/src/utils/readApi.js +50 -0
  14. package/dist/src/utils/validRouteData.js +37 -0
  15. package/dist/src/utils/validToken.js +24 -0
  16. package/dist/src/utils/validType.js +84 -0
  17. package/dist/test/apiTemplate/api.temp.js +24 -0
  18. package/dist/test/apiTemplate/curd/del.js +21 -0
  19. package/dist/test/apiTemplate/curd/get.js +21 -0
  20. package/dist/test/apiTemplate/curd/set.js +21 -0
  21. package/dist/test/config/config.js +31 -0
  22. package/dist/test/config/createSqlFormData.js +15 -0
  23. package/dist/test/config/defaultApiConfig.js +7 -0
  24. package/dist/test/config/docNav.js +0 -0
  25. package/dist/test/main.js +31 -0
  26. package/dist/test/scripts/beforeCreated.js +62 -0
  27. package/dist/test/scripts/createApiFile.js +52 -0
  28. package/dist/test/scripts/createApis.js +81 -0
  29. package/dist/test/scripts/createSqlForm.js +10 -0
  30. package/dist/test/scripts/getSqlFormType.js +56 -0
  31. package/dist/test/scripts/run.js +6 -0
  32. package/dist/test/src/api/example/ArrValid.js +21 -0
  33. package/dist/test/src/api/example/per.js +37 -0
  34. package/dist/test/src/api/example/tip.js +22 -0
  35. package/dist/test/src/api/example/validReqData.js +98 -0
  36. package/dist/test/src/api/index.js +24 -0
  37. package/dist/test/src/debug.js +10 -0
  38. package/dist/test/src/masState.js +4 -0
  39. package/dist/test/src/sql/selectStudent.js +10 -0
  40. package/dist/test/src/sqlform.json +1 -0
  41. package/dist/test/test.js +3 -0
  42. package/dist/utils/apiDoc.js +17 -2
  43. package/dist/utils/createRouter.js +51 -0
  44. package/dist/utils/getRouterInfo.js +34 -0
  45. package/dist/utils/validRouteData.js +1 -1
  46. package/dist/utils/validToken.js +1 -1
  47. package/dist/utils/validType.js +0 -17
  48. package/package.json +5 -5
  49. package/{dist/apiDoc/assets/empty-907982e4.js → src/apiDoc/assets/empty-a6de4920.js} +1 -1
  50. package/src/apiDoc/assets/index-be53fe8f.css +6 -0
  51. package/src/apiDoc/assets/index-f9ab4187.js +1427 -0
  52. package/src/apiDoc/assets/jsoneditor-icons-45c98bf0.svg +749 -749
  53. package/src/apiDoc/index.html +2 -2
  54. package/src/index.ts +20 -24
  55. package/src/typings/index.ts +5 -5
  56. package/src/utils/apiDoc.ts +18 -2
  57. package/src/utils/createRouter.ts +22 -0
  58. package/src/utils/getRouterInfo.ts +28 -0
  59. package/src/utils/readApi.ts +0 -2
  60. package/src/utils/validRouteData.ts +1 -2
  61. package/src/utils/validToken.ts +1 -1
  62. package/src/utils/validType.ts +0 -17
  63. package/test/apiTemplate/api.temp.ts +8 -3
  64. package/test/config/config.ts +1 -1
  65. package/test/config/defaultApiConfig.ts +7 -0
  66. package/test/config/docNav.ts +0 -0
  67. package/test/main.ts +1 -0
  68. package/test/scripts/beforeCreated.ts +2 -41
  69. package/test/scripts/createApiFile.ts +0 -1
  70. package/test/scripts/createApis.ts +0 -48
  71. package/test/scripts/getSqlFormType.ts +2 -13
  72. package/test/src/api/example/ArrValid.ts +11 -0
  73. package/test/src/api/example/per.ts +34 -0
  74. package/test/src/api/example/tip.ts +9 -0
  75. package/test/src/api/example/validReqData.ts +85 -0
  76. package/test/src/api/index.ts +8 -1
  77. package/test/src/debug.ts +3 -50
  78. package/test/src/sqlform.json +1 -12
  79. package/test/test.ts +0 -12
  80. package/test//345/276/205/345/274/200/345/217/221.md +12 -6
  81. package/tsconfig-build.json +20 -0
  82. package/tsconfig.json +1 -3
  83. package/.temp/validType.ts +0 -96
  84. package/dist/apiDoc/assets/index-b56e6bc6.js +0 -1414
  85. package/dist/apiDoc/assets/index-bb16d834.css +0 -6
  86. package/dist/apiDoc/assets/jsoneditor-icons-45c98bf0.svg +0 -749
  87. package/dist/apiDoc/favicon.ico +0 -0
  88. package/dist/apiDoc/index.html +0 -15
  89. package/dist/utils/getRouteByApiSrc.js +0 -54
  90. package/dist/utils/mas-encrypt.min.js +0 -3072
  91. package/src/apiDoc/assets/empty-907982e4.js +0 -1
  92. package/src/apiDoc/assets/index-b56e6bc6.js +0 -1414
  93. package/src/apiDoc/assets/index-bb16d834.css +0 -6
  94. package/test/config/api.config.ts +0 -3
  95. package/test/config/api.key.ts +0 -14
  96. package/test/src/api/curd/student/del.ts +0 -9
  97. package/test/src/api/curd/student/get.ts +0 -9
  98. package/test/src/api/curd/student/set.ts +0 -9
  99. package/test/src/api/per.ts +0 -6
  100. package/test/src/api/person/del.ts +0 -4
  101. package/test/src/api/person/get.ts +0 -4
  102. package/test/src/api/person/set.ts +0 -4
  103. package/test/src/api/test.ts +0 -7
  104. package/test/src/api/validtest/boolArr.ts +0 -4
  105. package/test/typings/studentSF.ts +0 -6
  106. package/test/typings/test11SF.ts +0 -1
  107. package/test/typings/test22SF.ts +0 -1
  108. package/test/typings/testformSF.ts +0 -1
  109. /package/.temp/{logs/.keep → .keep} +0 -0
  110. /package/{src/utils → .temp}/getRouteByApiSrc.ts +0 -0
  111. /package/.temp/{a.ts → merge/a.ts} +0 -0
  112. /package/.temp/{as.ts → merge/as.ts} +0 -0
  113. /package/.temp/{b.ts → merge/b.ts} +0 -0
  114. /package/.temp/{i.js → merge/i.js} +0 -0
  115. /package/{test/typings → .temp/merge/logs}/.keep +0 -0
  116. /package/.temp/{test.ts → merge/test.ts} +0 -0
  117. /package/.temp/{validType copy.ts → merge/validType copy.ts} +0 -0
  118. /package/.temp/{validTypeOptimize.ts → merge/validTypeOptimize.ts} +0 -0
  119. /package/{test/scripts → .temp}/updateRouter.ts +0 -0
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const masUtils_1 = require("../utils/masUtils");
4
+ const vliadBase = (obj, typeMapping) => {
5
+ return (0, masUtils_1.getType)(obj) == typeMapping.name.toLowerCase();
6
+ };
7
+ const validTypeObj = (obj, typeMapping) => {
8
+ if (obj === null || obj === undefined)
9
+ return false;
10
+ let typeT = (0, masUtils_1.getType)(typeMapping);
11
+ if (typeT == "function") {
12
+ return vliadBase(obj, typeMapping);
13
+ }
14
+ else if (typeT == "object") {
15
+ if ((0, masUtils_1.getType)(obj) !== "object")
16
+ return false;
17
+ for (let k in typeMapping) {
18
+ if (obj[k] === null || obj[k] === undefined)
19
+ return false;
20
+ if (!validType(obj[k], typeMapping[k]))
21
+ return false;
22
+ }
23
+ }
24
+ else if (typeT == "array") {
25
+ if ((0, masUtils_1.getType)(obj) != "array")
26
+ return false;
27
+ if (obj.length === 0)
28
+ return false;
29
+ const typeMappingArrObj = typeMapping[0];
30
+ if (!typeMappingArrObj) {
31
+ throw new Error(`非法的效验格式 ${typeMapping} ${typeMappingArrObj}`);
32
+ }
33
+ if ((0, masUtils_1.getType)(obj) != "array")
34
+ return false;
35
+ for (let v of obj) {
36
+ if (!validTypeObj(v, typeMappingArrObj))
37
+ return false;
38
+ }
39
+ }
40
+ return true;
41
+ };
42
+ const validTypeObjStrict = (obj, typeMapping) => {
43
+ if (obj === null || obj === undefined)
44
+ return false;
45
+ let typeT = (0, masUtils_1.getType)(typeMapping);
46
+ if (typeT == "function") {
47
+ return vliadBase(obj, typeMapping);
48
+ }
49
+ else if (typeT == "object") {
50
+ if ((0, masUtils_1.getType)(obj) !== "object")
51
+ return false;
52
+ if (Object.keys(obj).length != Object.keys(typeT).length)
53
+ return false;
54
+ for (let k in typeMapping) {
55
+ if (obj[k] === null || obj[k] === undefined)
56
+ return false;
57
+ if (!validType(obj[k], typeMapping[k]))
58
+ return false;
59
+ }
60
+ }
61
+ else if (typeT == "array") {
62
+ if ((0, masUtils_1.getType)(obj) != "array")
63
+ return false;
64
+ if (obj.length === 0)
65
+ return false;
66
+ const typeMappingArrObj = typeMapping[0];
67
+ if (!typeMappingArrObj) {
68
+ throw new Error(`非法的效验格式 ${typeMapping} ${typeMappingArrObj}`);
69
+ }
70
+ if ((0, masUtils_1.getType)(obj) != "array")
71
+ return false;
72
+ for (let v of obj) {
73
+ if (!validTypeObj(v, typeMappingArrObj))
74
+ return false;
75
+ }
76
+ }
77
+ return true;
78
+ };
79
+ function validType(obj, typeMapping, strict = false) {
80
+ return strict
81
+ ? validTypeObjStrict(obj, typeMapping)
82
+ : validTypeObj(obj, typeMapping);
83
+ }
84
+ exports.default = validType;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.config = void 0;
16
+ const masState_1 = __importDefault(require("@/masState"));
17
+ exports.config = {
18
+ name: "默认接口",
19
+ methods: "all",
20
+ };
21
+ exports.default = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
22
+ const { sql } = masState_1.default;
23
+ res.return("hello mas-server!");
24
+ });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const masState_1 = __importDefault(require("@@/test/src/masState"));
16
+ const sqlform_json_1 = __importDefault(require("@@/test/src/sqlform.json"));
17
+ exports.default = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
18
+ const { sql } = masState_1.default;
19
+ const sqlRes = yield sql.use(sqlform_json_1.default.$form).delete(req.body).go();
20
+ res.return(sqlRes);
21
+ });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const masState_1 = __importDefault(require("@@/test/src/masState"));
16
+ const sqlform_json_1 = __importDefault(require("@@/test/src/sqlform.json"));
17
+ exports.default = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
18
+ const { sql } = masState_1.default;
19
+ const sqlRes = yield sql.use(sqlform_json_1.default.$form).select(req.body).paging().go();
20
+ res.return(sqlRes);
21
+ });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const masState_1 = __importDefault(require("@@/test/src/masState"));
16
+ const sqlform_json_1 = __importDefault(require("@@/test/src/sqlform.json"));
17
+ exports.default = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
18
+ const { sql } = masState_1.default;
19
+ const sqlRes = yield sql.use(sqlform_json_1.default.$form).set(req.body).go();
20
+ res.return(sqlRes, sqlRes);
21
+ });
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ projectName: "mas-server",
5
+ port: 8087,
6
+ apidoc: true,
7
+ apidocOptions: {
8
+ // iframe嵌套
9
+ baseUrl: "",
10
+ },
11
+ cors: true,
12
+ logs: {
13
+ open: true,
14
+ debug: false,
15
+ },
16
+ token: {
17
+ open: true,
18
+ pwd: "8087",
19
+ headerParams: "token",
20
+ },
21
+ useSql: true,
22
+ debugTime: 100,
23
+ sql: {
24
+ host: "127.0.0.1",
25
+ user: "root",
26
+ password: "123456",
27
+ database: "school",
28
+ // database: "test",
29
+ // password: "tx123456",
30
+ },
31
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const createSqlFormData = {
4
+ testForm: [
5
+ {
6
+ key: "testA",
7
+ type: "str",
8
+ },
9
+ {
10
+ key: "numB",
11
+ type: "float",
12
+ },
13
+ ],
14
+ };
15
+ exports.default = createSqlFormData;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const defaultApiConfig = {
4
+ name: "新建接口",
5
+ methods: "all",
6
+ };
7
+ exports.default = defaultApiConfig;
File without changes
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ require("module-alias/register");
7
+ const index_1 = require("@/index");
8
+ const masState_1 = __importDefault(require("./src/masState"));
9
+ const config_1 = __importDefault(require("./config/config"));
10
+ const app = (0, index_1.getApp)(__dirname, (app) => {
11
+ // 数据库连接和express服务启动是异步进行的,如果数据库连接较慢,可能会出现调用接口访问不了数据库的情况
12
+ app.use((req, res, next) => {
13
+ if (config_1.default.useSql && !masState_1.default.sql) {
14
+ res.return("数据库正在连接!", 0, 500);
15
+ }
16
+ else {
17
+ next();
18
+ }
19
+ });
20
+ });
21
+ app.all("/", (_req, res) => {
22
+ res.return("default index");
23
+ });
24
+ // 404兜底
25
+ app.all("*", (_req, res) => {
26
+ res.return(404, 0, 404);
27
+ });
28
+ app.listen(8087, () => {
29
+ console.log("http://localhost:8087");
30
+ console.log("http://localhost:8087/apidoc");
31
+ });
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ require("module-alias/register");
39
+ const index_1 = require("@/index");
40
+ const path = __importStar(require("path"));
41
+ const config_1 = __importDefault(require("../config/config"));
42
+ const masState_1 = __importDefault(require("../src/masState"));
43
+ const ansi_colors_1 = __importDefault(require("ansi-colors"));
44
+ // 数据库初始化
45
+ (() => __awaiter(void 0, void 0, void 0, function* () {
46
+ // mysql初始化
47
+ if (config_1.default.useSql) {
48
+ yield (0, index_1.sqlInit)(config_1.default.sql);
49
+ // 如果表没有update_time,create_time,is_delete三个字段,补上,放入masmysql的state中
50
+ yield (0, index_1.checkSqlKey)();
51
+ // 比较入masmysql的state中的form,不一样重新生成生成sqlform,json
52
+ (0, index_1.getsqlFormData)(path.join(__dirname, "/../src/sqlform.json"));
53
+ if (process.argv[2] != "-end") {
54
+ masState_1.default.sql = new index_1.massql();
55
+ console.info(ansi_colors_1.default.greenBright("mysql数据库连接成功!"));
56
+ }
57
+ if (process.argv[2] == "-end") {
58
+ yield (0, index_1.sqlEnd)();
59
+ console.info(ansi_colors_1.default.greenBright("初始化成功!"));
60
+ }
61
+ }
62
+ }))();
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const path_1 = __importDefault(require("path"));
30
+ const ansi_colors_1 = __importDefault(require("ansi-colors"));
31
+ const fs = __importStar(require("fs"));
32
+ const createApiFile = (DIRNAME, tempPath) => {
33
+ let argv = process.argv.slice(2);
34
+ for (let dir of argv) {
35
+ let dirname = dir;
36
+ let dirpath = dir.split("/");
37
+ dirpath = dirpath.slice(0, dirpath.length - 1).join("/");
38
+ dir = path_1.default.join(DIRNAME, dir) + ".ts";
39
+ dirpath = path_1.default.join(DIRNAME, dirpath);
40
+ let isExist = fs.existsSync(dir);
41
+ if (isExist) {
42
+ console.info(ansi_colors_1.default.yellow(`已存在!${dirname}`));
43
+ continue;
44
+ }
45
+ isExist = fs.existsSync(dirpath);
46
+ if (!isExist)
47
+ fs.mkdirSync(dirpath, { recursive: true });
48
+ fs.copyFileSync(tempPath, dir);
49
+ console.info(ansi_colors_1.default.green(`创建成功!${dirname}`));
50
+ }
51
+ };
52
+ createApiFile(path_1.default.join(__dirname, "../src/api"), path_1.default.join(__dirname, "../apiTemplate/api.temp.ts"));
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ require("module-alias/register");
39
+ const index_1 = require("@/index");
40
+ const config_1 = __importDefault(require("../config/config"));
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ const ansi_colors_1 = __importDefault(require("ansi-colors"));
44
+ // import apiConfig from "../config/api.config";
45
+ // 根据数据库生成对应type,自动注入数据效验
46
+ (() => __awaiter(void 0, void 0, void 0, function* () {
47
+ let argv = process.argv.slice(2);
48
+ const formName = argv[0];
49
+ const wPath = argv[1];
50
+ // mysql初始化
51
+ if (config_1.default.useSql) {
52
+ yield (0, index_1.sqlInit)(config_1.default.sql);
53
+ yield (0, index_1.checkSqlKey)();
54
+ const formDataType = (0, index_1.getsqlFormDataType)();
55
+ if (!formDataType[formName]) {
56
+ console.info(ansi_colors_1.default.redBright("该表不存在!"));
57
+ return;
58
+ }
59
+ const vlidType = formDataType[formName].typeData;
60
+ const getStr = fs
61
+ .readFileSync(path.join(__dirname, "../apiTemplate/curd/get.ts"))
62
+ .toString()
63
+ .replace("$form", formName);
64
+ const delStr = fs
65
+ .readFileSync(path.join(__dirname, "../apiTemplate/curd/del.ts"))
66
+ .toString()
67
+ .replace("$form", formName);
68
+ const setStr = fs
69
+ .readFileSync(path.join(__dirname, "../apiTemplate/curd/set.ts"))
70
+ .toString()
71
+ .replace("$form", formName);
72
+ // console.log(getStr);
73
+ fs.mkdirSync(path.join(__dirname, "../src/api", wPath, `/${formName}`), {
74
+ recursive: true,
75
+ });
76
+ fs.writeFileSync(path.join(__dirname, "../src/api", wPath, `/${formName}/get.ts`), getStr);
77
+ fs.writeFileSync(path.join(__dirname, "../src/api", wPath, `/${formName}/del.ts`), delStr);
78
+ fs.writeFileSync(path.join(__dirname, "../src/api", wPath, `/${formName}/set.ts`), setStr);
79
+ yield (0, index_1.sqlEnd)();
80
+ }
81
+ }))();
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ require("module-alias/register");
7
+ const index_1 = require("@/index");
8
+ const createSqlFormData_1 = __importDefault(require("../config/createSqlFormData"));
9
+ const config_1 = __importDefault(require("../config/config"));
10
+ (0, index_1.createSqlForm)(config_1.default.sql, createSqlFormData_1.default);
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ require("module-alias/register");
39
+ const index_1 = require("@/index");
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const config_1 = __importDefault(require("../config/config"));
43
+ const ansi_colors_1 = __importDefault(require("ansi-colors"));
44
+ (() => __awaiter(void 0, void 0, void 0, function* () {
45
+ // mysql初始化
46
+ if (config_1.default.useSql) {
47
+ yield (0, index_1.sqlInit)(config_1.default.sql);
48
+ yield (0, index_1.checkSqlKey)();
49
+ const formDataType = (0, index_1.getsqlFormDataType)();
50
+ for (let formName in formDataType) {
51
+ fs.writeFileSync(path.join(__dirname, `../typings/${formName}SF.ts`), `export type ${formName}SF = ${formDataType[formName].typeObj}`);
52
+ }
53
+ yield (0, index_1.sqlEnd)();
54
+ console.info(ansi_colors_1.default.greenBright("获取类型成功!"));
55
+ }
56
+ }))();
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // 先写入api.config.js和api.key.js
4
+ require("./beforeCreated");
5
+ // 运行express
6
+ require("../main");
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.config = void 0;
13
+ exports.config = {
14
+ name: "效验数组",
15
+ methods: "post",
16
+ validFormat: [Number],
17
+ };
18
+ exports.default = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
19
+ console.log(req.body);
20
+ res.return(req.body);
21
+ });
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.config = void 0;
13
+ const index_1 = require("@/index");
14
+ exports.config = {
15
+ name: "权限测试接口",
16
+ methods: "post",
17
+ permission: ["admin"],
18
+ };
19
+ const token = (0, index_1.createToken)({ data: "这是一条token里的信息", permission: ["admin"] }, "8087");
20
+ // 开启这行拿到token,然后请求头里加上token即可正常访问
21
+ // console.log(token);
22
+ exports.default = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
23
+ console.log(res.token);
24
+ res.return("你是超级管理员!");
25
+ });
26
+ // 也可以选择自己效验
27
+ // import { createToken, validToken } from "@/index";
28
+ // const token = createToken({
29
+ // time: 10,
30
+ // permission: ["admin", "www"],
31
+ // data: { a: 1, b: 2 },
32
+ // });
33
+ // setTimeout(() => {
34
+ // const tokenInfo = validToken({ token, permission: ["user", "admin"] });
35
+ // console.log(token);
36
+ // console.log(tokenInfo);
37
+ // }, 1000);
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const masState_1 = __importDefault(require("@@/test/src/masState"));
16
+ // 编写createSqlFormData.ts && npm run createSqlForm
17
+ // npm run createApi example/newApi
18
+ // npm run createApis student /example 根据student表创建 /example/student/get /example/student/set ...
19
+ exports.default = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
20
+ const { sql } = masState_1.default;
21
+ res.return("hello mas-server!");
22
+ });