Node.js毕业设计基于web的学生社团管理系统
由于篇幅限制,我无法提供完整的代码。但我可以提供一个简化的用户注册功能的代码示例。
// 引入Express框架和其他必要的模块
const express = require('express');
const bodyParser = require('body-parser');
const bcrypt = require('bcrypt');
const app = express();
// 使用body-parser中间件解析请求体
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
// 用户注册路由
app.post('/api/register', async (req, res) => {
const { username, password } = req.body;
// 检查用户名是否已存在
const existingUser = await User.findOne({ username });
if (existingUser) {
return res.status(400).json({ message: '用户名已存在' });
}
// 密码加密
const salt = await bcrypt.genSalt(10);
const hashedPassword = await bcrypt.hash(password, salt);
// 创建新用户
const user = new User({
username,
password: hashedPassword
});
// 保存用户到数据库
try {
const newUser = await user.save();
res.status(200).json({ message: '注册成功', userId: newUser._id });
} catch (error) {
res.status(500).json({ message: '注册失败', error });
}
});
// 启动服务器
app.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000/');
});
在这个示例中,我们创建了一个简单的用户注册接口,使用Express框架和Mongoose模块与MongoDB数据库进行交互。用户提交包含用户名和密码的POST请求,服务器检查用户名是否存在,不存在则进行密码散列并创建新用户,然后将用户信息保存到数据库。
注意:这个示例假设你已经有了一个MongoDB数据库,并且已经设置了相应的Mongoose模型(在实际应用中需要替换为你的User模型)。同时,为了安全起见,密码在传输时应该是加密的,并且在服务器端也应该存储加密后的密码。
评论已关闭