通用微信小程序GET、POST请求封装

在写微信小程序的时候,每次遇到请求、回调、判断权限的时候就很头疼,重复的去写请求又违背了面向对象的思想
自己就写了一份通用的GET POST请求函数
以下是代码:

http(options){
	return new Promise((resolve,reject)=>{
		wx.showLoading({
			title: '加载中...',
			mask: options.load || false // 默认遮罩出现可以继续操作
		});
		try{
			wx.request({
				url:BASEURL, //API接口域名
				data:options.data || {},
				method:options.method || 'POST',
				header:{
					'Content-Type': options.header == 'form' ? 'application/x-www-form-urlencoded' : 'application/json;charset=UTF-8',
					'token':TOEKEN //这里自行加上自定义头信息
				},
				success:(res)=>{
											 //这里统一判断权限
					if(res.data.code!=0){
													
						if(res.data.code==-999){
							wx.clearStorageSync()
							if(!options.noToLogin){
								wx.navigateTo({
									url:"/pages/login/login"
								})
							}
						}else{
							wx.showToast({
								title: res.data.msg,
								icon: 'none'
							})
						}
					}else{
						resolve(res.data.data)
					}
					
				},
				fail:(err)=>{
					wx.showToast({
						title: err,
						icon: 'none'
					})
					console.log(err)
					reject(err)
					
				},
				complete: () => {
					wx.hideLoading();
				}
			})
		}catch(e){
			console.log(e)
			wx.hideLoading();
			wx.showToast({
				title: e,
				icon: 'none'
			})
		}
		
	}).catch((e) => {
		console.log(e)
	})
}

调用方法如下:

http({
      url:'/webapp/register',
      data:{code:code,userinfo:userinfo},
      load:true,
      method:'GET'
})
KK资源网分享最优质的的资源,涵盖网站建设、IT技术、主题源码
KK资源吧 » 通用微信小程序GET、POST请求封装

发表评论