uni-app如何发送请求调用接口
发送请求使用第三方库(@escook/request-miniprogram)开始使用安装:导入挂载支持的请求方法配置请求根路径请求拦截器响应拦截器给uni.showToast封装示例使用第三方库(@escook/request-miniprogram)地址:https://www.npmjs.com/package/@escook/request-miniprogram使用方法该网址都有开始使用
·
使用第三方库(@escook/request-miniprogram)
地址:https://www.npmjs.com/package/@escook/request-miniprogram
使用方法该网址都有
开始使用
uni-app中使用:
安装:
npm install @escook/request-miniprogram
导入挂载
// 按需导入 $http 对象
import { $http } from '@escook/request-miniprogram'
// 将按需导入的 $http 挂载到 wx 顶级对象之上,方便全局调用
wx.$http = $http
// 在 uni-app 项目中,可以把 $http 挂载到 uni 顶级对象之上,方便全局调用
uni.$http = $http
支持的请求方法
// 发起 GET 请求,data 是可选的参数对象
$http.get(url, data?)
// 发起 POST 请求,data 是可选的参数对象
$http.post(url, data?)
// 发起 PUT 请求,data 是可选的参数对象
$http.put(url, data?)
// 发起 DELETE 请求,data 是可选的参数对象
$http.delete(url, data?)
配置请求根路径
$http.baseUrl = 'https://api-hmugo-web.itheima.net/api/public/v1/'
请求拦截器
在请求前做的操作(例如:显示加载动画)
语法:$http.beforeRequest
//请求拦截器
$http.beforeRequest = function (options) {
uni.showLoading({
title: '数据加载中...',
})
}
响应拦截器
请求完成后做的操作(上方显示加载动画,这里就消除动画吧)
响应语法:$http:afterReqiest
关闭动画:hideLoading()
//响应拦截器
$http.afterRequest = function () {
uni.hideLoading()
}
给uni.showToast封装
参数上赋值是es6写法,代表不传参时的默认值
uni.$showMsg=function(title="请求失败",time=1500,icon="error"){
uni.showToast({
title,
duration:time,
icon
})
}
示例
async getNavList(){
let {data:ret}=await uni.$http.get('home/catitems')
if(ret.meta.status!=200) return uni.$showMsg();
this.navList=ret.message;
console.log(ret)
},
如果返回状态不等于200就调用上方封装的$showMsg()
测试完成~~~~~
更多推荐
已为社区贡献6条内容
所有评论(0)