Mini Shop - 虚拟资源电商系统

一个基于 FastAPI 开发的轻量级虚拟资源电商系统,支持线下支付确认和后台订单管理。

✨ 特性

  • 🛒 商品管理 - 支持多商品展示,库存自动管理
  • 💰 支付流程 - 线下支付 + 后台确认机制
  • 🔐 权限控制 - 管理员后台,安全的认证系统
  • 📱 响应式设计 - 移动端友好的 UI(TailwindCSS + Alpine.js)
  • 🔄 实时轮询 - 前端自动检测支付状态
  • 📊 订单管理 - 完整的订单列表和筛选功能
  • 🎯 API 接口 - RESTful API,支持自动化扩展

🔄 业务流程

完整购买流程

用户浏览商品

点击'我想要'

创建 pending 订单

跳转到支付页面

用户输入手机号

提交支付信息

前端开始轮询

管理员确认?

更新订单状态为 paid

发放提取密码

扣减库存

前端检测到状态变化

自动跳转到订单页

用户查看资源

生产环境

使用 Gunicorn + Uvicorn
  1. 安装 Gunicorn
pip install gunicorn
  1. 启动服务
gunicorn main:app \
  --workers 4 \
  --worker-class uvicorn.workers.UvicornWorker \
  --bind 0.0.0.0:8000 \
  --access-logfile - \
  --error-logfile -
使用 Docker

创建 Dockerfile

FROM python:3.9-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

EXPOSE 8000

CMD ["gunicorn", "main:app", "--worker-class", "uvicorn.workers.UvicornWorker", "--bind", "0.0.0.0:8000"]

构建并运行:

docker build -t mini-shop .
docker run -p 8000:8000 -v $(pwd)/data:/app/data mini-shop
使用 Systemd(Linux)

创建服务文件 /etc/systemd/system/mini-shop.service

[Unit]
Description=Mini Shop API Server
After=network.target

[Service]
Type=notify
User=www-data
WorkingDirectory=/var/www/mini-shop
Environment="PATH=/var/www/mini_shop/venv/bin"
ExecStart=/var/www/mini_shop/venv/bin/gunicorn \
    -w 4 \
    -k uvicorn.workers.UvicornWorker \
    -b 0.0.0.0:8000 \
    main:app
Restart=always

[Install]
WantedBy=multi-user.target

启动服务:

sudo systemctl daemon-reload
sudo systemctl start mini-shop
sudo systemctl enable mini-shop

Nginx 反向代理

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /static {
        alias /var/www/mini-shop/static;
    }
}

本项目可提供源码,如有兴趣,欢迎关注私信.

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐