uniapp微信小程序进行登录拦截-基于request.js

uniapp微信小程序进行登录拦截-基于request.js

const BASE_URL = 'http://localhost:8080'
export const myRequest = (options)=>{
	const whiteList = [
		'/wx/getSessionId',
		'/wx/authLogin'
	]
	
	if(whiteList.indexOf(options.url) === -1 && uni.getStorageSync("token") == '') {
		uni.switchTab({
			url:"../../pages/member/member",
		})
		uni.showToast({
			title: '请先登录'
		});
		return new Promise((resolve, reject)=>{
			resolve("未登录");
		})
	}
	
	return new Promise((resolve, reject)=>{
		uni.request({
			url:BASE_URL + options.url,
			method: options.method || 'GET',
			data: options.data || {},
			header: {
				Authorization: uni.getStorageSync("token")
			},
			success: (res)=>{
				if(res.data.code !== 200) {
					return uni.showToast({
						title: '调用接口失败'
					})
				}
				resolve(res)
			},
			fail: (err)=>{
				uni.showToast({
					title: '后台出错了'
				})
				reject(err)
			}
		})
	})
}

备注

uni.switchTab({
	`url:"../../pages/member/member",` //这里是登录校验不成功则跳转的登录页面
})

//=====================
//白名单,写的是后端的接口地址
const whiteList = [
	'/wx/getSessionId',
		'/wx/authLogin'
]

//=====================

success: (res)=>{
	if(res.data.code !== 200) { //这个是后端返回的json数据,!!不要照搬照抄这个!!
		return uni.showToast({
			title: '调用接口失败'
		})
	}
	resolve(res)
},

总结
总体流程就是判断是否是白名单里面的、如果不是白名单里的,就要有token才让请求,不然就返回到登录页面要求登录

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值