# 小程序API配置说明 ## 问题解决 已修复 `process is not defined` 错误。小程序环境不支持 Node.js 的 `process` 对象。 ## API 基础URL 配置 ### 当前配置 API 基础 URL 在 `utils/api.js` 中定义: ```javascript const API_BASE_URL = 'http://api.zzzhengyangtang.cn' ``` ### 修改 API 地址 根据你的实际后端地址修改 `TUICallKit-Vue3/utils/api.js` 中的 `API_BASE_URL`: ```javascript // 开发环境 const API_BASE_URL = 'http://localhost:8000/api' // 生产环境 const API_BASE_URL = 'https://your-production-api.com/api' ``` ## 医生API端点 ### 1. 获取医生列表 ```javascript import { doctorApi } from '../utils/api' const response = await doctorApi.getDoctorList({ page_no: 1, page_size: 10, keyword: '医生' // 可选 }) ``` **响应格式**: ```json { "code": 1, "msg": "success", "data": { "lists": [ { "id": 1, "name": "张医生", "account": "doctor1", "avatar": "http://example.com/avatar.jpg", "mobile": "13800138000", "email": "doctor@example.com", "specialty": "医生", "title": "医生", "rating": "4.8" } ], "count": 10, "page_no": 1, "page_size": 10 } } ``` ### 2. 获取医生详情 ```javascript const doctor = await doctorApi.getDoctorDetail(1) ``` ### 3. 获取医生排班 ```javascript const roster = await doctorApi.getDoctorRoster(1, '2024-03-11') ``` ## 错误处理 API 请求会自动处理以下情况: 1. **网络错误**: 显示 "网络错误" 提示 2. **请求失败**: 显示 "获取医生列表失败" 提示 3. **登录失效**: 自动清除 token ## 首页集成 首页 (`pages/index/index.vue`) 会在加载时自动调用 `fetchDoctors()` 方法获取医生列表。 ### 首页流程 1. 页面加载时调用 `onMounted()` 2. `onMounted()` 调用 `fetchDoctors()` 3. `fetchDoctors()` 调用 `doctorApi.getDoctorList()` 4. 获取成功后更新 `doctors` 数据 5. 医生卡片自动渲染 ### 点击医生卡片 点击医生卡片会跳转到挂号页面: ```javascript uni.navigateTo({ url: `/pages/order/index?doctorId=${doctor.id}&doctorName=${doctor.name}` }) ``` ## 调试技巧 ### 1. 查看网络请求 在小程序开发者工具中: 1. 打开 "Network" 标签 2. 查看 API 请求的 URL、参数和响应 ### 2. 查看控制台日志 ```javascript console.error('请求失败:', error) ``` ### 3. 测试 API 使用 Postman 或 curl 测试 API: ```bash # 获取医生列表 curl "http://localhost:8000/api/doctor/lists?page_no=1&page_size=10" # 获取医生详情 curl "http://localhost:8000/api/doctor/detail?id=1" # 获取医生排班 curl "http://localhost:8000/api/doctor/roster?doctor_id=1&date=2024-03-11" ``` ## 常见问题 ### Q: 医生列表为空? A: 检查以下几点: 1. API 地址是否正确 2. 后端是否有医生数据(role_id = 1) 3. 医生的 disable 字段是否为 0 4. 网络连接是否正常 ### Q: 头像无法显示? A: 1. 检查 avatar URL 是否完整 2. 检查图片服务器是否可访问 3. 检查小程序是否有网络权限 ### Q: 如何修改 API 地址? A: 修改 `TUICallKit-Vue3/utils/api.js` 中的 `API_BASE_URL` 常量。 ### Q: 如何添加请求头? A: 修改 `request()` 函数中的 `header` 对象: ```javascript header: { 'Content-Type': 'application/json', 'Authorization': token, 'Custom-Header': 'value' // 添加自定义请求头 } ``` ## 相关文件 - API 服务: `TUICallKit-Vue3/utils/api.js` - 首页组件: `TUICallKit-Vue3/pages/index/index.vue` - 后端控制器: `server/app/api/controller/DoctorController.php` - 后端逻辑: `server/app/api/logic/DoctorLogic.php`