import { request as miniRequest, showToast, uploadFile as miniUpload, } from '@tarojs/taro'; import {NETWORK_URL} from '@utils'; function request({url, data, method, skipError}) { const pr = new Promise(function (res) { miniRequest({ url: `${NETWORK_URL}${url}`, data, method, timeout: 10000, header: { 'Content-Type': 'application/json', 'Cache-Control': 'no-cache', }, success(data) { let result = data.data; if (!result.code) { result = {code: '500', msg: '请求失败,请稍后再试'}; } if (result.code === '500' && !skipError) { showToast({ title: result.msg, duration: 2000, mask: false, icon: 'none', }); } res(result); }, fail(err) { if (err.errMsg === 'request:fail abort') return; !skipError && showToast({ title: '请求失败,请稍后再试', duration: 2000, mask: false, icon: 'none', }); res({code: '500', msg: '请求失败,请稍后再试'}); }, }); }); return pr; } export function get(options) { return request({...options, method: 'GET'}); } export function post(options) { return request({...options, method: 'POST'}); } export function del(options) { return request({...options, method: 'DELETE'}); } export function put(options) { return request({...options, method: 'PUT'}); } export function uploadFile(url, img, skipError = false) { const pr = new Promise(function (res) { miniUpload({ url: NETWORK_URL + url, filePath: img, name: 'file', timeout: 10000, header: { 'Cache-Control': 'no-cache', }, success(data) { const result = JSON.parse(data.data); if (result.code === '500' && !skipError) { showToast({ title: result.msg, duration: 2000, mask: true, icon: 'none', }); } res(result); }, fail() { !skipError && showToast({ title: '请求失败,请稍后再试', duration: 2000, mask: true, icon: 'none', }); res({code: '500', msg: '请求失败,请稍后再试'}); }, }); }); return pr; }