wiz-frameworks
Version:
wizlong react framework
217 lines (187 loc) • 9.71 kB
JavaScript
;
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'];