88 lines
2.6 KiB
JavaScript
88 lines
2.6 KiB
JavaScript
const Cache = require('../utils/storage');
|
||
import {
|
||
operatorUrl,
|
||
operatorPlug,
|
||
uploadImgUrl,
|
||
previewUrl,
|
||
copyrightUrl,
|
||
imgAssets,
|
||
appUrl
|
||
} from '../net/mainUrl'
|
||
|
||
/**
|
||
* 传入请求参数,返回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 if (project == 'plug') {
|
||
baseUrl = operatorPlug
|
||
}
|
||
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,
|
||
imgAssets,
|
||
appUrl
|
||
} |