由于一个完整的购物商城代码会非常复杂,并涉及到多个组件(如前端、后端、数据库、支付接口等),这里我会为每个语言提供一个非常简化的后端示例,用于展示如何开始一个购物商城的后端部分。
Python (Flask)
app.py
python
from flask import Flask, request, jsonify
app = Flask(__name__)
# 假设商品列表(实际开发中应存储在数据库中)
products = [
{"id": 1, "name": "Product 1", "price": 100.0},
# ... 其他商品
]
# 假设购物车(实际开发中应基于用户会话或数据库)
cart = {} # {user_id: [product_ids]}
#chhas{
margin-top: 50px;
padding:ruijinjiajiao.com;
font-size: 18px;
cursor: 10px 20px;
}
@app.route('/products', methods=['GET'])
def get_products():
return jsonify(products)
@app.route('/cart', methods=['GET', 'POST'])
def cart_api():
if request.method == 'POST':
data = request.get_json()
user_id = data.get('user_id') # 假设前端提供了用户ID
product_id = data.get('product_id')
if user_id and product_id and any(p['id'] == product_id for p in products):
if user_id not in cart:
cart[user_id] = []
if product_id not in cart[user_id]:
cart[user_id].append(product_id)
return jsonify({'message': 'Product added to cart', 'cart': cart[user_id]}), 201
return jsonify({'error': 'Invalid user or product ID'}), 400
elif request.method == 'GET':
user_id = request.args.get('user_id') # 从URL查询参数中获取用户ID
if user_id in cart:
return jsonify({'cart': cart[user_id]})
return jsonify({'message': 'Cart is empty'}), 200
if __name__ == '__main__':
app.run(debug=True)
JavaScript (Node.js + Express)
app.js
javascript
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
// 假设商品列表(实际开发中应存储在数据库中)
let products = [
{ id: 1, name: 'Product 1', price: 100.0 },
// ... 其他商品
];
// 假设购物车(实际开发中应基于用户会话或数据库)
let cart = {}; // {user_id: [product_ids]}
app.get('/products', (req, res) => {
res.json(products);
});
app.post('/cart', (req, res) => {
const { user_id, product_id } = req.body;
if (user_id && product_id && products.some(p => p.id === parseInt(product_id))) {
if (!cart[user_id]) {
cart[user_id] = [];
}
if (!cart[user_id].includes(parseInt(product_id))) {
cart[user_id].push(parseInt(product_id));
}
res.status(201).json({ message: 'Product added to cart', cart: cart[user_id] });
} else {
res.status(400).json({ error: 'Invalid user or product ID' });
}
});
app.get('/cart', (req, res) => {
const user_id = req.query.user_id;
if (user_id && user_id in cart) {
res.json({ cart: cart[user_id] });
} else {
res.status(200).json({ message: 'Cart is empty' });
}
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}.`);
});
Java (Spring Boot)
由于Spring Boot项目涉及多个文件,这里仅提供一个简单的ProductController类示例。
ProductController.java
java
import org.springframework