add register

This commit is contained in:
rsgltzyd 2024-07-02 21:30:47 +08:00
parent 3fac188f9d
commit 1197277a20
7 changed files with 128 additions and 57 deletions

23
app.js
View File

@ -24,17 +24,17 @@ const loginSecret = process.env.SESSION_SECRET;
// const databasePassword = process.env.DB_PASSWORD; // const databasePassword = process.env.DB_PASSWORD;
// mongodbConfig.connectMongoDB(databaseAccount, databasePassword); // mongodbConfig.connectMongoDB(databaseAccount, databasePassword);
const userMapper = require('./dao/userMapper'); // const userMapper = require('./dao/userMapper');
( // (
async () => { // async () => {
try { // try {
await userMapper.updatePassword('333', 7); // await userMapper.updatePassword('333', 7);
} catch (error) { // } catch (error) {
console.error(error); // console.error(error);
} // }
} // }
)(); // )();
app.use(logger('dev')); app.use(logger('dev'));
app.use(express.json()); app.use(express.json());
@ -52,7 +52,8 @@ app.use(session({
}, },
})); }));
app.use('/', loginUtils.aopMiddleware, indexRouter); // app.use('/', loginUtils.aopMiddleware, indexRouter);
app.use('/', indexRouter);
// catch 404 and forward to error handler // catch 404 and forward to error handler
app.use(function (req, res, next) { app.use(function (req, res, next) {

View File

@ -2,24 +2,17 @@ const sqlite = require('../db/sqlite.config');
const User = require("../models/user.model"); const User = require("../models/user.model");
/** /**
* * 查询用户 - account
* @param {*} id * @param {*} account
* @returns * @returns {User}
*/ */
exports.selectById = async (id) => { exports.selectByAccount = async (account) => {
let db; let db;
try { try {
db = await sqlite.connectSqlite(); db = await sqlite.connectSqlite();
db.all('SELECT * FROM USERS WHERE `id` = ?', [id], async function (err, rows) {
if (err) {
console.error(err);
}
return await getUser(rows);
});
const rows = await new Promise((resolve, reject) => { const rows = await new Promise((resolve, reject) => {
db.all('SELECT * FROM USERS WHERE `id` = ?', [id], (err, rows) => { db.all('SELECT * FROM USERS WHERE `USER_ACCOUNT` = ?', [account], (err, rows) => {
if (err) { if (err) {
reject(err); reject(err);
} else { } else {
@ -28,7 +21,7 @@ exports.selectById = async (id) => {
}); });
}); });
return await getUser(rows); return (await getUser(rows))[0];
} catch (err) { } catch (err) {
throw err; throw err;
} finally { } finally {
@ -41,7 +34,39 @@ exports.selectById = async (id) => {
}; };
/** /**
* * 查询用户 - id
* @param {*} id
* @returns {User}
*/
exports.selectById = async (id) => {
let db;
try {
db = await sqlite.connectSqlite();
const rows = await new Promise((resolve, reject) => {
db.all('SELECT * FROM USERS WHERE `id` = ?', [id], (err, rows) => {
if (err) {
reject(err);
} else {
resolve(rows);
}
});
});
return await getUser(rows)[0];
} catch (err) {
throw err;
} finally {
try {
await db.close();
} catch (error) {
throw err;
}
}
};
/**
* 查询用户 - name
* @param {*} name * @param {*} name
* @returns * @returns
*/ */
@ -52,7 +77,7 @@ exports.selectByName = async (name) => {
db = await sqlite.connectSqlite(); db = await sqlite.connectSqlite();
const rows = await new Promise((resolve, reject) => { const rows = await new Promise((resolve, reject) => {
db.all('SELECT * FROM USERS', async function (err, rows) { db.all('SELECT * FROM USERS WHERE = ?', [name], async function (err, rows) {
if (err) { if (err) {
reject(err); reject(err);
} }
@ -99,20 +124,20 @@ exports.selectAllUser = async () => {
} }
/** /**
* * 新增用户
* @param {*} User * @param {User} _user
*/ */
exports.insertUser = async (User) => { exports.insertUser = async (_user) => {
let db; let db;
try { try {
db = await sqlite.connectSqlite(); db = await sqlite.connectSqlite();
const user = await new Promise((resolve, reject) => { const u = await new Promise((resolve, reject) => {
db.run('INSERT \ db.run('INSERT \
INTO USERS(USER_ACCOUNT, USER_NAME, PASSWORD, EMAIL, MOBILE) \ INTO USERS(USER_ACCOUNT, USER_NAME, PASSWORD, EMAIL, MOBILE) \
VALUES(?, ?, ?, ?, ?)', VALUES(?, ?, ?, ?, ?)',
[User.user_account, User.user_name, User.password, User.email, User.mobile], [_user.user_account, _user.user_name, _user.password, _user.email, _user.mobile],
async function (err) { async function (err) {
if (err) { if (err) {
reject(err); reject(err);
@ -122,6 +147,7 @@ exports.insertUser = async (User) => {
}); });
}); });
console.log("新增成功", u.toString());
} catch (error) { } catch (error) {
throw error throw error
} finally { } finally {
@ -133,7 +159,7 @@ exports.insertUser = async (User) => {
} }
} }
/** /**
* @param password * @param password
* @param userId * @param userId
*/ */
@ -173,16 +199,7 @@ getUser = async (rows) => {
let users = new Array(); let users = new Array();
rows.map((value, index) => { rows.map((value, index) => {
users[index] = new User( users[index] = new User(value);
value.id,
value.user_account,
value.user_name,
value.password,
value.email,
value.mobile,
value.status,
value.create_time,
value.update_time);
}); });
return users; return users;

Binary file not shown.

View File

@ -9,16 +9,8 @@ class User {
create_time; create_time;
update_time; update_time;
constructor(id, user_account, user_name, password, email, mobile, status, create_time, update_time) { constructor(obj) {
this.id = id; Object.assign(this, obj);
this.user_account = user_account;
this.user_name = user_name;
this.password = password;
this.email = email;
this.mobile = mobile;
this.status = status;
this.create_time = create_time;
this.update_time = update_time;
} }
getId() { getId() {

View File

@ -2,15 +2,18 @@ var express = require('express');
var router = express.Router(); var router = express.Router();
const user_controller = require("../controllers/userController"); const user_controller = require("../controllers/userController");
const User = require("../models/user.model");
const userService = require("../service/user.service");
const StringUtils = require("../utils/StringUtil"); const StringUtils = require("../utils/StringUtil");
/* GET home page. */ /* GET home page. */
router.get('/', function (req, res, next) { router.get('/', function (req, res, next) {
const session = req.session; // const session = req.session;
session['key'] = 'testvalue'; // session['key'] = 'testvalue';
console.log(session); // console.log(session);
res.setHeader('set-cookies', session['key']); // res.setHeader('set-cookies', session['key']);
res.send('test'); res.send('test');
// res.status('404').json({ error: 'Acess is denied' });
}); });
router.get('/user', async function (req, res, next) { router.get('/user', async function (req, res, next) {
@ -61,4 +64,21 @@ router.get('/logout', async function (req, res, next) {
res.json({ ret_code: 1, ret_msg: '退出登录成功' }); 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; module.exports = router;

View File

@ -0,0 +1,41 @@
const User = require("../models/user.model");
const userMapper = require("../dao/user.mapper");
const StringUtil = require("../utils/StringUtil");
/**
*
* @param {User} user
* @returns
*/
exports.register = async (user) => {
let messageMap = new Map();
// console.log(user );
const _user = user;
if (_user == null) {
throw new Error("用户参数不能为空");
}
if (StringUtil.isNotEmpty(_user.getUserAccount)) {
messageMap.set("userMsg", "账号不能为空");
return messageMap;
}
if (StringUtil.isNotEmpty(_user.getUserName)) {
messageMap.set("userMsg", "名称不能为空");
return messageMap;
}
if (StringUtil.isNotEmpty(_user.getPassword)) {
messageMap.set("userMsg", "密码不能为空");
return messageMap;
}
const u = await userMapper.selectByAccount(_user.user_account);
if (u != null) {
messageMap.set("userMsg", "账户已存在");
return messageMap;
}
await userMapper.insertUser(_user);
messageMap.set("userMsg", "succuss");
return messageMap;
}

View File

@ -1,5 +1,5 @@
/** /**
* * 判断是否为空
* @param {*} obj 任意值 * @param {*} obj 任意值
* @returns {Boolean} obj是否为空 * @returns {Boolean} obj是否为空
*/ */