| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- const express = require('express');
- const router = express.Router();
- const Member = require('../models/Member');
- // 获取所有会员
- router.get('/', async (req, res) => {
- try {
- const members = await Member.find();
- res.json(members);
- } catch (err) {
- res.status(500).json({ message: err.message });
- }
- });
- // 添加新会员
- router.post('/', async (req, res) => {
- const member = new Member({
- name: req.body.name,
- phone: req.body.phone,
- email: req.body.email
- });
- try {
- const newMember = await member.save();
- res.status(201).json(newMember);
- } catch (err) {
- res.status(400).json({ message: err.message });
- }
- });
- // 获取特定会员
- router.get('/:id', getMember, (req, res) => {
- res.json(res.member);
- });
- // 更新会员信息
- router.patch('/:id', getMember, async (req, res) => {
- if (req.body.name != null) {
- res.member.name = req.body.name;
- }
- if (req.body.phone != null) {
- res.member.phone = req.body.phone;
- }
- if (req.body.email != null) {
- res.member.email = req.body.email;
- }
- try {
- const updatedMember = await res.member.save();
- res.json(updatedMember);
- } catch (err) {
- res.status(400).json({ message: err.message });
- }
- });
- // 删除会员
- router.delete('/:id', getMember, async (req, res) => {
- try {
- await res.member.remove();
- res.json({ message: '会员已删除' });
- } catch (err) {
- res.status(500).json({ message: err.message });
- }
- });
- async function getMember(req, res, next) {
- let member;
- try {
- member = await Member.findById(req.params.id);
- if (member == null) {
- return res.status(404).json({ message: '找不到会员' });
- }
- } catch (err) {
- return res.status(500).json({ message: err.message });
- }
- res.member = member;
- next();
- }
- module.exports = router;
|