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;
// mongodbConfig.connectMongoDB(databaseAccount, databasePassword);
const userMapper = require('./dao/userMapper');
// const userMapper = require('./dao/userMapper');
(
async () => {
try {
await userMapper.updatePassword('333', 7);
} catch (error) {
console.error(error);
}
}
)();
// (
// async () => {
// try {
// await userMapper.updatePassword('333', 7);
// } catch (error) {
// console.error(error);
// }
// }
// )();
app.use(logger('dev'));
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
app.use(function (req, res, next) {

View File

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

Binary file not shown.

View File

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

View File

@ -2,15 +2,18 @@ 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) {
const session = req.session;
session['key'] = 'testvalue';
console.log(session);
res.setHeader('set-cookies', session['key']);
// const session = req.session;
// session['key'] = 'testvalue';
// console.log(session);
// res.setHeader('set-cookies', session['key']);
res.send('test');
// res.status('404').json({ error: 'Acess is denied' });
});
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: '退出登录成功' });
});
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;

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 任意值
* @returns {Boolean} obj是否为空
*/