diff --git a/app.js b/app.js index afcf78f..f9e8f6b 100644 --- a/app.js +++ b/app.js @@ -7,6 +7,7 @@ const session = require('express-session') const cookieParser = require('cookie-parser') const indexRouter = require('./routes/index') const userRouter = require('./routes/userRouter') +const accountRouter = require('./routes/accountRouter') // mongodb数据库连接 const { connectMongoDB } = require('./db/mongodbConfig') @@ -49,11 +50,9 @@ async function startServer() { startServer() -// app.use(loginUtil.authenticateSeesion) - -// app.use('/', loginUtils.aopMiddleware, indexRouter); app.use('/', indexRouter) app.use('/user', loginUtil.authenticateSession, userRouter) +app.use('/account', accountRouter) // catch 404 and forward to error handler app.use(function (req, res, next) { diff --git a/config/successMessages.js b/config/successMessages.js index 970ac2e..aea8311 100644 --- a/config/successMessages.js +++ b/config/successMessages.js @@ -1,5 +1,6 @@ module.exports = { user: { + exist: 'User exist', created: 'User created', updated: 'User updated', deleted: 'User deleted', diff --git a/controllers/userController.js b/controllers/userController.js index c74d537..42a2a85 100644 --- a/controllers/userController.js +++ b/controllers/userController.js @@ -85,3 +85,19 @@ exports.login = [ } } ] + +exports.getUserExist = async (req, res) => { + console.log(req.path) + + try { + const { account } = req.query + + const exist = await userService.get_user_exist(account) + if (!exist) { + return res.status(404).json({ message: errorMessages.user.not_found }) // 用户未找到,使用 404 错误码 + } + return res.status(200).json({ message: successMessages.user.exist }) + } catch (err) { + res.status(500).json({ error: err.message }) + } +} diff --git a/repositories/userRepository.js b/repositories/userRepository.js index 7a7fb1d..65f550f 100644 --- a/repositories/userRepository.js +++ b/repositories/userRepository.js @@ -39,6 +39,11 @@ exports.selectUserByPhone = async (phone) => { return await UserModel.findOne({ phone: phone }) } +exports.selectUserByAccountExist = async (account) => { + const exist = await UserModel.exists({ account: account }) + return exist !== null +} + exports.createUser = async (user) => { return await UserModel.create(user) } diff --git a/routes/accountRouter.js b/routes/accountRouter.js new file mode 100644 index 0000000..8e1f7c4 --- /dev/null +++ b/routes/accountRouter.js @@ -0,0 +1,9 @@ +// routes/userRoutes.js +const express = require('express') +const userController = require('../controllers/userController') + +const router = express.Router() + +router.get('/', userController.getUserExist) + +module.exports = router diff --git a/services/userService.js b/services/userService.js index 21f445c..7c95f86 100644 --- a/services/userService.js +++ b/services/userService.js @@ -27,6 +27,14 @@ exports.login = async (account, password) => { } } +exports.get_user_exist = async (account) => { + try { + return await userMapper.selectUserByAccountExist(account) + } catch (err) { + throw err + } +} + exports.user_list = async () => { try { const list_users = await userMapper.selectAllUser()