当前位置:

首页 > 编程开发 > uniapp网络请求封装库安装配置与使用教程

uniapp网络请求封装库安装配置与使用教程

详细讲解UniApp中网络请求封装库的安装步骤、基础配置方法以及拦截器的实际应用,帮助开发者快速构建稳定高效的HTTP请求模块。

在UniApp开发中,直接使用原生 uni.request 往往会导致代码冗余、错误处理分散以及难以统一管理Token等公共参数。引入成熟的网络请求封装库,如 luch-request,可以将请求逻辑标准化,实现全局拦截、自动重试和类型提示支持。这种做法不仅让业务代码更清爽,还能在接口变更时只需修改一处配置即可全局生效。

uniapp网络请求封装库安装配置与使用教程

UniApp项目中网络请求封装的整体架构示意

网络请求封装的核心在于“拦截器”机制,它允许你在请求发送前和响应返回后插入自定义逻辑,比如添加认证Header或解析通用错误码。开始前,请确保你已创建一个基础的UniApp项目,并安装了Node.js环境以便使用npm或yarn管理依赖。

1. 安装依赖库

打开项目根目录下的终端窗口,执行安装命令。这里以社区广泛使用的 luch-request 为例,它专为UniApp设计,支持Promise和拦截器。

npm install luch-request

如果你使用的是yarn,则运行 yarn add luch-request。安装完成后,检查 package.json 文件,确认依赖列表中已出现该库及其版本号,这表示安装成功。

2. 创建请求实例文件

在项目根目录或 utils 文件夹下新建一个JS文件,例如 request.js。首先引入库并创建实例。这一步决定了后续所有请求的基础配置,如 baseURL 和超时时间。

uniapp网络请求封装库安装配置与使用教程

在utils目录下创建request.js并设置baseURL

import Request from 'luch-request'

const http = new Request()

// 设置默认配置
http.setConfig((config) => {
  config.baseURL = 'https://api.example.com' // 你的接口域名
  config.timeout = 10000 // 超时时间,单位毫秒
  return config
})

export default http

注意 baseURL 应替换为你实际的后端接口地址。保存文件后,这个 http 对象就具备了发送请求的基本能力,且所有通过它发出的请求都会自动拼接上基础域名。

3. 配置请求拦截器

拦截器是封装库的灵魂。在 request.js 中继续编写代码,添加请求拦截器用于在发送前处理数据,最常见的是添加 Token。

uniapp网络请求封装库安装配置与使用教程

编写请求拦截器自动注入Authorization Header

// 请求拦截器
http.interceptors.request.use((config) => {
  // 从本地存储获取token
  const token = uni.getStorageSync('token')
  if (token) {
    config.header['Authorization'] = 'Bearer ' + token
  }
  // 必须返回config,否则请求不会发送
  return config
}, (error) => {
  return Promise.reject(error)
})

这段代码会在每次请求发出前检查本地是否有 Token,如果有则自动写入 Header。观察控制台或网络面板,你会发现后续请求头中多出了 Authorization 字段,无需在每个页面手动添加。

4. 配置响应拦截器

响应拦截器用于统一处理后端返回的数据结构,比如判断状态码是否为200,或者处理特定的业务错误码。

// 响应拦截器
http.interceptors.response.use((response) => {
  // 根据后端约定,假设 code 为 200 表示成功
  if (response.data.code === 200) {
    return response.data.data
  } else {
    // 统一处理业务错误,如弹出提示
    uni.showToast({
      title: response.data.msg || '请求失败',
      icon: 'none'
    })
    return Promise.reject(response.data)
  }
}, (error) => {
  // 处理网络错误或HTTP错误
  uni.showToast({
    title: '网络连接异常',
    icon: 'none'
  })
  return Promise.reject(error)
})

通过这一步,业务层接收到的直接是有效数据部分,不再需要层层解包 res.data.data,同时也统一了错误提示的交互体验。

uniapp网络请求封装库安装配置与使用教程

4. 配置响应拦截器

5. 在页面中发起请求

配置完成后,在具体的 .vue 页面中引入刚才创建的 http 实例,并使用它发起GET或POST请求。

import http from '@/utils/request.js'

export default {
  onLoad() {
    this.fetchData()
  },
  methods: {
    async fetchData() {
      try {
        // 发起GET请求
        const res = await http.get('/user/info')
        console.log('用户信息:', res)
        
        // 发起POST请求
        // const postRes = await http.post('/login', { username: 'admin', password: '123456' })
      } catch (error) {
        console.error('请求出错:', error)
      }
    }
  }
}

运行项目并在浏览器或真机调试器中查看控制台,如果配置正确,你应该能看到打印出的用户数据对象,且网络面板中的请求URL已自动补全了 baseURL。

6. 验证与维护

最后,尝试修改 baseURL 或移除本地 Token,观察拦截器是否按预期工作。例如,清除 Token 后再次请求,应看到请求头中不再包含 Authorization 字段;若后端返回错误码,页面应自动弹出统一的 Toast 提示。

uniapp网络请求封装库安装配置与使用教程

控制台验证数据输出与网络请求详情

这种封装方式使得网络层与业务层彻底解耦。未来若需切换接口域名或调整鉴权方式,只需修改 request.js 中的配置,无需遍历所有页面文件。保留好这个工具文件,它将成为你UniApp项目中稳定的基础设施。

本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
编程开发 前端开发 网络请求 UniApp
相关文章 更多
claude code install mac Mac版安装教程
claude code install mac Mac版安装教程

针对macOS用户,提供Claude Code的完整安装与配置流程。涵盖Homebrew安装、API密钥设置及VS Code集成,解决终端权限与环境变量问题,助力开发者高效启用AI编程辅助。

flutter状态管理原理是什么及运行机制详解
flutter状态管理原理是什么及运行机制详解

详解Flutter状态管理底层原理,分析Widget、Element与RenderObject三层树结构,解释setState触发重建的因果机制,对比InheritedWidget与主流状态管理库的实现差异,提供性能优化与选型建议。

skyvern官网入口及中文版使用教程
skyvern官网入口及中文版使用教程

Skyvern是一款基于大语言模型的开源浏览器自动化框架,目前仅提供英文界面且无官方中文版。本文指导用户通过GitHub获取源码,使用Docker快速部署本地环境,并解释其如何通过DOM树解析与自然语言指令实现网页自动操作,同时提供针对中文用户的配置建议与替代方案。

codex claude code插件安装与使用教程
codex claude code插件安装与使用教程

详解如何在VS Code中安装并配置Claude Code插件,涵盖API密钥获取、环境变量设置及常见连接问题的因果排查,帮助开发者快速搭建本地AI编程辅助环境。

GitLab配置SSH免密登录步骤详解
GitLab配置SSH免密登录步骤详解

通过本教程学习如何在Windows、Mac或Linux系统中生成SSH密钥,并将公钥安全添加到GitLab平台,实现Git操作的免密认证,简化日常代码管理流程。

PHP发送HTTP请求的方法及完整代码教程
PHP发送HTTP请求的方法及完整代码教程

详解PHP中发送HTTP请求的常用方法,包括原生cURL配置、file_get_contents流操作及Guzzle库的使用,提供GET/POST请求的完整代码示例与注意事项。

codex插件推荐有哪些?实用插件选择与安装教程
codex插件推荐有哪些?实用插件选择与安装教程

面对海量VS Code插件,如何为AI编程助手选择合适的搭档?本文梳理了代码补全、文档生成及调试辅助三类核心插件,详解安装流程与配置逻辑,助你快速构建稳定的AI开发环境。

html写提交成功页面代码及完整实现方法
html写提交成功页面代码及完整实现方法

详解HTML提交成功页面的标准代码结构与实现逻辑,涵盖静态提示、自动跳转脚本及防止重复提交的策略,帮助开发者构建友好的表单交互终点。

查看更多
精品专题 更多
本月促销
本月促销

正软商城本月促销专区,汇集办公、设计、安全、影音、系统工具及AI软件等正版软件优惠活动,提供限时折扣、特价授权和优惠购买信息,活动库存及价格以页面实时展示为准。

装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

Mac软件 更多
灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师
macOS

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

WINDOWS 更多
Windows 10
Windows 10
Windows

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘
Windows/macOS/iOS/Android

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。