ming-demo1
Version:
mdf metaui web
804 lines (684 loc) • 25 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.usernameChange = usernameChange;
exports.passwordChange = passwordChange;
exports.login = login;
exports.init = init;
exports.billingInit = billingInit;
exports.logout = logout;
exports.setAccountMsg = setAccountMsg;
exports.setAccountActiveKey = setAccountActiveKey;
exports.getLoginUser = getLoginUser;
exports.changeOrg = changeOrg;
exports.changeStore = changeStore;
exports.changeGrade = changeGrade;
exports.weChatLogin = weChatLogin;
exports.switchInterMode = switchInterMode;
exports["default"] = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _immutable = _interopRequireDefault(require("immutable"));
var _cookiesJs = _interopRequireDefault(require("cookies-js"));
var _moment = _interopRequireDefault(require("moment"));
var _ActionStatus = _interopRequireDefault(require("../constants/ActionStatus"));
var _env = _interopRequireDefault(require("../helpers/env"));
var _util = require("@mdf/cube/lib/helpers/util");
var _tree = require("./tree");
var _tabs = require("./tabs");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
var user = {
usernameMsg: '',
passwordMsg: '',
errorMsg: '',
id: null,
username: null,
password: null,
corp_id: null,
pubuts: null,
bActivate: null,
bEmailValid: null,
bMobileValid: null,
mobile: null,
salt: null,
iDeleted: null,
bCorpRegister: false,
dataSourceName: null,
alias: null,
token: null,
accountCurrentKey: 'personalInfo',
enableLogin: process.env.NODE_ENV === 'development' ? true : false
};
var $$initialState = _immutable["default"].fromJS(_objectSpread({}, user, {
loginStatus: _ActionStatus["default"].READY
}));
var _default = function _default() {
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : $$initialState;
var action = arguments.length > 1 ? arguments[1] : undefined;
switch (action.type) {
case 'PLATFORM_UI_USER_INIT':
if (process.env.__CLIENT__) {
var loginUserBackup = state.get('loginUserBackup');
if (!loginUserBackup) return state;
var loginUser = loginUserBackup.toJS();
cb.rest.AppContext.tenant = loginUser.tenant;
delete loginUser.tenant;
cb.rest.AppContext.option = loginUser.option;
delete loginUser.option;
cb.rest.AppContext.user = loginUser;
return state;
}
buildUser(action.payload);
return state.merge(action.payload);
case 'PLATFORM_DATA_USER_LOGIN':
return state.set('loginStatus', _ActionStatus["default"].ING);
case 'PLATFORM_DATA_USER_LOGIN_SUCCEED':
buildUser(action.payload);
return state.set('loginStatus', _ActionStatus["default"].SUCCEED).set('errorMsg', '').merge(action.payload);
case 'PLATFORM_DATA_USER_LOGIN_FAILURE':
return state.set('loginStatus', _ActionStatus["default"].FAILURE).merge(action.payload);
case 'PLATFORM_DATA_LOGIN_OUT':
_cookiesJs["default"].expire('user');
var nullData = {
id: null,
username: null,
password: null,
corp_id: null,
pubuts: null,
bActivate: null,
bEmailValid: null,
bMobileValid: null,
mobile: null,
salt: null,
iDeleted: null,
bCorpRegister: null,
dataSourceName: null,
alias: null,
token: null
};
return state.merge(_objectSpread({}, nullData, {
loginStatus: _ActionStatus["default"].READY
}));
case 'PLATFORM_DATA_USER_ACCOUNT_SET_ACCOUNT_MSG':
return state.merge(action.payload);
case 'PLATFORM_DATA_USER_ACCOUNT_SET_ACCOUNT_ACTIVE_KEY':
return state.set('accountCurrentKey', action.payload);
case 'PLATFORM_DATA_USER_ACCOUNT_CHANGE_ORG':
return state.merge(action.payload);
case 'PLATFORM_DATA_USER_ACCOUNT_CHANGE_STORE':
return state.merge(action.payload);
case 'PLATFORM_DATA_USER_ACCOUNT_CHANGE_GRADE':
return state.merge(action.payload);
case 'PLATFORM_DATA_USER_ACCOUNT_MERGE_INFO':
return state.merge(action.payload);
case 'PLATFORM_DATA_CORP_SYSTEMSET_PASS_LOGO':
return state.merge(action.payload);
default:
return state;
}
};
exports["default"] = _default;
var buildUser = function buildUser(user) {
var userOrgs = user.userOrgs,
userStores = user.userStores,
orgId = user.orgId,
storeId = user.storeId;
var defaultOrgName, defaultStoreName;
userOrgs && userOrgs.forEach(function (item) {
if (item.org == orgId) defaultOrgName = item.org_name;
});
userStores && userStores.forEach(function (item) {
if (item.store == storeId) defaultStoreName = item.store_name;
});
Object.assign(user, {
defaultOrgName: defaultOrgName,
defaultStoreName: defaultStoreName
});
user.loginUserBackup = JSON.parse(JSON.stringify(user));
};
function usernameChange(value, usernameMsg) {
return function (dispatch) {
if (value && usernameMsg) dispatch((0, _util.genAction)('PLATFORM_DATA_USER_LOGIN_FAILURE', {
usernameMsg: ''
}));
};
}
function passwordChange(value, passwordMsg) {
return function (dispatch) {
if (value && passwordMsg) dispatch((0, _util.genAction)('PLATFORM_DATA_USER_LOGIN_FAILURE', {
passwordMsg: ''
}));
};
}
var clearCache = function clearCache() {
localStorage.removeItem('defaultGrade');
localStorage.removeItem('billing_lastBill');
localStorage.removeItem('billing_lastBillId');
localStorage.removeItem('billing_printTemplate');
};
function login(data) {
return function () {
var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(dispatch) {
var usernameMsg, passwordMsg, config, json, option, showOptions, rememberAccount;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_LOGIN'));
if (!(process.env.NODE_ENV !== 'development' || data.username)) {
_context.next = 10;
break;
}
usernameMsg = null, passwordMsg = null;
if (!data.username) usernameMsg = '登录账号不能为空';
if (!data.password) passwordMsg = '密码不能为空';
if (!(usernameMsg || passwordMsg)) {
_context.next = 8;
break;
}
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_LOGIN_FAILURE', {
usernameMsg: usernameMsg,
passwordMsg: passwordMsg
}));
return _context.abrupt("return");
case 8:
_context.next = 12;
break;
case 10:
data.username = 'xmcs001';
data.password = '123456';
case 12:
config = {
url: _env["default"].HTTP_USER_LOGIN,
method: 'POST',
options: {
uniform: false,
token: false
},
params: data
};
_context.next = 15;
return (0, _util.proxy)(config);
case 15:
json = _context.sent;
console.log(json);
if (!(json.code === 200)) {
_context.next = 73;
break;
}
localStorage.setItem('token', json.data.token);
cb.rest.ContextBuilder.construct();
config = {
url: 'user/getOrgsAndStores',
method: 'GET'
};
_context.next = 23;
return (0, _util.proxy)(config);
case 23:
json = _context.sent;
if (!(json.code !== 200)) {
_context.next = 27;
break;
}
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_LOGIN_FAILURE', {
errorMsg: json.message
}));
return _context.abrupt("return");
case 27:
cb.rest.AppContext.user = json.data;
config = {
url: 'tenant/find',
method: 'GET'
};
_context.next = 31;
return (0, _util.proxy)(config);
case 31:
json = _context.sent;
if (json.code === 200) cb.rest.AppContext.user.logo = json.data.logo;
if (_env["default"].INTERACTIVE_MODE !== 'touch') {
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_LOGIN_SUCCEED', cb.rest.AppContext.user));
cb.route.pushPage('/portal');
}
if (json.code === 200) cb.rest.AppContext.tenant = json.data;
config = {
url: 'option/getOptionData',
method: 'POST',
params: {
optionId: 'sys_option'
}
};
_context.next = 38;
return (0, _util.proxy)(config);
case 38:
json = _context.sent;
option = {};
if (json.code === 200) Object.assign(option, json.data);
config = {
url: 'option/getOptionData',
method: 'POST',
params: {
optionId: 'business_option'
}
};
_context.next = 44;
return (0, _util.proxy)(config);
case 44:
json = _context.sent;
if (json.code === 200) Object.assign(option, json.data);
cb.rest.AppContext.option = option;
_context.next = 49;
return (0, _tree.getMenuTree)(dispatch);
case 49:
showOptions = _context.sent;
Object.assign(cb.rest.AppContext.user, showOptions);
dispatch(init(cb.rest.AppContext.user));
if (data.rememberUser) {
rememberAccount = {
username: data.username
};
localStorage.setItem('rememberAccount', JSON.stringify(rememberAccount));
} else {
if (localStorage.getItem('rememberAccount')) localStorage.removeItem('rememberAccount');
}
clearCache();
if (!(_env["default"].INTERACTIVE_MODE === 'touch')) {
_context.next = 71;
break;
}
config = {
url: 'billTemplateSet/getGradeAndEmployee',
method: 'GET'
};
_context.next = 58;
return (0, _util.proxy)(config);
case 58:
json = _context.sent;
if (json.data && json.data.operatorInfo) dispatch((0, _util.genAction)('PLATFORM_UI_BILLING_SALES_CLERK_INIT', json.data.operatorInfo));
config = {
url: 'billTemplateSet/getBelongTemplate',
method: 'GET'
};
_context.next = 63;
return (0, _util.proxy)(config);
case 63:
json = _context.sent;
if (!(json.code !== 200)) {
_context.next = 67;
break;
}
alert("\u83B7\u53D6\u5F00\u5355\u8BBE\u7F6E\u5931\u8D25\uFF1A".concat(json.message));
return _context.abrupt("return");
case 67:
dispatch((0, _util.genAction)('PLATFORM_UI_BILLING_CONFIG_INIT', json.data));
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_LOGIN_SUCCEED', cb.rest.AppContext.user));
if (window.plus) plus.JavaToJs.HardwareInterface('onLogin', cb.rest.AppContext.token);
cb.route.pushPage(showOptions.canBilling ? '/billing' : '/portal');
case 71:
_context.next = 75;
break;
case 73:
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_LOGIN_FAILURE', {
errorMsg: json.message
}));
console.error("错误代码:" + json.code + "错误信息:" + json.message);
case 75:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function (_x) {
return _ref.apply(this, arguments);
};
}();
}
var afterStoreLoaded = function afterStoreLoaded(showStore) {
return function () {
var _ref2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(dispatch) {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
if (showStore !== false) dispatch(getGrades());
dispatch((0, _tabs.addItem)({
key: 'PORTAL',
title: '首页',
closable: false,
content: {
type: 'platform',
url: 'home'
}
}));
case 2:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
return function (_x2) {
return _ref2.apply(this, arguments);
};
}();
};
var getGrades = function getGrades() {
return function () {
var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(dispatch) {
var config, json, userGrades, defaultGrade;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
config = {
url: 'billTemplateSet/getGradeAndEmployee',
method: 'GET'
};
_context3.next = 3;
return (0, _util.proxy)(config);
case 3:
json = _context3.sent;
if (!(json.code !== 200)) {
_context3.next = 6;
break;
}
return _context3.abrupt("return");
case 6:
userGrades = json.data.gradeInfo;
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_ACCOUNT_MERGE_INFO', {
userGrades: userGrades
}));
defaultGrade = userGrades.find(function (item) {
var startTime = item.startTime,
endTime = item.endTime;
if (startTime && endTime) return (0, _moment["default"])().isBetween((0, _moment["default"])(startTime, 'HH:mm:ss'), (0, _moment["default"])(endTime, 'HH:mm:ss'));
return false;
});
if (defaultGrade) {
_context3.next = 12;
break;
}
cb.utils.alert('没有可用的班次', 'error');
return _context3.abrupt("return");
case 12:
dispatch(changeGrade(defaultGrade.id, defaultGrade.name));
case 13:
case "end":
return _context3.stop();
}
}
}, _callee3);
}));
return function (_x3) {
return _ref3.apply(this, arguments);
};
}();
};
function init(loginUser) {
return function (dispatch, getState) {
var _ref4 = loginUser || getState().user.toJS(),
userOrgs = _ref4.userOrgs,
userStores = _ref4.userStores,
orgId = _ref4.orgId,
storeId = _ref4.storeId,
showOrg = _ref4.showOrg,
showStore = _ref4.showStore;
if (!userOrgs && !userStores && !orgId && !storeId && !showOrg && !showStore) return;
var defaultOrg, defaultStore;
if (showOrg) {
var cacheOrg = localStorage.getItem('defaultOrg');
if (cacheOrg && cacheOrg != orgId) {
defaultOrg = userOrgs.find(function (item) {
return item.org == cacheOrg;
});
}
}
if (showStore) {
var cacheStore = localStorage.getItem('defaultStore');
if (cacheStore && cacheStore != storeId) {
defaultStore = userStores.find(function (item) {
return item.store == cacheStore;
});
}
}
if (defaultOrg && defaultStore) return dispatch(_changeOrgAndStore(defaultOrg.org, defaultOrg.org_name, defaultStore.store, defaultStore.store_name));
if (defaultOrg) dispatch(changeOrg(defaultOrg.org, defaultOrg.org_name, true));
if (defaultStore) return dispatch(changeStore(defaultStore.store, defaultStore.store_name, true));
dispatch(afterStoreLoaded(showStore));
};
}
function billingInit() {
return function (dispatch, getState) {
dispatch(getGrades());
return;
var cacheGrade = localStorage.getItem('defaultGrade');
if (!cacheGrade) return;
var defaultGrade = JSON.parse(cacheGrade);
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_ACCOUNT_MERGE_INFO', defaultGrade));
};
}
function logout(router) {
return function (dispatch) {
_cookiesJs["default"].expire('token');
router.push('/login');
dispatch((0, _tree.clearMenu)());
dispatch((0, _tabs.clear)());
};
}
function setAccountMsg(value) {
return function (dispatch) {
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_ACCOUNT_SET_ACCOUNT_MSG', value));
};
}
function setAccountActiveKey(value) {
return function (dispatch) {
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_ACCOUNT_SET_ACCOUNT_ACTIVE_KEY', value));
};
}
function getLoginUser() {
return function (dispatch) {
var config = {
url: 'user/getLoginUserByToken',
method: 'GET'
};
(0, _util.proxy)(config).then(function (json) {
if (json.code !== 200) return;
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_ACCOUNT_SET_INFO', json.data));
});
};
}
function changeOrg(value, name, inner) {
return function (dispatch, getState) {
if (inner) {
dispatch(_changeOrg(value, name, function () {}));
} else {
cb.utils.confirm('确定要切换组织吗?该操作将重新刷新页面!', function () {
dispatch(_changeOrg(value, name, function () {
clearCache();
var _getState$user$toJS = getState().user.toJS(),
userStores = _getState$user$toJS.userStores;
var stores = userStores && userStores.filter(function (item) {
return item.org_id === value;
});
if (stores && stores.length) localStorage.setItem('defaultStore', stores[0].store);
location.reload();
}));
});
}
};
}
var _changeOrg = function _changeOrg(value, name, callback) {
return function (dispatch) {
var config = {
url: 'user/changeOrgOrShop',
method: 'POST',
params: {
orgId: value
}
};
(0, _util.proxy)(config).then(function (json) {
if (json.code !== 200) {
cb.utils.alert(json.message, 'warning');
return;
}
var info = {
defaultOrgName: name,
orgId: value
};
Object.assign(cb.rest.AppContext.user, info);
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_ACCOUNT_CHANGE_ORG', info));
localStorage.setItem('defaultOrg', value);
callback();
});
};
};
function changeStore(value, name, inner) {
return function (dispatch, getState) {
if (inner) {
dispatch(_changeStore(value, name, function () {
dispatch(afterStoreLoaded());
}));
} else {
cb.utils.confirm('确定要切换门店吗?该操作将重新刷新页面!', function () {
dispatch(_changeStore(value, name, function () {
clearCache();
var _getState$user$toJS2 = getState().user.toJS(),
userStores = _getState$user$toJS2.userStores;
var stores = userStores.filter(function (item) {
return item.store === value;
});
if (stores && stores.length) localStorage.setItem('defaultOrg', stores[0].org_id);
location.reload();
}));
});
}
};
}
var _changeStore = function _changeStore(value, name, callback) {
return function (dispatch) {
var config = {
url: 'user/changeOrgOrShop',
method: 'POST',
params: {
storeId: value
}
};
(0, _util.proxy)(config).then(function (json) {
if (json.code !== 200) {
cb.utils.alert(json.message, 'warning');
return;
}
var info = {
defaultStoreName: name,
storeId: value
};
Object.assign(cb.rest.AppContext.user, info);
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_ACCOUNT_CHANGE_STORE', info));
localStorage.setItem('defaultStore', value);
callback();
});
};
};
var _changeOrgAndStore = function _changeOrgAndStore(orgId, orgName, storeId, storeName) {
return function (dispatch) {
var config = {
url: 'user/changeOrgOrShop',
method: 'POST',
params: {
orgId: orgId,
storeId: storeId
}
};
(0, _util.proxy)(config).then(function (json) {
if (json.code !== 200) {
cb.utils.alert(json.message, 'warning');
return;
}
var info = {
defaultOrgName: orgName,
orgId: orgId,
defaultStoreName: storeName,
storeId: storeId
};
Object.assign(cb.rest.AppContext.user, info);
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_ACCOUNT_MERGE_INFO', info));
dispatch(afterStoreLoaded());
});
};
};
function changeGrade(value, name) {
return function (dispatch) {
var gradeInfo = {
defaultGradeName: name,
gradeId: value
};
dispatch((0, _util.genAction)('PLATFORM_DATA_USER_ACCOUNT_CHANGE_GRADE', gradeInfo));
localStorage.setItem('defaultGrade', JSON.stringify(gradeInfo));
};
}
function weChatLogin() {
return function (dispatch) {
var config = {
url: '/weChat/getWechatQrCode',
method: 'GET'
};
if (process.env.NODE_ENV === 'development') config.params = {
debug: true
};
(0, _util.proxy)(config).then(function (json) {
if (json.code !== 200) {
cb.utils.alert(json.message, 'warning');
console.error(json.message);
return;
}
window.open(json.data, '_self');
});
};
}
function switchInterMode(mode) {
return function () {
var _ref5 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4(dispatch) {
var config, json;
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
config = {
url: 'user/switchInterMode',
method: 'GET',
options: {
uniform: false
},
params: {
mode: mode
}
};
_context4.next = 3;
return (0, _util.proxy)(config);
case 3:
json = _context4.sent;
if (!(json.code !== 200)) {
_context4.next = 7;
break;
}
cb.utils.alert(json.message);
return _context4.abrupt("return");
case 7:
location.href = json.data.redirectUrl;
case 8:
case "end":
return _context4.stop();
}
}
}, _callee4);
}));
return function (_x4) {
return _ref5.apply(this, arguments);
};
}();
}
//# sourceMappingURL=user.js.map
;