expressServer/routes/index.js
rsgltzyd da3642c7c4 完善登录逻辑
完善session和cookie的使用
2024-05-14 23:57:42 +08:00

71 lines
2.1 KiB
JavaScript

var express = require('express');
var router = express.Router();
const user_controller = require("../controllers/userController");
const StringUtils = require("../utils/StringUtil");
/* GET home page. */
router.get('/', function (req, res, next) {
const session = req.session;
session['key'] = 'testvalue';
console.log(session);
res.setHeader('set-cookies', session['key']);
res.send('test');
});
router.get('/user', async function (req, res, next) {
console.log(req.session);
console.log(req.session.account);
if (req.session.account === null || req.session.account === '' || req.session.account === undefined) {
res.send('not login');
return;
}
let us = await user_controller.user_list();
us = JSON.stringify(us);
res.send(us);
})
router.post('/login', async function (req, res, next) {
const body = JSON.parse(JSON.stringify(req.body));
if (!StringUtils.isNotEmpty(body)) {
res.json({ ret_code: -1, ret_msg: '登录失败' });
}
const account = body.account;
const password = body.password;
if (account === '' || account === undefined || account === null) {
return res.json({ ret_code: -1, ret_msg: '没有填写账号' });
}
if (password === '' || password === undefined || password === null) {
return res.json({ ret_code: -1, ret_msg: '没有填写密码' });
}
const user = await user_controller.find_user_login(account);
if (!user) {
return res.json({ ret_code: -1, ret_msg: '账号不存在' })
}
if (user.password != password) {
return res.json({ ret_code: -1, ret_msg: '密码错误' })
}
req.session.regenerate((err) => {
if (err) {
return res.json({ ret_code: -1, ret_msg: '登录失败' });
}
req.session.account = account;
console.log(req.session.account);
res.json({ ret_code: 0, ret_msg: '登录成功' });
});
});
router.get('/logout', async function (req, res, next) {
console.log(req.session);
console.log(req.sessionID);
console.log(req.session.account);
console.log(req.session.cookie);
res.json({ ret_code: 1, ret_msg: '成功' });
});
module.exports = router;