expressServer/routes/index.js
LingandRX cfe9f92013 feat: 重构项目并添加 MongoDB 支持
- 新增 Prettier 配置文件,规范代码格式
- 重构用户控制器和 DAO 层代码,提高可读性和维护性
- 添加 MongoDB 数据库配置和连接逻辑
- 更新用户模型,使用 Mongoose Schema 定义
- 新增密码加密功能
- 删除 SQLite 相关代码和数据库文件
2024-12-23 23:10:22 +08:00

84 lines
2.3 KiB
JavaScript

var express = require('express');
var router = express.Router();
const user_controller = require('../controllers/userController');
const User = require('../models/user.model');
const userService = require('../service/user.service');
const StringUtils = require('../utils/StringUtil');
/* GET home page. */
router.get('/', function (req, res, next) {
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 = req.body;
if (!StringUtils.isNotEmpty(body)) {
return res.json({ ret_code: -1, ret_msg: '登录失败' });
}
const { account, password } = body;
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;
res.json({ ret_code: 0, ret_msg: '登录成功' });
});
});
router.get('/logout', async function (req, res, next) {
res.json({ ret_code: 1, ret_msg: '退出登录成功' });
});
router.post('/register', async function (req, res, next) {
const body = req.body;
const { account, username, password } = body;
console.log(account, username, password);
const user = new User();
user.setUserAccount(account);
user.setUserName(username);
user.setPassword(password);
// console.log(user);
let userMsg;
userMsg = await userService.register(user);
console.log(userMsg.get('userMsg'));
res.json({ ret_code: 1, ret_msg: userMsg.get('userMsg') });
});
module.exports = router;