一个完整的三端电商系统,包含后端 API 服务、后台管理前端和微信小程序。
┌─────────────────────────────────────────────────────────────┐
│ 用户层 │
│ ┌─────────────────┐ ┌──────────────────┐ ┌────────────┐ │
│ │ mall-admin │ │ mall-littleprogram│ │ 第三方客户端 │ │
│ │ (Vue3 管理后台) │ │ (微信小程序) │ │ │ │
│ └────────┬────────┘ └────────┬─────────┘ └──────┬─────┘ │
└───────────┼────────────────────┼────────────────────┼───────┘
│ HTTP/JSON │ HTTP/JSON │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────┐
│ API 网关 (Nginx) │
│ 代理 /api/* → mallservice-python │
└────────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ mallservice-python (Flask API) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ 用户/地址 │ │ 商品/分类 │ │ 订单/优惠 │ │ 图片上传 │ │
│ │ API │ │ API │ │ 券 API │ │ API │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └──────┬───────┘ │
│ │ │ │ │ │
│ ┌────┴────────────┴────────────┴───────────────┴────┐ │
│ │ Service 业务逻辑层 │ │
│ └────────────────────────┬──────────────────────────┘ │
│ │ │
│ ┌────────────────────────┴──────────────────────────┐ │
│ │ SQLAlchemy ORM + oslo.db │ │
│ └────────────────────────┬──────────────────────────┘ │
└───────────────────────────┼──────────────────────────────────┘
│
┌─────────────┼─────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ MySQL │ │ MinIO │ │ Redis │
│ (主数据库) │ │ (对象存储) │ │ (缓存) │
└──────────────┘ └──────────────┘ └──────────────┘
| 子项目 | 技术栈 | 说明 |
|---|---|---|
| mallservice-python | Python Flask + SQLAlchemy + MySQL | 后端 API 服务,提供所有业务接口 |
| mall-admin | Vue 3 + Element Plus + Vite | 后台管理前端,管理员操作界面 |
| mall-littleprogram | 微信小程序 + TDesign | 面向用户的微信小程序 |
- 框架: Flask 1.1 + Flask-RESTX (Swagger 文档)
- ORM: SQLAlchemy 1.3 + oslo.db
- 数据库: MySQL (PyMySQL)
- 缓存: Redis + oslo.cache
- 认证: JWT (HS256, 24h 过期)
- 对象存储: boto3 (S3 协议,兼容 MinIO/阿里云OSS/腾讯云COS/AWS S3)
- 任务调度: APScheduler
- 部署: Gunicorn + Docker
- 监听端口:
8560
API 模块:
| 模块 | 路由前缀 | 功能 |
|---|---|---|
| 用户 | /v1/user |
微信登录、用户管理 |
| 地址 | /v1/address |
用户地址 CRUD |
| 商品分类 | /v1/goodscatalog |
分类树管理 |
| 商品 | /v1/goods |
SPU/SKU/规格管理 |
| 管理员 | /v1/admin |
登录/角色/菜单/权限 |
| 系统设置 | /v1/admin/setting |
基础配置、存储配置 |
| 图片上传 | /v1/upload |
图片上传(预签名/代理上传) |
- 框架: Vue 3 (Composition API +
<script setup>) - 构建: Vite 2
- UI: Element Plus 2
- 状态管理: Vuex 4
- 路由: Vue Router 4 (Hash 模式)
- CSS: Windi CSS (原子化)
- HTTP: Axios
- 富文本: wangEditor 5
- 部署: 多阶段 Docker 构建 (Node build → Nginx serve)
功能模块:
| 模块 | 路径 | 功能 |
|---|---|---|
| 仪表盘 | / |
数据概览 |
| 商品管理 | /goods/list, /goods/add |
商品列表、添加/编辑商品 |
| 分类管理 | /category/list |
商品分类管理 |
| 订单管理 | /order/list |
订单列表与处理 |
| 用户管理 | /user/list |
用户列表 |
| 优惠券 | /coupon/list |
优惠券管理 |
| 团购 | /groupon/* |
团购活动管理 |
| 分销 | /agent/list |
分销员管理 |
| 系统设置 | /setting/base, /setting/objectsto, /setting/role |
基础配置、存储配置、角色权限 |
- 框架: 微信小程序原生
- UI: TDesign Miniprogram
- 包含首页、商品浏览、购物车、下单、个人中心等完整购物流程
本仓库为 git superproject,下方所有子项目均为独立 git 子模块。开发与协作规范以
doc/开发规范汇总.md为唯一载体,任何工具/成员新增或修正规范都应同步到该文件(更新日期 + 注明来源),不在对话或其它位置分叉维护。
无论使用何种 AI 编码工具(CodeBuddy / Qoder / Cursor / Claude / Copilot 等),每个仓库根目录均提供以下入口文件,打开仓库即自动读取并引导至规范汇总:
AGENTS.md—— 主入口(Codex / Claude Code / Cursor / Cline / Windsurf / Aider / CodeBuddy 等)CLAUDE.md—— Claude 系列.cursorrules—— Cursor.github/copilot-instructions.md—— GitHub Copilot
规范内容只在
doc/开发规范汇总.md维护,上述入口文件只做索引,不复制规则。
| 子模块 | 说明 |
|---|---|
mallservice-python |
后端 API 服务 |
mall-admin |
后台管理前端 |
mall-littleprogram |
微信小程序 |
jinxiaocun |
进销存相关 |
SDK_ReleaseforAndroid |
Android SDK |
cd <父仓库根目录>
powershell -ExecutionPolicy Bypass -File ./check-commit.ps1- 脚本逐项检查:父仓库工作区、各子模块脏状态/未推送/落后远程、子模块指针一致性、敏感文件。
- 父仓库已配置 pre-push hook(
check-commit.ps1),任何方式执行git push都会先自动校验,FAIL 则中断推送。 - 提交信息格式:
<type>: <中文描述>,type ∈feat/fix/chore/docs/refactor/style/test。
子模块提交推送后,必须在父仓库 aicode 执行 git add <子模块路径> 并提交推送指针更新,否则父仓库会持续显示子模块 M 变更。
(本节依据 doc/开发规范汇总.md 第五章与本次协作补充,来源:[CodeBuddy])
- Python >= 3.8
- Node.js >= 20
- MySQL 5.7+
- Redis (可选)
cd mallservice-python
# 安装依赖
pip install -r requirements.txt
# 修改 etc/mall/mall.conf 中的数据库连接
# 同步数据库表结构
mall-db-sync --config-file etc/mall/mall.conf
# 启动 API 服务
mall-api --config-file etc/mall/mall.confcd mall-admin
yarn install
yarn dev前端默认代理 /api/* 请求到 http://localhost:8560。
cd mallservice-python
docker-compose -f docker-compose.minio.yml up -d控制台: http://<host>:9001,默认账号 admin / password123
- 用户名:
admin - 密码:
admin123
| 类别 | 技术 |
|---|---|
| 语言 | Python 3.8+ |
| Web 框架 | Flask 1.1 + Flask-RESTX |
| ORM | SQLAlchemy 1.3 + oslo.db |
| 数据库 | MySQL (PyMySQL) + SQLite (开发) |
| 认证 | JWT (PyJWT) |
| 缓存 | Redis + oslo.cache |
| 对象存储 | boto3 (S3 协议) |
| 任务调度 | APScheduler |
| 日志 | oslo.log |
| 配置 | oslo.config |
| WSGI | Gunicorn |
| 类别 | 技术 |
|---|---|
| 框架 | Vue 3 |
| 构建 | Vite 2 |
| UI | Element Plus 2 |
| 状态管理 | Vuex 4 |
| 路由 | Vue Router 4 |
| HTTP | Axios |
| CSS | Windi CSS |
| 富文本 | wangEditor 5 |
| 类别 | 技术 |
|---|---|
| 框架 | 微信小程序原生 |
| UI | TDesign Miniprogram |