mas-server 3.0.42 → 4.0.0-beta.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 (103) hide show
  1. package/README.md +408 -7
  2. package/dist/getApp/apiHandler.d.ts +42 -0
  3. package/dist/getApp/apiHandler.d.ts.map +1 -0
  4. package/dist/getApp/config.d.ts +22 -0
  5. package/dist/getApp/config.d.ts.map +1 -0
  6. package/dist/getApp/docTransform.d.ts +41 -0
  7. package/dist/getApp/docTransform.d.ts.map +1 -0
  8. package/dist/getApp/fsRoutes.d.ts +17 -0
  9. package/dist/getApp/fsRoutes.d.ts.map +1 -0
  10. package/dist/getApp/getApp.d.ts +11 -0
  11. package/dist/getApp/getApp.d.ts.map +1 -0
  12. package/dist/getApp/logs.d.ts +29 -0
  13. package/dist/getApp/logs.d.ts.map +1 -0
  14. package/dist/index.d.ts +5 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +1 -121
  17. package/dist/middleware/openCors.d.ts +9 -0
  18. package/dist/middleware/openCors.d.ts.map +1 -0
  19. package/dist/type.d.ts +183 -0
  20. package/dist/type.d.ts.map +1 -0
  21. package/dist/utils/mas-encrypt.min.d.ts +6 -0
  22. package/dist/utils/mas-encrypt.min.d.ts.map +1 -0
  23. package/dist/utils/quickSend.d.ts +8 -0
  24. package/dist/utils/quickSend.d.ts.map +1 -0
  25. package/dist/utils/tokenUtils.d.ts +54 -0
  26. package/dist/utils/tokenUtils.d.ts.map +1 -0
  27. package/dist/utils/typeFromValidFormat.d.ts +81 -0
  28. package/dist/utils/typeFromValidFormat.d.ts.map +1 -0
  29. package/dist/utils/validType.d.ts +17 -0
  30. package/dist/utils/validType.d.ts.map +1 -0
  31. package/package.json +43 -46
  32. package/.temp/.keep +0 -0
  33. package/.temp/getRouteByApiSrc.ts +0 -55
  34. package/.temp/merge/a.ts +0 -4
  35. package/.temp/merge/as.ts +0 -1
  36. package/.temp/merge/b.ts +0 -3
  37. package/.temp/merge/i.js +0 -103
  38. package/.temp/merge/logs/.keep +0 -0
  39. package/.temp/merge/test.ts +0 -2
  40. package/.temp/merge/validType copy.ts +0 -149
  41. package/.temp/merge/validType.ts +0 -98
  42. package/.temp/merge/validTypeOptimize.ts +0 -98
  43. package/.temp/updateRouter.ts +0 -46
  44. package/.vscode/settings.json +0 -3
  45. package/beforebuild.js +0 -9
  46. package/dist/state.js +0 -4
  47. package/dist/typings/index.js +0 -2
  48. package/dist/utils/apiLimit.js +0 -20
  49. package/dist/utils/createRouter.js +0 -81
  50. package/dist/utils/getRouterInfo.js +0 -56
  51. package/dist/utils/logs.js +0 -58
  52. package/dist/utils/mas-encrypt.min.js +0 -1
  53. package/dist/utils/masUtils.js +0 -10
  54. package/dist/utils/meaToken.js +0 -57
  55. package/dist/utils/printLog.js +0 -12
  56. package/dist/utils/quickSend.js +0 -37
  57. package/dist/utils/readApi.js +0 -60
  58. package/dist/utils/validRouteData.js +0 -37
  59. package/dist/utils/validToken.js +0 -24
  60. package/dist/utils/validType.js +0 -84
  61. package/src/index.ts +0 -98
  62. package/src/state.ts +0 -1
  63. package/src/typings/index.ts +0 -113
  64. package/src/utils/apiLimit.ts +0 -15
  65. package/src/utils/createRouter.ts +0 -34
  66. package/src/utils/getRouterInfo.ts +0 -49
  67. package/src/utils/logs.ts +0 -21
  68. package/src/utils/mas-encrypt.min.js +0 -1
  69. package/src/utils/masUtils.ts +0 -7
  70. package/src/utils/meaToken.ts +0 -56
  71. package/src/utils/printLog.ts +0 -12
  72. package/src/utils/quickSend.ts +0 -25
  73. package/src/utils/readApi.ts +0 -28
  74. package/src/utils/validRouteData.ts +0 -45
  75. package/src/utils/validToken.ts +0 -22
  76. package/src/utils/validType.ts +0 -81
  77. package/test/apiTemplate/curd/del.ts +0 -9
  78. package/test/apiTemplate/curd/get.ts +0 -9
  79. package/test/apiTemplate/curd/set.ts +0 -9
  80. package/test/apiTemplate/defaultApi.ts +0 -8
  81. package/test/config/serverConfig/config.ts +0 -29
  82. package/test/config/sqlConfig/createSqlFormData.ts +0 -13
  83. package/test/logs/.keep +0 -0
  84. package/test/main.ts +0 -29
  85. package/test/scripts/beforeCreated.ts +0 -28
  86. package/test/scripts/createApiFile.ts +0 -26
  87. package/test/scripts/createApis.ts +0 -61
  88. package/test/scripts/createSqlForm.ts +0 -5
  89. package/test/scripts/getSqlFormType.ts +0 -23
  90. package/test/scripts/run.ts +0 -4
  91. package/test/src/api/example/ArrValid.ts +0 -11
  92. package/test/src/api/example/per.ts +0 -34
  93. package/test/src/api/example/tip.ts +0 -7
  94. package/test/src/api/example/validReqData.ts +0 -82
  95. package/test/src/api/index.ts +0 -9
  96. package/test/src/apiDoc.ts +0 -34
  97. package/test/src/debug.ts +0 -5
  98. package/test/src/masState.ts +0 -4
  99. package/test/src/sqlform.json +0 -1
  100. package/test/test.ts +0 -1
  101. package/tsconfig-build.json +0 -20
  102. package/tsconfig.json +0 -21
  103. package/tsconfigschema.json +0 -1263
@@ -1,23 +0,0 @@
1
- import "module-alias/register";
2
- import { checkSqlKey, sqlInit, sqlEnd, getsqlFormDataType } from "@/index";
3
- import * as fs from "fs";
4
- import * as path from "path";
5
-
6
- import config from "../config/serverConfig/config";
7
- import c from "ansi-colors";
8
- (async () => {
9
- // mysql初始化
10
- if (config.useSql) {
11
- await sqlInit(config.sql);
12
- await checkSqlKey();
13
- const formDataType = getsqlFormDataType();
14
- for (let formName in formDataType) {
15
- fs.writeFileSync(
16
- path.join(__dirname, `../typings/${formName}SF.ts`),
17
- `export type ${formName}SF = ${formDataType[formName].typeObj}`
18
- );
19
- }
20
- await sqlEnd();
21
- console.info(c.greenBright("获取类型成功!"));
22
- }
23
- })();
@@ -1,4 +0,0 @@
1
- // 先写入api.config.js和api.key.js
2
- import "./beforeCreated";
3
- // 运行express
4
- import "../main";
@@ -1,11 +0,0 @@
1
- import type { ApiConfigTypeItem, MasReq, MasRes } from "@/index";
2
- export const config: ApiConfigTypeItem = {
3
- name: "效验数组",
4
- methods: "post",
5
- validFormat: [Number],
6
- example: [1, 2],
7
- };
8
- export default async (req: MasReq, res: MasRes) => {
9
- console.log(req.body);
10
- res.return(req.body);
11
- };
@@ -1,34 +0,0 @@
1
- import {
2
- createToken,
3
- type ApiConfigTypeItem,
4
- type MasReq,
5
- type MasRes,
6
- } from "@/index";
7
- export const config: ApiConfigTypeItem = {
8
- name: "权限测试接口",
9
- methods: "post",
10
- permission: ["admin"],
11
- };
12
- const token = createToken(
13
- { data: "这是一条token里的信息", permission: ["admin"] },
14
- "8087"
15
- );
16
- // 开启这行拿到token,然后请求头里加上token即可正常访问
17
- // console.log(token);
18
- export default async (req: MasReq, res: MasRes) => {
19
- console.log(res.token);
20
- res.return("你是超级管理员!");
21
- };
22
-
23
- // 也可以选择自己效验
24
- // import { createToken, validToken } from "@/index";
25
- // const token = createToken({
26
- // time: 10,
27
- // permission: ["admin", "www"],
28
- // data: { a: 1, b: 2 },
29
- // });
30
- // setTimeout(() => {
31
- // const tokenInfo = validToken({ token, permission: ["user", "admin"] });
32
- // console.log(token);
33
- // console.log(tokenInfo);
34
- // }, 1000);
@@ -1,7 +0,0 @@
1
- import type { ApiConfigTypeItem, MasReq, MasRes } from "@/index";
2
- // 编写createSqlFormData.ts && npm run createSqlForm
3
- // npm run createApi example/newApi
4
- // npm run createApis student /example 根据student表创建 /example/student/get /example/student/set ...
5
- export default async (req: MasReq, res: MasRes) => {
6
- res.return("hello mas-server1!");
7
- };
@@ -1,82 +0,0 @@
1
- import type { ApiConfigTypeItem, MasReq, MasRes } from "@/index";
2
- export const config: ApiConfigTypeItem = {
3
- name: "数据效验及响应示例接口",
4
- methods: "post",
5
- validFormat: {
6
- name: String,
7
- age: Number,
8
- grade: [{ name: String, score: Number }],
9
- desc: String,
10
- family: {
11
- mother: {
12
- name: String,
13
- age: Number,
14
- },
15
- fahter: {
16
- name: String,
17
- age: Number,
18
- },
19
- },
20
- },
21
- // 效验严格模式,默认不开启,开启则不能携带额外参数
22
- validFormatStrict: false,
23
- // 接口文档的请求示例
24
- example: {
25
- extra: "这是一个额外参数,如果开启严格模式且带上这个参数将会不通过效验",
26
- name: "小蔡",
27
- age: 18,
28
- grade: [{ name: "篮球", score: 99 }],
29
- desc: "两年半",
30
- family: {
31
- mother: {
32
- name: "母坤",
33
- age: 40,
34
- },
35
- fahter: {
36
- name: "公坤",
37
- age: 40,
38
- },
39
- },
40
- },
41
- // 响应示例
42
- resExample: {
43
- msg: "",
44
- status: 1,
45
- data: "hello!练习两年半的程序员",
46
- },
47
- validFormatDes: [
48
- {
49
- name: "extra",
50
- des: "额外的参数",
51
- type: String,
52
- },
53
- {
54
- name: "name",
55
- des: "姓名",
56
- },
57
- {
58
- name: "age",
59
- des: "年龄",
60
- },
61
- {
62
- name: "grade",
63
- des: "成绩",
64
- },
65
- {
66
- name: "family",
67
- des: "家庭情况",
68
- },
69
- ],
70
- des: "详细数据效验及响应示例接口",
71
- header: [
72
- {
73
- name: "boom",
74
- type: String,
75
- des: "一个可不传的请求头参数",
76
- optional: true,
77
- },
78
- ],
79
- };
80
- export default async (req: MasReq, res: MasRes) => {
81
- res.return("hello!练习两年半的程序员");
82
- };
@@ -1,9 +0,0 @@
1
- import type { ApiConfigTypeItem, MasReq, MasRes } from "@/index";
2
- export const config: ApiConfigTypeItem = {
3
- name: "默认接口",
4
- methods: "all",
5
- };
6
- export default async (req: MasReq, res: MasRes) => {
7
- res.success({}, "测试");
8
- // res.return("hello mas-server!");
9
- };
@@ -1,34 +0,0 @@
1
- import type { Express } from "express";
2
- import { MasReq, MasRes } from "@/index";
3
- import { state } from "@/state";
4
- export default (app: Express) => {
5
- const router = JSON.stringify(state.Router, (key, value) => {
6
- if (typeof value === "function") {
7
- return value.toString().replace(/function\s+(\w+)\(\)\s+\{.*\}/, "$1");
8
- }
9
- return value;
10
- });
11
- const newRouter = JSON.parse(router);
12
- // 有的描述没有类型,尝试从validFormat里取
13
- for (const key in newRouter) {
14
- const item = newRouter[key];
15
- if (item.validFormat && item.validFormatDes) {
16
- for (const validFormatDesItem of item.validFormatDes) {
17
- if (
18
- !validFormatDesItem.type &&
19
- item.validFormat[validFormatDesItem.name]
20
- ) {
21
- validFormatDesItem.type = item.validFormat[validFormatDesItem.name];
22
- } else if (!validFormatDesItem.type) {
23
- validFormatDesItem.type = "String";
24
- }
25
- }
26
- }
27
- }
28
- app.post("/apidoc/router", (req: MasReq, res: MasRes) => {
29
- res.return(newRouter);
30
- });
31
- app.post("/apidoc/cn", (req: MasReq, res: MasRes) => {
32
- res.return(state.apiCN);
33
- });
34
- };
package/test/src/debug.ts DELETED
@@ -1,5 +0,0 @@
1
- import validType from "@/utils/validType";
2
- import axios from "axios";
3
- import * as sqlform from "./sqlform.json";
4
- import { createToken, getApiRouter } from "@/index";
5
- // console.log(getApiRouter(), "路由信息");
@@ -1,4 +0,0 @@
1
- // import { massql } from "@/index";
2
-
3
- // const masState: { sql?: massql } = {};
4
- // export default masState;
@@ -1 +0,0 @@
1
- {"student":["age","create_time","des","id","is_delete","name","update_time","@!student"],"teacher":["age","create_time","id","is_delete","name","sex","update_time","@!teacher"]}
package/test/test.ts DELETED
@@ -1 +0,0 @@
1
- import "module-alias/register";
@@ -1,20 +0,0 @@
1
- {
2
- "$schema": "./tsconfigschema.json",
3
- "compilerOptions": {
4
- "strict": false,
5
- "module": "commonjs",
6
- "moduleResolution": "node",
7
- "esModuleInterop": true,
8
- "baseUrl": "./",
9
- "rootDir": "src",
10
- "outDir": "dist",
11
- "paths": {
12
- "@/*": ["src/*"],
13
- "@@/*": ["./*"]
14
- },
15
- "target": "es6",
16
- "lib": ["ES2021", "dom"],
17
- "resolveJsonModule": true
18
- },
19
- "exclude": ["node_modules", "dist", "test", ".temp","beforebuild.js"]
20
- }
package/tsconfig.json DELETED
@@ -1,21 +0,0 @@
1
- {
2
- "$schema": "./tsconfigschema.json",
3
- "compilerOptions": {
4
- // "noUnusedLocals": true,
5
- // "noUnusedParameters": true,
6
- "strict": false,
7
- "module": "commonjs",
8
- "moduleResolution": "node",
9
- "esModuleInterop": true,
10
- "baseUrl": "./",
11
- "outDir": "dist",
12
- "paths": {
13
- "@/*": ["src/*"],
14
- "@@/*": ["./*"]
15
- },
16
- "target": "es6",
17
- "lib": ["ES2021", "dom"],
18
- "resolveJsonModule": true
19
- },
20
- "exclude": ["node_modules", "dist"]
21
- }