# 通用电商后台加Uniapp小程序模板 **Repository Path**: ljhasdasdasd/J001 ## Basic Information - **Project Name**: 通用电商后台加Uniapp小程序模板 - **Description**: 通用电商后台加Uniapp小程序模板,提供一站式电商解决方案,支持多平台部署,快速搭建线上商城。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-01-26 - **Last Updated**: 2026-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 通用电商平台 一套完整的电商解决方案,包含小程序端、管理后台和服务端,适合毕业设计项目。 ## 技术栈 ### 服务端 (server) - **框架**: Spring Boot 3.2 - **ORM**: MyBatis-Plus - **数据库**: MySQL 8.0 - **缓存**: Redis - **认证**: JWT - **API文档**: Knife4j (OpenAPI 3.0) ### 管理后台 (admin) - **框架**: Vue 3 - **构建工具**: Vite 5 - **UI组件**: Element Plus - **样式**: TailwindCSS - **状态管理**: Pinia - **路由**: Vue Router 4 ### 小程序端 (miniapp) - **框架**: UniApp (Vue 3) - **状态管理**: Pinia - **支持平台**: 微信小程序、H5 ## 项目结构 ``` ├── server/ # 服务端 │ ├── src/main/java/com/ecommerce/ │ │ ├── common/ # 公共类 │ │ ├── config/ # 配置类 │ │ ├── controller/ # 控制器 │ │ ├── dto/ # 数据传输对象 │ │ ├── entity/ # 实体类 │ │ ├── interceptor/ # 拦截器 │ │ ├── mapper/ # MyBatis Mapper │ │ ├── service/ # 服务层 │ │ ├── util/ # 工具类 │ │ └── vo/ # 视图对象 │ └── src/main/resources/ │ ├── application.yml # 配置文件 │ └── db/schema.sql # 数据库脚本 │ ├── admin/ # 管理后台 │ ├── src/ │ │ ├── api/ # API接口 │ │ ├── layout/ # 布局组件 │ │ ├── router/ # 路由配置 │ │ ├── store/ # 状态管理 │ │ ├── styles/ # 样式文件 │ │ ├── utils/ # 工具函数 │ │ └── views/ # 页面组件 │ └── package.json │ ├── miniapp/ # 小程序端 │ ├── api/ # API接口 │ ├── pages/ # 页面 │ ├── store/ # 状态管理 │ ├── utils/ # 工具函数 │ ├── static/ # 静态资源 │ ├── pages.json # 页面配置 │ └── manifest.json # 应用配置 │ └── README.md ``` ## 功能模块 ### 小程序端 - 首页:轮播图、分类导航、推荐商品、热门商品 - 分类:二级分类展示 - 商品:列表、搜索、详情、SKU选择 - 购物车:增删改查、全选、结算 - 订单:创建、支付、查看、取消、确认收货 - 地址管理:增删改、设置默认 - 用户中心:登录、个人信息 ### 管理后台 - 控制台:订单统计、快捷操作 - 商品管理:列表、添加、编辑、上下架 - 分类管理:树形结构、增删改 - 订单管理:列表、详情、发货 - 用户管理:列表、启用禁用 - 轮播图管理:增删改、排序 - 管理员管理:增删改、角色权限 ## 快速开始 ### 1. 数据库配置 ```bash # 创建数据库并导入表结构 mysql -u root -p < server/src/main/resources/db/schema.sql ``` ### 2. 启动服务端 ```bash cd server # 修改数据库配置 # 编辑 src/main/resources/application.yml # 使用Maven启动 mvn spring-boot:run ``` 服务端启动后访问: - API地址: http://localhost:8080 - API文档: http://localhost:8080/doc.html ### 3. 启动管理后台 ```bash cd admin # 安装依赖 npm install # 启动开发服务器 npm run dev ``` 访问地址: http://localhost:3000 默认账号: `admin` / `admin123` ### 4. 启动小程序端 ```bash cd miniapp # 安装依赖 npm install # 微信小程序开发 npm run dev:mp-weixin # H5开发 npm run dev:h5 ``` 微信小程序需要使用微信开发者工具打开 `dist/dev/mp-weixin` 目录。 ## 配置说明 ### 服务端配置 (application.yml) ```yaml # 数据库配置 spring: datasource: url: jdbc:mysql://localhost:3306/ecommerce username: root password: 123456 # Redis配置 data: redis: host: localhost port: 6379 # JWT配置 jwt: secret: your-secret-key expiration: 86400000 # 24小时 # 文件上传路径 upload: path: /data/upload/ ``` ### 小程序配置 (manifest.json) ```json { "mp-weixin": { "appid": "your-appid" } } ``` ### 管理后台API代理 (vite.config.js) ```js server: { proxy: { '/api': { target: 'http://localhost:8080', changeOrigin: true } } } ``` ## Docker 部署 (推荐) ### 快速启动 ```bash # 一键启动完整环境 (包含 MySQL, Redis, 服务端, 管理端, H5商城) docker-compose up -d # 或使用 Makefile make prod ``` 启动后访问: - 服务端API: http://localhost:8080 - API文档: http://localhost:8080/doc.html - 管理后台: http://localhost:3000 - H5商城: http://localhost:5173 默认账号: `admin` / `admin123` ### 开发环境 ```bash # 只启动 MySQL 和 Redis (本地开发时使用) docker-compose -f docker-compose.dev.yml up -d # 或使用 Makefile make dev ``` ### Docker 命令说明 ```bash # 构建所有镜像 make build # 查看日志 make logs make logs-server make logs-admin # 连接数据库 make mysql make redis # 停止服务 make prod-down make dev-down # 清理所有容器和数据 make clean ``` ### 环境变量配置 复制 `.env.example` 为 `.env` 并修改: ```bash cp .env.example .env ``` ```env # MySQL配置 MYSQL_ROOT_PASSWORD=your-password MYSQL_PORT=3306 # Redis配置 REDIS_PORT=6379 # 服务端口 SERVER_PORT=8080 ADMIN_PORT=3000 H5_PORT=5173 # JWT密钥 (生产环境必须修改) JWT_SECRET=your-production-jwt-secret-key ``` ### 单独构建镜像 ```bash # 构建服务端 docker build -t ecommerce-server ./server # 构建管理端 docker build -t ecommerce-admin ./admin # 构建H5商城 docker build -t ecommerce-h5 ./miniapp ``` ## 传统部署 ### 服务端部署 ```bash cd server mvn clean package -DskipTests java -jar target/ecommerce-server-1.0.0.jar ``` ### 管理后台部署 ```bash cd admin npm run build # 将 dist 目录部署到 Nginx ``` ### 小程序发布 ```bash cd miniapp npm run build:mp-weixin # 使用微信开发者工具上传 ``` ## Nginx 配置示例 ```nginx # 管理后台 server { listen 80; server_name admin.example.com; root /var/www/admin; index index.html; location /api { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location / { try_files $uri $uri/ /index.html; } } # H5商城 server { listen 80; server_name m.example.com; root /var/www/h5; index index.html; location /api { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location / { try_files $uri $uri/ /index.html; } } ``` ## 注意事项 1. 生产环境请修改JWT密钥 2. 文件上传路径需要确保有写入权限 3. 微信小程序需要配置合法域名 4. 建议使用HTTPS 5. Docker部署时数据存储在 Docker Volume 中 ## License