const Cache = require('../utils/storage'); // 定义api服务地址 // const baseUrl = 'https://www.xzszwhy.cn/daqi/app'; const operatorUrl = 'http://192.168.0.15:8091/operator'; const copyrightUrl = 'http://192.168.0.15:7025/copyright'; const uploadImgUrl = copyrightUrl + '/api/file/v2/upload-image' const previewUrl = copyrightUrl + '/route/file/v2/download/true/' /** * 传入请求参数,返回Promise支持链试调用 * @param url 请求地址 * @param method 请求方法类型,不传入默认是"GET" * @param data 请求体数据 * @param params 请求参数 */ function request(url, method = "GET", data = {}, params = {}, project = "copyright", needToken = true) { const header = { "content-type": "application/json" // 有其他content-type需求加点逻辑判断处理即可 } //是否需要token if (needToken) { const token = Cache.get('token') if (token) { header.Auth = `Bearer ${token}`; } } //判断项目 var baseUrl = operatorUrl if (project == 'operator') { baseUrl = operatorUrl } else if (project == 'copyright') { baseUrl = copyrightUrl } else { baseUrl = copyrightUrl } return new Promise(function (resolve, reject) { wx.request({ url: baseUrl + url, timeout: 8000, method, data, dataType: "json", // 微信官方文档中介绍会对数据进行一次JSON.parse header, success(res) { // wx.hideLoading(); // HTTP状态码为200才视为成功 if (res.statusCode === 200) { // 真正的数据响应体中还有一层success字段判断业务状态,按实际情况处理 resolve(res.data) // if (res.data.success) { // resolve(res.data.result) // } else { // // 业务判断错误 // reject(res) // } } else { console.log('错误success') // wx.request的特性,只要有响应就会走success回调,所以在这里判断状态,非200的均视为请求失败 reject(res.data) } }, fail(err) { // wx.hideLoading(); // 断网、服务器挂了都会fail回调,直接reject即可 console.log('错误') if (err.data) { reject(err.data) } else { reject(err) } } }) }) } // 导出请求和服务地址 export { request, uploadImgUrl, previewUrl, copyrightUrl }