mas-server 2.0.1 → 2.0.2

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/dist/index.js CHANGED
@@ -1,136 +1,138 @@
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
- exports.createToken = exports.validToken = exports.massql = exports.getsqlFormDataType = exports.getsqlFormData = exports.createSqlForm = exports.checkSqlKey = exports.sqlQuery = exports.sqlInit = exports.sqlEnd = exports.sqlState = exports.moment = exports.getRouteByApiSrc = exports.readApi = exports.getApp = void 0;
30
- require("module-alias/register");
31
- const express_1 = __importDefault(require("express"));
32
- const cors_1 = __importDefault(require("cors"));
33
- const path_1 = __importDefault(require("path"));
34
- const fs = __importStar(require("fs"));
35
- const state_1 = require("./state");
36
- const getLog_1 = __importDefault(require("./utils/getLog"));
37
- const quickSend_1 = __importDefault(require("./utils/quickSend"));
38
- const readApi_1 = __importDefault(require("./utils/readApi"));
39
- exports.readApi = readApi_1.default;
40
- const validRouteData_1 = __importDefault(require("./utils/validRouteData"));
41
- const getRouteByApiSrc_1 = __importDefault(require("./utils/getRouteByApiSrc"));
42
- exports.getRouteByApiSrc = getRouteByApiSrc_1.default;
43
- const validToken_1 = __importDefault(require("./utils/validToken"));
44
- const ansi_colors_1 = __importDefault(require("ansi-colors"));
45
- const moment_1 = __importDefault(require("moment"));
46
- exports.moment = moment_1.default;
47
- require("moment/locale/zh-cn");
48
- moment_1.default.locale("zh-cn");
49
- // 数据库
50
- const masmysql_1 = require("masmysql");
51
- Object.defineProperty(exports, "sqlEnd", { enumerable: true, get: function () { return masmysql_1.sqlEnd; } });
52
- Object.defineProperty(exports, "sqlInit", { enumerable: true, get: function () { return masmysql_1.sqlInit; } });
53
- Object.defineProperty(exports, "sqlQuery", { enumerable: true, get: function () { return masmysql_1.sqlQuery; } });
54
- Object.defineProperty(exports, "checkSqlKey", { enumerable: true, get: function () { return masmysql_1.checkSqlKey; } });
55
- Object.defineProperty(exports, "createSqlForm", { enumerable: true, get: function () { return masmysql_1.createSqlForm; } });
56
- Object.defineProperty(exports, "massql", { enumerable: true, get: function () { return masmysql_1.massql; } });
57
- Object.defineProperty(exports, "sqlState", { enumerable: true, get: function () { return masmysql_1.state; } });
58
- Object.defineProperty(exports, "getsqlFormDataType", { enumerable: true, get: function () { return masmysql_1.getsqlFormDataType; } });
59
- Object.defineProperty(exports, "getsqlFormData", { enumerable: true, get: function () { return masmysql_1.getsqlFormData; } });
60
- const apiDoc_1 = __importDefault(require("./utils/apiDoc"));
61
- const meaToken_1 = require("./utils/meaToken");
62
- Object.defineProperty(exports, "createToken", { enumerable: true, get: function () { return meaToken_1.createToken; } });
63
- Object.defineProperty(exports, "validToken", { enumerable: true, get: function () { return meaToken_1.validToken; } });
64
- // =================================================================
65
- function getApp(DIRNAME, beforeMounted) {
66
- // 路径和配置放入state
67
- state_1.state.DIRNAME = DIRNAME;
68
- const config = require(path_1.default.join(DIRNAME, "/config/config.ts")).default;
69
- const Router = require(path_1.default.join(DIRNAME, "/config/api.config.ts")).default;
70
- const apiCN = require(path_1.default.join(DIRNAME, "/config/api.key.ts")).default;
71
- state_1.state.config = config;
72
- state_1.state.Router = Router;
73
- state_1.state.apiCN = apiCN;
74
- // new express
75
- const app = (0, express_1.default)();
76
- // 是否允许跨域
77
- config.cors && app.use((0, cors_1.default)());
78
- if (beforeMounted) {
79
- beforeMounted(app);
80
- }
81
- // 初始化app
82
- app.use(express_1.default.urlencoded({ extended: true }));
83
- app.use(express_1.default.json());
84
- // 自定义中间件来处理纯文本和JSON数据
85
- // 错误处理中间件
86
- app.use((err, req, res, next) => {
87
- if (err.type == "entity.parse.failed") {
88
- req.body._str = err.body;
89
- }
90
- next();
91
- });
92
- //快速return
93
- app.use(quickSend_1.default);
94
- // 日志
95
- if (config.logs.open) {
96
- app.use(require("express-ip")().getIpInfoMiddleware);
97
- app.use(getLog_1.default);
98
- }
99
- // 权限管理
100
- if (config.token.open) {
101
- app.use(validToken_1.default);
102
- }
103
- // 数据效验
104
- app.use(validRouteData_1.default);
105
- if (config.apidoc) {
106
- app.use("/apidoc", express_1.default.static(path_1.default.join(__dirname, "/apiDoc")));
107
- (0, apiDoc_1.default)(app);
108
- }
109
- // 遍历api路由
110
- for (const item in Router) {
111
- let isExist = fs.existsSync(path_1.default.join(DIRNAME, "src", item) + ".ts");
112
- if (!isExist) {
113
- console.info(ansi_colors_1.default.red(`${item} not found`));
114
- continue;
115
- }
116
- const apiFunc = require(path_1.default.join(DIRNAME, "src", item)).default;
117
- if (!apiFunc) {
118
- console.info(ansi_colors_1.default.yellow(`${item} 没有导出函数,已跳过..`));
119
- }
120
- else {
121
- apiFunc && app[Router[item].methods](item, apiFunc);
122
- }
123
- }
124
- // 运行debug
125
- setTimeout(() => {
126
- try {
127
- require(path_1.default.join(DIRNAME + "/src/debug"));
128
- }
129
- catch (error) {
130
- console.info(ansi_colors_1.default.red("debug.js报错!!!"));
131
- console.info(error);
132
- }
133
- }, config.debugTime || 1000);
134
- return app;
135
- }
136
- exports.getApp = getApp;
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
+ exports.validType = exports.createToken = exports.validToken = exports.massql = exports.getsqlFormDataType = exports.getsqlFormData = exports.createSqlForm = exports.checkSqlKey = exports.sqlQuery = exports.sqlInit = exports.sqlEnd = exports.sqlState = exports.moment = exports.getRouteByApiSrc = exports.readApi = exports.getApp = void 0;
30
+ require("module-alias/register");
31
+ const express_1 = __importDefault(require("express"));
32
+ const cors_1 = __importDefault(require("cors"));
33
+ const path_1 = __importDefault(require("path"));
34
+ const fs = __importStar(require("fs"));
35
+ const state_1 = require("./state");
36
+ const getLog_1 = __importDefault(require("./utils/getLog"));
37
+ const quickSend_1 = __importDefault(require("./utils/quickSend"));
38
+ const readApi_1 = __importDefault(require("./utils/readApi"));
39
+ exports.readApi = readApi_1.default;
40
+ const validRouteData_1 = __importDefault(require("./utils/validRouteData"));
41
+ const getRouteByApiSrc_1 = __importDefault(require("./utils/getRouteByApiSrc"));
42
+ exports.getRouteByApiSrc = getRouteByApiSrc_1.default;
43
+ const validToken_1 = __importDefault(require("./utils/validToken"));
44
+ const ansi_colors_1 = __importDefault(require("ansi-colors"));
45
+ const moment_1 = __importDefault(require("moment"));
46
+ exports.moment = moment_1.default;
47
+ require("moment/locale/zh-cn");
48
+ moment_1.default.locale("zh-cn");
49
+ // 数据库
50
+ const masmysql_1 = require("masmysql");
51
+ Object.defineProperty(exports, "sqlEnd", { enumerable: true, get: function () { return masmysql_1.sqlEnd; } });
52
+ Object.defineProperty(exports, "sqlInit", { enumerable: true, get: function () { return masmysql_1.sqlInit; } });
53
+ Object.defineProperty(exports, "sqlQuery", { enumerable: true, get: function () { return masmysql_1.sqlQuery; } });
54
+ Object.defineProperty(exports, "checkSqlKey", { enumerable: true, get: function () { return masmysql_1.checkSqlKey; } });
55
+ Object.defineProperty(exports, "createSqlForm", { enumerable: true, get: function () { return masmysql_1.createSqlForm; } });
56
+ Object.defineProperty(exports, "massql", { enumerable: true, get: function () { return masmysql_1.massql; } });
57
+ Object.defineProperty(exports, "sqlState", { enumerable: true, get: function () { return masmysql_1.state; } });
58
+ Object.defineProperty(exports, "getsqlFormDataType", { enumerable: true, get: function () { return masmysql_1.getsqlFormDataType; } });
59
+ Object.defineProperty(exports, "getsqlFormData", { enumerable: true, get: function () { return masmysql_1.getsqlFormData; } });
60
+ const apiDoc_1 = __importDefault(require("./utils/apiDoc"));
61
+ const meaToken_1 = require("./utils/meaToken");
62
+ Object.defineProperty(exports, "createToken", { enumerable: true, get: function () { return meaToken_1.createToken; } });
63
+ Object.defineProperty(exports, "validToken", { enumerable: true, get: function () { return meaToken_1.validToken; } });
64
+ const validType_1 = __importDefault(require("./utils/validType"));
65
+ exports.validType = validType_1.default;
66
+ // =================================================================
67
+ function getApp(DIRNAME, beforeMounted) {
68
+ // 路径和配置放入state
69
+ state_1.state.DIRNAME = DIRNAME;
70
+ const config = require(path_1.default.join(DIRNAME, "/config/config.ts")).default;
71
+ const Router = require(path_1.default.join(DIRNAME, "/config/api.config.ts")).default;
72
+ const apiCN = require(path_1.default.join(DIRNAME, "/config/api.key.ts")).default;
73
+ state_1.state.config = config;
74
+ state_1.state.Router = Router;
75
+ state_1.state.apiCN = apiCN;
76
+ // new express
77
+ const app = (0, express_1.default)();
78
+ // 是否允许跨域
79
+ config.cors && app.use((0, cors_1.default)());
80
+ if (beforeMounted) {
81
+ beforeMounted(app);
82
+ }
83
+ // 初始化app
84
+ app.use(express_1.default.urlencoded({ extended: true }));
85
+ app.use(express_1.default.json());
86
+ // 自定义中间件来处理纯文本和JSON数据
87
+ // 错误处理中间件
88
+ app.use((err, req, res, next) => {
89
+ if (err.type == "entity.parse.failed") {
90
+ req.body._str = err.body;
91
+ }
92
+ next();
93
+ });
94
+ //快速return
95
+ app.use(quickSend_1.default);
96
+ // 日志
97
+ if (config.logs.open) {
98
+ app.use(require("express-ip")().getIpInfoMiddleware);
99
+ app.use(getLog_1.default);
100
+ }
101
+ // 权限管理
102
+ if (config.token.open) {
103
+ app.use(validToken_1.default);
104
+ }
105
+ // 数据效验
106
+ app.use(validRouteData_1.default);
107
+ if (config.apidoc) {
108
+ app.use("/apidoc", express_1.default.static(path_1.default.join(__dirname, "/apiDoc")));
109
+ (0, apiDoc_1.default)(app);
110
+ }
111
+ // 遍历api路由
112
+ for (const item in Router) {
113
+ let isExist = fs.existsSync(path_1.default.join(DIRNAME, "src", item) + ".ts");
114
+ if (!isExist) {
115
+ console.info(ansi_colors_1.default.red(`${item} not found`));
116
+ continue;
117
+ }
118
+ const apiFunc = require(path_1.default.join(DIRNAME, "src", item)).default;
119
+ if (!apiFunc) {
120
+ console.info(ansi_colors_1.default.yellow(`${item} 没有导出函数,已跳过..`));
121
+ }
122
+ else {
123
+ apiFunc && app[Router[item].methods](item, apiFunc);
124
+ }
125
+ }
126
+ // 运行debug
127
+ setTimeout(() => {
128
+ try {
129
+ require(path_1.default.join(DIRNAME + "/src/debug"));
130
+ }
131
+ catch (error) {
132
+ console.info(ansi_colors_1.default.red("debug.js报错!!!"));
133
+ console.info(error);
134
+ }
135
+ }, config.debugTime || 1000);
136
+ return app;
137
+ }
138
+ exports.getApp = getApp;
package/dist/state.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.state = void 0;
4
- exports.state = {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.state = void 0;
4
+ exports.state = {};
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,18 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const state_1 = require("../state");
4
- exports.default = (app) => {
5
- const router = JSON.stringify(state_1.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
- // console.log(state);
12
- app.post("/apidoc/router", (req, res) => {
13
- res.return(JSON.parse(router));
14
- });
15
- app.post("/apidoc/cn", (req, res) => {
16
- res.return(state_1.state.apiCN);
17
- });
18
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const state_1 = require("../state");
4
+ exports.default = (app) => {
5
+ const router = JSON.stringify(state_1.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
+ // console.log(state);
12
+ app.post("/apidoc/router", (req, res) => {
13
+ res.return(JSON.parse(router));
14
+ });
15
+ app.post("/apidoc/cn", (req, res) => {
16
+ res.return(state_1.state.apiCN);
17
+ });
18
+ };
@@ -1,18 +1,18 @@
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
- const fs_1 = __importDefault(require("fs"));
7
- const state_1 = require("../state");
8
- const moment_1 = __importDefault(require("moment"));
9
- exports.default = (req, res, next) => {
10
- const { config } = state_1.state;
11
- const date = (0, moment_1.default)().format("YYYY-MM-DD HH:mm:ss");
12
- const data = `${date} ${req.method} ${req.ipInfo.ip} ${req.url} ${req.body ? JSON.stringify(req.body) : ""}\n`;
13
- fs_1.default.appendFileSync(state_1.state.DIRNAME + `/logs/${(0, moment_1.default)().format("YYYY-MM-DD")}.log`, data);
14
- if (config.logs.debug) {
15
- console.info(data);
16
- }
17
- next();
18
- };
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
+ const fs_1 = __importDefault(require("fs"));
7
+ const state_1 = require("../state");
8
+ const moment_1 = __importDefault(require("moment"));
9
+ exports.default = (req, res, next) => {
10
+ const { config } = state_1.state;
11
+ const date = (0, moment_1.default)().format("YYYY-MM-DD HH:mm:ss");
12
+ const data = `${date} ${req.method} ${req.ipInfo.ip} ${req.url} ${req.body ? JSON.stringify(req.body) : ""}\n`;
13
+ fs_1.default.appendFileSync(state_1.state.DIRNAME + `/logs/${(0, moment_1.default)().format("YYYY-MM-DD")}.log`, data);
14
+ if (config.logs.debug) {
15
+ console.info(data);
16
+ }
17
+ next();
18
+ };
@@ -1,54 +1,54 @@
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
- const readApi_1 = __importDefault(require("./readApi"));
7
- const ansi_colors_1 = __importDefault(require("ansi-colors"));
8
- function getRouteByApiSrc(apiSrc, apiConfig, apiKey) {
9
- const routerArr = (0, readApi_1.default)(apiSrc, "api");
10
- const newApiConfig = {};
11
- apiConfig = Object.assign({}, apiConfig);
12
- let isAdd = false;
13
- for (let v of routerArr) {
14
- if (!apiConfig[v]) {
15
- isAdd = true;
16
- console.info(ansi_colors_1.default.green(`新增接口 ${v}`));
17
- newApiConfig[v] = {
18
- name: "新建接口",
19
- methods: "all",
20
- des: "",
21
- validFormat: null,
22
- };
23
- }
24
- else {
25
- newApiConfig[v] = apiConfig[v];
26
- delete apiConfig[v];
27
- }
28
- }
29
- if (Object.keys(apiConfig).length != 0) {
30
- console.info(ansi_colors_1.default.red(`删除接口 ${Object.keys(apiConfig)}`));
31
- isAdd = true;
32
- }
33
- // 接口翻译
34
- let newApiConfigArr = [];
35
- for (let item in newApiConfig) {
36
- for (let v of item.slice(1).split("/")) {
37
- newApiConfigArr.push(v);
38
- }
39
- }
40
- newApiConfigArr = [...new Set(newApiConfigArr)];
41
- apiKey = Object.assign({}, apiKey);
42
- const newApiKey = {};
43
- for (let v of newApiConfigArr) {
44
- if (apiKey[v] === undefined) {
45
- isAdd = true;
46
- newApiKey[v] = "";
47
- }
48
- else {
49
- newApiKey[v] = apiKey[v];
50
- }
51
- }
52
- return { newApiConfig, isAdd, newApiConfigArr, newApiKey };
53
- }
54
- exports.default = getRouteByApiSrc;
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
+ const readApi_1 = __importDefault(require("./readApi"));
7
+ const ansi_colors_1 = __importDefault(require("ansi-colors"));
8
+ function getRouteByApiSrc(apiSrc, apiConfig, apiKey) {
9
+ const routerArr = (0, readApi_1.default)(apiSrc, "api");
10
+ const newApiConfig = {};
11
+ apiConfig = Object.assign({}, apiConfig);
12
+ let isAdd = false;
13
+ for (let v of routerArr) {
14
+ if (!apiConfig[v]) {
15
+ isAdd = true;
16
+ console.info(ansi_colors_1.default.green(`新增接口 ${v}`));
17
+ newApiConfig[v] = {
18
+ name: "新建接口",
19
+ methods: "all",
20
+ des: "",
21
+ validFormat: null,
22
+ };
23
+ }
24
+ else {
25
+ newApiConfig[v] = apiConfig[v];
26
+ delete apiConfig[v];
27
+ }
28
+ }
29
+ if (Object.keys(apiConfig).length != 0) {
30
+ console.info(ansi_colors_1.default.red(`删除接口 ${Object.keys(apiConfig)}`));
31
+ isAdd = true;
32
+ }
33
+ // 接口翻译
34
+ let newApiConfigArr = [];
35
+ for (let item in newApiConfig) {
36
+ for (let v of item.slice(1).split("/")) {
37
+ newApiConfigArr.push(v);
38
+ }
39
+ }
40
+ newApiConfigArr = [...new Set(newApiConfigArr)];
41
+ apiKey = Object.assign({}, apiKey);
42
+ const newApiKey = {};
43
+ for (let v of newApiConfigArr) {
44
+ if (apiKey[v] === undefined) {
45
+ isAdd = true;
46
+ newApiKey[v] = "";
47
+ }
48
+ else {
49
+ newApiKey[v] = apiKey[v];
50
+ }
51
+ }
52
+ return { newApiConfig, isAdd, newApiConfigArr, newApiKey };
53
+ }
54
+ exports.default = getRouteByApiSrc;