first commit
This commit is contained in:
9
server/router_handler/devinof_handle.js
Normal file
9
server/router_handler/devinof_handle.js
Normal file
@ -0,0 +1,9 @@
|
||||
const db=require("../comman/db")
|
||||
|
||||
exports.getfilelistinfo=(req, res) => {
|
||||
sql='SELECT d.*, i.last_online FROM filebrowerinfo d JOIN frpinfo i ON d.name = i.id;'
|
||||
db.query(sql,(err,result)=>{
|
||||
res.send(result);
|
||||
})
|
||||
|
||||
}
|
152
server/router_handler/mqtt_router_handle.js
Normal file
152
server/router_handler/mqtt_router_handle.js
Normal file
@ -0,0 +1,152 @@
|
||||
|
||||
const db=require("../comman/db")
|
||||
const mqttserver=require("../comman/mqqthttp")
|
||||
const {log} = require("debug");
|
||||
exports.getSwitchStat=(req, res) => {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
exports.getSwitchList= async (req, res) => {
|
||||
|
||||
|
||||
let listonline=await mqttserver.queryalldeviceonline()
|
||||
|
||||
|
||||
|
||||
sql='SELECT * FROM `remoteswitch` WHERE 1'
|
||||
db.query(sql,(err,result)=>{
|
||||
|
||||
let devicelist=new Array()
|
||||
|
||||
for(rowindex in result) {
|
||||
// console.log(result)
|
||||
|
||||
Data={
|
||||
|
||||
ID: rowindex,
|
||||
SwitchID:result[rowindex].id,
|
||||
Type:result[rowindex].type,
|
||||
Detail:result[rowindex].tips,
|
||||
SwitchData: [
|
||||
{ Stat: result[rowindex].switch1===1?true:false, ID: 1},
|
||||
{ Stat: result[rowindex].switch2===1?true:false, ID: 2},
|
||||
{ Stat: result[rowindex].switch3===1?true:false, ID: 3},
|
||||
{Stat: result[rowindex].switch4===1?true:false, ID: 4}
|
||||
|
||||
]
|
||||
}
|
||||
if (listonline.includes(result[rowindex].id))
|
||||
{
|
||||
Data.isonline=true;
|
||||
}else
|
||||
{
|
||||
continue
|
||||
Data.isonline=false;
|
||||
}
|
||||
|
||||
//res.send(Data);
|
||||
|
||||
devicelist.push(Data);
|
||||
|
||||
|
||||
}
|
||||
//console.log(devicelist)
|
||||
backdata={
|
||||
|
||||
devicelist:devicelist
|
||||
}
|
||||
res.send(backdata);
|
||||
// console.log(devicelist[0].SwitchData)
|
||||
|
||||
// res.send("sdfsdfsdf");
|
||||
// res.send(devicelist);
|
||||
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
exports.SetSwitch=async (req, res) => {
|
||||
|
||||
|
||||
|
||||
req.body=req.query
|
||||
//console.log(req)
|
||||
|
||||
|
||||
|
||||
Data={
|
||||
id:req.body.Data.SwitchID,
|
||||
sid:req.body.Data.number,
|
||||
st:(req.body.Data.stat==="true"?1:0)
|
||||
}
|
||||
|
||||
//console.log("data send")
|
||||
// console.log(Data)
|
||||
let mqttclient = global.MqttClient
|
||||
mqttclient.publish("remoteShutter",JSON.stringify(Data));
|
||||
message= await waitForMessage("remoteShuttersend")
|
||||
message=JSON.parse(message)
|
||||
// console.log("message send")
|
||||
// console.log(message)
|
||||
Data=req.body.Data
|
||||
for (i=0;i<4;i++)
|
||||
{
|
||||
Data.SwitchData[i]=message.st[i]
|
||||
}
|
||||
delete Data.number
|
||||
backdata={
|
||||
index:req.body.index,
|
||||
|
||||
Data://Data
|
||||
{
|
||||
|
||||
ID: req.body.Data.ID,
|
||||
SwitchID:message.id,
|
||||
Type:req.body.Data.Type,
|
||||
Detail:req.body.Data.Detail,
|
||||
isonline:true,
|
||||
SwitchData: [
|
||||
{ Stat: message.st[0], ID: 1},
|
||||
{ Stat: message.st[1], ID: 2},
|
||||
{ Stat: message.st[2], ID: 3},
|
||||
{Stat: message.st[3], ID: 4}
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
console.log(backdata.Data)
|
||||
res.send(backdata);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function waitForMessage(topic) {
|
||||
return new Promise((resolve, reject) => {
|
||||
let client = global.MqttClient
|
||||
client.subscribe(topic, (err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
client.on('message', (t, message) => {
|
||||
if (t === topic) {
|
||||
client.unsubscribe(topic);
|
||||
resolve(message.toString());
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
100
server/router_handler/user.js
Normal file
100
server/router_handler/user.js
Normal file
@ -0,0 +1,100 @@
|
||||
var db = require("../comman/db.js")
|
||||
const bcrypt = require('bcryptjs')
|
||||
/**
|
||||
* 在这里定义和用户相关的路由处理函数,供 /router/user.js 模块进行调用
|
||||
*/
|
||||
|
||||
// 注册用户的处理函数
|
||||
exports.regUser = (req, res) => {
|
||||
var data = req.body;
|
||||
if (data.Username == "" || data.Name == "" || data.Password == "") {
|
||||
return res.send("传入数据非法")
|
||||
}
|
||||
const sqlStr = 'select * from employeelist where Username=?'
|
||||
//res.setHeader("refresh","3; url=../index.html")
|
||||
|
||||
db.query(sqlStr, data.Username, (err, result) => {
|
||||
if (err) {
|
||||
return res.send(err)
|
||||
}
|
||||
if (result.length > 0) {
|
||||
res.setHeader("refresh", "3; url=../html/register.html")
|
||||
return res.send("用户已存在 请更换用户名")
|
||||
|
||||
}
|
||||
delete data.configPassword
|
||||
data.Password = bcrypt.hashSync(data.Password, 10)
|
||||
data.Acess = 0
|
||||
data.Pic = null
|
||||
console.log(data);
|
||||
const sql = "insert into employeelist set ?";
|
||||
db.query(sql, data, (err, result) => {
|
||||
console.log(result);
|
||||
console.log(err)
|
||||
res.setHeader("refresh", "3; url=../index.html")
|
||||
res.send('reguser OK')
|
||||
});
|
||||
// res.setHeader('refresh:3; url=../index.html')
|
||||
|
||||
//res.render('new.html')
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 登录的处理函数
|
||||
exports.login = (req, res) => {
|
||||
|
||||
const userinfo = req.body
|
||||
// 定义 SQL 语句
|
||||
const sql = `select * from employeelist where Username=?`
|
||||
// 执行 SQL 语句,根据用户名查询用户的信息
|
||||
db.query(sql, userinfo.Username, (err, results) => {
|
||||
// 执行 SQL 语句失败
|
||||
if (err) return res.send(err)
|
||||
// 执行 SQL 语句成功,但是获取到的数据条数不等于 1
|
||||
if (results.length !== 1) {
|
||||
res.setHeader("refresh", "3; url=../html/login.html")
|
||||
return res.send('登录失败!')
|
||||
}
|
||||
|
||||
// TODO:判断密码是否正确
|
||||
const compareResult = bcrypt.compareSync(userinfo.Password, results[0].Password)
|
||||
if (!compareResult) {
|
||||
res.setHeader("refresh", "3; url=../html/login.html")
|
||||
return res.send('登录失败!')
|
||||
}
|
||||
|
||||
// TODO:在服务器端生成 Token 的字符串
|
||||
req.session.username=userinfo.Username;
|
||||
req.session.islogin = true;
|
||||
if (userinfo.Username=="renlixin"){
|
||||
req.session.isadmin=true;
|
||||
}else
|
||||
{
|
||||
req.session.isadmin=false;
|
||||
}
|
||||
|
||||
var message = {
|
||||
|
||||
|
||||
message: "login ok"
|
||||
}
|
||||
res.setHeader("refresh", "3; url=../index.html")
|
||||
res.send(message.message)
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
exports.logout = (req, res) => {
|
||||
req.session.islogin = false;
|
||||
req.session.destroy();
|
||||
res.setHeader("refresh", "3; url=../html/login.html")
|
||||
res.send('logout ok')
|
||||
|
||||
}
|
Reference in New Issue
Block a user