uni-app调取接口的3种方式以及封装uni.request()详解

对于这个话题我可以提供以下完整攻略:

uni-app调取接口的3种方式以及封装uni.request()详解

在uni-app中,我们一般采用uni.request()方法来调用后端接口。下面我们将介绍三种调用方式以及如何封装uni.request()方法。

1. 直接调用

直接调用指的是将请求地址、请求类型、请求参数等信息直接写在uni.request()方法中,后端返回的数据会在success回调函数中返回,如下

 uni.request({
     url: 'http://xxx.xxx.xxx/rest/api/login',
     method: 'POST',
     data: {
         username: 'admin',
         password: '123456'
     },
     success: function(res) {
         console.log(res.data);//后端返回的数据
     },
     fail: function(res) {
         console.log('请求失败');
     }
 })

其中需要注意的是,调用后端接口时需要加上协议头,如上例中的http://

2. 配置文件调用

为了方便维护,我们可以将后端接口的地址和请求类型等信息统一放在配置文件中,然后在uni.request()方法中引用配置文件中的配置信息来调用后端接口。具体做法如下:

  1. 在uni-app项目目录下,创建一个config目录;
  2. 在config目录下创建一个config.js文件,用来存储后端接口的相关配置信息;
  3. 在config.js文件中添加以下代码:
const baseUrl = 'http://xxx.xxx.xxx/rest/api/';//后端接口地址

export default {
   baseUrl
}

需要注意的是,baseUrl的值需要加上协议头。

  1. 在需要调用后端接口的页面中引入config文件;
import config from '@/config/config.js'
  1. 在调用后端接口的时候,可以引用config文件中的baseUrl来请求后端接口,如下:
uni.request({
    url: config.baseUrl + 'login',
    method: 'POST',
    data: {
        username: 'admin',
        password: '123456'
    },
    success: function(res) {
        console.log(res.data);//后端返回的数据
    },
    fail: function(res) {
        console.log('请求失败');
    }
})

3. 封装uni.request()

为了方便多次调用后端接口,我们可以将uni.request()方法进行封装。封装后的代码如下:

const request = ({
    url,
    method = 'GET',
    data = {},
    header = {},
    showLoading = true
}) => {
    return new Promise((resolve, reject) => {
        //显示loading
        if (showLoading) {
            uni.showLoading({
                title: '正在加载,请稍后...'
            });
        }

        uni.request({
            url: config.baseUrl + url,
            method: method,
            data: data,
            header: header,
            success: function(res) {
                //隐藏loading
                if (showLoading) {
                    uni.hideLoading();
                }

                resolve(res.data);//返回后端数据
            },
            fail: function(res) {
                //隐藏loading
                if (showLoading) {
                    uni.hideLoading();
                }

                reject(res);
            }
        })
    })
}

export default request

这里我们定义了一个request()方法,用来封装uni.request()方法。其中,request()方法接收一个对象作为参数,对象中包含了请求地址、请求类型、请求参数等相关信息。这里我们还增加了一个showLoading参数,在调用请求时可设置是否显示加载中的提示。在方法中使用了Promise来对结果进行返回,便于后续进行调用。

使用封装后的request()方法,如下:

import request from '@/common/js/request.js'

request({
    url: 'login',
    method: 'POST',
    data: {
        username: 'admin',
        password: '123456'
    },
    showLoading: true
}).then(res => {
    console.log(res);
}).catch(error => {
    console.log(error);
})

以上就是uni-app调取接口的三种方式以及封装uni.request()方法的详细攻略,希望对你有帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:uni-app调取接口的3种方式以及封装uni.request()详解 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • vue v-for循环出来的数据动态绑定值问题

    当使用Vue的v-for指令循环展示数据时,我们需要注意数据与状态的动态绑定问题。本文将详细讲解使用v-for指令循环展示数据时,因为数据改变而导致状态动态绑定的问题及解决方法。 问题现象 假设有如下一段v-for指令: <div v-for="item in items"> <input type="text…

    Vue 2023年5月29日
    00
  • 详解Vue 自定义hook 函数

    当我执行Vue.js的钩子函数时,我经常感到缺少自定义钩子函数的灵活性。在某些情况下,我需要创建一些在多个组件中共享的逻辑和状态,并将这些逻辑和状态隔离到自定义hook函数中。这就是使用自定义hook函数的场景,本文将为你详细讲解如何使用Vue自定义hook函数的完整攻略。 什么是Vue自定义hook函数? 我们都知道,在Vue.js中,我们可以编写组件和使…

    Vue 2023年5月28日
    00
  • vue实现一个炫酷的日历组件

    下面是详细的攻略,首先需要明确的是,实现一个炫酷的日历组件需要涉及到许多知识点,包括 Vue 组件化、CSS 动画、日期计算等等。因此,分别从这些方面来介绍实现过程。 1. Vue 组件化 首先,我们需要将日历组件拆分成多个组件,以便于管理和复用。 组件分为年、月、日期三个层级。 Year.vue: <template> <div clas…

    Vue 2023年5月28日
    00
  • 如何在vue3+ts项目中使用query和params传参

    在Vue3 + TypeScript项目中,我们可以通过组合使用 params 和 query 来实现路由传参。下面是具体的步骤: 1. 安装路由 首先,我们需要通过 npm 或者 yarn 来安装 vue-router 路由插件。可以使用以下命令进行安装: npm install vue-router yarn add vue-router 2. 创建路由…

    Vue 2023年5月27日
    00
  • Vue CLI中模式与环境变量的深入详解

    下面是Vue CLI中模式与环境变量的深入详解。 什么是Vue CLI Vue CLI是Vue.js官方提供的脚手架工具,用于快速搭建Vue.js应用。Vue CLI提供了许多功能,包括创建项目、执行开发服务器和构建打包等。在Vue CLI中,有三种不同的模式(modes)可供选择,分别是开发模式(development)、生产模式(production)和…

    Vue 2023年5月28日
    00
  • vue项目配置使用flow类型检查的步骤

    对于准备使用Flow类型检查的Vue项目,需要按照以下步骤进行配置: 1. 配置Flow Vue项目中使用Flow类型检查需要在项目中安装flow-bin和flow-typed这两个依赖。可以使用以下命令安装: npm install –save-dev flow-bin flow-typed 在项目根目录下,运行以下命令进行Flow的初始化: ./nod…

    Vue 2023年5月27日
    00
  • 从0到1构建vueSSR项目之node以及vue-cli3的配置

    我来详细讲解一下“从0到1构建Vue SSR项目之Node以及Vue CLI3的配置”这个话题。 总体流程 从0到1构建Vue SSR项目,其总体流程如下: 初始化项目 安装必要的依赖 配置webpack 配置Vue SSR 编写Vue SSR相关代码 启动项目 接下来,我将逐步详细讲解这个过程。 初始化项目 首先,我们需要使用Vue CLI 3进行项目初始…

    Vue 2023年5月28日
    00
  • Vue 中v-model的完整用法及原理

    首先我们先来了解一下v-model的基本用法和原理。 v-model的基本用法 在Vue中,v-model被用来实现表单元素和Vue实例之间的双向数据绑定。v-model通常和表单元素input、textarea、select等配合使用。将 v-model 赋值给一个普通的变量,这个变量就可以被修改以响应用户的输入和交互。 v-model的基本语法如下: &…

    Vue 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部