新建uni-app项目

29 阅读1分钟

import { baseUrl } from '@/common/config.js'
import qs from 'qs' // 处理data(对象序列化,这项目是用Hbuilder直接生成的默认模板,所以这里直接引用)
function service(options = {}) {
	uni.showLoading({
		title: '加载中...'
	});
	options.url = `${baseUrl}${options.url}`;
	// 请求参数序列化
	if(options.isJson){
		options.data=options.data?options.data:{};
	}else{
		options.data=options.data?qs.stringify(options.data):{};
		
	}
	
	// 判断本地是否存在token,如果存在则带上请求头
	options.header = {
		'content-type':options.isJson?'application/json':'application/x-www-form-urlencoded',
		// 'token':getToken()? `${getToken()}`:''	// 这里是token(可自行修改)
	};

	return new Promise((resolved, rejected) => {
		options.success = (res) => {
			
			 setTimeout(()=>{
			 	uni.hideLoading();
			 },500)
			resolved(res.data)
			
		};
		options.fail = (err) => {
			// 请求失败弹窗
			uni.showToast({
				icon: 'none',
				duration: 3000,
				title: '服务器错误,请稍后再试'
			});
			rejected(err);
		};
		uni.request(options);
	});
}

export default service;