# 6+6上门维修 H5 小程序

## 项目结构

```
jianzhu/
├── api/                        # 后端 API (PHP)
│   ├── config/                 # 配置文件
│   │   ├── config.php          # 应用配置
│   │   └── database.php        # 数据库配置
│   ├── controller/             # 控制器
│   │   ├── AuthController.php  # 认证
│   │   ├── AddressController.php # 地址
│   │   ├── CategoryController.php # 分类
│   │   ├── OrderController.php # 订单
│   │   ├── MessageController.php # 消息
│   │   ├── SurveyorController.php # 勘察员
│   │   └── UploadController.php # 上传
│   ├── middleware/             # 中间件
│   │   ├── Auth.php            # JWT 认证
│   │   └── Response.php        # 响应封装
│   ├── model/                  # 模型
│   │   └── Database.php        # 数据库连接
│   └── public/                 # 公开目录
│       └── index.php           # 入口文件
│
├── client/                     # 客户端 H5 (uni-app)
│   ├── pages/                  # 页面
│   │   ├── index/              # 首页
│   │   ├── login/              # 登录
│   │   ├── order/              # 订单
│   │   └── mine/               # 我的
│   ├── api/                    # API 封装
│   ├── static/                 # 静态资源
│   ├── App.vue                 # 应用入口
│   ├── main.js                 # 主入口
│   ├── manifest.json           # 应用配置
│   └── pages.json              # 页面配置
│
├── worker/                     # 工人端 H5 (uni-app)
│   └── ... (结构同 client)
│
├── surveyor/                   # 勘察员端 H5 (uni-app)
│   └── ... (结构同 client)
│
└── shared/                     # 共享资源
    └── uploads/                # 上传文件
```

## 数据库

### 数据库信息
- 数据库名：jianzhu
- 用户名：jianzhu
- 密码：Jianzhu@2024!

### 数据表
1. `users` - 用户表（多角色）
2. `workers` - 工人信息
3. `addresses` - 客户地址
4. `service_categories` - 服务分类
5. `orders` - 订单
6. `survey_reports` - 勘察报告
7. `messages` - 消息通知
8. `operation_logs` - 操作日志

## API 接口

### 认证
- POST `/auth/login` - 登录
- POST `/auth/register` - 注册
- GET `/user/info` - 获取用户信息

### 分类
- GET `/category/list` - 服务分类列表

### 地址
- GET `/address/list` - 地址列表
- POST `/address/add` - 添加地址
- POST `/address/update` - 更新地址
- POST `/address/delete` - 删除地址
- POST `/address/setDefault` - 设为默认

### 订单
- POST `/order/create` - 创建订单
- GET `/order/list` - 订单列表
- GET `/order/detail` - 订单详情
- POST `/order/cancel` - 取消订单
- POST `/order/confirmQuote` - 确认报价
- POST `/order/rate` - 评价

### 工人端
- GET `/order/grabList` - 可抢订单
- POST `/order/grab` - 抢单
- POST `/order/complete` - 完工

### 勘察员端
- GET `/surveyor/surveyList` - 待勘察订单
- POST `/surveyor/startSurvey` - 开始勘察
- POST `/surveyor/submitReport` - 提交报告
- GET `/surveyor/stats` - 统计

### 上传
- POST `/upload/image` - 上传图片
- POST `/upload/file` - 上传文件

## 编译部署

### 前端编译 (uni-app)

1. 安装 HBuilderX
2. 导入 `client` / `worker` / `surveyor` 目录
3. 运行 -> 运行到浏览器 / 发行 -> 网站-H5手机版
4. 将编译后的文件部署到对应目录

或使用 CLI：
```bash
npm install -g @vue/cli @dcloudio/uni-cli
cd client
npm install
npm run build:h5
```

### 后端部署

1. 确保 PHP 8.3 + MySQL 已安装
2. 配置 Nginx 路由
3. 设置目录权限：
```bash
chown -R www-data:www-data /var/www/html/jianzhu
chmod -R 755 /var/www/html/jianzhu
chmod -R 777 /var/www/html/jianzhu/shared/uploads
```

## 访问地址

- 首页：http://IP/jianzhu/
- 客户端：http://IP/jianzhu/client/
- 工人端：http://IP/jianzhu/worker/
- 勘察员端：http://IP/jianzhu/surveyor/
- API：http://IP/jianzhu/api/

## 测试账号

| 角色 | 手机号 | 密码 |
|------|--------|------|
| 客户 | 13800138000 | 123456 |

## 注意事项

1. 生产环境请修改 `api/config/config.php` 中的 `jwt_secret`
2. HTTPS 部署需配置 SSL 证书
3. 客户信息隔离功能已内置，工人端手机号自动脱敏
