modify add ipcam api
This commit is contained in:
parent
5113518997
commit
af1d96062a
4
app.js
4
app.js
@ -54,6 +54,10 @@ app.get(['/admin', '/admin/*'], (req, res) => {
|
||||
res.sendFile(path.resolve(__dirname, 'views', 'admin.html'));
|
||||
});
|
||||
|
||||
app.get('/camevent', (req, res) => {
|
||||
res.send(0);
|
||||
})
|
||||
|
||||
app.get('/servcmd', (req, res) => {
|
||||
res.send({ status: `exit time ${Date.now()}` });
|
||||
setTimeout(() => { process.exit(1) }, 2000);
|
||||
|
@ -4,7 +4,8 @@
|
||||
},
|
||||
"uni_token": "webiounitoken",
|
||||
"perpage": 10,
|
||||
"leone_limie": 40,
|
||||
"leone_limit": 40,
|
||||
"ipcam_limit": 4,
|
||||
"db": {
|
||||
"user": "root",
|
||||
"pass": "16055536",
|
||||
@ -46,6 +47,7 @@
|
||||
"iocmd": "/home/www/cmd/cmdio",
|
||||
"leonert": "/home/www/tmp/rtles",
|
||||
"htsrt": "/home/www/tmp/rthts",
|
||||
"version": "/factory/webioa_version"
|
||||
"version": "/factory/webioa_version",
|
||||
"ipcamsave": "/home/www/cam"
|
||||
}
|
||||
}
|
@ -69,6 +69,7 @@
|
||||
"ERR0067": "型號輸入錯誤",
|
||||
"ERR0068": "事件數量輸入錯誤",
|
||||
"ERR0069": "圖片數量輸入錯誤",
|
||||
"ERR0070": "IPCam 裝置已達上限",
|
||||
|
||||
"ERR7000": "命令執行失敗",
|
||||
|
||||
|
@ -55,26 +55,69 @@ router
|
||||
|
||||
let active = arr.data.active == 1 ? 1 : 0;
|
||||
|
||||
let query = "select count(*) as c from ??.?? where `ip` = ?";
|
||||
let param = [config.db.db1, 'jcioccamset', arr.data.ip];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err || row.length == 0) return rt.err(res, err, n, 'ERR8000');
|
||||
!async function runSync() {
|
||||
// data flag 0 is insert, 1 is update
|
||||
let flag = 0;
|
||||
let idx = 1;
|
||||
// query db data
|
||||
try {
|
||||
let query = "select `uid` from ??.?? order by `uid` desc limit 1";
|
||||
let param = [config.db.db1, 'jcioccamset'];
|
||||
let id = await tool.promiseQuery(res, query, param);
|
||||
|
||||
if (row[0].c >= 1) return n('ERR0027');
|
||||
|
||||
let query = "insert into ??.?? (`ip`, `name`, `model`, `maxevents`, `maximg`, `active`, `cuser`, `muser`, `ctime`, `mtime` ) \
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, unix_timestamp(), unix_timestamp())";
|
||||
let param = [config.db.db1, 'jcioccamset', arr.data.ip, arr.data.name, arr.data.model, arr.data.maxevents, arr.data.maximg, active, u, u];
|
||||
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res, err, n, 'ERR8001');
|
||||
|
||||
res.api_res = {
|
||||
record: []
|
||||
if (id.data.length > 0 && id.data[0].uid) idx = id.data[0].uid + 1;
|
||||
if (idx > config.ipcam_limit) {
|
||||
query = "select `uid` from ??.?? where `delete` = 1 limit 1";
|
||||
flag = 1;
|
||||
let id = await tool.promiseQuery(res, query, param);
|
||||
if (id.data.length > 0 && id.data[0].uid) idx = id.data[0].uid;
|
||||
else return n('ERR0070');
|
||||
}
|
||||
n();
|
||||
})
|
||||
})
|
||||
|
||||
query = "select count(*) as c from ??.?? where `ip` = ?";
|
||||
param = [config.db.db1, 'jcioccamset', arr.data.ip];
|
||||
let count = await tool.promiseQuery(res, query, param);
|
||||
if (count.data.length == 0) return n('ERR8000');
|
||||
if (count.data[0].c >= 1) return n('ERR0027');
|
||||
} catch (e) {
|
||||
return rt.err(res, e, n, 'ERR8000');
|
||||
}
|
||||
if (flag == 1) {
|
||||
try {
|
||||
let query = "update ??.?? set \
|
||||
`ip` = ?, \
|
||||
`name` = ?, \
|
||||
`model` = ?, \
|
||||
`maxevents` = ?, \
|
||||
`maximg` = ?, \
|
||||
`active` = ?, \
|
||||
`delete` = 0, \
|
||||
`muser` = ?, \
|
||||
`mtime` = unix_timestamp() \
|
||||
where \
|
||||
`uid` = ?";
|
||||
let param = [config.db.db1, 'jcioccamset', arr.data.ip, arr.data.name, arr.data.model, arr.data.maxevents, arr.data.maximg, active, u, arr.data.id];
|
||||
await tool.promiseQuery(res, query, param);
|
||||
} catch (e) {
|
||||
return rt.err(res, e, n, 'ERR8002');
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
let query = "insert into ??.?? (`uid`, `ip`, `name`, `model`, `maxevents`, `maximg`, `active`, `cuser`, `muser`, `ctime`, `mtime` ) \
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, unix_timestamp(), unix_timestamp())";
|
||||
let param = [config.db.db1, 'jcioccamset', idx, arr.data.ip, arr.data.name, arr.data.model, arr.data.maxevents, arr.data.maximg, active, u, u];
|
||||
await tool.promiseQuery(res, query, param);
|
||||
} catch (e) {
|
||||
return rt.err(res, e, n, 'ERR8001');
|
||||
}
|
||||
}
|
||||
|
||||
res.api_res = {
|
||||
record: []
|
||||
}
|
||||
return n();
|
||||
}()
|
||||
|
||||
})
|
||||
.post('/editipcam', (req, res, n) => {
|
||||
if (!config.permission.ipcam) return n('ERR9000');
|
||||
|
Loading…
Reference in New Issue
Block a user