import { goto } from "./untool"; import { showToast, showLoading, hideLoading } from "./untool" import { setSessionXToken, getSessionXToken } from "@/session" const getCommonReqData = ()=> { const xToken = getSessionXToken() return { header: { "X-Token": xToken, } } } // 请求接口 function dealRequest(def, url, param) { if(param && param._loading) { showLoading() } const promise = new Promise(function(resolve, reject) { def.then(function(response) { let { data, cookies, statusCode, header, errMsg } = response if (statusCode != 200) { showToast(`网络错误`) reject({ response }) } handleResponse({ response, data, resolve, reject, url, header, param }); }, function(response) { console.log('request url==========1', url) console.log('request param==========1', param) console.log('response ===========1', response); showToast(`网络错误`) reject({ response }) }) }) // 统一提示 errmsg promise.then(function(res) { if(param && param._loading) { hideLoading() } }, function(res) { hideLoading() }) return promise; } // 处理响应 function handleResponse({ data, header, resolve, reject, url, param }) { // 图片类型数据特殊处理 if(header['content-type']?.indexOf?.("image/") > -1) { uni.downloadFile({ url: data, success: (res) => { debugger }, fail: (err)=>{ debugger console.log("downloadFile:err", err) reject(err) } }) debugger } data = data || {} const { msg, code } = data if ((code == 200)) { resolve(data) } else { if ( code == 401) { // 统一判断需要认证, 并作页面跳转 setSessionXToken() showToast(msg) goto("login/login", 2) return reject({ code: {} }); } setTimeout(() => { showToast(msg || `网络错误`) }, 0) reject({ code: {} }); } } export { getCommonReqData, dealRequest, handleResponse }