|
|
@ -5,7 +5,9 @@ const Method = { |
|
|
|
} |
|
|
|
// 定义一些通用常量
|
|
|
|
const HTTPConst = { |
|
|
|
TokenStoreKey: 'ETokenKey' |
|
|
|
TokenStoreKey: 'ETokenKey', |
|
|
|
UserInfoStoreKey: 'EUserInfo', |
|
|
|
TokenURL: '/api/miniuser/getToken' |
|
|
|
} |
|
|
|
class HTTP { |
|
|
|
constructor() { |
|
|
@ -21,7 +23,8 @@ class HTTP { |
|
|
|
} |
|
|
|
// token 拼接到 请求体中
|
|
|
|
let data = params.data |
|
|
|
console.log(data) |
|
|
|
console.log('请求参数:') |
|
|
|
console.log({token: token, ...data}) |
|
|
|
wx.request({ |
|
|
|
url: url, |
|
|
|
data: data, |
|
|
@ -32,12 +35,20 @@ class HTTP { |
|
|
|
method: params.method, |
|
|
|
dataType: 'json', |
|
|
|
success: function (res) { |
|
|
|
console.log(res) |
|
|
|
console.log(res.data) |
|
|
|
let code = res.statusCode.toString() |
|
|
|
let startCode = code.charAt(0) |
|
|
|
if (startCode == '2') { |
|
|
|
if (res.data.code == 200 || res.data.code == 0) { |
|
|
|
params.success && params.success(res.data) |
|
|
|
} else if (res.data.code == 302) { |
|
|
|
// token 无效
|
|
|
|
this.fetchAuthToken(res => { |
|
|
|
// 请求Token后,重新请求URL
|
|
|
|
if(res.code == 200) { |
|
|
|
this.request(params) |
|
|
|
} |
|
|
|
}) |
|
|
|
} else { |
|
|
|
console.log('数据请求失败') |
|
|
|
wx.showToast({ |
|
|
@ -63,5 +74,40 @@ class HTTP { |
|
|
|
}, |
|
|
|
}) |
|
|
|
} |
|
|
|
// 获取 Token
|
|
|
|
fetchAuthToken(success) { |
|
|
|
// 获取token
|
|
|
|
this._fetchWXCode().then(res => { |
|
|
|
console.log('啦啦啦啦凉啊') |
|
|
|
console.log(res) |
|
|
|
if (!res) return |
|
|
|
let params = { |
|
|
|
url: HTTPConst.TokenURL, |
|
|
|
method: Method.POST, |
|
|
|
data: { |
|
|
|
code: res |
|
|
|
}, |
|
|
|
success: (data) => { |
|
|
|
// 将获取到的token存放起来
|
|
|
|
const { token, userInfo } = data.result |
|
|
|
wx.setStorageSync(HTTPConst.UserInfoStoreKey, userInfo) |
|
|
|
wx.setStorageSync(HTTPConst.TokenStoreKey, token) |
|
|
|
success(data) |
|
|
|
}, |
|
|
|
} |
|
|
|
this.request(params) |
|
|
|
}) |
|
|
|
} |
|
|
|
// 获取微信code
|
|
|
|
_fetchWXCode() { |
|
|
|
return new Promise(resolve => { |
|
|
|
wx.login({ |
|
|
|
success(res) { |
|
|
|
console.log('获取Code成功 ' + res.code) |
|
|
|
resolve(res.code) |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
export { HTTP, Method, HTTPConst } |
|
|
|