import { initHeaderDevice } from './header.js' import api from '@/config/api.js' const request = async (url, type, data) => { const baseUrl = api.common // 这里确保一定是可以获取得到的 let headerDevice = uni.getStorageSync('m-header-device') let rd if (headerDevice) { // 获取版本号 let AppVersion = uni.getStorageSync('m-header-version'); AppVersion = AppVersion === '1.0.8' ? AppVersion : '1.0.8'; const device = Object.assign({},JSON.parse(headerDevice)) device.appVersion = AppVersion console.log(device.appVersion,'设备头信息') console.log('+++++++++++++++++++++++++从缓存拿数据') rd = encodeURIComponent(headerDevice) } else { console.log('=========================不从缓存拿数据') rd = JSON.stringify(initHeaderDevice()) } return new Promise((resolve, reject) => { const token = uni.getStorageSync('token') const tokenFinance = uni.getStorageSync('tokenFinance') const $data = Object.assign({}, data); uni.request({ url: baseUrl + url, method: type, data: { ...data }, header: { Accept: "application/json;charset=UTF-8", "Content-Type": "application/json;charset=UTF-8", device: rd, Authorization: tokenFinance, //贷超 Author: token, //多典花 }, success: (res) => { // #ifdef APP console.log('------------') console.log(`${baseUrl}${url}`, '接口地址') console.log($data, '接口参数') if (res.data && res.data.result) console.log(res.data.result, '返回内容') else console.log(res.data, '返回内容') // #endif const { data, statusCode } = res; if (statusCode === 200) { if (data.success == true) { return resolve(data) } else { if (data.code === '403') { uni.removeStorageSync('token'); uni.removeStorageSync('tokenFinance'); setTimeout(() => { uni.redirectTo({ url: "/pages/login/login" }) }, 1500) return reject({ ...data, message: res.errMsg }) } else if (data.code === '500') { return reject({ ...data }) } } } else { return reject({ ...data, message: res.errMsg }) } }, fail: (err) => { const locationInfo = uni.getStorageSync('m-location-info') if (locationInfo) { uni.showToast({ title: err.message ? err.message : '服务器开小差了~', icon: "none", duration: 2000 }) } reject(err) } }); }) } export default request;