requestServer.js 1.81 KB
import common from "./common.js";
export const myRequest = (options) => {
	// 调接口加载
	uni.showLoading({
		title: "加载中",
		mask: true,
	});
	return new Promise((resolve, reject) => {
		uni.request({
			url: options.url,
			//默认参数
			data: options.data || {},
			// 配置请求头参数-例如token
			header: {
				'content-type': 'application/json',
				// Accept: 'application/json',
				// 'Content-Type': 'application/json',
				// 'X-Requested-With': 'XMLHttpRequest'
			},
			dataType: "json",
			method: options.method || 'GET',
			// sslVerify: true,
			// 接口请求成功
			success: (res) => {
				// 关闭加载
				uni.hideLoading();
				// 调用成功且有数据 返回数据  组件内通过 .then() 或者async await 接受异步返回数据
				//resolve(res.data)
				//在接口200 调用成功后 才能进行判断接口内的状态码 return_code 以此判定作何操作和提示
				let result = res.data
				console.log(result);

				if (result.code == 0) {
					resolve(result)
				} else if (result.code == -10000) {
					uni.showModal({
						title: '提示',
						content: result.message,
						showCancel: false,
						success: function(res) {
							if (res.confirm) {
								console.log('登录失效');
								uni.clearStorageSync();
								uni.reLaunch({
									url: "../pages/index/index"
								})
								uni.hideLoading();
							}
						}
					});
				} else {
					uni.hideLoading();
					uni.showToast({
						title: result.message,
						icon: 'error',
						duration: 2000
					});
				}

			},
			// 接口接口失败
			fail: (error) => {
				// 关闭加载
				uni.hideLoading();
				console.log("请求失败", error);
				uni.showToast({
					title: error.message,
					icon: 'error',
					duration: 2000
				})
				// 失败数据
				reject(error)
			}
		})
	})
}