低代码平台

This commit is contained in:
aixianling
2022-06-20 18:31:06 +08:00
parent ce2503cad0
commit 8bf02b4270
5 changed files with 110 additions and 1 deletions

View File

@@ -1 +0,0 @@
/zips/

31
src/rest/aicode/add.js Normal file
View File

@@ -0,0 +1,31 @@
const dbUtils = require("../../utils/dbUitls");
const {v4: uuid} = require('uuid');
module.exports = {
action: "/node/aicode/addOrUpdate",
method: "post",
execute: (request, response) => {
let form = request.body, sql
if (form.id) {//编辑
let arr = Object.keys(form).filter(e => form[e]).map(e => {
if (typeof form[e] == "object") form[e] = JSON.stringify(form[e])
return `${e}='${form[e]}'`
})
sql = `update node_aicode set ${arr.join(",")} where id='${form.id}'`
} else {//新增
let cols = [], arr = []
Object.keys(form).map(e => {
if (form[e]) {
cols.push(e)
if (typeof form[e] == "object") form[e] = JSON.stringify(form[e])
arr.push(`'${form[e]}'`)
}
})
sql = `insert into node_aicode (id,${cols.join(",")}) values('${uuid()}',${arr.join(",")})`
}
dbUtils.query(sql).then(() => {
response.send({code: 0})
}).catch(err => {
response.send({code: 1, err: err.sqlMessage})
})
}
}

14
src/rest/aicode/delete.js Normal file
View File

@@ -0,0 +1,14 @@
const dbUtils = require("../../utils/dbUitls");
module.exports = {
action: "/node/aicode/delete",
method: "post",
execute: (request, response) => {
let {query: {ids}} = request
ids = ids?.split(",")?.map(e => `'${e}'`)?.toString()
dbUtils.query(`delete from node_aicode where id in (${ids})`).then(() => {
response.send({code: 0})
}).catch(err => {
response.send({code: 1, err: err.sqlMessage})
})
}
}

37
src/rest/aicode/detail.js Normal file
View File

@@ -0,0 +1,37 @@
const dbUtils = require("../../utils/dbUitls");
const checkJson = str => {
if (typeof str == 'string') {
try {
let obj = JSON.parse(str);
return !!(typeof obj == 'object' && obj);
} catch (e) {
return false;
}
}
return false;
}
module.exports = {
action: "/node/aicode/detail",
method: "post",
execute: (request, response) => {
let {id} = request.query
let condition = `where id='${id}'`
let sql = `select * from node_aicode ${condition} limit 0,1`
dbUtils.query(sql).then(res => res?.[0]).then(data => {
for (const k in data) {
if (checkJson(data[k])) {
data[k] = JSON.parse(data[k])
} else if (["props"].includes(k)) {
//关于json对象的处理
data[k] = data[k] || []
} else if (["btns"].includes(k)) {
//关于数组的处理
data[k] = data[k]?.split(",") || []
}
}
response.send({code: 0, data})
}).catch(err => {
response.send({code: 1, err: err.sqlMessage})
})
}
}

28
src/rest/aicode/list.js Normal file
View File

@@ -0,0 +1,28 @@
const dbUtils = require("../../utils/dbUitls");
module.exports = {
action: "/node/aicode/list",
method: "post",
execute: (request, response) => {
let total = 0, records = [], {size, current = 1, name = ""} = request.query
let condition = `where (name like '%${name}%' or appName like '%${name}%')`
Promise.all([
dbUtils.query(`select 1 from node_aicode ${condition}`).then(res => {
return total = res.length
}),
new Promise(resolve => {
let sql = `select * from node_aicode ${condition} limit ${(current-1)*size||0},${size||1}`
dbUtils.query(sql).then(res => {
records = res
resolve()
}).catch(err => {
response.send({code: 1, err: err.sqlMessage})
})
})
]).then(() => {
response.send({
code: 0,
data: {records, total}
})
})
}
}