request.js 2.36 KB
import service from './service.js'
import BASE_URL from '../common/config.js'
const get=function(url,data){
	return request(url,'GET',data);
}
const post=function(url,data){
	return request(url,'POST',data);
}
const put=function(url,data){
	return request(url,'put',data);
}
const put1=function(url,data){
	return request(url,'put',data,{
		'Content-Type':'application/json-patch+json'
	});
}
const postFormData=function(url,data){
	return request(url,'POST',data,{
		'Content-Type':'application/x-www-form-urlencoded'
	});
}
const del=function(url,data){
	return request(url,'DELETE',data);
}

const request=function(url,method,data,headers){
	let header= {};
	let urlsNoAuth=['/authentication/form'];
	if(!urlsNoAuth.includes(url)){
		header['Authorization']=`${service.getToken()}`
	}
	if(!url.includes('https://')){
		url=BASE_URL+url;
	}
	if(headers){
		header = Object.assign({},header,headers)
	}
	return new Promise((resolve,reject)=>{
		console.log("111111111111111111111");
		uni.request({
		    url,
		    data,
			method,
		    header,
			timeout:50000,
		    success: (res) => {
				if(res.statusCode === 200){
					if(res.data.code == 600 || res.data.msg == '登录过期,请重新登录'){
						console.log('登录过期,跳转到登录界面');
						uni.redirectTo({
							url:'/pages/Login/index'
						});
						return;
					}
					if(res.data.code < 0 && res.data.message){
						uni.showToast({
							icon:'none',
						    title: res.data.data.message,
						    duration: 2000
						});
						reject();
					}else if(!res.data.flag && res.data.code === 500){
						uni.showToast({
							icon:'none',
						    title: res.data.msg || '操作失败,请联系管理员',
						    duration: 2000
						});
						reject();
					}else{
						resolve(res.data);
					}
				}else if(res.statusCode === 403 || res.statusCode === 401){
					service.addToken('');
					uni.redirectTo({
						url:'/pages/login/index'
					});
					reject();
				}else{
					reject();
					// uni.showToast({
					// 	icon:'none',
					//     title: res.data.msg || '系统繁忙!',
					//     duration: 2000
					// });
				}
				
		    },
			fail: (error) => {
				uni.hideLoading();
				console.log(error);
			}
		});
	});
}
 
 export default {
 	get,
 	post,
	del,
	request,
	postFormData,
	put,
	put1
 }