From 487719b3188aaafcca49104b4ce62035dc29e953 Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Wed, 21 Apr 2021 15:45:38 +0800 Subject: [PATCH] 实现表单日期时间选择组件 --- bases/Fetcher.js | 32 +++++++++++++++++++++++++++++++- 1 files changed, 31 insertions(+), 1 deletions(-) diff --git a/bases/Fetcher.js b/bases/Fetcher.js index aae3313..537931d 100644 --- a/bases/Fetcher.js +++ b/bases/Fetcher.js @@ -128,12 +128,22 @@ */ query(type, url, data = null, remap, options = {}) { return new Promise((resolve, reject) => { + const header = { + ...this._defaultConfig.header, + }; + if (process.env.TARO_ENV === 'weapp') { + header['Cookie'] = this._getCookies(); + } Taro.request({ ...this._defaultConfig, + header, url: this._defaultConfig.url + url, method: type.toUpperCase(), data, success: response => { + if (process.env.TARO_ENV === 'weapp') { + this._saveCookies(response.cookies); + } /** * @type {{state: {code, http, msg}, data: Object}} * @example response.state.code @@ -153,6 +163,24 @@ }, }); }); + } + + _saveCookies(cookies) { + const localCookies = JSON.parse(wx.getStorageSync('cookies') || '{}'); + cookies.forEach(cookie => { + const mc = cookie.match(/([a-zA-Z0-9_\-]+)=(.*?);/); + localCookies[mc[1]] = mc[2]; + }); + wx.setStorageSync('cookies', JSON.stringify(localCookies)); + } + + _getCookies() { + const localCookies = JSON.parse(wx.getStorageSync('cookies') || '{}'); + const cookiesArr = []; + Object.keys(localCookies).forEach(key => { + cookiesArr.push(key + '=' + localCookies[key]); + }); + return cookiesArr.join('; '); } /** @@ -287,7 +315,9 @@ this.message('info', response.state.msg); return null; } else if (response.state.code === 9001) { - // this._showLoginExpired(); + if (process.env.TARO_ENV === 'weapp') { + Taro.navigateTo({ url: '/pages/home/index/index?mode=login' }); + } } else { this.message('error', response.state.msg); return null; -- Gitblit v1.9.1