uni-app 封装请求函数

首先:创建目录request,并在该目录下创建 index.js 文件

const request = {
    
    
	login(url) {
    
    
		var that = this;
		return new Promise(function(reslove,reject) {
    
    
			uni.request({
    
    
				url:url,
				method:'POST',
			    header: {
    
    
			        'token': uni.getStorageSync('token') //自定义请求头信息
			    },
				success:(res)=>{
    
    
					console.log(res);
					if(res.data.tcode == 0) {
    
    
						reslove({
    
    'code':0,'msg':'未登录'})
						// that.code = 0
					}
					if(res.data.tcode == 1) {
    
    
						reslove(res.data)
					}
					// token 过期刷新
					if(res.data.tcode == 2) {
    
    
						uni.setStorageSync('token',res.data.token)
						uni.request({
    
    
							url:url,
							method:'POST',
							header: {
    
    
							    'token': uni.getStorageSync('token') //自定义请求头信息
							},
							success:(res)=>{
    
    
								reslove(res.data)
							}
						})
					}
					// token 失效
					if(res.data.tcode == 3) {
    
    
						reslove({
    
    'code':3,'msg':'token失效'})
						uni.setStorageSync('token','')
					}
					if(res.data.tcode == 4) {
    
    
						reslove({
    
    'code':4,'msg':'没有相关数据'})
						uni.setStorageSync('token','')
					}
				}
			})
		})
	}
}

export default request;

在main.js 文件中引入该模块,并创建实例

import request from './request/index.js'
Vue.prototype.$requst= request

使用方法如下 this.apiUrl+‘api/member/index’ 为请求路径

methods: {
    
    
	getData() {
    
    
		this.$requst.login(this.apiUrl+'api/member/index').then(res=> {
    
    
			console.log(res);
		})
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_44640323/article/details/112533307