import config from "config" /** * http请求 * @author * @param {Object} params */ function request(params) { //console.log(params) const token = uni.getStorageSync('token') return new Promise((resolve, reject) => { try { params.url = config.domain + params.url params.method = params.method || 'POST' if (params.loadingTip === '' || params.loadingTip) { uni.showLoading({ title: params.loadingTip }) } uni.request({ ...params, header: { "authorization": token || '', }, success: (res) => { // 防止组件那边使用showLoading这里提前关闭 if (params.loadingTip === '' || params.loadingTip) { uni.hideLoading() } // 这里判断code为1,组件那边不需要再判断then回调就是成功 if (res.statusCode === 200 && res.data.code === 200) { resolve(res.data) } else if (res.statusCode === 401 || res.data.code === 401) { // 未登录,或登录过期 toLogin() } else if (res.statusCode === 200 || res.data.code === 500) { this.$wskj.toast('接口异常') } else { reject(res.data || {}) } logApiRequest(params, res.data) }, fail: (err) => { console.log(err); uni.hideLoading() reject(err || {}) } }) } catch (err) { reject(err) } }) } //封装日志打印函数 function logApiRequest(data, response) { console.log(`========== 接口请求start日志 ==========`); console.log(data); console.log(response); if (response.code == 500) { uni.showToast({ title: response.msg, icon: 'none', duration: 2000 // 持续时间,单位ms }); } console.log(`========== 接口请求end日志 ==========`); } function toLogin() { uni.clearStorageSync(); uni.showModal({ title: '提示', content: '您的登录失效,是否重新登录?', success(res) { console.log(res) if (res.confirm) { uni.redirectTo({ url: '/pages/login/wechatlogin' }) } } }) } export default request