From 99b052dca1da7d2723e6f7aa638c1a5883ff1845 Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Thu, 09 Jun 2022 11:19:48 +0800 Subject: [PATCH] 完善主机地址管理工具 --- bases/Fetcher.js | 36 +++++++++++++++++++----------------- 1 files changed, 19 insertions(+), 17 deletions(-) diff --git a/bases/Fetcher.js b/bases/Fetcher.js index cc10077..81e27e2 100644 --- a/bases/Fetcher.js +++ b/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') || '{}'); -- Gitblit v1.9.1