创建一个游戏商城是一个复杂的项目,涉及到前端、后端、数据库等多个方面。我可以为你提供一个简化的概念示例,但请注意,这只是一个起点,你可能需要根据你的具体需求进行大量的修改和扩展。
以下是一个简化的游戏商城的示例,其中包括商品列表、购买和购物车功能。
Python (Flask后端)
python
from flask import Flask, request, jsonify
app = Flask(__name__)
# 假设的商品数据
products = [
{"id": 1, "name": "Game1", "price": 99},
{"id": 2, "name": "Game2", "price": 129},
]
# 购物车
cart = {}
@app.route('/products', methods=['GET'])
def get_products():
return jsonify(products)
@app.route('/cart', methods=['GET'])
def get_cart():
return jsonify(cart)
@app.route('/add_to_cart', methods=['POST'])
def add_to_cart():
product_id = request.json.get('product_id')
product = next((p for p in products if p['id'] == product_id), None)
if product:
if product_id not in cart:
cart[product_id] = {"name": product["name"], "quantity": 0}
cart[product_id]["quantity"] += 1
return jsonify({"message": f"{product['name']} added to cart."}), 200
return jsonify({"error": "Product not found."}), 404
if __name__ == '__main__':
app.run(debug=True)
JavaScript (前端使用Fetch API与后端交互)
javascript
async function fetchProducts() {
const response = await fetch('/products');
const data = await response.json();
console.log(data); // 显示商品列表
}
boshix.cn
async function addToCart(productId) {
const response = await fetch('/add_to_cart', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ product_id: productId })
});
const data = await response.json();
console.log(data); // 显示购物车添加结果
}
HTML (简单的前端页面)
html
<!DOCTYPE html>
<html>
<head>
<title>Game Shop</title>
<script src="path_to_your_javascript_file.js"></script> <!-- 请替换为实际的JS文件路径 -->
</head>
<body>
<h1>Game Shop</h1>
<button οnclick="fetchProducts()">Fetch Products</button>
<button οnclick="addToCart(1)">Add Game1 to Cart</button>
<button οnclick="addToCart(2)">Add Game2 to Cart</button>
</body>
</html>