- Python (后端,Flask框架)yctsy.cn
python
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
app = Flask(name)
app.config[‘SQLALCHEMY_DATABASE_URI’] = ‘sqlite:tmp/test.db’
db = SQLAlchemy(app)
class Product(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
price = db.Column(db.Float, nullable=False)
… 其他路由和函数 …
@app.route(‘/cart/add’, methods=[‘POST’])
def add_to_cart():
product_id = request.json.get(‘product_id’)
# 假设这里有一个购物车系统(比如session、数据库或Redis)
# 这里只是简单模拟添加到购物车
cart = request.session.get(‘cart’, [])
cart.append(product_id)
request.session[‘cart’] = cart
return jsonify({‘message’: ‘Product added to cart’}), 201
if name == ‘main’:
db.create_all()
app.run(debug=True)
2. JavaScript (前端,使用Ajax)
javascript
// 假设有一个按钮和一个产品ID
document.getElementById(‘addToCartBtn’).addEventListener(‘click’, function() {
const productId = document.getElementById(‘productId’).value; // 获取产品ID
// 使用Fetch API发送POST请求到/cart/add
fetch('/cart/add', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({product_id: productId})
})
.then(response => response.json())
.then(data => console.log(data.message)) // 打印服务器响应的消息
.catch((error) => console.error('Error:', error));
});
3. SQL (数据库)
这里是一个简单的SQLite数据库表结构,用于存储产品:
sql
CREATE TABLE products (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
price REAL NOT NULL
);
注意:这只是一个非常简化的示例。在真实的应用中,你需要处理用户认证、库存检查、订单处理、支付集成、错误处理、性能优化等多个方面。而且,购物车系统通常需要一个更复杂的解决方案,比如使用数据库或Redis来存储每个用户的购物车内容。由于生成一个完整的购物商城代码对于多种编程语言来说是一个庞大的任务,我将为你提供一个简化版的购物车功能的概念性代码示例,分别用Python(后端)、JavaScript(前端/客户端)和SQL(数据库)来表示。
- Python (后端,Flask框架)
python
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
app = Flask(name)
app.config[‘SQLALCHEMY_DATABASE_URI’] = ‘sqlite:tmp/test.db’
db = SQLAlchemy(app)
class Product(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
price = db.Column(db.Float, nullable=False)
… 其他路由和函数 …
@app.route(‘/cart/add’, methods=[‘POST’])
def add_to_cart():
product_id = request.json.get(‘product_id’)
# 假设这里有一个购物车系统(比如session、数据库或Redis)
# 这里只是简单模拟添加到购物车
cart = request.session.get(‘cart’, [])
cart.append(product_id)
request.session[‘cart’] = cart
return jsonify({‘message’: ‘Product added to cart’}), 201
if name == ‘main’:
db.create_all()
app.run(debug=True)
2. JavaScript (前端,使用Ajax)
javascript
// 假设有一个按钮和一个产品ID
document.getElementById(‘addToCartBtn’).addEventListener(‘click’, function() {
const productId = document.getElementById(‘productId’).value; // 获取产品ID
// 使用Fetch API发送POST请求到/cart/add
fetch('/cart/add', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({product_id: productId})
})
.then(response => response.json())
.then(data => console.log(data.message)) // 打印服务器响应的消息
.catch((error) => console.error('Error:', error));
});
3. SQL (数据库)
这里是一个简单的SQLite数据库表结构,用于存储产品:
sql
CREATE TABLE products (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
price REAL NOT NULL
);
注意:这只是一个非常简化的示例。在真实的应用中,你需要处理用户认证、库存检查、订单处理、支付集成、错误处理、性能优化等多个方面。而且,购物车系统通常需要一个更复杂的解决方案,比如使用数据库或Redis来存储每个用户的购物车内容。