node电影院售票系统核心代码
时间: 2023-07-07 19:40:14 浏览: 51
以下是一个简单的 Node.js 电影院售票系统的核心代码:
```
const express = require('express');
const app = express();
// 定义一些电影数据
const movies = [
{ id: 1, name: '电影1', time: '2021-01-01 10:00', seats: [1, 2, 3, 4, 5] },
{ id: 2, name: '电影2', time: '2021-01-01 12:00', seats: [6, 7, 8, 9, 10] },
{ id: 3, name: '电影3', time: '2021-01-01 14:00', seats: [11, 12, 13, 14, 15] }
];
// 获取所有电影列表
app.get('/movies', (req, res) => {
res.send(movies);
});
// 获取指定电影的座位信息
app.get('/movies/:id/seats', (req, res) => {
const movie = movies.find(m => m.id === parseInt(req.params.id));
if (!movie) return res.status(404).send('电影不存在');
res.send(movie.seats);
});
// 购买电影票
app.post('/movies/:id/seats/:seat', (req, res) => {
const movie = movies.find(m => m.id === parseInt(req.params.id));
if (!movie) return res.status(404).send('电影不存在');
const seat = parseInt(req.params.seat);
if (!movie.seats.includes(seat)) return res.status(400).send('座位不存在或已被占用');
// 更新座位信息
movie.seats = movie.seats.filter(s => s !== seat);
res.send('购买成功');
});
// 启动服务器
app.listen(3000, () => {
console.log('电影院售票系统已启动,端口号:3000');
});
```
以上代码定义了三个接口:
1. `/movies`:获取所有电影列表;
2. `/movies/:id/seats`:获取指定电影的座位信息;
3. `/movies/:id/seats/:seat`:购买指定电影的指定座位。
当用户访问 `/movies` 接口时,服务器会返回所有电影的信息;当用户访问 `/movies/:id/seats` 接口时,服务器会返回指定电影的所有座位信息;当用户访问 `/movies/:id/seats/:seat` 接口时,服务器会尝试将指定座位标记为已占用,并返回购买成功的信息。