UNPKG

wiz-frameworks

Version:

wizlong react framework

217 lines (187 loc) 9.71 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /** * model user * @description 1.token登录 2.实时获取user * @author mll * @date 2020-12-28 * */ var _tool = require('../../tool'); var _request = require('../../request'); var _router = require('dva/router'); var Storage = _tool.utils_tool.Storage; var requestUrl = { get: _request.get, post: _request.post, put: _request.put, _delete: _request._delete }; var WizNotice = _tool.component_tool.WizNotice; exports['default'] = { namespace: 'user', state: {}, subscriptions: { setup: function setup(_ref) { var history = _ref.history, dispatch = _ref.dispatch; return history.listen(function (params) { var search = params.search; if (search && search !== '') { var token = void 0; if (search.indexOf('?') !== -1) { var _search = search.split('?')[1].split('&'); if (_search && _search.length) { _search.map(function (s) { var p = s.split('='); if (p && p.length) { if (p[0] === 'tk') { token = p[1]; } } }); } } // let nowToken = Storage.getStorage('token'); // if (token && token !== '' && nowToken !== token) {//相同token不需要重新登录 // Storage.setStorage('token', token); // dispatch({ // type: 'getUserByToken', // payload: {} // }) // } if (token && token !== '') { Storage.setStorage('token', token); dispatch({ type: 'getUserByToken', payload: {} }); } } }); } }, effects: { getUserByToken: /*#__PURE__*/regeneratorRuntime.mark(function getUserByToken(_ref2, _ref3) { var payload = _ref2.payload; var call = _ref3.call, put = _ref3.put; var _ref4, success, msg, data; return regeneratorRuntime.wrap(function getUserByToken$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: if (!network()) { _context.next = 19; break; } _context.next = 3; return call(requestUrl.get, constants.urls.kUrlUserInfo, payload); case 3: _ref4 = _context.sent; success = _ref4.success; msg = _ref4.msg; data = _ref4.data; if (success) { _context.next = 12; break; } console.log('token login fail:', msg); WizNotice.error('登录授权失败,请重新登录'); //dispatch(routerRedux.replace({ pathname: constants.env.sys_login_path || '/' })) _context.next = 17; break; case 12: console.log('token login success '); Storage.setStorage('user', _extends({}, data)); Storage.setStorage('isLogin', true); _context.next = 17; return put({ type: 'setUserSuccess', payload: _extends({}, data) }); case 17: _context.next = 21; break; case 19: console.log('record routes fail : network error'); WizNotice.error('请求失败,当前网络不可用'); case 21: case 'end': return _context.stop(); } } }, getUserByToken, this); }), getUser: /*#__PURE__*/regeneratorRuntime.mark(function getUser(_ref5, _ref6) { var payload = _ref5.payload; var call = _ref6.call, put = _ref6.put; var user; return regeneratorRuntime.wrap(function getUser$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: user = Storage.getStorage('user') || {}; _context2.next = 3; return put({ type: 'setUserSuccess', payload: _extends({}, user) }); case 3: case 'end': return _context2.stop(); } } }, getUser, this); }), setUser: /*#__PURE__*/regeneratorRuntime.mark(function setUser(_ref7, _ref8) { var payload = _ref7.payload; var call = _ref8.call, put = _ref8.put; var _payload$user, user; return regeneratorRuntime.wrap(function setUser$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _payload$user = payload.user, user = _payload$user === undefined ? {} : _payload$user; Storage.setStorage('user', _extends({}, user)); _context3.next = 4; return put({ type: 'setUserSuccess', payload: _extends({}, user) }); case 4: case 'end': return _context3.stop(); } } }, setUser, this); }), init: /*#__PURE__*/regeneratorRuntime.mark(function init(_ref9, _ref10) { var payload = _ref9.payload; var put = _ref10.put; var user; return regeneratorRuntime.wrap(function init$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: user = Storage.getStorage('user') || {}; _context4.next = 3; return put({ type: 'setUserSuccess', payload: _extends({}, user) }); case 3: case 'end': return _context4.stop(); } } }, init, this); }) }, reducers: { setUserSuccess: function setUserSuccess(state, _ref11) { var payload = _ref11.payload; return _extends({}, state, payload); } } }; module.exports = exports['default'];