160 lines
4.0 KiB
Markdown
160 lines
4.0 KiB
Markdown
# 海外预约系统
|
|
|
|
海外预约小程序系统,包含 uni-app 微信小程序前端、Node.js 后端 API 和 Vue.js 管理后台。
|
|
|
|
## 项目结构
|
|
|
|
```
|
|
project-root/
|
|
├── miniprogram/ # uni-app 小程序前端
|
|
│ ├── pages/ # 页面组件
|
|
│ ├── components/ # 公共组件
|
|
│ ├── static/ # 静态资源
|
|
│ ├── locale/ # 国际化文件
|
|
│ ├── utils/ # 工具函数
|
|
│ ├── modules/ # 业务模块
|
|
│ ├── uni_modules/ # uni-app 插件
|
|
│ └── package.json # 前端依赖
|
|
│
|
|
├── backend/ # Node.js 后端
|
|
│ ├── src/ # 源代码
|
|
│ │ ├── controllers/ # 控制器
|
|
│ │ ├── services/ # 业务服务
|
|
│ │ ├── models/ # 数据模型
|
|
│ │ ├── routes/ # 路由定义
|
|
│ │ └── middleware/ # 中间件
|
|
│ ├── logs/ # 日志文件
|
|
│ ├── uploads/ # 上传文件
|
|
│ └── package.json # 后端依赖
|
|
│
|
|
├── admin/ # Vue 管理后台
|
|
│ ├── src/ # 源代码
|
|
│ │ ├── views/ # 页面视图
|
|
│ │ ├── stores/ # 状态管理
|
|
│ │ ├── router/ # 路由配置
|
|
│ │ └── utils/ # 工具函数
|
|
│ └── package.json # 管理后台依赖
|
|
│
|
|
├── docs/ # 项目文档
|
|
│ ├── guides/ # 使用指南
|
|
│ ├── setup/ # 配置文档
|
|
│ ├── troubleshooting/ # 问题排查
|
|
│ └── analysis/ # 分析文档
|
|
│
|
|
├── docker/ # Docker 配置
|
|
├── docker-compose.yml # Docker 编排
|
|
├── docker-compose.dev.yml # 开发环境 Docker
|
|
├── Makefile # 项目命令
|
|
└── package.json # 根目录脚本
|
|
```
|
|
|
|
## 快速开始
|
|
|
|
### 环境要求
|
|
|
|
- Node.js >= 18.0.0
|
|
- MySQL 8.0+
|
|
- Redis (可选,用于缓存)
|
|
|
|
### 安装依赖
|
|
|
|
```bash
|
|
# 安装所有子项目依赖
|
|
npm run install:all
|
|
|
|
# 或分别安装
|
|
npm run miniprogram:install
|
|
npm run backend:install
|
|
npm run admin:install
|
|
```
|
|
|
|
### 运行项目
|
|
|
|
#### 后端 API
|
|
|
|
```bash
|
|
# 初始化数据库
|
|
npm run backend:init-db
|
|
|
|
# 开发模式
|
|
npm run backend:dev
|
|
|
|
# 生产模式
|
|
npm run backend:start
|
|
```
|
|
|
|
后端默认运行在 http://localhost:3000
|
|
|
|
#### 小程序前端
|
|
|
|
```bash
|
|
# H5 开发模式
|
|
npm run miniprogram:dev
|
|
|
|
# 微信小程序开发模式
|
|
npm run miniprogram:dev:weixin
|
|
|
|
# 构建 H5
|
|
npm run miniprogram:build
|
|
|
|
# 构建微信小程序
|
|
npm run miniprogram:build:weixin
|
|
```
|
|
|
|
#### 管理后台
|
|
|
|
```bash
|
|
# 开发模式
|
|
npm run admin:dev
|
|
|
|
# 构建生产版本
|
|
npm run admin:build
|
|
|
|
# 预览构建结果
|
|
npm run admin:preview
|
|
```
|
|
|
|
管理后台默认运行在 http://localhost:5173
|
|
|
|
## Docker 部署
|
|
|
|
```bash
|
|
# 开发环境
|
|
docker-compose -f docker-compose.dev.yml up -d
|
|
|
|
# 生产环境
|
|
docker-compose up -d
|
|
```
|
|
|
|
## 可用脚本
|
|
|
|
| 脚本 | 说明 |
|
|
|------|------|
|
|
| `npm run install:all` | 安装所有子项目依赖 |
|
|
| `npm run miniprogram:dev` | 运行小程序 H5 开发服务器 |
|
|
| `npm run miniprogram:dev:weixin` | 运行小程序微信开发模式 |
|
|
| `npm run backend:dev` | 运行后端开发服务器 |
|
|
| `npm run backend:test` | 运行后端测试 |
|
|
| `npm run admin:dev` | 运行管理后台开发服务器 |
|
|
| `npm run admin:build` | 构建管理后台 |
|
|
|
|
## 文档
|
|
|
|
详细文档请查看 `docs/` 目录:
|
|
|
|
- [配置指南](docs/setup/CONFIG_GUIDE.md)
|
|
- [微信配置](docs/setup/WECHAT_SETUP.md)
|
|
- [登录指南](docs/guides/LOGIN_GUIDE.md)
|
|
- [认证指南](docs/guides/AUTH_GUIDE.md)
|
|
|
|
## 技术栈
|
|
|
|
- 小程序前端: uni-app + Vue 3 + Vue I18n
|
|
- 后端: Node.js + Express + Sequelize + MySQL
|
|
- 管理后台: Vue 3 + Element Plus + Pinia + Vite
|
|
- 部署: Docker + Nginx
|
|
|
|
## License
|
|
|
|
ISC
|