优化mysql连接、页面调用接口逻辑 🎨

This commit is contained in:
gaofy 2023-11-16 14:20:47 +08:00
parent dd62dc394d
commit f85e4229ce
7 changed files with 51 additions and 98 deletions

View File

@ -12,15 +12,7 @@ const getTable = () => app.post('/getaiflag', function (req, res) {
const Clause = false; const Clause = false;
const start = ~~req.body.start; const start = ~~req.body.start;
const end = ~~req.body.end; const end = ~~req.body.end;
connection(database).query(m_get(table, Clause, order, start, end), function (error, results, fields) { common.mysqlQuery(res, database, m_get(table, Clause, order, start, end));
if (error) {
console.log(`${nowTime()} 错误:${JSON.stringify(error)}`);
// connection(database).connect();
return res.status(500).send(error);
} else {
res.send(results);
}
});
}); });
const addTable = () => app.post('/addaiflag', (req, res) => { const addTable = () => app.post('/addaiflag', (req, res) => {
@ -30,14 +22,7 @@ const addTable = () => app.post('/addaiflag', (req, res) => {
// `name, region, area, house_type, phone, create_time, remark`; // `name, region, area, house_type, phone, create_time, remark`;
const values = Number(req.body.flag) ? 1 : 0; // ai给药 人工给药 const values = Number(req.body.flag) ? 1 : 0; // ai给药 人工给药
// `'${v.name}', '${v.region}', '${v.area}', '${v.house_type}', '${v.phone}', '${nowTime()}', '${remark}'`; // `'${v.name}', '${v.region}', '${v.area}', '${v.house_type}', '${v.phone}', '${nowTime()}', '${remark}'`;
connection(database).query(m_add(table, key, values), function (error, results, fields) { common.mysqlQuery(res, database, m_add(table, key, values));
if (error) {
console.log(`${nowTime()} 错误:${JSON.stringify(error)}`);
return res.status(500).send(error);
} else {
res.send(results);
}
});
}) })
export default { export default {

View File

@ -12,15 +12,7 @@ const getTable = () => app.post('/getaimedicine', function (req, res) {
const Clause = false; const Clause = false;
const start = ~~req.body.start; const start = ~~req.body.start;
const end = ~~req.body.end; const end = ~~req.body.end;
connection(database).query(m_get(table, Clause, order, start, end), function (error, results, fields) { common.mysqlQuery(res, database, m_get(table, Clause, order, start, end));
if (error) {
console.log(`${nowTime()} 错误:${JSON.stringify(error)}`);
// connection(database).connect();
return res.status(500).send(error);
} else {
res.send(results);
}
});
}); });
const addTable = () => app.post('/addaimedicine', (req, res) => { const addTable = () => app.post('/addaimedicine', (req, res) => {
@ -30,14 +22,7 @@ const addTable = () => app.post('/addaimedicine', (req, res) => {
// `name, region, area, house_type, phone, create_time, remark`; // `name, region, area, house_type, phone, create_time, remark`;
const values = req.body.value; const values = req.body.value;
// `'${v.name}', '${v.region}', '${v.area}', '${v.house_type}', '${v.phone}', '${nowTime()}', '${remark}'`; // `'${v.name}', '${v.region}', '${v.area}', '${v.house_type}', '${v.phone}', '${nowTime()}', '${remark}'`;
connection(database).query(m_add(table, key, values), function (error, results, fields) { common.mysqlQuery(res, database, m_add(table, key, values));
if (error) {
console.log(`${nowTime()} 错误:${JSON.stringify(error)}`);
return res.status(500).send(error);
} else {
res.send(results);
}
});
}) })
export default { export default {

View File

@ -74,7 +74,9 @@ const dateFormater = (formater, time) => {
.replace(/ss/g, (s < 10 ? '0' : '') + s) .replace(/ss/g, (s < 10 ? '0' : '') + s)
} }
// 获取数据库列表
const getDatabases = () => app.post('/getdatabases', function (req, res) { const getDatabases = () => app.post('/getdatabases', function (req, res) {
con.connect();
con.query("SHOW DATABASES", function (error, results, fields) { con.query("SHOW DATABASES", function (error, results, fields) {
if (error) { if (error) {
console.log(`${nowTime()} 错误:${JSON.stringify(error)}`); console.log(`${nowTime()} 错误:${JSON.stringify(error)}`);
@ -83,12 +85,29 @@ const getDatabases = () => app.post('/getdatabases', function (req, res) {
res.send(results); res.send(results);
} }
}); });
con.end();
}); });
// 公共查询方法
const mysqlQuery = (res, database, sql) => {
if(!database) return res.status(500).send('database is ' + database);
connection(database).connect();
connection(database).query(sql, (error, results, fields) => {
if (error) {
console.log(`${nowTime()} 错误:${JSON.stringify(error)}`);
return res.status(500).send(error);
} else {
res.send(results);
}
});
connection(database).end();
}
export default { export default {
app, app,
connection, connection,
con, con,
mysqlQuery,
m_get, m_get,
m_add, m_add,
m_update, m_update,

View File

@ -12,15 +12,7 @@ const getTable = () => app.post('/getdoctormedicine', function (req, res) {
const Clause = false; const Clause = false;
const start = ~~req.body.start; const start = ~~req.body.start;
const end = ~~req.body.end; const end = ~~req.body.end;
connection(database).query(m_get(table, Clause, order, start, end), function (error, results, fields) { common.mysqlQuery(res, database, m_get(table, Clause, order, start, end));
if (error) {
console.log(`${nowTime()} 错误:${JSON.stringify(error)}`);
// connection(database).connect();
return res.status(500).send(error);
} else {
res.send(results);
}
});
}); });
const addTable = () => app.post('/adddoctormedicine', (req, res) => { const addTable = () => app.post('/adddoctormedicine', (req, res) => {
@ -28,14 +20,7 @@ const addTable = () => app.post('/adddoctormedicine', (req, res) => {
const table = `DoctorMedicineTable`; const table = `DoctorMedicineTable`;
const key = req.body.key; const key = req.body.key;
const values = req.body.value; const values = req.body.value;
connection(database).query(m_add(table, key, values), function (error, results, fields) { common.mysqlQuery(res, database, m_add(table, key, values));
if (error) {
console.log(`${nowTime()} 错误:${JSON.stringify(error)}`);
return res.status(500).send(error);
} else {
res.send(results);
}
});
}) })
export default { export default {

View File

@ -11,14 +11,7 @@ const getTable = () => app.post('/getfeature', function (req, res) {
const Clause = false; const Clause = false;
const start = ~~req.body.start; const start = ~~req.body.start;
const end = ~~req.body.end; const end = ~~req.body.end;
connection(database).query(m_get(table, Clause, order, start, end), function (error, results, fields) { common.mysqlQuery(res, database, m_get(table, Clause, order, start, end));
if (error) {
console.log(`${nowTime()} 错误:${JSON.stringify(error)}`);
return res.status(500).send(error);
} else {
res.send(results);
}
});
}); });
export default { export default {

View File

@ -24,7 +24,6 @@ app.use(bodyParser.json());
app.listen(3001, () => console.log('服务启动! ' + nowTime())); app.listen(3001, () => console.log('服务启动! ' + nowTime()));
common.con.connect();
common.getDatabases(); common.getDatabases();
featureTable.getTable(); featureTable.getTable();
AIMedicineTable.getTable(); AIMedicineTable.getTable();

View File

@ -198,7 +198,10 @@ const medicineCustom: any[] = [
{ name: '阿托品', plus: 1, total: 100 }, { name: '阿托品', plus: 1, total: 100 },
{ name: '罗库溴铵', plus: 0.1, total: 10 } { name: '罗库溴铵', plus: 0.1, total: 10 }
]; ];
let isRunAIFlag = true; let featureTimer = 0;
let ecgTimer = 0;
let aiFlagTimer = 0;
const database = ref(''); const database = ref('');
const databaseOptions = ref([] as { value: string, label: string }[]); const databaseOptions = ref([] as { value: string, label: string }[]);
const messageSum = ref(10); const messageSum = ref(10);
@ -235,18 +238,19 @@ function initData() {
} }
// AIFlagTable 2 // AIFlagTable 2
function getAIFlag() { function getAIFlag() {
setTimeout(() => { let isRunTimer = true;
if (isRunAIFlag) { clearInterval(aiFlagTimer);
isRunAIFlag = false; aiFlagTimer = setInterval(() => {
if (isRunTimer) {
isRunTimer = false;
post('/getaiflag', { database: database.value, start: 0, end: 1 }, (res: any) => { post('/getaiflag', { database: database.value, start: 0, end: 1 }, (res: any) => {
if (res.status === 200 && res.data.length > 0) { if (res.status === 200 && res.data.length > 0) {
const flag = Boolean(res.data[0].Flag); const flag = Boolean(res.data[0].Flag);
if (isAIDose.value !== flag) getTableData(Boolean(res.data[0].Flag)); if (isAIDose.value !== flag) getTableData(Boolean(res.data[0].Flag));
} }
isRunAIFlag = true; isRunTimer = true;
}); });
} }
getAIFlag();
}, 2000); }, 2000);
} }
function getFeatureTable() { function getFeatureTable() {
@ -269,32 +273,19 @@ function getFeatureTable() {
}); });
} }
function getChartData() { function getChartData() {
let isThrottle = true; // let isRunTimer = true; //
throttle(2000); clearInterval(featureTimer);
getEEG(); clearInterval(ecgTimer);
function throttle(speed: number) { setInterval(() => {
if (isThrottle) { if(isRunTimer) {
isThrottle = false; getData()
setTimeout(() => {
getData(() => {
isThrottle = true;
throttle(speed);
});
}, speed);
} }
} }, 2000);
// setInterval(() => {
function getEEG() {
setTimeout(() => {
// if (isStart.value) {
chartDom4.value.updateChart(0, new Date()); chartDom4.value.updateChart(0, new Date());
// } });
getEEG(); function getData() {
}, 1000); isRunTimer = false;
}
function getData(callback: () => void) {
// if (isStart.value) {
post('/getfeature', { database: database.value, start: 0, end: 1 }, (res: any) => { post('/getfeature', { database: database.value, start: 0, end: 1 }, (res: any) => {
const obj = (res.data && res.data[0]) || {}; const obj = (res.data && res.data[0]) || {};
if (obj.ID !== chartNowData.ID) { if (obj.ID !== chartNowData.ID) {
@ -315,12 +306,8 @@ function getChartData() {
chartDom3.value.updateChart([obj.SPO2, obj.TEMP], obj.Time || obj.TIME); chartDom3.value.updateChart([obj.SPO2, obj.TEMP], obj.Time || obj.TIME);
// chartDom4.value.updateChart(obj.ST, obj.Time || obj.TIME); // chartDom4.value.updateChart(obj.ST, obj.Time || obj.TIME);
} }
callback(); isRunTimer = true;
}); });
// } else {
// callback();
// }
} }
} }
function getDatabases() { function getDatabases() {
@ -521,10 +508,10 @@ const tableItemCancel = (e: any) => {
}; };
getDatabases(); getDatabases();
getAIFlag(); // getAIFlag();
onMounted(() => { onMounted(() => {
msgLogScrollBottom(); msgLogScrollBottom();
getChartData(); // getChartData();
initScale(); initScale();
}); });