140 lines
3.1 KiB
JavaScript
140 lines
3.1 KiB
JavaScript
/*
|
|
* 手太欠
|
|
* 愿这世界都如故事里一样 美好而动人~
|
|
*/
|
|
|
|
import { errInfo } from './err'
|
|
import { updToken } from './updateToken'
|
|
|
|
// 请求方式配置
|
|
// //正式地址
|
|
// https://api.xhtest.douhuofalv.com/api/ //测试地址
|
|
// wx989712ad2d06a40b 测试appid 三猿
|
|
// wx7662853c6f7f46b4 正式appid
|
|
// 正式环境
|
|
const api = "https://api.xhtest.douhuofalv.com/api/" // 测试环境
|
|
const header = {
|
|
"Accept" : "application/json"
|
|
}
|
|
let isToken = true
|
|
|
|
/**
|
|
* 请求
|
|
* @property {Object} req
|
|
*/
|
|
|
|
const req = (obj, noToken) => {
|
|
// 检查是否无需要token
|
|
if(noToken != undefined){
|
|
isToken = noToken
|
|
}
|
|
|
|
// header
|
|
if(obj.token){
|
|
header.Authorization = obj.token || ''
|
|
} else {
|
|
header.Authorization = wx.getStorageSync("token") || ""
|
|
}
|
|
|
|
// 处理请求信息
|
|
return new Promise((resolve, reject) => {
|
|
// 组合header
|
|
obj.header = {
|
|
"Accept" : "application/json",
|
|
"channel" : "client",
|
|
"Authorization" : wx.getStorageSync("token") || ""
|
|
}
|
|
if(!isToken){
|
|
obj.header.Authorization = ''
|
|
}
|
|
wx.request({
|
|
timeout: '13000',
|
|
url : api + obj.url,
|
|
header : obj.header || {},
|
|
method : obj.method || 'GET',
|
|
data : obj.data || {},
|
|
success : res => {
|
|
// 更新token
|
|
if (res.header.Authorization) updToken(res.header.Authorization)
|
|
// 处理信息
|
|
if (res.data.status_code == 200) {
|
|
resolve(res.data)
|
|
} else {
|
|
if (res.data.status_code == 401 || res.data.status_code == 400) {
|
|
reject({
|
|
login : false,
|
|
codeBeen: false
|
|
})
|
|
}
|
|
reject(res)
|
|
errInfo(res.data)
|
|
}
|
|
},
|
|
fail: err => {
|
|
wx.showToast({
|
|
title : (err.errMsg).indexOf('108') > 0 ? "网络错误,请检查您的网络环境" : err.errMsg,
|
|
icon : "none"
|
|
})
|
|
reject(err)
|
|
},
|
|
complete(){
|
|
if(!isToken) isToken = true
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
|
|
/**
|
|
* 上传
|
|
* @property {Object} upload
|
|
*/
|
|
|
|
const upload = (obj) => {
|
|
// header
|
|
header.Authorization = wx.getStorageSync("token") || ""
|
|
// 处理上传信息
|
|
return new Promise((resolve, reject) => {
|
|
wx.showLoading({
|
|
title: "上传中..",
|
|
mask: true
|
|
})
|
|
wx.uploadFile({
|
|
url : api + obj.url,
|
|
header : header,
|
|
name : obj.key || "",
|
|
filePath: obj.path || "",
|
|
formData: obj.data || {},
|
|
success : res=>{
|
|
wx.hideLoading();
|
|
// 处理返回值
|
|
let jsonData = JSON.parse(res.data)
|
|
// 更新token
|
|
if (res.header.Authorization) updToken(res.header.Authorization)
|
|
// 处理信息
|
|
if (jsonData.status_code == 200) {
|
|
resolve(jsonData.data)
|
|
} else {
|
|
if (jsonData.status_code == 401) {
|
|
reject({
|
|
login: false
|
|
})
|
|
}
|
|
errInfo(jsonData)
|
|
}
|
|
},
|
|
fail : err=>{
|
|
wx.showToast({
|
|
title : err.errMsg,
|
|
icon : "none"
|
|
})
|
|
reject(err)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
module.exports = {
|
|
req,
|
|
upload
|
|
} |