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

3.7 KiB
Raw Blame History

小程序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 请求会自动处理以下情况:

  1. 网络错误: 显示 "网络错误" 提示
  2. 请求失败: 显示 "获取医生列表失败" 提示
  3. 登录失效: 自动清除 token

首页集成

首页 (pages/index/index.vue) 会在加载时自动调用 fetchDoctors() 方法获取医生列表。

首页流程

  1. 页面加载时调用 onMounted()
  2. onMounted() 调用 fetchDoctors()
  3. fetchDoctors() 调用 doctorApi.getDoctorList()
  4. 获取成功后更新 doctors 数据
  5. 医生卡片自动渲染

点击医生卡片

点击医生卡片会跳转到挂号页面:

uni.navigateTo({
  url: `/pages/order/index?doctorId=${doctor.id}&doctorName=${doctor.name}`
})

调试技巧

1. 查看网络请求

在小程序开发者工具中:

  1. 打开 "Network" 标签
  2. 查看 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: 检查以下几点:

  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 对象:

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