bd102cc71fb3703d95d0da8b6cc786a9fc3bd704
All checks were successful
Deploy to Server / deploy (push) Successful in 18s
Quant Speed Market (量迹市场)
一个集成了电商、社区论坛、AI 服务与 AR/3D 模型展示的全栈应用平台。
📖 项目简介
npm run dev:weapp Quant Speed Market 是一个基于现代技术栈构建的综合性平台,旨在为用户提供从商品购买、技术交流到 AI 工具使用的全方位体验。项目采用前后端分离架构,包含 Django 后端 API、React Web 管理端以及 Taro 微信小程序客户端。
✨ 功能特性
🛍️ 电商商城系统
- 商品管理:ESP32硬件配置、库存管理、3D模型展示、产品特性标签
- 订单管理:多类型订单(硬件/课程/活动)、完整状态流转、物流跟踪
- 支付系统:微信支付V3集成、多种支付方式、安全签名验证、支付回调处理
- 分销系统:二级分销体系、邀请机制、佣金计算(一级10%/二级2%)、提现管理
- 课程系统:视频课程、固定时间课程、讲师管理、课程报名与咨询
💬 社区论坛系统
- 活动管理:线上线下活动、报名表单自定义、支付状态同步、审核机制
- 论坛帖子:技术讨论、求助问答、经验分享、官方公告四大分类
- 互动功能:点赞、置顶、嵌套回复(楼中楼)、多媒体附件支持
- 公告系统:时效控制、跳转链接、优先级排序、置顶功能
🤖 AI 服务系统
- 语音转写:阿里云听悟集成、多格式音频支持、说话人分离、状态自动刷新
- AI智能评估:多模型支持(通义千问系列)、模板化评估、0-100分制评分、详细评语生成
- 智能总结:多类型总结(段落/对话/问答/思维导图)、Markdown格式输出、异步生成机制
- 比赛集成:AI评委身份、评分维度映射、自动评分同步、人工干预支持
🏆 竞赛评审系统
- 比赛管理:多状态流程(草稿→发布→报名→提交→评审→结束)、时间管理、可见性控制
- 项目管理:文件附件支持(PPT/PDF/图片/视频)、封面展示、状态管理
- 评分系统:多维度评分、权重配置、评委评语、防重复评分机制
- 权限控制:选手/评委/嘉宾三角色体系、报名审核、角色权限管理
🕶️ AR/3D 展示
- 3D模型预览:基于Three.js的交互式3D模型展示
- AR交互体验:增强现实功能集成
- 多媒体支持:图片、视频、文件等多格式媒体处理
📱 多端适配
- 微信小程序:Taro框架开发、原生小程序体验、分包优化
- Web管理端:React + Ant Design、响应式设计、管理后台功能
- 跨平台支持:可扩展至H5、支付宝小程序等平台
🔒 安全认证
- 微信登录:小程序code换取session、OpenID/UnionID管理
- 手机验证:验证码登录、手机号绑定、用户合并机制
- JWT认证:Token-based身份验证、API访问控制
- 权限验证:基于角色的访问控制、操作权限验证
🛠️ 技术栈与依赖
Backend (后端)
- Framework: Django 6.0 + Django REST Framework 3.16
- Database: PostgreSQL (psycopg2)
- Payment: WeChat Pay V3 (wechatpayv3)
- AI Services: 阿里云听悟 (语音转写)、通义千问 (AI评估)
- Cloud Storage: 阿里云OSS (文件存储)
- Documentation: drf-spectacular (OpenAPI 3.0)
- Deployment: Docker, Gunicorn
- Authentication: JWT + 微信OAuth2.0
Frontend (Web 端)
- Core: React 19 + Vite 7
- UI Library: Ant Design 6
- 3D Engine: Three.js + @react-three/fiber
- Routing: React Router v7
Miniprogram (小程序)
- Framework: Taro 3.6 (React Flavor)
- UI Library: Taro UI
- Styles: SCSS
- Platform: WeChat Mini Program (可扩展至 H5/Alipay 等)
🚀 本地开发环境搭建
1. 系统要求
- Node.js: >= 18.0.0
- Python: >= 3.10
- PostgreSQL: >= 13
- WeChat DevTools: 最新版 (用于小程序开发)
2. 克隆仓库
git clone <repository-url>
cd market_page
3. 后端环境配置 (Backend)
cd backend
# 创建虚拟环境 (推荐)
python -m venv venv
# Windows 激活
venv\Scripts\activate
# macOS/Linux 激活
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 数据库迁移
python manage.py migrate
# 创建超级用户
python manage.py createsuperuser
# 启动开发服务器 (默认端口 8000)
python manage.py runserver
4. Web 前端配置 (Frontend)
cd ../frontend
# 安装依赖
npm install
# 启动开发服务器 (默认端口 5173)
npm run dev
5. 小程序配置 (Miniprogram)
cd ../miniprogram
# 安装依赖
npm install
# 编译并监听 (微信小程序)
npm run dev:weapp
启动后,请打开微信开发者工具,导入 miniprogram 目录进行预览。
📦 构建与运行
Backend
# 收集静态文件
python manage.py collectstatic --noinput
# 使用 Gunicorn 运行 (生产环境)
gunicorn config.wsgi:application --bind 0.0.0.0:8000
Frontend
# 构建生产版本
npm run build
# 预览构建产物
npm run preview
Miniprogram
# 构建生产版本 (微信小程序)
npm run build:weapp
🧪 测试与覆盖率
Backend
# 运行所有测试
python manage.py test
# 运行特定模块测试
python manage.py test shop.tests
Frontend / Miniprogram
# 代码风格检查
npm run lint
🚢 部署指南
Docker 部署 (推荐)
项目包含 Dockerfile 和 docker-compose.yml (根目录下),可一键启动。
# 在项目根目录
docker-compose up -d --build
注意:请确保已在 backend/config/settings.py 或环境变量中配置好生产环境的数据库连接和密钥。
🔌 API 接口示例
后端提供 RESTful API,以下为核心接口示例:
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /api/shop/wechat/login/ |
微信用户登录 (换取 JWT) |
| GET | /api/shop/configs/ |
获取 ESP32/商品配置列表 |
| POST | /api/shop/orders/ |
创建新订单 |
| POST | /api/shop/pay/ |
发起微信支付 |
| GET | /api/community/topics/ |
获取论坛话题列表 |
| POST | /api/ai/transcription/ |
创建语音转写任务 |
| GET | /api/ai/transcription/{id}/ |
获取转写任务状态 |
| POST | /api/competition/projects/ |
提交参赛项目 |
| GET | /api/competition/projects/{id}/score/ |
获取项目评分 |
| POST | /api/competition/scoring/ |
评委提交评分 |
API 文档: 启动后端后访问 http://localhost:8000/api/schema/swagger-ui/ 查看完整 Swagger 文档。
📂 目录结构说明
market_page/
├── backend/ # Django 后端源码
│ ├── ai_services/ # AI服务模块 (语音转写、AI评估)
│ │ ├── models.py # 转写任务、AI评估模板模型
│ │ ├── views.py # API接口 (转写、评估、总结)
│ │ └── services.py # 阿里云听悟、通义千问服务集成
│ ├── community/ # 论坛社区模块
│ │ ├── models.py # 活动、帖子、回复、公告模型
│ │ ├── views.py # 社区API接口
│ │ └── admin_actions.py # 后台管理动作
│ ├── competition/ # 竞赛评审模块
│ │ ├── models.py # 比赛、项目、评分、维度模型
│ │ ├── judge_views.py # 评委系统接口
│ │ └── templates/ # 评委系统前端页面
│ ├── shop/ # 电商与支付模块
│ │ ├── models.py # 商品、订单、支付、用户模型
│ │ ├── services.py # 微信支付、短信服务
│ │ └── admin_actions.py # 订单管理动作
│ ├── config/ # 项目核心配置
│ │ ├── settings.py # Django配置
│ │ └── urls.py # 主路由配置
│ ├── uploads/ # 用户上传文件 (媒体资源)
│ ├── manage.py # Django 管理脚本
│ ├── requirements.txt # Python 依赖
│ └── Dockerfile # 后端容器配置
├── frontend/ # React Web 端源码
│ ├── src/
│ │ ├── components/ # 公共组件 (3D模型、弹窗等)
│ │ ├── pages/ # 页面路由 (Home, Forum, Payment)
│ │ ├── hooks/ # 自定义React Hooks
│ │ └── assets/ # 静态资源
│ ├── public/ # 公共资源
│ └── vite.config.js # Vite 配置
├── miniprogram/ # Taro 小程序源码
│ ├── src/
│ │ ├── pages/ # 小程序页面
│ │ ├── subpackages/ # 分包页面 (分销、论坛详情等)
│ │ ├── components/ # 小程序组件
│ │ └── utils/ # 工具函数
│ └── project.config.json # 微信小程序配置
├── docker-compose.yml # Docker 编排文件
└── README.md # 项目文档
🤝 贡献规范
欢迎提交 Pull Request!请遵循以下规范:
-
分支管理:
main: 主分支,保持稳定。dev: 开发分支。feat/xxx: 新功能分支。fix/xxx: Bug 修复分支。
-
Commit 格式:
feat: 添加购物车功能fix: 修复支付回调失败问题docs: 更新 READMEstyle: 调整首页样式
-
PR 流程:
- Fork 本仓库。
- 创建特性分支。
- 提交代码并推送到您的 Fork。
- 提交 PR 至
dev分支。
❓ 常见问题排查
-
Q: 后端启动报错
psycopg2相关错误?- A: 请确保本地已安装 PostgreSQL 并且开发库 (
libpq-dev或 equivalent) 已就绪。
- A: 请确保本地已安装 PostgreSQL 并且开发库 (
-
Q: 小程序报错 "appID 不合法"?
- A: 请在
miniprogram/project.config.json中修改appid为您自己的测试 ID,或在开发者工具中开启 "不校验合法域名"。
- A: 请在
-
Q: 微信支付接口调用失败?
- A: 微信支付依赖真实商户号和证书,本地开发请使用模拟数据或沙箱环境。
-
Q: AI语音转写任务状态一直显示"处理中"?
- A: 检查阿里云听悟服务配置是否正确,包括AccessKey、AppKey等参数。可通过
python manage.py check_aliyun_config命令验证配置。
- A: 检查阿里云听悟服务配置是否正确,包括AccessKey、AppKey等参数。可通过
-
Q: AI评估功能无法正常使用?
- A: 确保通义千问API密钥已正确配置,检查模型调用配额是否充足。评估模板中的提示词需要符合模型要求。
-
Q: 分销佣金没有正确计算?
- A: 检查产品是否设置了独立分润比例,确认分销员状态为"正常",查看佣金日志了解具体计算过程。
-
Q: 竞赛项目无法提交?
- A: 确认比赛状态为"作品提交中",检查是否已报名该比赛,确保每人每比赛只能提交一个项目。
📜 许可证
本项目采用 MIT License 许可证。
📧 联系方式
- 作者: (Your Name/Organization)
- 邮箱: contact@example.com
- 项目主页: https://github.com/yourusername/market-page
Description
Languages
Python
38%
JavaScript
22.9%
TypeScript
18%
SCSS
13.2%
HTML
6%
Other
1.9%