feat: 更新 MongoDB 配置,重命名文件并添加登录功能

This commit is contained in:
LingandRX 2024-12-24 22:35:02 +08:00
parent 1b1af49db3
commit 0b6340dca4
7 changed files with 37 additions and 962 deletions

12
app.js
View File

@ -9,7 +9,8 @@ const indexRouter = require('./routes/index')
const userRouter = require('./routes/userRouter')
// mongodb数据库连接
const { connectMongoDB } = require('./db/mongodb.config')
const { connectMongoDB } = require('./db/mongodbConfig')
const loginUtil = require('./utils/loginUtil')
const app = express()
@ -40,20 +41,19 @@ app.use(cors())
async function startServer() {
try {
await connectMongoDB()
// const port = process.env.PORT || 3000
// app.listen(port, () => {
// console.log(`Server is running on port ${port}`)
// })
} catch (error) {
console.error('Server error:', error)
process.exit(1)
}
}
startServer()
// app.use(loginUtil.authenticateSeesion)
// app.use('/', loginUtils.aopMiddleware, indexRouter);
app.use('/', indexRouter)
app.use('/user', userRouter)
app.use('/user',loginUtil.authenticateSeesion, userRouter)
// catch 404 and forward to error handler
app.use(function (req, res, next) {

View File

@ -1,35 +0,0 @@
-- 创建用户信息表
CREATE TABLE users (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`user_account` VARCHAR(255) UNIQUE NOT NULL,
`user_name` VARCHAR(255) NOT NULL,
`password` VARCHAR(255) NOT NULL,
`email` VARCHAR(255),
`mobile` VARCHAR(255),
`status` VARCHAR(100) DEFAULT 'NORMAL',
`create_time` TIMESTAMP DEFAULT (datetime('now', 'localtime')),
`update_time` TIMESTAMP DEFAULT (datetime('now', 'localtime'))
);
DELETE FROM
USERS -- Active: 1719656873604@@127.0.0.1@3306
INSERT INTO
users (user_account, user_name, `password`, email)
VALUES
('test2', '1', '123456', '2712495353@qq.com');
INSERT INTO
users (user_account, user_name, `password`, email)
VALUES
('test4', '1', '123456', '2712495354@qq.com');
SELECT
*
FROM
`USERS`
UPDATE
USERS
SET
PASSWORD = '33'
WHERE
ID = '7';

View File

@ -11,7 +11,9 @@ const port = process.env.MONGO_PORT || '27017'
let isConnected = false
exports.connectMongoDB = async function () {
if (process.env.NODE_ENV === 'development') {
console.log(account, password, host, port)
}
// 如果已经连接,不再重复连接
if (isConnected) {

919
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -20,8 +20,7 @@
"jade": "^0.29.0",
"mongoose": "^8.3.4",
"morgan": "~1.9.1",
"nodemon": "^3.1.0",
"sqlite3": "^5.1.7"
"nodemon": "^3.1.0"
},
"devDependencies": {
"prettier": "^3.4.2"

View File

@ -1,4 +1,19 @@
var express = require('express')
var router = express.Router()
router.get('/', function (req, res, next) {
res.send('respond with a resource')
})
router.post('/login', function (req, res, next) {
const { account, password } = req.body
console.log(account, password)
if (account === 'admin' && password === 'admin') {
req.session.user = { account }
res.json({ account })
} else {
res.status(401).json({ error: 'Unauthorized' })
}
})
module.exports = router

View File

@ -1,12 +1,7 @@
exports.aopMiddleware = function (req, res, next) {
console.log(req.url)
if (req.url === '/login') {
exports.authenticateSeesion = async (req, res, next) => {
if (req.session.user) {
next()
} else {
if (req.session.account === undefined) {
res.status('404').json({ error: 'Acess is denied' })
} else {
next()
}
res.status(401).json({ error: 'Unauthorized' })
}
}