建立一个interceptor.js
export function navInterceptor() {
uni.addInterceptor('navigateTo', {
invoke(args) {
// navigateTo 触发前拼接 url
var a = args.url.split('/')
console.log(a)
},
success(args) {
// 请求成功后,修改code值为1
// args.data.code = 1
},
fail(err) {
// console.log('interceptor-fail',err)
},
complete(res) {
// console.log('interceptor-complete',res)
}
})
}
export function reqInterceptor() {
uni.addInterceptor('request', {
invoke(args) {
// request 触发前拼接 请求数据
args.header = {
Authorization:'11'
}
console.log(args)
},
success(args) {
// 请求成功后,修改code值为1
console.log(args)
},
fail(err) {
// console.log('interceptor-fail',err)
},
complete(res) {
// console.log('interceptor-complete',res)
}
})
}
全局注册
在APP.vue中
import {navInterceptor, reqInterceptor} from '@/common/interceptor.js'
在页面加载后挂载
onLaunch: function() {
navInterceptor()
reqInterceptor()
},
在单个页面注册
import {navInterceptor, reqInterceptor} from '@/common/interceptor.js'
在页面加载后挂载
onLoad: function() {
navInterceptor()
reqInterceptor()
},