import { baseUrl } from "@/config" import { wipeNulish } from '@/utils/utils.js' import {getWxUserInfo} from "../utils/wxAuth"; function requestHandle(obj) { const reqData = wipeNulish(obj.data) || {} const token = uni.getStorageSync('token') || 'no-login' let base = baseUrl const BASE_URL = obj.url.indexOf("http") > -1 || obj.url.indexOf("https://") > -1 ? obj.url : base + obj.url; return new Promise((resolve, reject) => { uni.request({ method: obj.method, url: BASE_URL, data: reqData, header: { token, }, dataType: "json" }).then(response => { const { data: { data, code, msg } } = response || {} if (code === 10021) { getWxUserInfo() return } if (code === 0) { if (msg) { uni.showToast({ title: msg, icon: 'success' }) } } else { resolve(data) } if (code !== 0) { uni.showToast({ title: msg || '服务器开小差', icon: 'none' }) } else { resolve(data) } }).catch(error => { /**获取网络状态 */ uni.getNetworkType({ success: function (res) { if (res.networkType === 'none') { uni.showToast({ title: '网络未连接,请检查网络状态', mask: false, icon: 'none' }) } else { uni.showToast({ title: '网络连接超时', icon: 'none' }) } } }) reject(error) }) }) } // customRes 用于自定义反参状态处理,凡是未加此参数 都当作反参code是0处理 const request = { get: (obj) => { return new Promise((resolve, reject) => { requestHandle({ method: 'GET', url: obj.url, data: obj.data, header: obj.header, customRes: obj.customRes }) .then((res) => { resolve(res) }) .catch((err) => { reject(err) }) }); }, post: (obj) => { return new Promise((resolve, reject) => { requestHandle({ method: 'POST', url: obj.url, data: obj.data, header: obj.header, customRes: obj.customRes }) .then((res) => { resolve(res) }) .catch((err) => { reject(err) }) }) }, put: (obj) => { return new Promise((resolve, reject) => { requestHandle({ method: 'PUT', url: obj.url, data: obj.data, header: obj.header, customRes: obj.customRes }) .then((res) => { resolve(res) }) .catch((err) => { reject(err) }) }) }, del: (obj) => { return new Promise((resolve, reject) => { requestHandle({ method: 'DELETE', url: obj.url, data: obj.data, header: obj.header, customRes: obj.customRes }) .then((res) => { resolve(res) }) .catch((err) => { reject(err) }) }) } } export default request