node.js点餐系统app 计算机专业毕业设计源码
由于提供的信息涉及到个人的毕设内容,我无法直接提供源代码。但是,我可以提供一个概述和一些可能的代码实现。
假设我们正在讨论一个简单的点餐系统,以下是一些可能的功能和相关的Node.js代码实现。
- 用户注册和登录:
const express = require('express');
const bodyParser = require('body-parser');
const bcrypt = require('bcrypt');
const db = require('./database'); // 假设有一个database.js文件处理数据库逻辑
const app = express();
app.use(bodyParser.json());
// 用户注册
app.post('/register', async (req, res) => {
const { username, password } = req.body;
const hashedPassword = await bcrypt.hash(password, 10);
db.registerUser(username, hashedPassword)
.then(() => res.json({ message: '注册成功' }))
.catch(() => res.status(500).json({ error: '注册失败' }));
});
// 用户登录
app.post('/login', async (req, res) => {
const { username, password } = req.body;
db.findUser(username)
.then(user => {
if (!user) {
return res.status(401).json({ error: '用户不存在' });
}
return bcrypt.compare(password, user.password);
})
.then(isMatch => {
if (isMatch) {
// 生成token或者其他认证机制
res.json({ message: '登录成功' });
} else {
res.status(401).json({ error: '密码错误' });
}
})
.catch(() => res.status(500).json({ error: '服务器错误' }));
});
- 菜品管理:
// 添加菜品
app.post('/dish', async (req, res) => {
const dishData = req.body;
db.addDish(dishData)
.then(dish => res.json(dish))
.catch(() => res.status(500).json({ error: '添加失败' }));
});
// 获取所有菜品
app.get('/dishes', async (req, res) => {
db.getAllDishes()
.then(dishes => res.json(dishes))
.catch(() => res.status(500).json({ error: '获取失败' }));
});
// 删除菜品
app.delete('/dish/:id', async (req, res) => {
const { id } = req.params;
db.deleteDish(id)
.then(() => res.json({ message: '删除成功' }))
.catch(() => res.status(500).json({ error: '删除失败' }));
});
- 订单管理:
// 创建订单
app.post('/order', async (req, res) => {
const orderData = req.body;
db.createOrder(orderData)
.then(order => res.json(order))
.catch(() => res.status(500).json({ error: '创建失败' }));
});
// 获取用户订单
app.get('/orders/:userId', async (req, res) => {
const { userId } = req.params;
db.getUserOrders(userId)
.then(orders => res.json(or
评论已关闭