当前位置:首页 > uni-app

uniapp 如何封装request请求

2026-02-05 17:52:54uni-app

封装request请求的方法

在UniApp中封装request请求可以提高代码复用性,便于统一处理错误和请求配置。以下是常见的封装方法:

基础封装示例

// utils/request.js
const baseURL = 'https://your-api-domain.com/api'

function request(options) {
  return new Promise((resolve, reject) => {
    uni.request({
      url: baseURL + options.url,
      method: options.method || 'GET',
      data: options.data || {},
      header: {
        'Content-Type': 'application/json',
        ...options.header
      },
      success: (res) => {
        if (res.statusCode === 200) {
          resolve(res.data)
        } else {
          reject(res)
        }
      },
      fail: (err) => {
        reject(err)
      }
    })
  })
}

export default request

添加拦截器

// 请求拦截
function requestWithInterceptor(options) {
  // 添加token等通用header
  const token = uni.getStorageSync('token')
  const headers = {
    'Authorization': `Bearer ${token}`,
    ...options.header
  }

  return request({
    ...options,
    header: headers
  }).catch(err => {
    // 统一错误处理
    if (err.statusCode === 401) {
      uni.navigateTo({ url: '/pages/login/login' })
    }
    return Promise.reject(err)
  })
}

使用示例

import request from '@/utils/request'

// GET请求
request({
  url: '/user',
  method: 'GET'
}).then(res => {
  console.log(res)
})

// POST请求
request({
  url: '/login',
  method: 'POST',
  data: {
    username: 'admin',
    password: '123456'
  }
})

高级封装建议

uniapp 如何封装request请求

  • 添加请求超时配置
  • 实现请求取消功能
  • 添加重试机制
  • 区分开发和生产环境API地址
  • 添加请求缓存策略
  • 实现文件上传/download封装

这种封装方式可以保持代码整洁,统一管理API请求,便于后期维护和扩展。

标签: uniapprequest
分享给朋友:

相关文章

uniapp发布到应用商店

uniapp发布到应用商店

发布到苹果App Store 确保开发者账号已注册并加入Apple Developer Program,年费99美元。在Xcode中生成iOS发布证书(.p12)和描述文件(Provisioning…

uniapp可以用vant吗

uniapp可以用vant吗

uniapp中使用Vant组件库的可行性 Vant是专为Vue.js设计的移动端组件库,而uniapp是一个跨平台开发框架。两者并非原生兼容,但可通过以下方式实现部分Vant组件的使用。 方法一:使…

uniapp广播

uniapp广播

全局事件通信 在UniApp中实现广播功能可通过全局事件机制完成,适用于跨页面或组件通信。使用uni.$emit、uni.$on、uni.$off等方法实现事件的触发、监听与移除。 发送广播(触发事…

美颜uniapp

美颜uniapp

美颜功能在UniApp中的实现方法 在UniApp中实现美颜功能,可以通过以下几种方式: 使用第三方SDK或插件 腾讯云美颜SDK:提供直播推流场景下的美颜、滤镜、贴纸等功能,支持UniA…

uniapp学习书籍

uniapp学习书籍

推荐书籍 《uni-app跨平台开发与应用从入门到实践》:该书详细介绍了uni-app的基础知识和开发技巧,适合初学者和进阶开发者。内容涵盖uni-app的组件、API、路由、状态管理等核心概念,并通…

uniapp 滑动条

uniapp 滑动条

uniapp 滑动条实现方法 在uniapp中实现滑动条可以通过内置组件或第三方插件完成。以下是几种常见方法: 使用slider组件 uniapp内置了slider组件,可直接实现基础滑动条…