WebApp【公共组件库】@前端(For Git Submodule)
Tevin
2021-01-06 9b5d2b2994faf3db15fbda99c4390b4a505fd506
bases/Fetcher.js
@@ -4,6 +4,7 @@
 */
import Taro from '@tarojs/taro';
import Qs from 'qs';
import {Tools} from '@components/common/Tools';
export class Fetcher {
@@ -29,8 +30,9 @@
            'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
            'Ax-Rq-Type': 'separation',
        },
        credentials: 'same-origin',
        dataType: 'json',
        timeout: 10000,
        timeout: 30 * 1000,
    };
    /**
@@ -80,6 +82,12 @@
     * @return {Promise<any>}
     */
    get(url, data, remap = [], options = null) {
        const params = Qs.stringify(data);
        if (url.indexOf('?') >= 0) {
            url += '&' + params;
        } else {
            url += '?' + params;
        }
        return this.query('get', url, null, remap, options);
    }
@@ -92,7 +100,15 @@
     * @return {Promise<any>}
     */
    post(url, data, remap = [], options = null) {
        return this.query('post', url, data, remap, options);
        const params = Qs.stringify(data);
        const data2 = {};
        params.split('&').forEach(param => {
            if (param) {
                const item = param.split('=');
                data2[decodeURIComponent(item[0])] = decodeURIComponent(item[1]);
            }
        });
        return this.query('post', url, data2, remap, options);
    }
    /**
@@ -104,7 +120,7 @@
     * @param {object} [options]
     * @return {Promise<any>|}
     */
    query(type, url, data = null, remap, options) {
    query(type, url, data = null, remap, options = {}) {
        return new Promise((resolve, reject) => {
            Taro.request({
                ...this._defaultConfig,
@@ -426,7 +442,7 @@
        } else {
            // 修复补齐
            if (type === 'fix') {
                if (!path || /^\/(upload|static)/.test(path)) {
                if (!path || /^(http|\/upload|\/static)/.test(path)) {
                    return path;
                } else {
                    return '/upload/' + path;