mpvue中使用flyjs全局拦截
Posted 周十发
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mpvue中使用flyjs全局拦截相关的知识,希望对你有一定的参考价值。
mpvue全局属性设置,在我之前的文章中有介绍,今天想记录的就是怎么和Fly.js结合使用来实现全局拦截功能:
首先我们要安装好Flyio,在mpvue项目中我们用npm下载安装:
npm install flyio
找到src文件夹下面的main.js文件(就在src下)
引入flyjs并实例化
var Fly=require("flyio/dist/npm/wx") var fly=new Fly
比方需求是:我们在每次请求自己服务器接口时候要带上appID,用户登陆后要带上openID
// 请求拦截 fly.interceptors.request.use((request)=>{ request.body.appId = ‘xxx‘ // 用户的openId在获取之后添加到全局变量中如果存在,我们将它添加到请求参数里面 let openId = Vue.prototype.globalData.openId; if(openId){ request.body.openId = openId } })
当服务器发生错误,或者用户网络错误导致请求失败的时候,我们可以添加一个响应拦截
// 响应拦截 fly.interceptors.response.use( (response) => { }, (err) => { //发生网络错误后会走到这里 //return Promise.resolve("ssss") wx.hideLoading(); wx.showToast({ title:‘网络不流畅,请稍后再试!‘, icon:‘none‘, }); })
最后将flyjs挂载到vue的原型上
// 将fly挂载在Vue的原型上 Vue.prototype.$flyio = fly
以上是关于mpvue中使用flyjs全局拦截的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向函数拦截原理 ( 通过修改 GOT 全局偏移表拦截函数 | 通过在实际被调用的函数中添加跳转代码实现函数拦截 )