| | |
| | | "use strict"; |
| | | /* WEBPACK VAR INJECTION */(function(uni) { |
| | | |
| | | var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); |
| | | Object.defineProperty(exports, "__esModule", { |
| | | value: true |
| | | }); |
| | | exports.default = void 0; |
| | | var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 30)); |
| | | var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 32)); |
| | | var install = function install(Vue, vm) { |
| | | // 是否正在刷新的标记 |
| | | var isRefreshing = false; |
| | | // 重试队列,每一项将是一个待执行的函数形式 |
| | | var requests = []; |
| | | |
| | | // 请求拦截器 |
| | | uni.$u.http.interceptors.request.use(function (config) { |
| | | var Headtoken = vm.$store.state.token; |
| | |
| | | |
| | | // 响应拦截器 |
| | | uni.$u.http.interceptors.response.use(function (response) { |
| | | if (response.data.code === 5112) { |
| | | if (!isRefreshing) { |
| | | isRefreshing = true; |
| | | uni.login({ |
| | | provider: 'weixin', |
| | | success: function () { |
| | | var _success = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(loginRes) { |
| | | var code; |
| | | return _regenerator.default.wrap(function _callee$(_context) { |
| | | while (1) { |
| | | switch (_context.prev = _context.next) { |
| | | case 0: |
| | | code = loginRes.code; |
| | | uni.request({ |
| | | url: vm.$baseUrl + 'web/account/wxLogin', |
| | | method: "GET", |
| | | data: { |
| | | code: code |
| | | }, |
| | | success: function success(res) { |
| | | console.log('res', res); |
| | | isRefreshing = false; |
| | | vm.$store.commit('setToken', res.data.data.token); |
| | | vm.$store.commit('setUserInfo', res.data.data.userResponse); |
| | | // 已经刷新了token,将所有队列中的请求进行重试 |
| | | requests.forEach(function (item) { |
| | | return item(res.data.data.token); |
| | | }); |
| | | requests = []; |
| | | } |
| | | }); |
| | | case 2: |
| | | case "end": |
| | | return _context.stop(); |
| | | } |
| | | } |
| | | }, _callee); |
| | | })); |
| | | function success(_x) { |
| | | return _success.apply(this, arguments); |
| | | } |
| | | return success; |
| | | }() |
| | | }); |
| | | } |
| | | return new Promise(function (resolve) { |
| | | requests.push(function (token) { |
| | | response.config.header['token'] = token; |
| | | resolve(uni.$u.http.request(response.config)); |
| | | }); |
| | | }); |
| | | } |
| | | if (response.data.code === 5113) { |
| | | uni.navigateTo({ |
| | | url: '/pages/index/index' |