Files
zyt/TUICallKit-Vue3/API_CONFIG.md
T
2026-03-11 14:33:49 +08:00

179 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 小程序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`