Files
2024-07-19 13:58:44 +08:00

101 lines
2.7 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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')
}