mas-server 1.0.3 → 2.0.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/.temp/a.ts +4 -0
- package/.temp/as.ts +1 -0
- package/.temp/b.ts +3 -0
- package/{src/index.js → .temp/i.js} +3 -3
- package/.temp/test.ts +2 -0
- package/.temp/validType copy.ts +149 -0
- package/.temp/validType.ts +96 -0
- package/.temp/validTypeOptimize.ts +98 -0
- package/.vscode/settings.json +0 -109
- package/dist/index.js +136 -0
- package/dist/masmysql/checkSqlkey.js +67 -0
- package/dist/masmysql/createSqlForm.js +44 -0
- package/dist/masmysql/esaysql.js +53 -0
- package/dist/masmysql/index.js +111 -0
- package/dist/masmysql/masSql.js +741 -0
- package/dist/masmysql/state.js +5 -0
- package/dist/masmysql/type.js +2 -0
- package/dist/masmysql/utils.js +12 -0
- package/dist/state.js +4 -0
- package/dist/typings/index.js +2 -0
- package/dist/utils/apiDoc.js +18 -0
- package/dist/utils/getLog.js +18 -0
- package/dist/utils/getRouteByApiSrc.js +54 -0
- package/dist/utils/masUtils.js +12 -0
- package/dist/utils/meaToken.js +57 -0
- package/dist/utils/quickSend.js +32 -0
- package/dist/utils/readApi.js +50 -0
- package/dist/utils/validRouteData.js +37 -0
- package/dist/utils/validToken.js +24 -0
- package/dist/utils/validType.js +101 -0
- package/package.json +34 -15
- package/src/apiDoc/assets/empty-907982e4.js +1 -0
- package/src/apiDoc/assets/index-b56e6bc6.js +1414 -0
- package/src/apiDoc/assets/index-bb16d834.css +6 -0
- package/src/{public/doc/img/jsoneditor-icons.256e3abc.svg → apiDoc/assets/jsoneditor-icons-45c98bf0.svg} +213 -357
- package/src/apiDoc/favicon.ico +0 -0
- package/src/apiDoc/index.html +15 -0
- package/src/index.ts +132 -0
- package/src/masmysql/checkSqlkey.ts +55 -0
- package/src/masmysql/createSqlForm.ts +37 -0
- package/src/masmysql/esaysql.ts +44 -0
- package/src/masmysql/index.ts +68 -0
- package/src/masmysql/masSql.ts +736 -0
- package/src/masmysql/state.ts +5 -0
- package/src/masmysql/type.ts +34 -0
- package/src/masmysql/utils.ts +8 -0
- package/src/state.ts +1 -0
- package/src/typings/index.ts +114 -0
- package/src/utils/apiDoc.ts +18 -0
- package/src/utils/getLog.ts +20 -0
- package/src/utils/getRouteByApiSrc.ts +55 -0
- package/src/utils/mas-encrypt.min.js +1 -0
- package/src/utils/masUtils.ts +8 -0
- package/src/utils/meaToken.ts +56 -0
- package/src/utils/quickSend.ts +19 -0
- package/src/utils/readApi.ts +30 -0
- package/src/utils/validRouteData.ts +46 -0
- package/src/utils/validToken.ts +22 -0
- package/src/utils/validType.ts +98 -0
- package/test/apiTemplate/api.temp.ts +6 -0
- package/test/apiTemplate/curd/del.ts +9 -0
- package/test/apiTemplate/curd/get.ts +9 -0
- package/test/apiTemplate/curd/set.ts +9 -0
- package/test/config/api.config.ts +3 -0
- package/test/config/api.key.ts +14 -0
- package/test/config/config.ts +30 -0
- package/test/config/createSqlFormData.ts +14 -0
- package/test/logs/.keep +0 -0
- package/test/main.ts +25 -0
- package/test/scripts/beforeCreated.ts +67 -0
- package/test/scripts/createApiFile.ts +27 -0
- package/test/scripts/createApis.ts +109 -0
- package/test/scripts/createSqlForm.ts +5 -0
- package/test/scripts/getSqlFormType.ts +34 -0
- package/test/scripts/run.ts +4 -0
- package/test/scripts/updateRouter.ts +46 -0
- package/test/src/api/curd/student/del.ts +9 -0
- package/test/src/api/curd/student/get.ts +9 -0
- package/test/src/api/curd/student/set.ts +9 -0
- package/test/src/api/index.ts +4 -0
- package/test/src/api/per.ts +6 -0
- package/test/src/api/person/del.ts +4 -0
- package/test/src/api/person/get.ts +4 -0
- package/test/src/api/person/set.ts +4 -0
- package/test/src/api/test.ts +7 -0
- package/test/src/api/validtest/boolArr.ts +4 -0
- package/test/src/debug.ts +56 -0
- package/test/src/masState.ts +4 -0
- package/test/src/sql/selectStudent.ts +7 -0
- package/test/src/sqlform.json +1 -0
- package/test/test.ts +13 -0
- package/test/typings/.keep +0 -0
- package/test/typings/studentSF.ts +6 -0
- package/test/typings/test11SF.ts +1 -0
- package/test/typings/test22SF.ts +1 -0
- package/test/typings/testformSF.ts +1 -0
- package/test//345/276/205/345/274/200/345/217/221.md +12 -0
- package/tsconfig.json +23 -0
- package/tsconfigschema.json +1263 -0
- package/src/config/api.res.json +0 -1
- package/src/config/api.tree.json +0 -1
- package/src/config/apiModules/del.module +0 -6
- package/src/config/apiModules/get.module +0 -6
- package/src/config/apiModules/set.module +0 -6
- package/src/config/config.schema.js +0 -41
- package/src/public/doc/css/app.722f60c4.css +0 -1
- package/src/public/doc/css/chunk-287b9965.80548a4b.css +0 -1
- package/src/public/doc/css/chunk-vendors.a16c4353.css +0 -1
- package/src/public/doc/favicon.ico +0 -0
- package/src/public/doc/fonts/element-icons.535877f5.woff +0 -0
- package/src/public/doc/fonts/element-icons.732389de.ttf +0 -0
- package/src/public/doc/index.html +0 -1
- package/src/public/doc/js/app.9ce10690.js +0 -2
- package/src/public/doc/js/app.9ce10690.js.map +0 -1
- package/src/public/doc/js/chunk-287b9965.77cfd27f.js +0 -32
- package/src/public/doc/js/chunk-287b9965.77cfd27f.js.map +0 -1
- package/src/public/doc/js/chunk-vendors.7c84e9a7.js +0 -35
- package/src/public/doc/js/chunk-vendors.7c84e9a7.js.map +0 -1
- package/src/public/index.html +0 -15
- package/src/state.js +0 -6
- package/src/utils/DataVerified.js +0 -35
- package/src/utils/beforeCreate.js +0 -19
- package/src/utils/createApi.js +0 -34
- package/src/utils/createApiFile.js +0 -40
- package/src/utils/createSqlForm.js +0 -7
- package/src/utils/encrypt.js +0 -1
- package/src/utils/getDir.js +0 -60
- package/src/utils/logs.js +0 -16
- package/src/utils/masDoc.js +0 -37
- package/src/utils/masRoute.js +0 -29
- package/src/utils/quickSend.js +0 -18
- package/src/utils/token.js +0 -57
- package/test/.utils/api.js +0 -4
- package/test/.utils/apis.js +0 -5
- package/test/.utils/beforeIndex.js +0 -4
- package/test/.utils/createForm.js +0 -4
- package/test/config/api.config.json +0 -7
- package/test/config/api.config.k.json +0 -1
- package/test/config/config.js +0 -22
- package/test/config/sqlform.config.js +0 -23
- package/test/index.js +0 -12
- package/test/public/1.txt +0 -1
- package/test/serverLogs/2022-10-29.log +0 -6
- package/test/serverLogs/2022-10-30.log +0 -58
- package/test/src/$form.js +0 -1
- package/test/src/api/index.js +0 -3
- package/test/src/api/test.js +0 -9
- package/test/src/api/vip/del.js +0 -6
- package/test/src/api/vip/get.js +0 -6
- package/test/src/api/vip/set.js +0 -6
- package/test/src/api/vip666.js +0 -4
- package/test/src/debug.js +0 -2
- /package/{old → .temp/logs/.keep} +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
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 state_1 = __importDefault(require("./state"));
|
|
16
|
+
const esaysql_1 = require("./esaysql");
|
|
17
|
+
const ansi_colors_1 = __importDefault(require("ansi-colors"));
|
|
18
|
+
/** 添加相关表名 */
|
|
19
|
+
const replenishForm = (formName, key) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
// state.status = 0;
|
|
21
|
+
const replenishData = {
|
|
22
|
+
create_time: "`create_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP",
|
|
23
|
+
update_time: "`update_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP",
|
|
24
|
+
is_delete: "`is_delete` INT DEFAULT 0",
|
|
25
|
+
};
|
|
26
|
+
console.info(ansi_colors_1.default.yellow(`${formName}缺少字段${key}`));
|
|
27
|
+
yield (0, esaysql_1.sqlQuery)(`alter table ${formName} add ${replenishData[key]}`);
|
|
28
|
+
console.info(ansi_colors_1.default.yellow("已为您自动添加"));
|
|
29
|
+
});
|
|
30
|
+
/** 获取相关表名,并检查每个表是否含有 is_delete,create_time,update_time,没有则添加 */
|
|
31
|
+
function checkSqlKey() {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
let dbname = state_1.default.config.database;
|
|
34
|
+
// 获得数据库相关表名
|
|
35
|
+
let formName = (yield (0, esaysql_1.sqlQuery)(`select table_name
|
|
36
|
+
from information_schema.tables
|
|
37
|
+
where table_schema='${dbname}'`));
|
|
38
|
+
const sqlform = {};
|
|
39
|
+
formName = formName.map((item) => item["TABLE_NAME"]);
|
|
40
|
+
const listKeyArr = {};
|
|
41
|
+
// 获得相关表字段,并且没有
|
|
42
|
+
for (let item of formName) {
|
|
43
|
+
let listkey = yield (0, esaysql_1.sqlQuery)(`SELECT DATA_TYPE,COLUMN_NAME FROM information_schema.COLUMNS
|
|
44
|
+
WHERE table_name = '${item}' AND
|
|
45
|
+
\`TABLE_SCHEMA\`='${dbname}'`);
|
|
46
|
+
listKeyArr[item] = JSON.parse(JSON.stringify(listkey));
|
|
47
|
+
listkey = listkey.map((item) => item["COLUMN_NAME"]);
|
|
48
|
+
if (!listkey.includes("create_time")) {
|
|
49
|
+
yield replenishForm(item, "create_time");
|
|
50
|
+
listkey.push("create_time");
|
|
51
|
+
}
|
|
52
|
+
if (!listkey.includes("update_time")) {
|
|
53
|
+
yield replenishForm(item, "update_time");
|
|
54
|
+
listkey.push("update_time");
|
|
55
|
+
}
|
|
56
|
+
if (!listkey.includes("is_delete")) {
|
|
57
|
+
yield replenishForm(item, "is_delete");
|
|
58
|
+
listkey.push("is_delete");
|
|
59
|
+
}
|
|
60
|
+
sqlform[item] = listkey;
|
|
61
|
+
}
|
|
62
|
+
state_1.default.listKey = JSON.parse(JSON.stringify(listKeyArr));
|
|
63
|
+
state_1.default.sqlForm = Object.assign({}, sqlform);
|
|
64
|
+
return sqlform;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
exports.default = checkSqlKey;
|
|
@@ -0,0 +1,44 @@
|
|
|
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 esaysql_1 = require("./esaysql");
|
|
16
|
+
const state_1 = __importDefault(require("./state"));
|
|
17
|
+
exports.default = (form) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
const formArr = Object.keys(state_1.default.sqlForm);
|
|
19
|
+
for (let k in form) {
|
|
20
|
+
let data = form[k];
|
|
21
|
+
if (formArr.includes(k.toLowerCase())) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
const sqldata = `CREATE TABLE ${k.toLowerCase()}
|
|
25
|
+
(
|
|
26
|
+
\`id\` INT AUTO_INCREMENT PRIMARY KEY COMMENT '唯一主键',
|
|
27
|
+
${data
|
|
28
|
+
.map((item) => `\`${item.key}\` ${item.type.toLowerCase() == "str"
|
|
29
|
+
? `VARCHAR(${item.length || "100"})`
|
|
30
|
+
: item.type.toLowerCase() == "int"
|
|
31
|
+
? "INT"
|
|
32
|
+
: item.type.toLowerCase() == "float"
|
|
33
|
+
? "FLOAT"
|
|
34
|
+
: "VARCHAR(100)"} ${item.notNull ? "NOT NULL" : ""} COMMENT '${item.des || ""}'`)
|
|
35
|
+
.join(",")},
|
|
36
|
+
\`create_time\` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
37
|
+
\`update_time\` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
38
|
+
\`is_delete\` INT DEFAULT 0 COMMENT '是否被删除'
|
|
39
|
+
)`;
|
|
40
|
+
yield (0, esaysql_1.sqlQuery)(sqldata, 1);
|
|
41
|
+
console.log(`尝试创建${k}表完成`);
|
|
42
|
+
}
|
|
43
|
+
console.log("创建表完成");
|
|
44
|
+
});
|
|
@@ -0,0 +1,53 @@
|
|
|
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
|
+
exports.sqlQuery = exports.sqlEnd = exports.sqlInit = void 0;
|
|
7
|
+
const mysql = require("mysql");
|
|
8
|
+
const state_1 = __importDefault(require("./state"));
|
|
9
|
+
const ansi_colors_1 = __importDefault(require("ansi-colors"));
|
|
10
|
+
function sqlInit(config) {
|
|
11
|
+
state_1.default.config = config;
|
|
12
|
+
state_1.default.connection = mysql.createConnection(config);
|
|
13
|
+
return new Promise((resolve, reject) => {
|
|
14
|
+
state_1.default.connection.connect(function (err) {
|
|
15
|
+
if (err) {
|
|
16
|
+
console.error("error connecting: " + err.stack);
|
|
17
|
+
throw Error("连接数据库失败!");
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
resolve(true);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
exports.sqlInit = sqlInit;
|
|
26
|
+
function sqlEnd() {
|
|
27
|
+
state_1.default.connection.end();
|
|
28
|
+
}
|
|
29
|
+
exports.sqlEnd = sqlEnd;
|
|
30
|
+
function sqlQuery(sqldata, details = 0) {
|
|
31
|
+
return new Promise((resolve, reject) => {
|
|
32
|
+
state_1.default.connection.query(sqldata, (error, sqlRes) => {
|
|
33
|
+
if (details) {
|
|
34
|
+
if (error) {
|
|
35
|
+
reject(error);
|
|
36
|
+
console.info(error);
|
|
37
|
+
}
|
|
38
|
+
else
|
|
39
|
+
resolve(sqlRes);
|
|
40
|
+
}
|
|
41
|
+
if (!sqlRes) {
|
|
42
|
+
console.info(error, sqlRes);
|
|
43
|
+
console.info(ansi_colors_1.default.red("错误:数据库语句错误"));
|
|
44
|
+
resolve(undefined);
|
|
45
|
+
}
|
|
46
|
+
else if (Number.isInteger(sqlRes.affectedRows))
|
|
47
|
+
resolve(sqlRes.affectedRows);
|
|
48
|
+
else
|
|
49
|
+
resolve(JSON.parse(JSON.stringify(sqlRes)));
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
exports.sqlQuery = sqlQuery;
|
|
@@ -0,0 +1,111 @@
|
|
|
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
|
+
exports.massql = exports.createSqlForm = exports.checkSqlKey = exports.sqlQuery = exports.state = exports.sqlInit = exports.sqlEnd = exports.getsqlFormDataType = exports.getsqlFormData = void 0;
|
|
39
|
+
const checkSqlkey_1 = __importDefault(require("./checkSqlkey"));
|
|
40
|
+
exports.checkSqlKey = checkSqlkey_1.default;
|
|
41
|
+
const createSqlForm_1 = __importDefault(require("./createSqlForm"));
|
|
42
|
+
const esaysql_1 = require("./esaysql");
|
|
43
|
+
Object.defineProperty(exports, "sqlEnd", { enumerable: true, get: function () { return esaysql_1.sqlEnd; } });
|
|
44
|
+
Object.defineProperty(exports, "sqlInit", { enumerable: true, get: function () { return esaysql_1.sqlInit; } });
|
|
45
|
+
Object.defineProperty(exports, "sqlQuery", { enumerable: true, get: function () { return esaysql_1.sqlQuery; } });
|
|
46
|
+
const masSql_1 = __importDefault(require("./masSql"));
|
|
47
|
+
exports.massql = masSql_1.default;
|
|
48
|
+
const state_1 = __importDefault(require("./state"));
|
|
49
|
+
exports.state = state_1.default;
|
|
50
|
+
const fs = __importStar(require("fs"));
|
|
51
|
+
/** 创建表名 */
|
|
52
|
+
function createSqlForm(config, createForm) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
(0, esaysql_1.sqlInit)(config);
|
|
55
|
+
yield (0, checkSqlkey_1.default)();
|
|
56
|
+
yield (0, createSqlForm_1.default)(createForm);
|
|
57
|
+
(0, esaysql_1.sqlEnd)();
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
exports.createSqlForm = createSqlForm;
|
|
61
|
+
function getsqlFormData(path) {
|
|
62
|
+
if (!state_1.default.sqlForm) {
|
|
63
|
+
throw Error("请先初始化数据库!");
|
|
64
|
+
}
|
|
65
|
+
const sqlForm = JSON.parse(JSON.stringify(state_1.default.sqlForm));
|
|
66
|
+
for (let k in sqlForm) {
|
|
67
|
+
sqlForm[k].push(`@!${k}`);
|
|
68
|
+
}
|
|
69
|
+
if (path) {
|
|
70
|
+
if (!path.includes(".json")) {
|
|
71
|
+
throw Error("写入路径错误");
|
|
72
|
+
}
|
|
73
|
+
if (fs.existsSync(path)) {
|
|
74
|
+
const data = require(path);
|
|
75
|
+
if (JSON.stringify(data) != JSON.stringify(sqlForm)) {
|
|
76
|
+
fs.writeFileSync(path, `${JSON.stringify(sqlForm)}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
fs.writeFileSync(path, `${JSON.stringify(sqlForm)}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return sqlForm;
|
|
84
|
+
}
|
|
85
|
+
exports.getsqlFormData = getsqlFormData;
|
|
86
|
+
function getsqlFormDataType() {
|
|
87
|
+
if (!state_1.default.listKey) {
|
|
88
|
+
throw Error("请先初始化数据库!");
|
|
89
|
+
}
|
|
90
|
+
let tarr = { int: "number", float: "number" };
|
|
91
|
+
let btarr = { int: "Number", float: "Number" };
|
|
92
|
+
let nnn = { is_delete: "", update_time: "", create_time: "" };
|
|
93
|
+
let res = {};
|
|
94
|
+
for (let key in state_1.default.listKey) {
|
|
95
|
+
let typeObj = "{";
|
|
96
|
+
let typeData = "{";
|
|
97
|
+
for (let item of state_1.default.listKey[key]) {
|
|
98
|
+
if (nnn[item.COLUMN_NAME] === "")
|
|
99
|
+
continue;
|
|
100
|
+
typeObj += `${item.COLUMN_NAME}?:${tarr[item.DATA_TYPE] || "string"};`;
|
|
101
|
+
if (item.COLUMN_NAME === "id")
|
|
102
|
+
continue;
|
|
103
|
+
typeData += `${item.COLUMN_NAME}:${btarr[item.DATA_TYPE] || "String"},`;
|
|
104
|
+
}
|
|
105
|
+
typeData = typeData.slice(0, typeData.length - 1) + "}";
|
|
106
|
+
typeObj += "}";
|
|
107
|
+
res[key] = { typeData, typeObj };
|
|
108
|
+
}
|
|
109
|
+
return res;
|
|
110
|
+
}
|
|
111
|
+
exports.getsqlFormDataType = getsqlFormDataType;
|