|
|
@@ -46,7 +46,7 @@ class HTTP {
|
|
|
console.log("接口地址", this.baseUrl);
|
|
|
}
|
|
|
request({
|
|
|
- url,
|
|
|
+ url = '',
|
|
|
data = {},
|
|
|
method = "POST",
|
|
|
header = {
|
|
|
@@ -54,19 +54,28 @@ class HTTP {
|
|
|
"accesstoken": data.accesstoken || wx.getStorageSync('userMsg').token || '',
|
|
|
"Cookie": `JSESSIONID=${this.jsessionid}`
|
|
|
},
|
|
|
- showLoading = '加载中...'
|
|
|
+ suffix = '/yos/rest/index'
|
|
|
}) {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
- this._request(url, resolve, reject, data, method, header, showLoading);
|
|
|
+ this._request((suffix == '/yos/rest/index' ? this.baseUrl : "") + suffix + url, resolve, reject, data, method, header);
|
|
|
})
|
|
|
}
|
|
|
- _request(url, resolve, reject, data, method, header, showLoading) {
|
|
|
- /* if (showLoading) wx.showLoading({
|
|
|
- title: showLoading,
|
|
|
- mask: true
|
|
|
- }) */
|
|
|
+
|
|
|
+ getRequest({
|
|
|
+ url,
|
|
|
+ method = "GET",
|
|
|
+ header = {
|
|
|
+ "Cookie": `JSESSIONID=${this.jsessionid}`
|
|
|
+ }
|
|
|
+ }) {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ this._request(url, resolve, reject, {}, method, header);
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ _request(url, resolve, reject, data, method, header) {
|
|
|
wx.request({
|
|
|
- url: this.baseUrl + '/yos/rest/index' + url,
|
|
|
+ url: url,
|
|
|
data,
|
|
|
method,
|
|
|
header,
|
|
|
@@ -78,7 +87,6 @@ class HTTP {
|
|
|
reject(err);
|
|
|
},
|
|
|
complete: (res) => {
|
|
|
- // if (showLoading) wx.hideLoading()
|
|
|
this._handleSessionCookies(res);
|
|
|
if (res.errMsg != 'request:ok') {
|
|
|
wx.showToast({
|
|
|
@@ -102,38 +110,42 @@ class HTTP {
|
|
|
|
|
|
// 处理会话Cookie
|
|
|
_handleSessionCookies(res) {
|
|
|
- try {
|
|
|
- const cookies = res.cookies || [];
|
|
|
- const headers = res.header || {};
|
|
|
+ return new Promise((resolve) => {
|
|
|
+ try {
|
|
|
+ const cookies = res.cookies || [];
|
|
|
+ const headers = res.header || {};
|
|
|
|
|
|
- // 检查响应头中的Set-Cookie
|
|
|
- const setCookie = headers['Set-Cookie'] || headers['set-cookie'];
|
|
|
- if (setCookie) {
|
|
|
- // 将字符串转换为数组
|
|
|
- const cookieArray = Array.isArray(setCookie) ?
|
|
|
- setCookie : [setCookie];
|
|
|
+ // 检查响应头中的Set-Cookie
|
|
|
+ const setCookie = headers['Set-Cookie'] || headers['set-cookie'];
|
|
|
+ if (setCookie) {
|
|
|
+ // 将字符串转换为数组
|
|
|
+ const cookieArray = Array.isArray(setCookie) ?
|
|
|
+ setCookie : [setCookie];
|
|
|
|
|
|
- cookies.push(...cookieArray);
|
|
|
- }
|
|
|
+ cookies.push(...cookieArray);
|
|
|
+ }
|
|
|
|
|
|
- // 查找JSESSIONID
|
|
|
- for (const cookie of cookies) {
|
|
|
- const match = cookie.match(/JSESSIONID=([^;]+)/i);
|
|
|
- if (match && match[1]) {
|
|
|
- const newSessionId = match[1];
|
|
|
+ // 查找JSESSIONID
|
|
|
+ for (const cookie of cookies) {
|
|
|
+ const match = cookie.match(/JSESSIONID=([^;]+)/i);
|
|
|
+ if (match && match[1]) {
|
|
|
+ const newSessionId = match[1];
|
|
|
|
|
|
- // 更新JSESSIONID
|
|
|
- if (newSessionId !== this.jsessionid) {
|
|
|
- this.jsessionid = newSessionId;
|
|
|
- wx.removeStorageSync('JSESSIONID');
|
|
|
- wx.setStorageSync('JSESSIONID', newSessionId);
|
|
|
+ // 更新JSESSIONID
|
|
|
+ if (newSessionId !== this.jsessionid) {
|
|
|
+ this.jsessionid = newSessionId;
|
|
|
+ wx.removeStorageSync('JSESSIONID');
|
|
|
+ wx.setStorageSync('JSESSIONID', newSessionId);
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
- break;
|
|
|
}
|
|
|
+ resolve(this.jsessionid)
|
|
|
+ } catch (error) {
|
|
|
+ resolve(this.jsessionid)
|
|
|
+ console.error('处理会话Cookie时出错:', error);
|
|
|
}
|
|
|
- } catch (error) {
|
|
|
- console.error('处理会话Cookie时出错:', error);
|
|
|
- }
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
export {
|