diff --git a/demo_server/db/model.js b/demo_server/db/model.js index 34280da5e7fbbf211d2f2164013fdc7ae9cb4700..9b71b706738f513090b44691283afda5e3f8cdc0 100644 --- a/demo_server/db/model.js +++ b/demo_server/db/model.js @@ -3,8 +3,8 @@ const mongoose = require('./index.js'); const UserSchema = new mongoose.Schema({ avatar: String, nickname: String, - phone:Number, - signa:String, + phone: Number, + signa: String, }) const User = mongoose.model('User', UserSchema); @@ -13,12 +13,73 @@ const AddressSchema = new mongoose.Schema({ name: String, phone: Number, address: String, - status:Boolean, - default:Boolean, + status: Boolean, + default: Boolean, }) const Address = mongoose.model('Address', AddressSchema); + +// tsl +const areaSchema = new mongoose.Schema({ + name: String, + num: Number, +}) +const areaModel = mongoose.model('area', areaSchema, 'area'); + +const areaCateSchema = new mongoose.Schema({ + name: String, +}) +const areaCateModel = mongoose.model('areaCate', areaCateSchema, 'areaCate'); + +const QuestionSchema = new mongoose.Schema({ + cai1: String, //材料 + cai2: String, //材料 + cai3: String, //材料 + cai4: String, //材料 + cai5: String, //材料 + question1: String, + question2: String, + question3: String, + question4: String, + question5: String, + answer1: String, + answer2: String, + answer3: String, + answer4: String, + answer5: String, + myAnswer1: { + type: String, + default: '' + }, + myAnswer2: { + type: String, + default: '' + }, + myAnswer3: { + type: String, + default: '' + }, + myAnswer4: { + type: String, + default: '' + }, + myAnswer5: { + type: String, + default: '' + }, + cid: { + type: mongoose.Types.ObjectId, + ref: 'areaCate' + } +}) +const QuestionModel = mongoose.model('Question', QuestionSchema, 'question'); + + module.exports = { User, - Address + Address, + // tsl + areaModel, + areaCateModel, + QuestionModel } \ No newline at end of file diff --git a/demo_server/routes/index.js b/demo_server/routes/index.js index d1d6a6a1458f6a94f8e15587cd17232c854835f1..ac6b1c85610c4377630f5c6454e42b4a601e24ab 100644 --- a/demo_server/routes/index.js +++ b/demo_server/routes/index.js @@ -2,7 +2,7 @@ var express = require('express'); var router = express.Router(); const multer = require('multer'); const path = require('path'); -const { User,Address } = require('../db/model'); +const { User, Address, areaModel, areaCateModel, QuestionModel } = require('../db/model'); @@ -16,25 +16,25 @@ app.use(bodyParser.urlencoded({ extended: true })); // 设置 multer 存储配置 const storage = multer.diskStorage({ - destination: (req, file, cb) => { - cb(null, 'uploads/'); // 存储文件的位置 - }, - filename: (req, file, cb) => { - const uniqueSuffix = Date.now() + '-' + Math.round(Math.random() * 1E9); - cb(null, uniqueSuffix + path.extname(file.originalname)); // 重命名文件 - } + destination: (req, file, cb) => { + cb(null, 'uploads/'); // 存储文件的位置 + }, + filename: (req, file, cb) => { + const uniqueSuffix = Date.now() + '-' + Math.round(Math.random() * 1E9); + cb(null, uniqueSuffix + path.extname(file.originalname)); // 重命名文件 + } }); const upload = multer({ storage: storage }); /* GET home page. */ -router.get('/', function(req, res, next) { +router.get('/', function (req, res, next) { res.render('index', { title: 'Express' }); }); // 获取用户信息 -router.get('/user', async function(req, res, next) { +router.get('/user', async function (req, res, next) { const user = await User.find(); res.send({ code: 200, @@ -44,7 +44,7 @@ router.get('/user', async function(req, res, next) { }); // 添加用户 -router.post('/user/add', async function(req, res, next) { +router.post('/user/add', async function (req, res, next) { const user = req.body; await User.create(user); res.send({ @@ -55,12 +55,12 @@ router.post('/user/add', async function(req, res, next) { }); // 上传头像 -router.post('/uploadAvatar', upload.single('avatar'), async function(req, res, next) { +router.post('/uploadAvatar', upload.single('avatar'), async function (req, res, next) { console.log('收到的用户ID:', req.body.userId); // 打印用户ID const userId = req.body.userId; if (!userId) { - return res.status(400).json({ code: 400, message: '用户ID缺失' }); + return res.status(400).json({ code: 400, message: '用户ID缺失' }); } // 更新用户头像 @@ -68,34 +68,34 @@ router.post('/uploadAvatar', upload.single('avatar'), async function(req, res, n const updatedUser = await User.updateOne({ _id: userId }, { avatar: filePath }); if (updatedUser.nModified > 0) { - res.json({ code: 200, message: '头像上传成功' }); + res.json({ code: 200, message: '头像上传成功' }); } else { - res.status(400).json({ code: 400, message: '头像上传失败,用户ID无效' }); + res.status(400).json({ code: 400, message: '头像上传失败,用户ID无效' }); } }); // 更新用户信息 -router.put('/user/:id', async function(req, res) { +router.put('/user/:id', async function (req, res) { const userId = req.params.id; const updatedData = req.body; console.log('更新的数据:', updatedData); // 打印请求体 try { - const updatedUser = await User.updateOne({ _id: userId }, { $set: updatedData }); - if (updatedUser.nModified > 0) { - res.json({ code: 200, message: '用户信息更新成功' }); - } else { - res.status(200).json({ code: 200, message: 'OK' }); - } + const updatedUser = await User.updateOne({ _id: userId }, { $set: updatedData }); + if (updatedUser.nModified > 0) { + res.json({ code: 200, message: '用户信息更新成功' }); + } else { + res.status(200).json({ code: 200, message: 'OK' }); + } } catch (error) { - + } }); //收货地址 -router.get('/address', async function(req, res, next) { +router.get('/address', async function (req, res, next) { const address = await Address.find(); res.send({ code: 200, @@ -105,7 +105,7 @@ router.get('/address', async function(req, res, next) { }); //添加收货地址 -router.post('/address/add', async function(req, res, next) { +router.post('/address/add', async function (req, res, next) { const address = req.body; const id = address.length + 1; @@ -135,36 +135,111 @@ router.post('/address/add', async function(req, res, next) { router.put('/updateAddress', async function (req, res) { const { id, address, name, phone } = req.body; try { - const result = await Address.updateOne({ id }, { address, name, phone }); - if (result.nModified > 0) { - res.json({ code: 200, message: '更新地址成功' }); - } else { - res.status(400).json({ code: 400, message: '没有修改任何数据' }); - } + const result = await Address.updateOne({ id }, { address, name, phone }); + if (result.nModified > 0) { + res.json({ code: 200, message: '更新地址成功' }); + } else { + res.status(400).json({ code: 400, message: '没有修改任何数据' }); + } } catch (error) { - console.error("更新地址失败:", error); - res.status(500).json({ code: 500, message: '更新地址失败' }); + console.error("更新地址失败:", error); + res.status(500).json({ code: 500, message: '更新地址失败' }); } }); router.delete('/deleteAddress/:id', async (req, res) => { const id = req.params.id; try { - const result = await Address.deleteOne({ id }); - if (result.deletedCount > 0) { - return res.json({ code: 200, message: '删除成功' }); - } else { - return res.status(404).json({ code: 404, message: '地址未找到' }); - } + const result = await Address.deleteOne({ id }); + if (result.deletedCount > 0) { + return res.json({ code: 200, message: '删除成功' }); + } else { + return res.status(404).json({ code: 404, message: '地址未找到' }); + } } catch (error) { - console.error("删除地址时出错:", error); - res.status(500).json({ code: 500, message: '删除失败' }); + console.error("删除地址时出错:", error); + res.status(500).json({ code: 500, message: '删除失败' }); } }); +// tsl接口 + +router.post('/addarea', async (req, res) => { + await areaModel.create(req.body) + res.send({ + code: 200, + msg: '添加成功' + }) +}) +router.post('/addareacate', async (req, res) => { + await areaCateModel.create(req.body) + res.send({ + code: 200, + msg: '添加成功' + }) +}) +router.post('/addquestion', async (req, res) => { + await QuestionModel.create(req.body) + res.send({ + code: 200, + msg: '添加成功' + }) +}) + +router.get('/area', async (req, res) => { + let area = await areaModel.find() + res.send({ + code: 200, + data: area + }) +}) + +router.post('/areacate', async (req, res) => { + let id = req.query.id + let area = await areaCateModel.findById({ _id: id }) + res.send({ + code: 200, + data: area + }) +}) + +router.get('/areacate', async (req, res) => { + let areacate = await areaCateModel.find() + res.send({ + code: 200, + data: areacate + }) +}) +router.get('/question', async (req, res) => { + let question = await QuestionModel.find() + res.send({ + code: 200, + data: question + }) +}) + +router.post('/question', async (req, res) => { + let id = req.query.id + let question = await QuestionModel.find({ cid: id }) + res.send({ + code: 200, + data: question + }) +}) + +router.post('/answer1', async (req, res) => { + let id = req.query.id + let answer1 = req.body.text1 + let answer2 = req.body.text2 + await QuestionModel.updateOne({ cid: id }, { $set: { myAnswer1: answer1, myAnswer2: answer2 } }) + + res.send({ + code: 200, + }) +})