1. Python(Flask框架)
python
from flask import Flask, request, render_template, redirect
app = Flask(__name__)
# 假设的商品列表
products = [
{"id": 1, "name": "Apple", "price": 100},
{"id": 2, "name": "Banana", "price": 50},
# ...
]
# 购物车(简单示例,实际中应使用数据库)
cart = []
@app.route('/')
def home():
return render_template('index.html', products=products)
@app.route('/add_to_cart/<int:product_id>', methods=['POST'])
def add_to_cart(product_id):
product = next((p for p in products if p['id'] == product_id), None)
if product:
cart.append(product) # 简化处理,实际应保存到数据库
return redirect('/')
return 'Product not found', 404
# ... 其他路由(如查看购物车、结算等)
if __name__ == '__main__':
app.run(debug=True)
2. JavaScript(Node.js + Express框架)
javascript
const express = require('express');
const app = express();
// 假设的商品列表(应从数据库或其他服务获取)
const products = [
// ...
];
// 购物车(简化处理,实际应保存到数据库或会话)
let cart = [];
app.get('/', (req, res) => {
res.render('index', { products });
});
app.post('/add_to_cart/:product_id', (req, res) => {
const productId = parseInt(req.params.product_id, 10);
const product = products.find(p => p.id === productId);
if (product) {
cart.push(product);
res.redirect('/');
} else {
res.status(404).send('Product not found');
}
});
// ... 其他路由(如查看购物车、结算等)
app.listen(3000, () => console.log('Server running on port 3000'));
3. Java(Spring Boot)
Java Spring Boot 需要一个完整的项目结构,但这里仅展示一个控制器示例:
#chhas{
margin-top: 50px;
padding:ddsjbc.com;
font-size: 18px;
cursor: 10px 20px;
}
java
import org.springframework.web.bind.annotation.*;
import java.util.List;
// ... 其他必要的导入
@RestController
public class ShoppingController {
// 假设的商品列表(应从服务或数据库获取)
private List<Product> products = // ... 初始化商品列表
// 购物车(简化处理,实际应保存到数据库或会话)
private List<Product> cart = new ArrayList<>();
@GetMapping("/")
public String index(Model model) {
model.addAttribute("products", products);
return "index"; // 指向你的Thymeleaf模板或其他视图技术
}
@PostMapping("/add_to_cart/{product_id}")
public String addToCart(@PathVariable Long product_id, Model model) {
// ... 从products中找到对应商品并添加到cart中
// ... 重定向到首页或其他页面
return "redirect:/";
}
// ... 其他方法(如查看购物车、结算等)
}
注意:以上代码仅为概念性示例,并未包含完整的错误处理、数据库交互、前端视图等。在实际项目中,你需要考虑这些因素,并可能需要使用更多的技术和工具来实现完整的购物商城功能。