mas-server 3.0.41 → 4.0.0-beta.0
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.
- package/README.md +8 -7
- package/dist/getApp/apiHandler.d.ts +21 -0
- package/dist/getApp/apiHandler.d.ts.map +1 -0
- package/dist/getApp/config.d.ts +22 -0
- package/dist/getApp/config.d.ts.map +1 -0
- package/dist/getApp/docTransform.d.ts +41 -0
- package/dist/getApp/docTransform.d.ts.map +1 -0
- package/dist/getApp/fsRoutes.d.ts +17 -0
- package/dist/getApp/fsRoutes.d.ts.map +1 -0
- package/dist/getApp/getApp.d.ts +11 -0
- package/dist/getApp/getApp.d.ts.map +1 -0
- package/dist/getApp/logs.d.ts +29 -0
- package/dist/getApp/logs.d.ts.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -121
- package/dist/middleware/openCors.d.ts +9 -0
- package/dist/middleware/openCors.d.ts.map +1 -0
- package/dist/type.d.ts +150 -0
- package/dist/type.d.ts.map +1 -0
- package/dist/utils/mas-encrypt.min.d.ts +6 -0
- package/dist/utils/mas-encrypt.min.d.ts.map +1 -0
- package/dist/utils/quickSend.d.ts +8 -0
- package/dist/utils/quickSend.d.ts.map +1 -0
- package/dist/utils/tokenUtils.d.ts +54 -0
- package/dist/utils/tokenUtils.d.ts.map +1 -0
- package/dist/utils/typeFromValidFormat.d.ts +69 -0
- package/dist/utils/typeFromValidFormat.d.ts.map +1 -0
- package/dist/utils/validType.d.ts +17 -0
- package/dist/utils/validType.d.ts.map +1 -0
- package/package.json +43 -46
- package/.temp/.keep +0 -0
- package/.temp/getRouteByApiSrc.ts +0 -55
- package/.temp/merge/a.ts +0 -4
- package/.temp/merge/as.ts +0 -1
- package/.temp/merge/b.ts +0 -3
- package/.temp/merge/i.js +0 -103
- package/.temp/merge/logs/.keep +0 -0
- package/.temp/merge/test.ts +0 -2
- package/.temp/merge/validType copy.ts +0 -149
- package/.temp/merge/validType.ts +0 -98
- package/.temp/merge/validTypeOptimize.ts +0 -98
- package/.temp/updateRouter.ts +0 -46
- package/.vscode/settings.json +0 -3
- package/beforebuild.js +0 -9
- package/dist/state.js +0 -4
- package/dist/typings/index.js +0 -2
- package/dist/utils/apiLimit.js +0 -20
- package/dist/utils/createRouter.js +0 -81
- package/dist/utils/getRouterInfo.js +0 -56
- package/dist/utils/logs.js +0 -58
- package/dist/utils/mas-encrypt.min.js +0 -1
- package/dist/utils/masUtils.js +0 -10
- package/dist/utils/meaToken.js +0 -57
- package/dist/utils/printLog.js +0 -12
- package/dist/utils/quickSend.js +0 -37
- package/dist/utils/readApi.js +0 -60
- package/dist/utils/validRouteData.js +0 -37
- package/dist/utils/validToken.js +0 -24
- package/dist/utils/validType.js +0 -84
- package/src/index.ts +0 -98
- package/src/state.ts +0 -1
- package/src/typings/index.ts +0 -113
- package/src/utils/apiLimit.ts +0 -15
- package/src/utils/createRouter.ts +0 -34
- package/src/utils/getRouterInfo.ts +0 -49
- package/src/utils/logs.ts +0 -21
- package/src/utils/mas-encrypt.min.js +0 -1
- package/src/utils/masUtils.ts +0 -7
- package/src/utils/meaToken.ts +0 -56
- package/src/utils/printLog.ts +0 -12
- package/src/utils/quickSend.ts +0 -25
- package/src/utils/readApi.ts +0 -28
- package/src/utils/validRouteData.ts +0 -45
- package/src/utils/validToken.ts +0 -22
- package/src/utils/validType.ts +0 -81
- package/test/apiTemplate/curd/del.ts +0 -9
- package/test/apiTemplate/curd/get.ts +0 -9
- package/test/apiTemplate/curd/set.ts +0 -9
- package/test/apiTemplate/defaultApi.ts +0 -8
- package/test/config/serverConfig/config.ts +0 -29
- package/test/config/sqlConfig/createSqlFormData.ts +0 -13
- package/test/logs/.keep +0 -0
- package/test/main.ts +0 -29
- package/test/scripts/beforeCreated.ts +0 -28
- package/test/scripts/createApiFile.ts +0 -26
- package/test/scripts/createApis.ts +0 -61
- package/test/scripts/createSqlForm.ts +0 -5
- package/test/scripts/getSqlFormType.ts +0 -23
- package/test/scripts/run.ts +0 -4
- package/test/src/api/example/ArrValid.ts +0 -11
- package/test/src/api/example/per.ts +0 -34
- package/test/src/api/example/tip.ts +0 -7
- package/test/src/api/example/validReqData.ts +0 -82
- package/test/src/api/index.ts +0 -9
- package/test/src/apiDoc.ts +0 -34
- package/test/src/debug.ts +0 -5
- package/test/src/masState.ts +0 -4
- package/test/src/sqlform.json +0 -1
- package/test/test.ts +0 -1
- package/tsconfig-build.json +0 -20
- package/tsconfig.json +0 -21
- 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
|
-
})();
|
package/test/scripts/run.ts
DELETED
|
@@ -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
|
-
};
|
package/test/src/api/index.ts
DELETED
|
@@ -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
|
-
};
|
package/test/src/apiDoc.ts
DELETED
|
@@ -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
package/test/src/masState.ts
DELETED
package/test/src/sqlform.json
DELETED
|
@@ -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";
|
package/tsconfig-build.json
DELETED
|
@@ -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
|
-
}
|