|
|
@@ -13,22 +13,11 @@ function parseUrl(url) {
|
|
|
return _baseUrl + url;
|
|
|
}
|
|
|
const http = {
|
|
|
- waitList: [],
|
|
|
- _token: null,
|
|
|
- get token() {
|
|
|
- if (!this._token) {
|
|
|
- try {
|
|
|
- this._token = wx.getStorageSync('token');
|
|
|
- } catch (e) {}
|
|
|
- }
|
|
|
- return this._token;
|
|
|
- },
|
|
|
- set token(x) {
|
|
|
- wx.setStorageSync('token', x);
|
|
|
- this._token = x;
|
|
|
- this.waitList.forEach(i => i());
|
|
|
- },
|
|
|
parseUrl: parseUrl,
|
|
|
+ setToken(token) {
|
|
|
+ wx.setStorageSync('token', token);
|
|
|
+ this.token = token;
|
|
|
+ },
|
|
|
clearToken() {
|
|
|
this.token = '';
|
|
|
wx.removeStorageSync('token');
|
|
|
@@ -42,131 +31,88 @@ const http = {
|
|
|
}
|
|
|
return this.token;
|
|
|
},
|
|
|
- waitForToken() {
|
|
|
- if (this.token) {
|
|
|
- return Promise.resolve();
|
|
|
- } else {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- this.waitList.push(resolve);
|
|
|
- });
|
|
|
- }
|
|
|
- },
|
|
|
get(url, params, options) {
|
|
|
options = options || {};
|
|
|
return new Promise((resolve, reject) => {
|
|
|
- this.waitForToken().then(() => {
|
|
|
- wx.request({
|
|
|
- method: 'GET',
|
|
|
- url: parseUrl(url),
|
|
|
- data: params,
|
|
|
- dataType: 'json',
|
|
|
- header: {
|
|
|
- Accept: 'application/json',
|
|
|
- Authorization: this.token ? 'Bearer ' + this.token : '',
|
|
|
- ...(options.header || {})
|
|
|
- },
|
|
|
- success(res) {
|
|
|
- if (res && res.statusCode === 200) {
|
|
|
- resolve(res.data);
|
|
|
- } else {
|
|
|
- reject(res.data || res);
|
|
|
- }
|
|
|
- },
|
|
|
- fail(err) {
|
|
|
- reject(err.data || err);
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- post(url, data, options) {
|
|
|
- options = options || {};
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- this.waitForToken().then(() => {
|
|
|
- wx.request({
|
|
|
- method: 'post',
|
|
|
- url: parseUrl(url),
|
|
|
- data: data,
|
|
|
- dataType: 'json',
|
|
|
- header: {
|
|
|
- Accept: 'application/json',
|
|
|
- 'content-type': 'application/x-www-form-urlencoded',
|
|
|
- Authorization: this.token ? 'Bearer ' + this.token : '',
|
|
|
- ...(options.header || {})
|
|
|
- },
|
|
|
- success(res) {
|
|
|
- if (res && res.statusCode === 200) {
|
|
|
- resolve(res.data);
|
|
|
- } else {
|
|
|
- reject(res.data || res);
|
|
|
- }
|
|
|
- },
|
|
|
- fail(err) {
|
|
|
- reject(err.data || err);
|
|
|
+ wx.request({
|
|
|
+ method: 'GET',
|
|
|
+ url: parseUrl(url),
|
|
|
+ data: params,
|
|
|
+ dataType: 'json',
|
|
|
+ header: {
|
|
|
+ Accept: 'application/json',
|
|
|
+ Authorization: this.getToken() ? 'Bearer ' + this.getToken() : 'Bearer ',
|
|
|
+ ...(options.header || {})
|
|
|
+ },
|
|
|
+ success(res) {
|
|
|
+ if (res && res.statusCode === 200) {
|
|
|
+ resolve(res.data);
|
|
|
+ } else {
|
|
|
+ reject(res.data || res);
|
|
|
}
|
|
|
- });
|
|
|
+ },
|
|
|
+ fail(err) {
|
|
|
+ reject(err.data || err);
|
|
|
+ }
|
|
|
});
|
|
|
});
|
|
|
},
|
|
|
- postJson(url, data, options) {
|
|
|
+ post(url, data, options, backHeader = false) {
|
|
|
+ console.log('post');
|
|
|
options = options || {};
|
|
|
return new Promise((resolve, reject) => {
|
|
|
- this.waitForToken().then(() => {
|
|
|
- wx.request({
|
|
|
- method: 'post',
|
|
|
- url: parseUrl(url),
|
|
|
- data: data,
|
|
|
- dataType: 'json',
|
|
|
- header: {
|
|
|
- Accept: 'application/json',
|
|
|
- 'Content-Type': 'application/json',
|
|
|
- Authorization: this.token ? 'Bearer ' + this.token : '',
|
|
|
- ...(options.header || {})
|
|
|
- },
|
|
|
- success(res) {
|
|
|
- if (res && res.statusCode === 200) {
|
|
|
- resolve(res.data);
|
|
|
- } else {
|
|
|
- reject(res.data || res);
|
|
|
- }
|
|
|
- },
|
|
|
- fail(err) {
|
|
|
- reject(err.data || err);
|
|
|
+ wx.request({
|
|
|
+ method: 'post',
|
|
|
+ url: parseUrl(url),
|
|
|
+ data: data,
|
|
|
+ dataType: 'json',
|
|
|
+ header: {
|
|
|
+ Accept: 'application/json',
|
|
|
+ 'content-type': 'application/x-www-form-urlencoded',
|
|
|
+ Authorization: this.getToken() ? 'Bearer ' + this.getToken() : '',
|
|
|
+ ...(options.header || {})
|
|
|
+ },
|
|
|
+ success(res) {
|
|
|
+ if (res && res.statusCode === 200) {
|
|
|
+ resolve(backHeader ? res : res.data);
|
|
|
+ } else {
|
|
|
+ reject(res.data || res);
|
|
|
}
|
|
|
- });
|
|
|
+ },
|
|
|
+ fail(err) {
|
|
|
+ reject(err.data || err);
|
|
|
+ }
|
|
|
});
|
|
|
});
|
|
|
},
|
|
|
uploadFile(filePath, options) {
|
|
|
options = options || {};
|
|
|
return new Promise((resolve, reject) => {
|
|
|
- this.waitForToken().then(() => {
|
|
|
- wx.uploadFile({
|
|
|
- url: baseUrl + '/upload/file',
|
|
|
- filePath: filePath,
|
|
|
- name: 'file',
|
|
|
- header: {
|
|
|
- Accept: 'application/json',
|
|
|
- 'content-type': 'application/x-www-form-urlencoded',
|
|
|
- Authorization: this.token ? 'Bearer ' + this.token : '',
|
|
|
- ...(options.header || {})
|
|
|
- },
|
|
|
- formData: options.formData || {},
|
|
|
- success(res) {
|
|
|
- if (res && res.statusCode === 200) {
|
|
|
- try {
|
|
|
- resolve(JSON.parse(res.data));
|
|
|
- } catch (e) {
|
|
|
- resolve(res.data);
|
|
|
- }
|
|
|
- } else {
|
|
|
- reject(res);
|
|
|
+ wx.uploadFile({
|
|
|
+ url: baseUrl + '/upload/file',
|
|
|
+ filePath: filePath,
|
|
|
+ name: 'file',
|
|
|
+ header: {
|
|
|
+ Accept: 'application/json',
|
|
|
+ 'content-type': 'application/x-www-form-urlencoded',
|
|
|
+ Authorization: this.getToken() ? 'Bearer ' + this.getToken() : '',
|
|
|
+ ...(options.header || {})
|
|
|
+ },
|
|
|
+ formData: options.formData || {},
|
|
|
+ success(res) {
|
|
|
+ if (res && res.statusCode === 200) {
|
|
|
+ try {
|
|
|
+ resolve(res.data);
|
|
|
+ } catch (e) {
|
|
|
+ reject(e);
|
|
|
}
|
|
|
- },
|
|
|
- fail(err) {
|
|
|
- reject(err);
|
|
|
+ } else {
|
|
|
+ reject(res);
|
|
|
}
|
|
|
- });
|
|
|
+ },
|
|
|
+ fail(err) {
|
|
|
+ reject(err);
|
|
|
+ }
|
|
|
});
|
|
|
});
|
|
|
}
|