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, }, success: (resReq) => { // 判断请求状态码是否为 200 if (resReq.statusCode === 200) { // 状态码为 200 时,将响应数据传递给 resolve 函数 if (resReq.data.code === 0 && resReq.data.msg) { uni.showToast({ title: resReq.data.msg, icon: 'success' }) } if (resReq.data.code === 500) { uni.showToast({ title: resReq.data.msg || '服务器开小差', icon: 'none' }) } if (resReq.data.code === 10021) { uni.removeStorageSync('token') getWxUserInfo() return } resolve(resReq.data.data); } else { // 状态码不为 200 时,将错误信息传递给 reject 函数 reject(new Error(`Request failed with status code ${resReq.statusCode}`)); } }, }) }) } // 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