UNPKG

ming-demo1

Version:
804 lines (684 loc) 25 kB
"use strict"; 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