WebApp【公共组件库】@前端(For Git Submodule)
Tevin
2022-06-09 ec96dba4bffefd2e66877ce4536c1c44b26e766a
bases/Fetcher.js
@@ -19,15 +19,6 @@
        this._data = {
            urlPrefix: options.urlPrefix || ['/api/common/', '/api/common/'],
        };
        // mock 模式转换地址
        if ($hostBoot.isOnMock()) {
            this._defaultConfig.url += (project.host.assetsPath.indexOf('..') === 0 ? '/' : '') +
                project.host.assetsPath.replace('/assets', '/mocks');
        }
        // 正常模式
        else {
            this._defaultConfig.url = '';
        }
    }
    /**
@@ -141,23 +132,18 @@
            const header = {
                ...this._defaultConfig.header,
            };
            // 小程序中追加 cookie
            if (process.env.TARO_ENV === 'weapp') {
                header['Cookie'] = this._getCookies();
            }
            // 如果指定了主机名,使用固定主机地址,否则使用默认地址
            let urlPrefix = '';
            if (options.hostName) {
                urlPrefix = $hostBoot.getHost(options.hostName) + this._defaultConfig.url;
            } else {
                urlPrefix = $hostBoot.getHost() + this._defaultConfig.url;
            }
            Taro.request({
                ...this._defaultConfig,
                header,
                url: urlPrefix + url,
                url: this._createUrlPrefix(options) + url,
                method: type.toUpperCase(),
                data,
                success: response => {
                    // 小程序中保存 cookie
                    if (process.env.TARO_ENV === 'weapp') {
                        this._saveCookies(response.cookies);
                    }
@@ -184,6 +170,22 @@
        });
    }
    _createUrlPrefix(options) {
        // 如果指定了主机类,使用固定主机类型地址,否则使用默认主机类型地址
        let urlPrefix = '';
        if (options.hostType) {
            urlPrefix = $hostBoot.getHost(options.hostType);
        } else {
            urlPrefix = $hostBoot.getHost();
        }
        // mock 模式转换地址
        if ($hostBoot.isOnMock()) {
            urlPrefix += (project.host.assetsPath.indexOf('..') === 0 ? '/' : '') +
                project.host.assetsPath.replace('/assets', '/mocks');
        }
        return urlPrefix;
    }
    // 小程序中,保存 cookies
    _saveCookies(cookies) {
        const localCookies = JSON.parse(Taro.getStorageSync('cookies') || '{}');