接口
接口概述
uni-app 端接口系统基于 uni.request API 封装,提供统一的请求处理、错误处理和权限控制机制,支持 H5、小程序、App 等多端运行环境。所有接口通过 request.ts 工具类进行统一管理,使用 qs 库进行参数序列化,确保接口调用的一致性和可维护性
API 请求配置
请求工具类封装
request.ts 是 uni-app 端的核心请求工具类,封装了请求拦截、响应处理、错误处理等功能。文件位置:uni-app/src/utils/request.ts
核心功能
请求拦截器:自动携带
token、app-channel等请求头信息响应处理:统一处理响应数据,支持成功/错误消息提示
错误处理:统一处理网络错误、业务错误和认证错误
多端适配:支持 H5、小程序、App 等多端环境
文件上传:封装
uni.uploadFileAPI,支持图片、视频等文件上传参数序列化:使用
qs库进行参数序列化对象深拷贝:使用
uni.$u.deepClone进行对象深拷贝
配置说明
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
baseUrl | string | H5: ${location.origin}/api/, 其他: VITE_APP_BASE_URL | 接口基础地址,从环境变量获取或使用默认值 |
showErrorMessage | boolean | true | 是否显示错误消息 |
showSuccessMessage | boolean | false | 是否显示成功消息 |
错误处理
错误码说明
| 错误码 | 说明 | 处理方式 |
|---|---|---|
| 0 | 业务错误 | 显示错误消息提示 |
| 400 | 请求参数错误 | 显示错误消息提示 |
| 401 | 未授权/登录过期 | 调用 useMemberStore().logout() 处理登出 |
| 402 | 站点已关闭 | 跳转到站点关闭页面 /app/pages/index/close |
| 403 | 站点不存在 | 跳转到站点不存在页面 /app/pages/index/nosite |
网络错误处理
系统自动处理以下网络错误:
请求成功但返回错误数据
请求失败
请求URL不在域名列表中
文件上传错误处理
文件上传错误处理与普通请求错误处理逻辑一致,支持显示错误消息和跳转到相应页面
