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