1. 拦截api请求

uni.addInterceptor('request', {
  invoke(args) {
    // request 触发前拼接 url 
    args.url = 'https://www.example.com/'+args.url
  },
  success(args) {
    // 请求成功后,修改code值为1
    args.data.code = 1
  }, 
  fail(err) {
    console.log('interceptor-fail',err)
  }, 
  complete(res) {
    console.log('interceptor-complete',res)
  }
})

2.拦截tabBar

// 页面拦截tabbar,非登录状态页首页跳转登录页登录
uni.addInterceptor('switchTab', {
	// tabbar页面跳转前进行拦截
	invoke (e) {
		if (e.url !== "/pages/center/index") {
			uni.redirectTo({
				url: '/pages/login/login'
			});
			return false
		} else{
			return true
		}
	},
	success (e) {
		// console.log(e)
	}
})

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐