tplus-portaltouch 3.46.1 → 3.47.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-portaltouch/pages/Portalbc/index.js"],"names":["hasElectron","env","platform","constant","electron","Content","Layout","HTTP_PROXY_URL","CC_FRAME_CONF","id","identOnly","initConnect","HsyLoadFinish","HsyRouterClean","HsyRouterJump","observer","props","catchOfflineData","offlineSys","context","stores","isLoginAfter","localStore","get","downloadCatcherDay","currentDay","Math","ceil","Date","downProgress","params","Loading","transfer","show","text","delay","showProgress","downloadCatcherData","result","set","hide","console","log","getOperation","resolve","reject","homeOperation","Request","functionData","then","operations","setState","catch","err","data","initPageData","headHook","addClass","hasUseOffline","otherOfflineStatus","state","setStore","initSetParams","getScreenType","isHorizontalSunMi","sunMiPresentationInit","ret","user","window","open","getTime","setTimeout","hsyBasicInfoInit","options","storeName","enumController","getEnumOj","RE_POSParamType","DUAL_SCREEN_SETTING","filterResult","filter","settingItem","ParamType","sunMi_PresentationManager","sharedPreferencesSet","sendMessageToSecondScreen","step","getTcBasicInfoInit","userStore","User","restore","sid","tplusUrl","tplusSiteUrl","msg","ModalWraper","warning","title","content","okText","okType","substring","length","ossjumpUrl","postMsgUrl","loginInfo","UserCode","AccountNum","posCode","TplusStoreId","uid","tplusEncode","pwd","accNum","code","store","postMessageUrl","flag","item","Name","shift","Value","saveLog","name","saveLogo","undefined","handelClick","values","type","key","isModal","iframe","app","style","search","tmenuCode","isHsyLoadFinish","controllable","find","vv","Visibility","HoldFunctionAuth","Title","MenuCode","errorTip","shouldOpenHomeOperation","Message","warn","duration","isEnablePromotion","isEnableMember","showMoreModal","onOk","logout","portalStore","modalRouter","url","width","toFramePage","checkDuty","onDutyMessage","Code","IdShiftVoucher","Shift","IdDailyVoucher","DailyCode","ShiftCode","history","push","onDuty","MiddleWare","execute","bPosDaily","onMakerDaily","sh","isMobileEnvironment","v","menu","toHsyPage","toTplusPage","getTplusUrlFromCloudServer","accessToken","orgId","encodeURIComponent","fetchHeader","headers","fetch","response","json","ex","dsearchPlanID","getSearchPlanId","location","origin","android_CommonFun","openWebUrlByOutBrowser","new_retail_app","nativeMs","useDefaultBrowser","external_frame_tc","document","getElementById","win","contentWindow","loadTcURL","postMessage","doType","loadTcPage","rx$","changeHsy","next","back","fn","content_only","bar_bg","bar_active_bg","secondRouter","activePrompt","closePrompt","closeable","leavePrompt","lock","pageId","pageParams","path","tabId","tabLabel","pageType","_k","IdWarehouse","idWarehouse","WarehouseName","warehouseName","IsPerformanceDistribution","performanceDistribution","IdStore","PosId","defaultValue","storeId","warehouseId","requireWarehouseId","orderStatusEnum","filterValue","value","deliveryStoreId","deliveryWarehouseId","randomWord","commonArgs","actionUrl","cc_url","hsy_domain","replace","getLoginCCMidWebUrl","CC_WEB_URL","ccFrameStore","sendMessage","extStateParams","_ident_only_","loadHsyPage","only","digits","str","number","letter","arr","i","pos","round","random","closeFrameModal","showModal","closeMoreModal","c","String","fromCharCode","charCodeAt","TplusBase64Encode","input","_keyStr","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_utf8_encode","isNaN","charAt","string","utftext","n","operationControl","forEach","sub","createLeftNode","leftMenu","isNewRetailBCPosTC","menuNode","map","container","className","maybe","showStorePrice","second","disabled","bind","label","icon","createCenterNode","menuLeftNode","centerLeftMenu","menuRightNode","centerRightMenu","createRightNode","node","rightMenu","createMoreNode","arrs","getMoreNodeInfo","items","sub_tc","sub_cc","now","loadHsyURL","modalURL","isVerticalTouch","isHorizontalPad","FuPingIsLoaded","getWebEntry","isHsyIframeInclude","isOfflineCash","getMenuByPosition","position","Menus","leftMenuTC","rightMenuTC","centerLeftMenuMobileCC","centerLeftMenuMobileTC","centerRightMenuMobileCC","centerRightMenuMobileTC","rightMenuMobileTC","rightMenuMobileCC","getMenuByEnvironment","ccMenu","tcMenu","tcMobilMenu","ccMobilMenu","initCCFrameWin","that","IframeStore","e","instance","theme","themeStore","color","destroy","removeClass","setIpcRendererMethod","screenHeight","screen","availHeight","htmlContent","height","paddingLeft","paddingRight","Component","propTypes","routes","PropTypes","array","contextTypes","object","infoRender","func"],"mappings":"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","file":"index.js","sourcesContent":["/*\r\n * @Description:\r\n * @Date: 2019-08-13 08:42:18\r\n * @LastEditTime: 2022-03-22 14:23:09\r\n * @LastEditors: chenlongad\r\n * @modify:修改跳转到T+的查询方案方式\r\n */\r\nimport React, { Component } from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { autorun} from 'mobx';\r\nimport { Row, Col, Modal } from 'antd';\r\nimport { history, stores, nativeMs, env, localStore } from 'mutants-microfx';\r\nimport { Ticon, Layout, ModalWraper, Loading, Message } from 'tplus-components-touch';\r\nimport { User } from 'tplus-api';\r\nimport { PosSetData, PosInitData } from 'tplus-poslogin';\r\nimport { platform, enumController } from 'mutants-util';\r\nimport PropTypes from 'prop-types';\r\nimport { Request } from '../../api/ModifyPassApi';\r\nimport Menus from './data';\r\nimport MiddleWare from '../../middleWare';\r\nimport VerticalPortal from './verticalPortal';\r\nimport HorizontalPadPortal from './horizontalPadPortal';\r\nimport './index.less';\r\nimport { async } from 'rxjs';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nconst { Content } = Layout;\r\nconst HTTP_PROXY_URL = 'http://tfproxy.chanjet.com/?url=';\r\nconst CC_FRAME_CONF = { id: 'external-frame-cc', identOnly: '_pos_web_', initConnect: 'initConnect', HsyLoadFinish: 'HsyLoadFinish', HsyRouterClean: 'HsyRouterClean', HsyRouterJump : 'HsyRouterJump' };\r\n@observer\r\nexport default class extends Component {\r\n static propTypes = {\r\n routes: PropTypes.array,\r\n };\r\n static contextTypes = {\r\n stores: PropTypes.object,\r\n infoRender: PropTypes.func,\r\n headHook: PropTypes.object\r\n };\r\n ccFrameStore\r\n constructor(props) {\r\n super(props);\r\n this.hasElectron = hasElectron;\r\n this.state = {\r\n id: Date.now(),\r\n operations: [],\r\n showModal: false,\r\n showMoreModal: false,\r\n loadHsyPage: false,\r\n loadHsyURL: '',\r\n isHsyLoadFinish: false,\r\n loadTcPage: false,\r\n loadTcURL: '',\r\n modalURL: '',\r\n }\r\n const { isVerticalTouch, isHorizontalPad, isHorizontalSunMi, isNewRetailBCPosTC } = platform || {};\r\n this.isVerticalTouch = !!isVerticalTouch;\r\n this.isHorizontalPad = !!isHorizontalPad;\r\n this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n this.FuPingIsLoaded = false;\r\n this.isNewRetailBCPosTC = !!isNewRetailBCPosTC;\r\n this.new_retail_app = localStore && localStore.get('newRetailAppType');\r\n this.hsy_domain = User && User.getWebEntry();\r\n // 是否嵌套好生意的iframe\r\n this.isHsyIframeInclude = !this.isVerticalTouch && !this.isMobileEnvironment;\r\n //获取初始化参数\r\n this.isEnableMember = !!PosInitData('isEnableMember');//是否开启会员\r\n this.isEnablePromotion = !!PosInitData('isEnablePromotion');//是否开启促销\r\n this.isOfflineCash = PosInitData('IsOfflineCash');\r\n this.tplusSiteUrl = PosInitData(\"TplusSite\") || PosInitData(\"tplusinnersite\");\r\n this.idWarehouse = PosInitData('IdWarehouse') || '';\r\n this.warehouseName = PosInitData('WarehouseName') || '';\r\n this.performanceDistribution = PosInitData('PerformanceDistribution'); \r\n this.showStorePrice = PosInitData('ShowStorePrice');\r\n\r\n //首页布局\r\n this.leftMenu = this.getMenuByPosition('left');\r\n this.centerLeftMenu = this.getMenuByPosition('centerLeft');\r\n this.centerRightMenu = this.getMenuByPosition('centerRight');\r\n this.rightMenu = this.getMenuByPosition('right');\r\n this.randomWord = this.randomWord.bind(this);\r\n autorun(() => {\r\n this.hsyBasicInfoInit();\r\n });\r\n }\r\n\r\n getMenuByPosition(position) {\r\n const { leftMenu, centerLeftMenu, centerRightMenu, rightMenu, leftMenuTC, rightMenuTC, centerLeftMenuMobileCC, centerLeftMenuMobileTC, centerRightMenuMobileCC, centerRightMenuMobileTC, rightMenuMobileTC, rightMenuMobileCC } = Menus;\r\n switch (position) {\r\n case \"left\":{\r\n return this.getMenuByEnvironment(leftMenu,leftMenuTC,[],[]);\r\n }\r\n case \"centerLeft\":{\r\n return this.getMenuByEnvironment(centerLeftMenu,centerLeftMenu, centerLeftMenuMobileTC,centerLeftMenuMobileCC)\r\n }\r\n case \"centerRight\":{\r\n return this.getMenuByEnvironment(centerRightMenu,centerRightMenu, centerRightMenuMobileTC,centerRightMenuMobileCC)\r\n }\r\n case \"right\":{\r\n return this.getMenuByEnvironment(rightMenu,rightMenuTC, rightMenuMobileTC,rightMenuMobileCC)\r\n }\r\n }\r\n }\r\n\r\n getMenuByEnvironment(ccMenu,tcMenu,tcMobilMenu,ccMobilMenu){\r\n if(this.isNewRetailBCPosTC){\r\n // if(this.isMobileEnvironment){\r\n // return tcMobilMenu;\r\n // }else{\r\n // return tcMenu;\r\n // }\r\n return tcMenu;\r\n }else{\r\n // if(this.isMobileEnvironment){\r\n // return ccMobilMenu;\r\n // }else{\r\n // return ccMenu;\r\n // }\r\n return ccMenu;\r\n }\r\n }\r\n\r\n\r\n catchOfflineData = async () => {\r\n const { offlineSys } = this.context.stores;\r\n const isLoginAfter = localStore.get(\"isLoginAfter\");\r\n const downloadCatcherDay = localStore.get(\"downloadCatcherDay\");\r\n const currentDay = Math.ceil(new Date() / 1000 / 60 / 60 / 24)\r\n if (isLoginAfter == 1) {\r\n // 增加每天第一次登陆下载数据\r\n if (!downloadCatcherDay || currentDay > downloadCatcherDay) {\r\n try {\r\n Loading.show({\r\n text: '离线数据下载中,请稍等...',\r\n delay: 0,\r\n showProgress: true\r\n });\r\n function downProgress(params) {\r\n Loading.transfer(params)\r\n }\r\n let result = await offlineSys.downloadCatcherData(downProgress);\r\n if (result) localStore.set(\"downloadCatcherDay\", currentDay);\r\n Loading.hide();\r\n } catch (ex) {\r\n console.log('downloadCatcherData下载离线数据', ex);\r\n Loading.hide();\r\n } finally {\r\n Loading.hide();\r\n }\r\n }\r\n localStore.set(\"isLoginAfter\", 0)\r\n }\r\n }\r\n\r\n getOperation = () => {\r\n return new Promise((resolve, reject) => {\r\n const { homeOperation, functionData } = Request;\r\n homeOperation().then(operations => {\r\n localStore.set('operationsAuth', JSON.stringify(operations));\r\n this.setState({ operations: operations || [] });\r\n resolve()\r\n }).catch((err) => {\r\n console.log('homeOperation.error======', err);\r\n Loading.hide();\r\n resolve()\r\n })\r\n functionData().then(data => {\r\n PosSetData(data);\r\n })\r\n })\r\n }\r\n\r\n initPageData = async () => {\r\n const { stores = {}, headHook: { addClass } = {} } = this.context;\r\n\r\n const hasUseOffline = (PosInitData('IsOfflineCash') === \"1\") && !platform.otherOfflineStatus;; //是否允许离线\r\n // const hasUseOffline = true;\r\n if (hasUseOffline == true) {\r\n await this.catchOfflineData(); //离线数据下发\r\n }\r\n Loading.show({\r\n text: '权限加载中,请稍等...',\r\n delay: 2500\r\n });\r\n //权限加载\r\n try {\r\n await this.getOperation()\r\n } catch (err) {\r\n Loading.hide()\r\n } finally {\r\n Loading.hide();\r\n }\r\n addClass && addClass(this.state.id, 'portalHead');\r\n // 初始化参数设置。\r\n stores.setStore.initSetParams().then(ret => {\r\n // 在客户端中,如果开启了副屏设置,尝试这打开副屏。\r\n if (this.getScreenType() === true) {\r\n if (this.isHorizontalSunMi) {\r\n this.sunMiPresentationInit(ret);\r\n return;\r\n }\r\n console.log('副屏页面打开之前,user信息', JSON.stringify(stores.user));\r\n window.open('vicescreen?ts=' + new Date().getTime(), 'screen');\r\n setTimeout(() => {\r\n console.log('副屏页面打开之后,user信息', JSON.stringify(stores.user))\r\n }, 3000);\r\n }\r\n })\r\n this.hsyBasicInfoInit();\r\n }\r\n\r\n componentDidMount() {\r\n this.initPageData();\r\n this.isHsyIframeInclude && this.initCCFrameWin();\r\n }\r\n // 初始化好生意iframe\r\n initCCFrameWin() {\r\n let that = this;\r\n this.ccFrameStore = new stores.IframeStore(document.getElementById(CC_FRAME_CONF.id), this.hsy_domain, function(e, instance) {\r\n console.log(e, instance, 'cciframe 接收消息');\r\n if (e.data && e.data.type === CC_FRAME_CONF.HsyLoadFinish) {\r\n !that.state.isHsyLoadFinish && that.setState({ isHsyLoadFinish: true });\r\n }\r\n }, function(e, instance) {\r\n console.log(\"ccFrameWin 加载成功========>\", e, instance);\r\n instance.sendMessage({ type: CC_FRAME_CONF.initConnect, _ident_only_: CC_FRAME_CONF.identOnly });\r\n }, CC_FRAME_CONF.identOnly);\r\n }\r\n // 初始化商米副屏\r\n sunMiPresentationInit = (result) => {\r\n //SunMi初始化参数设置。\r\n //副屏幕交互。硬件改动20200428 需要在商米页面加载成功后才能发送 初始化命令\r\n // 进行主副屏数据交互 初始化\r\n console.log(result);\r\n const { storeName = '' } = stores.user.options.get('store') || {};\r\n const { RE_POSParamType } = enumController.getEnumOj();\r\n const { DUAL_SCREEN_SETTING } = RE_POSParamType;\r\n const filterResult = result && result.filter?result.filter((settingItem)=>{return settingItem.ParamType === DUAL_SCREEN_SETTING}):[];\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.sharedPreferencesSet(\"setting_setData\",filterResult).then(()=>{\r\n console.log(\"缓存数据成功\")\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0,storeName});\r\n });\r\n }\r\n\r\n // 初始化智+模块信息\r\n hsyBasicInfoInit() {\r\n const theme = stores.portalStore.themeStore;\r\n let color = '#FF8C25';\r\n switch (theme) {\r\n case 'orange':\r\n color = \"#FF8C25\";\r\n break;\r\n case 'blue':\r\n color = \"#3491FF\";\r\n break;\r\n case 'dark':\r\n color = \"#26A0DE\";\r\n break;\r\n case 'pink':\r\n color = \"#FF6B8C\";\r\n break;\r\n }\r\n const { PosId = '' } = localStore && localStore.get('StoreKey') || {};\r\n const cc_url = `${this.hsy_domain.replace('#/', '')}?fromApp=nretail&posid=${PosId}&content_only=true&bar_bg=${encodeURIComponent('#FFFFFF')}&bar_active_bg=${encodeURIComponent(color)}`;\r\n this.setState({ loadHsyURL: cc_url });\r\n }\r\n\r\n //初始化tc、tcyzj、tczsy信息\r\n getTcBasicInfoInit = () => {\r\n let userStore = User.restore();\r\n let sid = userStore.sid;\r\n let tplusUrl = this.tplusSiteUrl;\r\n if (!tplusUrl) {\r\n let msg = \"请用admin登录,在服务器配置–地址配置处,设置“内部或外部网络访问T+服务器的地址”!\";\r\n ModalWraper.warning(\r\n {\r\n title: '温馨提示',\r\n content: msg,\r\n okText: '确定',\r\n okType: 'primary',\r\n }\r\n )\r\n return false;\r\n }\r\n if (tplusUrl.substring(tplusUrl.length - 1) !== '/') {\r\n tplusUrl += '/';\r\n }\r\n let ossjumpUrl = `${tplusUrl}view/portal/portal.html?t=${new Date().getTime()}`\r\n if (sid) {\r\n ossjumpUrl = `${tplusUrl}view/ossjump.html?t=${new Date().getTime()}&sid=${sid}`\r\n }\r\n let postMsgUrl = ossjumpUrl;\r\n let { user } = this.context.stores;\r\n let loginInfo = user.options.get('loginInfo');\r\n const { UserCode, AccountNum, posCode, TplusStoreId } = loginInfo || {};\r\n const uid = this.tplusEncode(UserCode);\r\n const pwd = this.tplusEncode(user.options.get(\"password\"));\r\n const accNum = this.tplusEncode(AccountNum)\r\n const code = this.tplusEncode(posCode);\r\n const store = this.tplusEncode(TplusStoreId + '');\r\n ossjumpUrl += `&fromApp=nretail&way=inframe&user=${uid}&pwd=${pwd}&accNum=${accNum}&posCode=${code}&storeID=${store}`;\r\n return { ossjumpUrl, postMessageUrl: postMsgUrl };\r\n }\r\n\r\n componentWillUnmount() {\r\n this.ccFrameStore && this.ccFrameStore.destroy();\r\n const { headHook: { removeClass } = {} } = this.context\r\n removeClass && removeClass(this.state.id, 'portalHead');\r\n }\r\n\r\n componentWillReceiveProps() {\r\n if (this.getScreenType() === true) {\r\n if (this.isHorizontalSunMi && this.FuPingIsLoaded) {\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 1 });\r\n } else {\r\n nativeMs && nativeMs.setIpcRendererMethod('ReplyScreen', { step: 1 })\r\n }\r\n }\r\n }\r\n\r\n // 获取副屏的状态\r\n getScreenType = () => {\r\n let flag = false;\r\n if (this.hasElectron === true || this.isHorizontalSunMi) {\r\n let data = localStore.get('setting_setData') || [];\r\n data = data.filter(item => item.Name === 'EnableDoubleScreen');\r\n data = data && data.length > 0 ? data.shift() : null;\r\n if (data && data.Value === '1') {\r\n flag = true;\r\n }\r\n }\r\n return flag;\r\n }\r\n\r\n menuClick(item, e) {\r\n history.push(item.path);\r\n }\r\n saveLog = (name) => {\r\n const { saveLogo } = Request;\r\n name = \"进入模块:\" + name;\r\n saveLogo('进入模块', undefined, name);\r\n }\r\n\r\n handelClick = (values = {}) => {\r\n const { key: type, isModal, iframe, app, title, Name, style, search, tmenuCode } = values;\r\n const { operations, isHsyLoadFinish } = this.state;\r\n const controllable = operations.find(vv => vv.Name === Name);\r\n const { Visibility, HoldFunctionAuth, Title, MenuCode } = controllable || {};\r\n let errorTip;\r\n\r\n // 离线模式\r\n if (!stores.offlineSys.shouldOpenHomeOperation(Name)) {\r\n Message.warn(\"离线模式下此操作不可用\", { duration: 3 })\r\n return;\r\n }\r\n\r\n // 会员拉新\r\n if (type == 'memberRecruitment' && (this.isEnablePromotion == false || this.isEnableMember == false)) {\r\n Message.warn(\"您还未开通会员/促销管理,请立即开通\", { duration: 3 })\r\n return;\r\n }\r\n\r\n // 会员消费查询\r\n if (type == 'memberConsumDetail' && this.isEnableMember == false) {\r\n Message.warn(\"您还未开通会员管理,请立即开通\", { duration: 3 })\r\n return;\r\n }\r\n\r\n // 更多\r\n if (type == 'more') {\r\n return this.setState({ showMoreModal: true })\r\n }\r\n\r\n if (!Title) {\r\n return ModalWraper.warning({\r\n title: '提示',\r\n content: '您的权限配置请求失败,请重新登录',\r\n onOk() {\r\n User.logout();\r\n },\r\n okType: 'primary',\r\n })\r\n }\r\n\r\n if (!Visibility) {\r\n errorTip = `您的 ${Title} 模块没有启用`;\r\n } else if (!HoldFunctionAuth) {\r\n errorTip = `您没有操作 ${Title} 的权限`;\r\n }\r\n const { portalStore } = this.context.stores;\r\n if (errorTip) {\r\n return Message.warn(errorTip);\r\n }\r\n if (isModal) {\r\n return stores.modalRouter.show({ url: `/${type}`, width: 800, title });\r\n }\r\n // 支持页面内打开,减少再次加载页面的时间。\r\n if (iframe === true) return this.toFramePage({ type, app, title, style, search, MenuCode, tmenuCode, isHsyLoadFinish });\r\n switch (type) {\r\n case 'cashier':\r\n portalStore.checkDuty().then((onDutyMessage) => {\r\n if (!!onDutyMessage) {\r\n const { Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode } = onDutyMessage;\r\n PosSetData({ ShiftCode: Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode });\r\n console.log('onDutyMessage======', onDutyMessage);\r\n this.saveLog(title);\r\n history.push('/RE/RE01');\r\n }\r\n }).catch((data) => {\r\n console.log(\"进入前台收银检查是否当班返回错误\", data);\r\n });\r\n break;\r\n case 'onDuty':\r\n portalStore.onDuty().then((onDutyMessage) => {\r\n if (onDutyMessage && onDutyMessage.shift) {\r\n MiddleWare.execute('onDuty')\r\n }\r\n });\r\n break;\r\n case 'offDuty':\r\n history.push('/offDuty?type=offDuty');\r\n break;\r\n case 'settleDialy':\r\n if (portalStore.bPosDaily()) {\r\n history.push('/offDuty?type=settleDaily');\r\n } else {\r\n portalStore.onMakerDaily();\r\n }\r\n break;\r\n default:\r\n history.push(`/${type}`);\r\n break;\r\n }\r\n };\r\n\r\n //跳转其他页面,以内嵌形式打开\r\n toFramePage = (params) => {\r\n const { app, title, style, search, tmenuCode, MenuCode, isHsyLoadFinish } = params || {}\r\n switch (app) {\r\n case 'cc':\r\n let sh = '';\r\n // if (this.isMobileEnvironment) { //暂时不支持android系统跳转\r\n // return Message.warn('新功能正在研发中,敬请期待。');\r\n // }\r\n if (!isHsyLoadFinish && !this.isMobileEnvironment) {\r\n return Message.warn('正在加载资源中,请稍后。');\r\n }\r\n if (!search) {\r\n return Message.warn('正在紧急研发中...');\r\n } else if (search && search.length > 0) {\r\n sh = (search.length > 1 && MenuCode) ? search.find(v => v.menu === MenuCode) : search[0];\r\n sh = sh || search[0];\r\n }\r\n if (!sh) {\r\n return Message.warn('传递参数有误,请查证。');\r\n }\r\n this.toHsyPage({ ...style, ...sh });\r\n break;\r\n case 'tc':\r\n if (tmenuCode || MenuCode) {\r\n this.saveLog(title);\r\n if (MenuCode) {\r\n this.toTplusPage(MenuCode, search);\r\n } else {\r\n this.toTplusPage(tmenuCode, search);\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n getTplusUrlFromCloudServer = () => {//获取T+服务器配置地址。\r\n let userStore = User.restore();\r\n let data = 'accesstoken=' + `${userStore.accessToken}` + '&cloudOrgId=' + `${userStore.orgId}`;\r\n let url = `${HTTP_PROXY_URL}` + encodeURIComponent('http://mns.chanapp.chanjet.com/web/WebServer/get?' + `${data}`);\r\n console.log(url);\r\n let fetchHeader = {\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n }\r\n };\r\n return new Promise((resolve, reject) => {\r\n fetch(url, fetchHeader)\r\n .then(function (response) {\r\n return response.json();\r\n }).then(json => {\r\n console.log(json);\r\n resolve(json);\r\n }).catch(ex => {\r\n console.log(ex);\r\n reject(err);\r\n })\r\n })\r\n }\r\n\r\n //跳转到T+\r\n toTplusPage = async (tmenuCode, search) => {\r\n let ret = this.getTcBasicInfoInit();\r\n if (ret === false) return;\r\n let { ossjumpUrl, postMessageUrl } = ret || {};\r\n let dsearchPlanID = '';\r\n if (search && search.id) {\r\n const { portalStore } = this.context.stores;\r\n dsearchPlanID = await portalStore.getSearchPlanId(search);\r\n }\r\n let menu = this.tplusEncode(tmenuCode);\r\n ossjumpUrl += `&menu=${menu}&fromUrl=${this.tplusEncode(location.origin)}`;\r\n if (dsearchPlanID) {\r\n ossjumpUrl += `&searchPlanID=${this.tplusEncode(dsearchPlanID)}`;\r\n }\r\n if (this.isHorizontalSunMi) {\r\n window.android_CommonFun.openWebUrlByOutBrowser(ossjumpUrl);\r\n } else {\r\n //对于专属云、云主机,如果配置的http,存在跨域问题,暂时解决不了,只能通过打开默认浏览器打开。\r\n //目前T+页面有很多进一步操作的界面,无法得到解决,特针对跳转T+页面的,都使用默认浏览器打开。2021-10-27\r\n if (this.new_retail_app == 'tc' || this.new_retail_app == 'tczsy' || this.new_retail_app == 'tcyzj') {\r\n nativeMs.useDefaultBrowser(ossjumpUrl);\r\n return;\r\n }\r\n let external_frame_tc = document.getElementById('external-frame-tc');\r\n let win = external_frame_tc.contentWindow;\r\n const { loadTcURL } = this.state;\r\n if (loadTcURL) {\r\n win && win.postMessage({ doType: 'openMenuFromPos', tmenuCode, ossjumpUrl, dsearchPlanID }, postMessageUrl);\r\n this.setState({ loadTcPage: true });\r\n } else {\r\n this.setState({ loadTcURL: ossjumpUrl, loadTcPage: true });\r\n }\r\n rx$.changeHsy.next({\r\n back: true, fn: () => {\r\n win && win.postMessage({ doType: 'closeCurrentMenuFromPos' }, postMessageUrl);\r\n this.setState({ loadTcPage: false });\r\n rx$.changeHsy.next({ back: false });\r\n }\r\n })\r\n }\r\n }\r\n\r\n //跳转CC\r\n toHsyPage = async (params) => {\r\n let {\r\n content_only, //只加载内容区域\r\n bar_bg, //页签栏颜色\r\n bar_active_bg, //激活态的标签背景颜色\r\n menu,\r\n secondRouter,\r\n activePrompt,\r\n closePrompt,\r\n closeable,\r\n leavePrompt,\r\n lock,\r\n pageId,\r\n pageParams,\r\n path,\r\n tabId,\r\n tabLabel,\r\n pageType,\r\n _k\r\n } = params;\r\n\r\n let filter = {};\r\n //对仓库参数的处理\r\n const IdWarehouse = this.idWarehouse;\r\n const WarehouseName = this.warehouseName;\r\n const IsPerformanceDistribution = this.performanceDistribution === 'SHIPPER_STORE' || false;\r\n const { IdStore = '', PosId = '' } = stores.user.options.get('loginInfo') || {};\r\n const { storeName = '' } = stores.user.options.get('store') || {};\r\n\r\n switch (pageType) {\r\n case 'voucher':\r\n filter = {\r\n defaultValue: {\r\n storeId: {\r\n id: IdStore,\r\n storeName\r\n },\r\n warehouseId: {\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }\r\n }\r\n }\r\n //要货单特殊处理\r\n if (menu == 'require-goods-new') {\r\n filter = {\r\n defaultValue: {\r\n storeId: {\r\n id: IdStore,\r\n storeName\r\n },\r\n requireWarehouseId: {\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }\r\n }\r\n }\r\n }\r\n if (menu == 'pre-sell'){\r\n filter = {\r\n storeId: [{id: IdStore, storeName}],\r\n orderStatusEnum: 'WAIT_DELIVERY',\r\n }\r\n }\r\n break;\r\n case 'report':\r\n filter = {\r\n filterValue: {\r\n storeId: {\r\n value: {\r\n id: IdStore,\r\n storeName\r\n }\r\n },\r\n warehouseId: {\r\n value: [{\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }]\r\n }\r\n }\r\n }\r\n // 收银统计表\r\n if (IsPerformanceDistribution && menu == 'retail-cash-report') {\r\n filter = {\r\n filterValue: {\r\n deliveryStoreId: {\r\n value: {\r\n id: IdStore,\r\n storeName\r\n }\r\n },\r\n warehouseId: {\r\n value: [{\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }]\r\n }\r\n }\r\n }\r\n }\r\n // 售后、配送\r\n if (menu == 'return-order' || menu == 'order-manage') {\r\n filter = {\r\n filterValue: {\r\n storeId: {\r\n value: {\r\n id: IdStore,\r\n storeName\r\n }\r\n },\r\n deliveryWarehouseId: {\r\n value: [{\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }]\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n bar_bg = encodeURIComponent(bar_bg);\r\n bar_active_bg = encodeURIComponent(bar_active_bg);\r\n menu = secondRouter ? `${menu}/${this.randomWord(true, 13)}` : menu;\r\n pageId = menu;\r\n pageParams = Object.assign(pageParams, filter);\r\n path = encodeURIComponent(path);\r\n _k = this.randomWord(false, 6);\r\n\r\n const commonArgs = `?posid=${PosId}&content_only=${content_only}&bar_bg=${bar_bg}&bar_active_bg=${bar_active_bg}`;\r\n const actionUrl = `#/${menu}?activePrompt=${activePrompt}&closePrompt=${closePrompt}&closeable=${closeable}&leavePrompt=${leavePrompt}&lock=${lock}&pageId=${pageId}&pageParams=${encodeURIComponent(JSON.stringify(pageParams))}&path=${path}&tabId=${tabId}&tabLabel=${encodeURIComponent(tabLabel)}&_k=${_k}`;\r\n let cc_url = this.hsy_domain.replace('#/', '') + commonArgs + actionUrl;\r\n console.log('web_hsy_url:', cc_url);\r\n if(this.isHorizontalSunMi){\r\n const CC_WEB_URL = await User.getLoginCCMidWebUrl(cc_url)\r\n console.log('CC_WEB_URL:', CC_WEB_URL);\r\n window.android_CommonFun.openWebUrlByOutBrowser(CC_WEB_URL);\r\n }else{\r\n // this.ccFrameWin && this.ccFrameWin.HsyRouterJump && this.ccFrameWin.HsyRouterJump(pageId, pageParams, { closeable, tabLabel });\r\n this.ccFrameStore && this.ccFrameStore.sendMessage({type: CC_FRAME_CONF.HsyRouterJump, pageId, pageParams, extStateParams: { closeable, tabLabel }, _ident_only_: CC_FRAME_CONF.identOnly })\r\n if (this.state.showMoreModal === true) {\r\n this.setState({ loadHsyPage: true, showMoreModal: false });\r\n } else {\r\n this.setState({ loadHsyPage: true });\r\n }\r\n rx$.changeHsy.next({\r\n back: true, fn: () => {\r\n this.setState({ loadHsyPage: false });\r\n rx$.changeHsy.next({ back: false });\r\n // 在打开页签之前,关闭之前的,返回键的回调函数\r\n // this.ccFrameWin && this.ccFrameWin.HsyRouterClean && this.ccFrameWin.HsyRouterClean();\r\n this.ccFrameStore && this.ccFrameStore.sendMessage({ type: CC_FRAME_CONF.HsyRouterClean, _ident_only_: CC_FRAME_CONF.identOnly });\r\n }\r\n })\r\n }\r\n }\r\n\r\n randomWord = (only, digits) => {\r\n let str = \"\";\r\n const number = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\r\n const letter = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']\r\n let arr = only ? [...number] : [...number, ...letter];\r\n for (let i = 0; i < digits; i++) {\r\n let pos = Math.round(Math.random() * (arr.length - 1));\r\n str += arr[pos];\r\n }\r\n return str;\r\n }\r\n\r\n closeFrameModal = () => {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n closeMoreModal = () => {\r\n this.setState({ showMoreModal: false })\r\n }\r\n\r\n tplusEncode = (code) => {\r\n let c = String.fromCharCode(code.charCodeAt(0) + code.length);\r\n for (let i = 1; i < code.length; i++) {\r\n c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1));\r\n }\r\n let ret = this.TplusBase64Encode(c);\r\n return ret;\r\n }\r\n\r\n TplusBase64Encode = (input) => {\r\n const _keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n let output = \"\";\r\n let chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n let i = 0;\r\n input = this._utf8_encode(input);\r\n while (i < input.length) {\r\n chr1 = input.charCodeAt(i++);\r\n chr2 = input.charCodeAt(i++);\r\n chr3 = input.charCodeAt(i++);\r\n enc1 = chr1 >> 2;\r\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n enc4 = chr3 & 63;\r\n if (isNaN(chr2)) {\r\n enc3 = enc4 = 64;\r\n } else if (isNaN(chr3)) {\r\n enc4 = 64;\r\n }\r\n output = output +\r\n _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +\r\n _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\r\n }\r\n return output;\r\n }\r\n _utf8_encode = (string) => {\r\n string = string.replace(/\\r\\n/g, \"\\n\");\r\n let utftext = \"\";\r\n for (let n = 0; n < string.length; n++) {\r\n let c = string.charCodeAt(n);\r\n if (c < 128) {\r\n utftext += String.fromCharCode(c);\r\n } else if ((c > 127) && (c < 2048)) {\r\n utftext += String.fromCharCode((c >> 6) | 192);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n } else {\r\n utftext += String.fromCharCode((c >> 12) | 224);\r\n utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n }\r\n return utftext;\r\n }\r\n\r\n operationControl = (menu = []) => {\r\n const { operations } = this.state;\r\n menu.forEach(v => {\r\n if (v.sub) {\r\n return this.operationControl(v.sub);\r\n }\r\n const controllable = operations.find(vv => vv.Name === v.Name);\r\n const { Visibility, HoldFunctionAuth, Title } = controllable || {};\r\n let errorTip;\r\n if (!Visibility) {\r\n errorTip = `您的 ${Title} 模块没有启用`;\r\n } else if (!HoldFunctionAuth) {\r\n errorTip = `您没有操作 ${Title} 的权限`;\r\n }\r\n v.errorTip = errorTip;\r\n });\r\n return menu;\r\n }\r\n\r\n createLeftNode = () => {\r\n const menu = this.leftMenu;\r\n let width = menu.length == 0 ? this.isMobileEnvironment & !this.isNewRetailBCPosTC ? 5 : 4 : 7;\r\n if(menu.length == 0) {\r\n return (<Col xl={width} md={width} className='portal-left-col' key='left'>\r\n <div className='portal-left-content'></div>\r\n </Col>);\r\n }\r\n\r\n const menuNode = menu.map(v => {\r\n return (v.container ?\r\n <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n {\r\n v.sub.map(vv => {\r\n let item = vv;\r\n if (vv.maybe === true) {\r\n item = this.showStorePrice ? vv : vv.second;\r\n }\r\n return (<div\r\n className={`member-item ${item.className} ${item.disabled ? 'menu-item-disabled' : ''}`}\r\n key={item.className}\r\n onClick={this.handelClick.bind(this, item)}\r\n >\r\n {!!item.title && <h1>{item.title}</h1>}\r\n {!!item.label && <p>{item.label}</p>}\r\n {!!item.icon && <Ticon icon={item.icon} />}\r\n </div>)\r\n })\r\n }\r\n </div>\r\n :\r\n <div\r\n className={`member-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {v.title && <h1>{v.title}</h1>}\r\n {v.label && <p>{v.label}</p>}\r\n {v.icon && <Ticon icon={v.icon} />}\r\n </div>\r\n )\r\n })\r\n return (<Col xl={7} md={7} className='portal-left-col' key='left'>\r\n <div className='portal-left-content'>{menuNode}</div>\r\n </Col>);\r\n }\r\n createCenterNode = () => {\r\n const menuLeftNode = this.centerLeftMenu.map(v => {\r\n return (<div\r\n className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n style={v.style}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {v.title && <h1>{v.title}</h1>}\r\n {v.label && <p>{v.label}</p>}\r\n {v.icon && <Ticon icon={v.icon} />}\r\n {v.disabled && <div className='item-disabled-placeholder' />}\r\n </div>)\r\n });\r\n const menuRightNode = this.centerRightMenu.map(v => {\r\n return (v.container ?\r\n <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n {\r\n v.sub.map(vv => {\r\n return (<div\r\n className={`worktop-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n key={vv.className}\r\n onClick={this.handelClick.bind(this, vv)}\r\n >\r\n {vv.title && <h1>{vv.title}</h1>}\r\n {vv.label && <p>{vv.label}</p>}\r\n {vv.icon && <Ticon icon={vv.icon} />}\r\n </div>)\r\n })\r\n }\r\n </div>\r\n :\r\n <div\r\n className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {v.title && <h1>{v.title}</h1>}\r\n {v.label && <p>{v.label}</p>}\r\n {v.icon && <Ticon icon={v.icon} />}\r\n </div>)\r\n });\r\n return <div><div className='worktop-container-left'>{menuLeftNode}</div><div className='worktop-container-right'>{menuRightNode}</div></div>;\r\n }\r\n createRightNode = () => {\r\n var width = this.leftMenu.length == 0 ? this.isMobileEnvironment & !this.isNewRetailBCPosTC ? 9 : 10 : 7;\r\n const node = this.rightMenu.map(v => {\r\n return (v.container ?\r\n <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n {\r\n v.sub.map(vv => {\r\n return (<div\r\n className={`stock-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n key={vv.className}\r\n onClick={this.handelClick.bind(this, vv)}\r\n >\r\n {vv.title && <h1>{vv.title}</h1>}\r\n {vv.label && <p>{vv.label}</p>}\r\n {vv.icon && <Ticon icon={vv.icon} />}\r\n </div>)\r\n })\r\n }\r\n </div>\r\n :\r\n <div\r\n className={`stock-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n style={v.style}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {!!v.title && <h1>{v.title}</h1>}\r\n {!!v.icon && <Ticon icon={v.icon} />}\r\n </div>)\r\n });\r\n return <Col xl={width} md={width} className='portal-right-col' key='right'>\r\n <div className='portal-right-content'>{node}</div>\r\n </Col>\r\n }\r\n\r\n createMoreNode = () => {\r\n const arrs = this.getMoreNodeInfo();\r\n const items = this.isNewRetailBCPosTC ? arrs.sub_tc : arrs.sub_cc || [];\r\n const node = items.length > 0 && items.map(v => {\r\n return (\r\n <div\r\n className={`modal-quick ${v.className}`}\r\n style={v.style}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {!!v.icon && <div className='quick'><Ticon icon={v.icon} /></div>}\r\n {!!v.title && <h1>{v.title}</h1>}\r\n </div>\r\n )\r\n })\r\n return node;\r\n }\r\n\r\n getMoreNodeInfo = () => {\r\n if (this.isNewRetailBCPosTC) {\r\n // if (this.isMobileEnvironment) {\r\n // return this.centerRightMenu.find(vv => vv.key == 'more') || {};\r\n // } else {\r\n return this.centerRightMenu.find(v => v.sub && v.sub.find(vv => vv.key == 'more')).sub[1] || {};\r\n // }\r\n } else {\r\n // if (this.isMobileEnvironment) {\r\n // return this.centerRightMenu.find(vv => vv.key == 'more') || {};\r\n // } else {\r\n return this.centerRightMenu.find(v => v.sub && v.sub.find(vv => vv.key == 'more')).sub[1] || {};\r\n // }\r\n }\r\n }\r\n\r\n render() {\r\n const { showModal,showMoreModal, modalURL, loadHsyPage, loadHsyURL, loadTcPage, loadTcURL } = this.state;\r\n const screenHeight = window.screen.availHeight - 100;\r\n let htmlContent = null;\r\n if (this.isVerticalTouch) {\r\n htmlContent = <VerticalPortal handelClick={this.handelClick} />\r\n }\r\n // else if (this.isHorizontalPad) {\r\n // htmlContent = <HorizontalPadPortal handelClick={this.handelClick} />\r\n // }\r\n else {\r\n htmlContent = (<Layout style={{ height: '100%' }} className='portal-content'>\r\n <Content style={{ paddingLeft: '50px', paddingRight: '50px' }} className='portal-container portal-container-center'>\r\n <Row className=\"portal-content-row\">\r\n {this.createLeftNode()}\r\n <Col xl={10} md={10} className='portal-center-col' key='center'>\r\n <div className='portal-center-content'>\r\n {this.createCenterNode()}\r\n </div>\r\n </Col>\r\n {this.createRightNode()}\r\n </Row>\r\n </Content>\r\n {\r\n <div className={loadHsyPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n <iframe src={loadHsyURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id={CC_FRAME_CONF.id}></iframe>\r\n </div>\r\n }\r\n {\r\n <div className={loadTcPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n <iframe src={loadTcURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id=\"external-frame-tc\"></iframe>\r\n </div>\r\n }\r\n {\r\n this.isMobileEnvironment &&\r\n <Modal\r\n visible={showModal}\r\n onCancel={this.closeFrameModal}\r\n width={'99%'}\r\n height={'99%'}\r\n footer={null}\r\n >\r\n <iframe src={modalURL} width='100%' height={screenHeight} frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\"></iframe>\r\n </Modal>\r\n }\r\n {\r\n <Modal\r\n title={'更多'}\r\n className={'portal-container-modal-more'}\r\n visible={showMoreModal}\r\n onCancel={this.closeMoreModal}\r\n width={800}\r\n height={375}\r\n footer={null}\r\n centered\r\n maskClosable={false}\r\n keyboard={false}\r\n >\r\n {\r\n this.createMoreNode()\r\n }\r\n </Modal>\r\n }\r\n </Layout>)\r\n }\r\n return htmlContent;\r\n }\r\n}"]}
1
+ {"version":3,"sources":["tplus-portaltouch/pages/Portalbc/index.js"],"names":["hasElectron","env","platform","constant","electron","Content","Layout","HTTP_PROXY_URL","CC_FRAME_CONF","id","identOnly","initConnect","HsyLoadFinish","HsyRouterClean","HsyRouterJump","observer","props","ccFrameStore","catchOfflineData","offlineSys","context","stores","isLoginAfter","localStore","get","downloadCatcherDay","currentDay","Math","ceil","Date","downProgress","params","Loading","transfer","show","text","delay","showProgress","downloadCatcherData","result","set","hide","console","log","getOperation","resolve","reject","homeOperation","Request","functionData","then","operations","setState","catch","err","data","initPageData","headHook","addClass","hasUseOffline","otherOfflineStatus","state","setStore","initSetParams","getScreenType","isHorizontalSunMi","sunMiPresentationInit","ret","user","window","open","getTime","setTimeout","loadHsyPage","isHsyIframeInclude","initHsyBasicPageInfo","initHsyFrameWin","options","storeName","enumController","getEnumOj","RE_POSParamType","DUAL_SCREEN_SETTING","filterResult","filter","settingItem","ParamType","sunMi_PresentationManager","sharedPreferencesSet","sendMessageToSecondScreen","step","getTcBasicInfoInit","userStore","User","restore","sid","tplusUrl","tplusSiteUrl","msg","ModalWraper","warning","title","content","okText","okType","substring","length","ossjumpUrl","postMsgUrl","loginInfo","UserCode","AccountNum","posCode","TplusStoreId","uid","tplusEncode","pwd","accNum","code","store","postMessageUrl","flag","item","Name","shift","Value","saveLog","name","saveLogo","undefined","handelClick","values","type","key","isModal","iframe","app","style","search","tmenuCode","isHsyLoadFinish","controllable","find","vv","Visibility","HoldFunctionAuth","Title","MenuCode","errorTip","shouldOpenHomeOperation","Message","warn","duration","isEnablePromotion","isEnableMember","showMoreModal","onOk","logout","portalStore","modalRouter","url","width","toFramePage","checkDuty","onDutyMessage","Code","IdShiftVoucher","Shift","IdDailyVoucher","DailyCode","ShiftCode","history","push","onDuty","MiddleWare","execute","bPosDaily","onMakerDaily","sh","isMobileEnvironment","v","menu","toHsyPage","toTplusPage","getTplusUrlFromCloudServer","accessToken","orgId","encodeURIComponent","fetchHeader","headers","fetch","response","json","ex","dsearchPlanID","getSearchPlanId","location","origin","android_CommonFun","openWebUrlByOutBrowser","new_retail_app","nativeMs","useDefaultBrowser","external_frame_tc","document","getElementById","win","contentWindow","loadTcURL","postMessage","doType","loadTcPage","rx$","changeHsy","next","back","fn","content_only","bar_bg","bar_active_bg","secondRouter","activePrompt","closePrompt","closeable","leavePrompt","lock","pageId","pageParams","path","tabId","tabLabel","pageType","_k","IdWarehouse","idWarehouse","WarehouseName","warehouseName","IsPerformanceDistribution","performanceDistribution","IdStore","PosId","defaultValue","storeId","warehouseId","requireWarehouseId","orderStatusEnum","filterValue","value","deliveryStoreId","deliveryWarehouseId","randomWord","commonArgs","actionUrl","cc_url","hsy_domain","replace","getLoginCCMidWebUrl","CC_WEB_URL","sendMessage","extStateParams","_ident_only_","_hsyPage","top","only","digits","str","number","letter","arr","i","pos","round","random","closeFrameModal","showModal","closeMoreModal","c","String","fromCharCode","charCodeAt","TplusBase64Encode","input","_keyStr","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_utf8_encode","isNaN","charAt","string","utftext","n","operationControl","forEach","sub","createLeftNode","leftMenu","isNewRetailBCPosTC","menuNode","map","container","className","maybe","showStorePrice","second","disabled","bind","label","icon","createCenterNode","menuLeftNode","centerLeftMenu","menuRightNode","centerRightMenu","createRightNode","node","rightMenu","createMoreNode","arrs","getMoreNodeInfo","items","sub_tc","sub_cc","hsyPageLoadIsFinish","now","modalURL","isVerticalTouch","isHorizontalPad","FuPingIsLoaded","getWebEntry","isOfflineCash","getMenuByPosition","position","Menus","leftMenuTC","rightMenuTC","centerLeftMenuMobileCC","centerLeftMenuMobileTC","centerRightMenuMobileCC","centerRightMenuMobileTC","rightMenuMobileTC","rightMenuMobileCC","getMenuByEnvironment","ccMenu","tcMenu","tcMobilMenu","ccMobilMenu","_this","IframeStore","e","instance","theme","themeStore","color","_height","body","clientHeight","createElement","height","setAttribute","src","appendChild","destroy","removeClass","setIpcRendererMethod","screenHeight","screen","availHeight","htmlContent","paddingLeft","paddingRight","Component","propTypes","routes","PropTypes","array","contextTypes","object","infoRender","func"],"mappings":"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","file":"index.js","sourcesContent":["/*\r\n * @Description:\r\n * @Date: 2019-08-13 08:42:18\r\n * @LastEditTime: 2022-03-22 14:23:09\r\n * @LastEditors: chenlongad\r\n * @modify:修改跳转到T+的查询方案方式\r\n */\r\nimport React, { Component } from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { autorun} from 'mobx';\r\nimport { Row, Col, Modal } from 'antd';\r\nimport { history, stores, nativeMs, env, localStore } from 'mutants-microfx';\r\nimport { Ticon, Layout, ModalWraper, Loading, Message } from 'tplus-components-touch';\r\nimport { User } from 'tplus-api';\r\nimport { PosSetData, PosInitData } from 'tplus-poslogin';\r\nimport { platform, enumController } from 'mutants-util';\r\nimport PropTypes from 'prop-types';\r\nimport { Request } from '../../api/ModifyPassApi';\r\nimport Menus from './data';\r\nimport MiddleWare from '../../middleWare';\r\nimport VerticalPortal from './verticalPortal';\r\nimport HorizontalPadPortal from './horizontalPadPortal';\r\nimport './index.less';\r\nimport { async } from 'rxjs';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nconst { Content } = Layout;\r\nconst HTTP_PROXY_URL = 'http://tfproxy.chanjet.com/?url=';\r\nconst CC_FRAME_CONF = { id: 'external-frame-cc', identOnly: '_pos_web_', initConnect: 'initConnect', HsyLoadFinish: 'HsyLoadFinish', HsyRouterClean: 'HsyRouterClean', HsyRouterJump : 'HsyRouterJump' };\r\n@observer\r\nexport default class extends Component {\r\n static propTypes = {\r\n routes: PropTypes.array,\r\n };\r\n static contextTypes = {\r\n stores: PropTypes.object,\r\n infoRender: PropTypes.func,\r\n headHook: PropTypes.object\r\n };\r\n ccFrameStore = {};\r\n constructor(props) {\r\n super(props);\r\n this.hasElectron = hasElectron;\r\n const hsyPageLoadIsFinish = localStore && localStore.get('hsyPageLoadIsFinish');\r\n this.state = {\r\n id: Date.now(),\r\n operations: [],\r\n showModal: false,\r\n showMoreModal: false,\r\n isHsyLoadFinish: !!hsyPageLoadIsFinish,\r\n loadTcPage: false,\r\n loadTcURL: '',\r\n modalURL: '',\r\n }\r\n const { isVerticalTouch, isHorizontalPad, isHorizontalSunMi, isNewRetailBCPosTC } = platform || {};\r\n this.isVerticalTouch = !!isVerticalTouch;\r\n this.isHorizontalPad = !!isHorizontalPad;\r\n this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n this.FuPingIsLoaded = false;\r\n this.isNewRetailBCPosTC = !!isNewRetailBCPosTC;\r\n this.new_retail_app = localStore && localStore.get('newRetailAppType');\r\n this.hsy_domain = User && User.getWebEntry();\r\n // 是否嵌套好生意的iframe\r\n this.isHsyIframeInclude = !this.isVerticalTouch && !this.isMobileEnvironment;\r\n //获取初始化参数\r\n this.isEnableMember = !!PosInitData('isEnableMember');//是否开启会员\r\n this.isEnablePromotion = !!PosInitData('isEnablePromotion');//是否开启促销\r\n this.isOfflineCash = PosInitData('IsOfflineCash');\r\n this.tplusSiteUrl = PosInitData(\"TplusSite\") || PosInitData(\"tplusinnersite\");\r\n this.idWarehouse = PosInitData('IdWarehouse') || '';\r\n this.warehouseName = PosInitData('WarehouseName') || '';\r\n this.performanceDistribution = PosInitData('PerformanceDistribution'); \r\n this.showStorePrice = PosInitData('ShowStorePrice');\r\n\r\n //首页布局\r\n this.leftMenu = this.getMenuByPosition('left');\r\n this.centerLeftMenu = this.getMenuByPosition('centerLeft');\r\n this.centerRightMenu = this.getMenuByPosition('centerRight');\r\n this.rightMenu = this.getMenuByPosition('right');\r\n this.randomWord = this.randomWord.bind(this);\r\n }\r\n\r\n getMenuByPosition(position) {\r\n const { leftMenu, centerLeftMenu, centerRightMenu, rightMenu, leftMenuTC, rightMenuTC, centerLeftMenuMobileCC, centerLeftMenuMobileTC, centerRightMenuMobileCC, centerRightMenuMobileTC, rightMenuMobileTC, rightMenuMobileCC } = Menus;\r\n switch (position) {\r\n case \"left\":{\r\n return this.getMenuByEnvironment(leftMenu,leftMenuTC,[],[]);\r\n }\r\n case \"centerLeft\":{\r\n return this.getMenuByEnvironment(centerLeftMenu,centerLeftMenu, centerLeftMenuMobileTC,centerLeftMenuMobileCC)\r\n }\r\n case \"centerRight\":{\r\n return this.getMenuByEnvironment(centerRightMenu,centerRightMenu, centerRightMenuMobileTC,centerRightMenuMobileCC)\r\n }\r\n case \"right\":{\r\n return this.getMenuByEnvironment(rightMenu,rightMenuTC, rightMenuMobileTC,rightMenuMobileCC)\r\n }\r\n }\r\n }\r\n\r\n getMenuByEnvironment(ccMenu, tcMenu, tcMobilMenu, ccMobilMenu) {\r\n if (this.isNewRetailBCPosTC) {\r\n return tcMenu;\r\n } else {\r\n return ccMenu;\r\n }\r\n }\r\n\r\n catchOfflineData = async () => {\r\n const { offlineSys } = this.context.stores;\r\n const isLoginAfter = localStore.get(\"isLoginAfter\");\r\n const downloadCatcherDay = localStore.get(\"downloadCatcherDay\");\r\n const currentDay = Math.ceil(new Date() / 1000 / 60 / 60 / 24)\r\n if (isLoginAfter == 1) {\r\n // 增加每天第一次登陆下载数据\r\n if (!downloadCatcherDay || currentDay > downloadCatcherDay) {\r\n try {\r\n Loading.show({\r\n text: '离线数据下载中,请稍等...',\r\n delay: 0,\r\n showProgress: true\r\n });\r\n function downProgress(params) {\r\n Loading.transfer(params)\r\n }\r\n let result = await offlineSys.downloadCatcherData(downProgress);\r\n if (result) localStore.set(\"downloadCatcherDay\", currentDay);\r\n Loading.hide();\r\n } catch (ex) {\r\n console.log('downloadCatcherData下载离线数据', ex);\r\n Loading.hide();\r\n } finally {\r\n Loading.hide();\r\n }\r\n }\r\n localStore.set(\"isLoginAfter\", 0)\r\n }\r\n }\r\n\r\n getOperation = () => {\r\n return new Promise((resolve, reject) => {\r\n const { homeOperation, functionData } = Request;\r\n homeOperation().then(operations => {\r\n localStore.set('operationsAuth', JSON.stringify(operations));\r\n this.setState({ operations: operations || [] });\r\n resolve()\r\n }).catch((err) => {\r\n console.log('homeOperation.error======', err);\r\n Loading.hide();\r\n resolve()\r\n })\r\n functionData().then(data => {\r\n PosSetData(data);\r\n })\r\n })\r\n }\r\n\r\n initPageData = async () => {\r\n const { stores = {}, headHook: { addClass } = {} } = this.context;\r\n\r\n const hasUseOffline = (PosInitData('IsOfflineCash') === \"1\") && !platform.otherOfflineStatus;; //是否允许离线\r\n // const hasUseOffline = true;\r\n if (hasUseOffline == true) {\r\n await this.catchOfflineData(); //离线数据下发\r\n }\r\n Loading.show({\r\n text: '权限加载中,请稍等...',\r\n delay: 2500\r\n });\r\n //权限加载\r\n try {\r\n await this.getOperation()\r\n } catch (err) {\r\n Loading.hide()\r\n } finally {\r\n Loading.hide();\r\n }\r\n addClass && addClass(this.state.id, 'portalHead');\r\n // 初始化参数设置。\r\n stores.setStore.initSetParams().then(ret => {\r\n // 在客户端中,如果开启了副屏设置,尝试这打开副屏。\r\n if (this.getScreenType() === true) {\r\n if (this.isHorizontalSunMi) {\r\n this.sunMiPresentationInit(ret);\r\n return;\r\n }\r\n console.log('副屏页面打开之前,user信息', JSON.stringify(stores.user));\r\n window.open('vicescreen?ts=' + new Date().getTime(), 'screen');\r\n setTimeout(() => {\r\n console.log('副屏页面打开之后,user信息', JSON.stringify(stores.user))\r\n }, 3000);\r\n }\r\n })\r\n }\r\n\r\n componentDidMount() {\r\n this.initPageData();\r\n //加载好生意界面\r\n const hsyPageLoadIsFinish = localStore && localStore.get('hsyPageLoadIsFinish');\r\n if (hsyPageLoadIsFinish == 'true') {\r\n this.loadHsyPage();\r\n } else {\r\n setTimeout(() => { this.loadHsyPage() }, 1000)\r\n }\r\n }\r\n\r\n // 初始化加载hsy\r\n loadHsyPage = () => {\r\n if(this.isHsyIframeInclude){\r\n this.initHsyBasicPageInfo();\r\n this.initHsyFrameWin();\r\n }\r\n }\r\n\r\n // 初始化好生意iframe\r\n initHsyFrameWin() {\r\n let _this = this;\r\n this.ccFrameStore = new stores.IframeStore(document.getElementById(CC_FRAME_CONF.id), this.hsy_domain, function (e, instance) {\r\n console.log(e, instance, 'cciframe 接收消息');\r\n if (e.data && e.data.type === CC_FRAME_CONF.HsyLoadFinish) {\r\n //记录好生意界面是否加载完成\r\n const hsyPageLoadIsFinish = localStore && localStore.get('hsyPageLoadIsFinish');\r\n if (!(hsyPageLoadIsFinish == 'true')) {\r\n localStore && localStore.set('hsyPageLoadIsFinish', true);\r\n _this.setState({ isHsyLoadFinish: true });\r\n }\r\n }\r\n }, function (e, instance) {\r\n console.log(\"ccFrameWin 加载成功========>\", e, instance);\r\n instance.sendMessage({ type: CC_FRAME_CONF.initConnect, _ident_only_: CC_FRAME_CONF.identOnly });\r\n }, CC_FRAME_CONF.identOnly);\r\n }\r\n // 初始化商米副屏\r\n sunMiPresentationInit = (result) => {\r\n //SunMi初始化参数设置。\r\n //副屏幕交互。硬件改动20200428 需要在商米页面加载成功后才能发送 初始化命令\r\n // 进行主副屏数据交互 初始化\r\n console.log(result);\r\n const { storeName = '' } = stores.user.options.get('store') || {};\r\n const { RE_POSParamType } = enumController.getEnumOj();\r\n const { DUAL_SCREEN_SETTING } = RE_POSParamType;\r\n const filterResult = result && result.filter?result.filter((settingItem)=>{return settingItem.ParamType === DUAL_SCREEN_SETTING}):[];\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.sharedPreferencesSet(\"setting_setData\",filterResult).then(()=>{\r\n console.log(\"缓存数据成功\")\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 0,storeName});\r\n });\r\n }\r\n\r\n // 初始化智+模块信息\r\n initHsyBasicPageInfo() {\r\n console.log('start create iframe-hsyPage');\r\n const hsyPageLoadIsFinish = localStore && localStore.get('hsyPageLoadIsFinish');\r\n const _hsyPage = document.getElementById(CC_FRAME_CONF.id);\r\n if (hsyPageLoadIsFinish == 'true' && _hsyPage) return;\r\n const theme = stores.portalStore.themeStore;\r\n let color = '#FF8C25';\r\n switch (theme) {\r\n case 'orange':\r\n color = \"#FF8C25\";\r\n break;\r\n case 'blue':\r\n color = \"#3491FF\";\r\n break;\r\n case 'dark':\r\n color = \"#26A0DE\";\r\n break;\r\n case 'pink':\r\n color = \"#FF6B8C\";\r\n break;\r\n }\r\n const _height = document.body.clientHeight;\r\n const { PosId = '' } = localStore && localStore.get('StoreKey') || {};\r\n const cc_url = `${this.hsy_domain.replace('#/', '')}?fromApp=nretail&posid=${PosId}&content_only=true&bar_bg=${encodeURIComponent('#FFFFFF')}&bar_active_bg=${encodeURIComponent(color)}`;\r\n let iframe = document.createElement('iframe');\r\n iframe.width = '100%';\r\n iframe.height = `${_height - 60}px`;\r\n iframe.setAttribute(\"scrolling\", \"yes\");\r\n iframe.setAttribute(\"frameborder\", 0);\r\n iframe.style.position = 'absolute';\r\n iframe.src = cc_url;\r\n iframe.id = CC_FRAME_CONF.id;\r\n document.body.appendChild(iframe);\r\n console.log('finish create iframe-hsyPage succeed.');\r\n }\r\n\r\n //初始化tc、tcyzj、tczsy信息\r\n getTcBasicInfoInit = () => {\r\n let userStore = User.restore();\r\n let sid = userStore.sid;\r\n let tplusUrl = this.tplusSiteUrl;\r\n if (!tplusUrl) {\r\n let msg = \"请用admin登录,在服务器配置–地址配置处,设置“内部或外部网络访问T+服务器的地址”!\";\r\n ModalWraper.warning(\r\n {\r\n title: '温馨提示',\r\n content: msg,\r\n okText: '确定',\r\n okType: 'primary',\r\n }\r\n )\r\n return false;\r\n }\r\n if (tplusUrl.substring(tplusUrl.length - 1) !== '/') {\r\n tplusUrl += '/';\r\n }\r\n let ossjumpUrl = `${tplusUrl}view/portal/portal.html?t=${new Date().getTime()}`\r\n if (sid) {\r\n ossjumpUrl = `${tplusUrl}view/ossjump.html?t=${new Date().getTime()}&sid=${sid}`\r\n }\r\n let postMsgUrl = ossjumpUrl;\r\n let { user } = this.context.stores;\r\n let loginInfo = user.options.get('loginInfo');\r\n const { UserCode, AccountNum, posCode, TplusStoreId } = loginInfo || {};\r\n const uid = this.tplusEncode(UserCode);\r\n const pwd = this.tplusEncode(user.options.get(\"password\"));\r\n const accNum = this.tplusEncode(AccountNum || '');\r\n const code = this.tplusEncode(posCode);\r\n const store = this.tplusEncode(TplusStoreId + '');\r\n ossjumpUrl += `&fromApp=nretail&way=inframe&user=${uid}&pwd=${pwd}&accNum=${accNum}&posCode=${code}&storeID=${store}`;\r\n return { ossjumpUrl, postMessageUrl: postMsgUrl };\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.isHsyIframeInclude && typeof this.ccFrameStore.destroy == 'function') {\r\n this.ccFrameStore.destroy();\r\n }\r\n const { headHook: { removeClass } = {} } = this.context\r\n removeClass && removeClass(this.state.id, 'portalHead');\r\n }\r\n\r\n componentWillReceiveProps() {\r\n if (this.getScreenType() === true) {\r\n if (this.isHorizontalSunMi && this.FuPingIsLoaded) {\r\n window.sunMi_PresentationManager && window.sunMi_PresentationManager.sendMessageToSecondScreen({ step: 1 });\r\n } else {\r\n nativeMs && nativeMs.setIpcRendererMethod('ReplyScreen', { step: 1 })\r\n }\r\n }\r\n }\r\n\r\n // 获取副屏的状态\r\n getScreenType = () => {\r\n let flag = false;\r\n if (this.hasElectron === true || this.isHorizontalSunMi) {\r\n let data = localStore.get('setting_setData') || [];\r\n data = data.filter(item => item.Name === 'EnableDoubleScreen');\r\n data = data && data.length > 0 ? data.shift() : null;\r\n if (data && data.Value === '1') {\r\n flag = true;\r\n }\r\n }\r\n return flag;\r\n }\r\n\r\n menuClick(item, e) {\r\n history.push(item.path);\r\n }\r\n saveLog = (name) => {\r\n const { saveLogo } = Request;\r\n name = \"进入模块:\" + name;\r\n saveLogo('进入模块', undefined, name);\r\n }\r\n\r\n handelClick = (values = {}) => {\r\n const { key: type, isModal, iframe, app, title, Name, style, search, tmenuCode } = values;\r\n const { operations, isHsyLoadFinish } = this.state;\r\n const controllable = operations.find(vv => vv.Name === Name);\r\n const { Visibility, HoldFunctionAuth, Title, MenuCode } = controllable || {};\r\n let errorTip;\r\n\r\n // 离线模式\r\n if (!stores.offlineSys.shouldOpenHomeOperation(Name)) {\r\n Message.warn(\"离线模式下此操作不可用\", { duration: 3 })\r\n return;\r\n }\r\n\r\n // 会员拉新\r\n if (type == 'memberRecruitment' && (this.isEnablePromotion == false || this.isEnableMember == false)) {\r\n Message.warn(\"您还未开通会员/促销管理,请立即开通\", { duration: 3 })\r\n return;\r\n }\r\n\r\n // 会员消费查询\r\n if (type == 'memberConsumDetail' && this.isEnableMember == false) {\r\n Message.warn(\"您还未开通会员管理,请立即开通\", { duration: 3 })\r\n return;\r\n }\r\n\r\n // 更多\r\n if (type == 'more') {\r\n return this.setState({ showMoreModal: true })\r\n }\r\n\r\n if (!Title) {\r\n return ModalWraper.warning({\r\n title: '提示',\r\n content: '您的权限配置请求失败,请重新登录',\r\n onOk() {\r\n User.logout();\r\n },\r\n okType: 'primary',\r\n })\r\n }\r\n\r\n if (!Visibility) {\r\n errorTip = `您的 ${Title} 模块没有启用`;\r\n } else if (!HoldFunctionAuth) {\r\n errorTip = `您没有操作 ${Title} 的权限`;\r\n }\r\n const { portalStore } = this.context.stores;\r\n if (errorTip) {\r\n return Message.warn(errorTip);\r\n }\r\n if (isModal) {\r\n return stores.modalRouter.show({ url: `/${type}`, width: 800, title });\r\n }\r\n // 支持页面内打开,减少再次加载页面的时间。\r\n if (iframe === true) return this.toFramePage({ type, app, title, style, search, MenuCode, tmenuCode, isHsyLoadFinish });\r\n switch (type) {\r\n case 'cashier':\r\n portalStore.checkDuty().then((onDutyMessage) => {\r\n if (!!onDutyMessage) {\r\n const { Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode } = onDutyMessage;\r\n PosSetData({ ShiftCode: Code, IdShiftVoucher, Shift, IdDailyVoucher, DailyCode });\r\n console.log('onDutyMessage======', onDutyMessage);\r\n this.saveLog(title);\r\n history.push('/RE/RE01');\r\n }\r\n }).catch((data) => {\r\n console.log(\"进入前台收银检查是否当班返回错误\", data);\r\n });\r\n break;\r\n case 'onDuty':\r\n portalStore.onDuty().then((onDutyMessage) => {\r\n if (onDutyMessage && onDutyMessage.shift) {\r\n MiddleWare.execute('onDuty')\r\n }\r\n });\r\n break;\r\n case 'offDuty':\r\n history.push('/offDuty?type=offDuty');\r\n break;\r\n case 'settleDialy':\r\n if (portalStore.bPosDaily()) {\r\n history.push('/offDuty?type=settleDaily');\r\n } else {\r\n portalStore.onMakerDaily();\r\n }\r\n break;\r\n default:\r\n history.push(`/${type}`);\r\n break;\r\n }\r\n }\r\n\r\n //跳转其他页面,以内嵌形式打开\r\n toFramePage = (params) => {\r\n const { app, title, style, search, tmenuCode, MenuCode, isHsyLoadFinish } = params || {}\r\n switch (app) {\r\n case 'cc':\r\n let sh = '';\r\n if (!isHsyLoadFinish && !this.isMobileEnvironment) {\r\n return Message.warn('正在加载资源中,请稍后。');\r\n }\r\n if (!search) {\r\n return Message.warn('正在紧急研发中...');\r\n } else if (search && search.length > 0) {\r\n sh = (search.length > 1 && MenuCode) ? search.find(v => v.menu === MenuCode) : search[0];\r\n sh = sh || search[0];\r\n }\r\n if (!sh) {\r\n return Message.warn('传递参数有误,请查证。');\r\n }\r\n this.toHsyPage({ ...style, ...sh });\r\n break;\r\n case 'tc':\r\n if (tmenuCode || MenuCode) {\r\n this.saveLog(title);\r\n if (MenuCode) {\r\n this.toTplusPage(MenuCode, search);\r\n } else {\r\n this.toTplusPage(tmenuCode, search);\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n getTplusUrlFromCloudServer = () => {//获取T+服务器配置地址。\r\n let userStore = User.restore();\r\n let data = 'accesstoken=' + `${userStore.accessToken}` + '&cloudOrgId=' + `${userStore.orgId}`;\r\n let url = `${HTTP_PROXY_URL}` + encodeURIComponent('http://mns.chanapp.chanjet.com/web/WebServer/get?' + `${data}`);\r\n console.log(url);\r\n let fetchHeader = {\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n }\r\n };\r\n return new Promise((resolve, reject) => {\r\n fetch(url, fetchHeader)\r\n .then(function (response) {\r\n return response.json();\r\n }).then(json => {\r\n console.log(json);\r\n resolve(json);\r\n }).catch(ex => {\r\n console.log(ex);\r\n reject(err);\r\n })\r\n })\r\n }\r\n\r\n //跳转到T+\r\n toTplusPage = async (tmenuCode, search) => {\r\n let ret = this.getTcBasicInfoInit();\r\n if (ret === false) return;\r\n let { ossjumpUrl, postMessageUrl } = ret || {};\r\n let dsearchPlanID = '';\r\n if (search && search.id) {\r\n const { portalStore } = this.context.stores;\r\n dsearchPlanID = await portalStore.getSearchPlanId(search);\r\n }\r\n let menu = this.tplusEncode(tmenuCode);\r\n ossjumpUrl += `&menu=${menu}&fromUrl=${this.tplusEncode(location.origin)}`;\r\n if (dsearchPlanID) {\r\n ossjumpUrl += `&searchPlanID=${this.tplusEncode(dsearchPlanID)}`;\r\n }\r\n if (this.isHorizontalSunMi) {\r\n window.android_CommonFun.openWebUrlByOutBrowser(ossjumpUrl);\r\n } else {\r\n //对于专属云、云主机,如果配置的http,存在跨域问题,暂时解决不了,只能通过打开默认浏览器打开。\r\n //目前T+页面有很多进一步操作的界面,无法得到解决,特针对跳转T+页面的,都使用默认浏览器打开。2021-10-27\r\n if (this.new_retail_app == 'tc' || this.new_retail_app == 'tczsy' || this.new_retail_app == 'tcyzj') {\r\n nativeMs.useDefaultBrowser(ossjumpUrl);\r\n return;\r\n }\r\n let external_frame_tc = document.getElementById('external-frame-tc');\r\n let win = external_frame_tc.contentWindow;\r\n const { loadTcURL } = this.state;\r\n if (loadTcURL) {\r\n win && win.postMessage({ doType: 'openMenuFromPos', tmenuCode, ossjumpUrl, dsearchPlanID }, postMessageUrl);\r\n this.setState({ loadTcPage: true });\r\n } else {\r\n this.setState({ loadTcURL: ossjumpUrl, loadTcPage: true });\r\n }\r\n rx$.changeHsy.next({\r\n back: true, fn: () => {\r\n win && win.postMessage({ doType: 'closeCurrentMenuFromPos' }, postMessageUrl);\r\n this.setState({ loadTcPage: false });\r\n rx$.changeHsy.next({ back: false });\r\n }\r\n })\r\n }\r\n }\r\n\r\n //跳转CC\r\n toHsyPage = async (params) => {\r\n let {\r\n content_only, //只加载内容区域\r\n bar_bg, //页签栏颜色\r\n bar_active_bg, //激活态的标签背景颜色\r\n menu,\r\n secondRouter,\r\n activePrompt,\r\n closePrompt,\r\n closeable,\r\n leavePrompt,\r\n lock,\r\n pageId,\r\n pageParams,\r\n path,\r\n tabId,\r\n tabLabel,\r\n pageType,\r\n _k\r\n } = params;\r\n\r\n let filter = {};\r\n //对仓库参数的处理\r\n const IdWarehouse = this.idWarehouse;\r\n const WarehouseName = this.warehouseName;\r\n const IsPerformanceDistribution = this.performanceDistribution === 'SHIPPER_STORE' || false;\r\n const { IdStore = '', PosId = '' } = stores.user.options.get('loginInfo') || {};\r\n const { storeName = '' } = stores.user.options.get('store') || {};\r\n\r\n switch (pageType) {\r\n case 'voucher':\r\n filter = {\r\n defaultValue: {\r\n storeId: {\r\n id: IdStore,\r\n storeName\r\n },\r\n warehouseId: {\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }\r\n }\r\n }\r\n //要货单特殊处理\r\n if (menu == 'require-goods-new') {\r\n filter = {\r\n defaultValue: {\r\n storeId: {\r\n id: IdStore,\r\n storeName\r\n },\r\n requireWarehouseId: {\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }\r\n }\r\n }\r\n }\r\n if (menu == 'pre-sell'){\r\n filter = {\r\n storeId: [{id: IdStore, storeName}],\r\n orderStatusEnum: 'WAIT_DELIVERY',\r\n }\r\n }\r\n break;\r\n case 'report':\r\n filter = {\r\n filterValue: {\r\n storeId: {\r\n value: {\r\n id: IdStore,\r\n storeName\r\n }\r\n },\r\n warehouseId: {\r\n value: [{\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }]\r\n }\r\n }\r\n }\r\n // 收银统计表\r\n if (IsPerformanceDistribution && menu == 'retail-cash-report') {\r\n filter = {\r\n filterValue: {\r\n deliveryStoreId: {\r\n value: {\r\n id: IdStore,\r\n storeName\r\n }\r\n },\r\n warehouseId: {\r\n value: [{\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }]\r\n }\r\n }\r\n }\r\n }\r\n // 售后、配送\r\n if (menu == 'return-order' || menu == 'order-manage') {\r\n filter = {\r\n filterValue: {\r\n storeId: {\r\n value: {\r\n id: IdStore,\r\n storeName\r\n }\r\n },\r\n deliveryWarehouseId: {\r\n value: [{\r\n id: IdWarehouse,\r\n name: WarehouseName\r\n }]\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n bar_bg = encodeURIComponent(bar_bg);\r\n bar_active_bg = encodeURIComponent(bar_active_bg);\r\n menu = secondRouter ? `${menu}/${this.randomWord(true, 13)}` : menu;\r\n pageId = menu;\r\n pageParams = Object.assign(pageParams, filter);\r\n path = encodeURIComponent(path);\r\n _k = this.randomWord(false, 6);\r\n\r\n const commonArgs = `?posid=${PosId}&content_only=${content_only}&bar_bg=${bar_bg}&bar_active_bg=${bar_active_bg}`;\r\n const actionUrl = `#/${menu}?activePrompt=${activePrompt}&closePrompt=${closePrompt}&closeable=${closeable}&leavePrompt=${leavePrompt}&lock=${lock}&pageId=${pageId}&pageParams=${encodeURIComponent(JSON.stringify(pageParams))}&path=${path}&tabId=${tabId}&tabLabel=${encodeURIComponent(tabLabel)}&_k=${_k}`;\r\n let cc_url = this.hsy_domain.replace('#/', '') + commonArgs + actionUrl;\r\n console.log('web_hsy_url:', cc_url);\r\n if(this.isHorizontalSunMi){\r\n const CC_WEB_URL = await User.getLoginCCMidWebUrl(cc_url)\r\n console.log('CC_WEB_URL:', CC_WEB_URL);\r\n window.android_CommonFun.openWebUrlByOutBrowser(CC_WEB_URL);\r\n }else{\r\n this.ccFrameStore && this.ccFrameStore.sendMessage({type: CC_FRAME_CONF.HsyRouterJump, pageId, pageParams, extStateParams: { closeable, tabLabel }, _ident_only_: CC_FRAME_CONF.identOnly })\r\n if (this.state.showMoreModal === true) {\r\n this.setState({ showMoreModal: false });\r\n }\r\n const _hsyPage = document.getElementById(CC_FRAME_CONF.id);\r\n if(_hsyPage) _hsyPage.style.top = '60px';\r\n rx$.changeHsy.next({\r\n back: true, fn: () => {\r\n if(_hsyPage) _hsyPage.style.top = '-100%';\r\n rx$.changeHsy.next({ back: false });\r\n // 在打开页签之前,关闭之前的,返回键的回调函数\r\n this.ccFrameStore && this.ccFrameStore.sendMessage({ type: CC_FRAME_CONF.HsyRouterClean, _ident_only_: CC_FRAME_CONF.identOnly });\r\n }\r\n })\r\n }\r\n }\r\n\r\n randomWord = (only, digits) => {\r\n let str = \"\";\r\n const number = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\r\n const letter = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']\r\n let arr = only ? [...number] : [...number, ...letter];\r\n for (let i = 0; i < digits; i++) {\r\n let pos = Math.round(Math.random() * (arr.length - 1));\r\n str += arr[pos];\r\n }\r\n return str;\r\n }\r\n\r\n closeFrameModal = () => {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n closeMoreModal = () => {\r\n this.setState({ showMoreModal: false })\r\n }\r\n\r\n tplusEncode = (code) => {\r\n let c = String.fromCharCode(code.charCodeAt(0) + code.length);\r\n for (let i = 1; i < code.length; i++) {\r\n c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1));\r\n }\r\n let ret = this.TplusBase64Encode(c);\r\n return ret;\r\n }\r\n\r\n TplusBase64Encode = (input) => {\r\n const _keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n let output = \"\";\r\n let chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n let i = 0;\r\n input = this._utf8_encode(input);\r\n while (i < input.length) {\r\n chr1 = input.charCodeAt(i++);\r\n chr2 = input.charCodeAt(i++);\r\n chr3 = input.charCodeAt(i++);\r\n enc1 = chr1 >> 2;\r\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n enc4 = chr3 & 63;\r\n if (isNaN(chr2)) {\r\n enc3 = enc4 = 64;\r\n } else if (isNaN(chr3)) {\r\n enc4 = 64;\r\n }\r\n output = output +\r\n _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +\r\n _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\r\n }\r\n return output;\r\n }\r\n _utf8_encode = (string) => {\r\n string = string.replace(/\\r\\n/g, \"\\n\");\r\n let utftext = \"\";\r\n for (let n = 0; n < string.length; n++) {\r\n let c = string.charCodeAt(n);\r\n if (c < 128) {\r\n utftext += String.fromCharCode(c);\r\n } else if ((c > 127) && (c < 2048)) {\r\n utftext += String.fromCharCode((c >> 6) | 192);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n } else {\r\n utftext += String.fromCharCode((c >> 12) | 224);\r\n utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n }\r\n return utftext;\r\n }\r\n\r\n operationControl = (menu = []) => {\r\n const { operations } = this.state;\r\n menu.forEach(v => {\r\n if (v.sub) {\r\n return this.operationControl(v.sub);\r\n }\r\n const controllable = operations.find(vv => vv.Name === v.Name);\r\n const { Visibility, HoldFunctionAuth, Title } = controllable || {};\r\n let errorTip;\r\n if (!Visibility) {\r\n errorTip = `您的 ${Title} 模块没有启用`;\r\n } else if (!HoldFunctionAuth) {\r\n errorTip = `您没有操作 ${Title} 的权限`;\r\n }\r\n v.errorTip = errorTip;\r\n });\r\n return menu;\r\n }\r\n\r\n createLeftNode = () => {\r\n const menu = this.leftMenu;\r\n let width = menu.length == 0 ? this.isMobileEnvironment & !this.isNewRetailBCPosTC ? 5 : 4 : 7;\r\n if(menu.length == 0) {\r\n return (<Col xl={width} md={width} className='portal-left-col' key='left'>\r\n <div className='portal-left-content'></div>\r\n </Col>);\r\n }\r\n\r\n const menuNode = menu.map(v => {\r\n return (v.container ?\r\n <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n {\r\n v.sub.map(vv => {\r\n let item = vv;\r\n if (vv.maybe === true) {\r\n item = this.showStorePrice ? vv : vv.second;\r\n }\r\n return (<div\r\n className={`member-item ${item.className} ${item.disabled ? 'menu-item-disabled' : ''}`}\r\n key={item.className}\r\n onClick={this.handelClick.bind(this, item)}\r\n >\r\n {!!item.title && <h1>{item.title}</h1>}\r\n {!!item.label && <p>{item.label}</p>}\r\n {!!item.icon && <Ticon icon={item.icon} />}\r\n </div>)\r\n })\r\n }\r\n </div>\r\n :\r\n <div\r\n className={`member-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {v.title && <h1>{v.title}</h1>}\r\n {v.label && <p>{v.label}</p>}\r\n {v.icon && <Ticon icon={v.icon} />}\r\n </div>\r\n )\r\n })\r\n return (<Col xl={7} md={7} className='portal-left-col' key='left'>\r\n <div className='portal-left-content'>{menuNode}</div>\r\n </Col>);\r\n }\r\n createCenterNode = () => {\r\n const menuLeftNode = this.centerLeftMenu.map(v => {\r\n return (<div\r\n className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n style={v.style}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {v.title && <h1>{v.title}</h1>}\r\n {v.label && <p>{v.label}</p>}\r\n {v.icon && <Ticon icon={v.icon} />}\r\n {v.disabled && <div className='item-disabled-placeholder' />}\r\n </div>)\r\n });\r\n const menuRightNode = this.centerRightMenu.map(v => {\r\n return (v.container ?\r\n <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n {\r\n v.sub.map(vv => {\r\n return (<div\r\n className={`worktop-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n key={vv.className}\r\n onClick={this.handelClick.bind(this, vv)}\r\n >\r\n {vv.title && <h1>{vv.title}</h1>}\r\n {vv.label && <p>{vv.label}</p>}\r\n {vv.icon && <Ticon icon={vv.icon} />}\r\n </div>)\r\n })\r\n }\r\n </div>\r\n :\r\n <div\r\n className={`worktop-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {v.title && <h1>{v.title}</h1>}\r\n {v.label && <p>{v.label}</p>}\r\n {v.icon && <Ticon icon={v.icon} />}\r\n </div>)\r\n });\r\n return <div><div className='worktop-container-left'>{menuLeftNode}</div><div className='worktop-container-right'>{menuRightNode}</div></div>;\r\n }\r\n createRightNode = () => {\r\n var width = this.leftMenu.length == 0 ? this.isMobileEnvironment & !this.isNewRetailBCPosTC ? 9 : 10 : 7;\r\n const node = this.rightMenu.map(v => {\r\n return (v.container ?\r\n <div style={v.container.style} className={v.container.className} key={v.container.className}>\r\n {\r\n v.sub.map(vv => {\r\n return (<div\r\n className={`stock-item ${vv.className} ${vv.disabled ? 'menu-item-disabled' : ''}`}\r\n key={vv.className}\r\n onClick={this.handelClick.bind(this, vv)}\r\n >\r\n {vv.title && <h1>{vv.title}</h1>}\r\n {vv.label && <p>{vv.label}</p>}\r\n {vv.icon && <Ticon icon={vv.icon} />}\r\n </div>)\r\n })\r\n }\r\n </div>\r\n :\r\n <div\r\n className={`stock-item ${v.className} ${v.disabled ? 'menu-item-disabled' : ''}`}\r\n style={v.style}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {!!v.title && <h1>{v.title}</h1>}\r\n {!!v.icon && <Ticon icon={v.icon} />}\r\n </div>)\r\n });\r\n return <Col xl={width} md={width} className='portal-right-col' key='right'>\r\n <div className='portal-right-content'>{node}</div>\r\n </Col>\r\n }\r\n\r\n createMoreNode = () => {\r\n const arrs = this.getMoreNodeInfo();\r\n const items = this.isNewRetailBCPosTC ? arrs.sub_tc : arrs.sub_cc || [];\r\n const node = items.length > 0 && items.map(v => {\r\n return (\r\n <div\r\n className={`modal-quick ${v.className}`}\r\n style={v.style}\r\n key={v.className}\r\n onClick={this.handelClick.bind(this, v)}\r\n >\r\n {!!v.icon && <div className='quick'><Ticon icon={v.icon} /></div>}\r\n {!!v.title && <h1>{v.title}</h1>}\r\n </div>\r\n )\r\n })\r\n return node;\r\n }\r\n\r\n getMoreNodeInfo = () => {\r\n if (this.isNewRetailBCPosTC) {\r\n return this.centerRightMenu.find(v => v.sub && v.sub.find(vv => vv.key == 'more')).sub[1] || {};\r\n } else {\r\n return this.centerRightMenu.find(v => v.sub && v.sub.find(vv => vv.key == 'more')).sub[1] || {};\r\n }\r\n }\r\n\r\n render() {\r\n const { showModal, showMoreModal, modalURL, loadTcPage, loadTcURL } = this.state;\r\n const screenHeight = window.screen.availHeight - 100;\r\n let htmlContent = null;\r\n if (this.isVerticalTouch) {\r\n htmlContent = <VerticalPortal handelClick={this.handelClick} />\r\n }\r\n else {\r\n htmlContent = (<Layout style={{ height: '100%' }} className='portal-content'>\r\n <Content style={{ paddingLeft: '50px', paddingRight: '50px' }} className='portal-container portal-container-center'>\r\n <Row className=\"portal-content-row\">\r\n {this.createLeftNode()}\r\n <Col xl={10} md={10} className='portal-center-col' key='center'>\r\n <div className='portal-center-content'>\r\n {this.createCenterNode()}\r\n </div>\r\n </Col>\r\n {this.createRightNode()}\r\n </Row>\r\n </Content>\r\n {\r\n <div className={loadTcPage ? 'portal-hsy-tc-container' : 'portal-hsy-tc-container portal-hsy-tc-container-hide'}>\r\n <iframe src={loadTcURL} width='100%' height='93%' frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\" id=\"external-frame-tc\"></iframe>\r\n </div>\r\n }\r\n {\r\n this.isMobileEnvironment &&\r\n <Modal\r\n visible={showModal}\r\n onCancel={this.closeFrameModal}\r\n width={'99%'}\r\n height={'99%'}\r\n footer={null}\r\n >\r\n <iframe src={modalURL} width='100%' height={screenHeight} frameborder=\"no\" border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"yes\" allowtransparency=\"true\"></iframe>\r\n </Modal>\r\n }\r\n {\r\n <Modal\r\n title={'更多'}\r\n className={'portal-container-modal-more'}\r\n visible={showMoreModal}\r\n onCancel={this.closeMoreModal}\r\n width={800}\r\n height={375}\r\n footer={null}\r\n centered\r\n maskClosable={false}\r\n keyboard={false}\r\n >\r\n {\r\n this.createMoreNode()\r\n }\r\n </Modal>\r\n }\r\n </Layout>)\r\n }\r\n return htmlContent;\r\n }\r\n}"]}
@@ -126,14 +126,18 @@ var IframeStore = (_temp = _class = function () {
126
126
  };
127
127
 
128
128
  this.destroy = function () {
129
- window.removeEventListener('message', _this[msgListener]);
130
- _this.dom.removeEventListener('load', _this[ifrLoadListener]);
131
- (0, _ownKeys2.default)(_this.constructor.prototype).forEach(function (v) {
132
- return _this[v] = null;
133
- });
134
- (0, _ownKeys2.default)(_this).forEach(function (v) {
135
- return _this[v] = null;
136
- });
129
+ try {
130
+ window.removeEventListener('message', _this[msgListener]);
131
+ _this.dom.removeEventListener('load', _this[ifrLoadListener]);
132
+ (0, _ownKeys2.default)(_this.constructor.prototype).forEach(function (v) {
133
+ return _this[v] = null;
134
+ });
135
+ (0, _ownKeys2.default)(_this).forEach(function (v) {
136
+ return _this[v] = null;
137
+ });
138
+ } catch (ex) {
139
+ console.log('清除hsy-iframe', ex);
140
+ }
137
141
  };
138
142
  }, _temp);
139
143
  exports.default = IframeStore;
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-portaltouch/stores/IframeStore.js"],"names":["initFrame","initListener","initLoad","msgListener","ifrLoadListener","forOrigin","onMsgCb","onLoadCb","IDENT_ONLY","IframeStore","dom","origin","onMessage","onFrameLoad","valiIdent","contentWindow","iframeWin","console","error","URL","e","window","addEventListener","msg","data","Object","prototype","toString","call","sendMessage","params","postMessage","destroy","removeEventListener","constructor","forEach","v"],"mappings":"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","file":"IframeStore.js","sourcesContent":["/*\r\n * @Date: 2022-03-14 09:32:19\r\n * @Author: zhanghuix\r\n * @LastEditTime: 2022-03-16 14:17:41\r\n * @LastEditors: zhanghuix\r\n */\r\nconst initFrame = Symbol('initFrame');\r\nconst initListener = Symbol('initListener');\r\nconst initLoad = Symbol('initLoad');\r\nconst msgListener = Symbol('msgListener');\r\nconst ifrLoadListener = Symbol('ifrLoadListener');\r\nconst forOrigin = Symbol('forOrigin');\r\nconst onMsgCb = Symbol('onMsgCb');\r\nconst onLoadCb = Symbol('onLoadCb');\r\nconst IDENT_ONLY = '_ident_only_';\r\n// 对外只暴露 sendMessage 和 destroy 两个方法;dom origin iframeWin _ident_only_ 四个属性\r\nexport default class IframeStore {\r\n constructor(dom, origin, onMessage, onFrameLoad, valiIdent) {\r\n this.dom = dom; // 必传\r\n this.origin = origin || '*'; // 必传\r\n // 接收嵌套的iframe 的发消息的回调函数\r\n this[onMsgCb] = onMessage;\r\n // 接收 iframe load 方法的回调函数\r\n this[onLoadCb] = onFrameLoad;\r\n // 设置iframe 的 contentwindow\r\n this[initFrame](dom);\r\n // 初始化 iframe 发来的监听事件\r\n this[initListener]();\r\n // 初始化 iframe load 事件\r\n this[initLoad]();\r\n // 双方约定的标识, 为空则不校验\r\n this[IDENT_ONLY] = valiIdent;\r\n }\r\n [initFrame](dom) {\r\n if (dom && dom.contentWindow) {\r\n this.iframeWin = dom.contentWindow;\r\n } else {\r\n console.error('dom 无效');\r\n }\r\n }\r\n [initListener]() {\r\n if (typeof this[onMsgCb] !== 'function') { return };\r\n try {\r\n this[forOrigin] = (new URL(this.origin)).origin;\r\n } catch (e) {\r\n console.error(e, 'origin 无效');\r\n return;\r\n }\r\n window.addEventListener('message', this[msgListener]);\r\n }\r\n [msgListener] = (e) => {\r\n if (this[forOrigin] !== e.origin) { return; }\r\n let valiIdent = this[IDENT_ONLY];\r\n if (!valiIdent) { this[onMsgCb](e, this); return; }\r\n let msg = e.data;\r\n if (Object.prototype.toString.call(msg) === '[object Object]') {\r\n if (msg[IDENT_ONLY] === valiIdent) { this[onMsgCb](e, this); return; }\r\n } else if (msg === valiIdent) {\r\n this[onMsgCb](e, this);\r\n }\r\n }\r\n [initLoad]() {\r\n if (typeof this[onLoadCb] !== 'function' || !this.dom) { return };\r\n this.dom.addEventListener('load', this[ifrLoadListener]);\r\n }\r\n [ifrLoadListener] = e => {\r\n this[onLoadCb](e, this);\r\n }\r\n sendMessage = (params) => {\r\n this.iframeWin.postMessage(params, this.origin);\r\n }\r\n destroy = () => {\r\n window.removeEventListener('message', this[msgListener]);\r\n this.dom.removeEventListener('load', this[ifrLoadListener]);\r\n Reflect.ownKeys(this.constructor.prototype).forEach(v => this[v] = null);\r\n Reflect.ownKeys(this).forEach(v => this[v] = null);\r\n }\r\n}"]}
1
+ {"version":3,"sources":["tplus-portaltouch/stores/IframeStore.js"],"names":["initFrame","initListener","initLoad","msgListener","ifrLoadListener","forOrigin","onMsgCb","onLoadCb","IDENT_ONLY","IframeStore","dom","origin","onMessage","onFrameLoad","valiIdent","contentWindow","iframeWin","console","error","URL","e","window","addEventListener","msg","data","Object","prototype","toString","call","sendMessage","params","postMessage","destroy","removeEventListener","constructor","forEach","v","ex","log"],"mappings":"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","file":"IframeStore.js","sourcesContent":["/*\r\n * @Date: 2022-03-14 09:32:19\r\n * @Author: zhanghuix\r\n * @LastEditTime: 2022-03-16 14:17:41\r\n * @LastEditors: zhanghuix\r\n */\r\nconst initFrame = Symbol('initFrame');\r\nconst initListener = Symbol('initListener');\r\nconst initLoad = Symbol('initLoad');\r\nconst msgListener = Symbol('msgListener');\r\nconst ifrLoadListener = Symbol('ifrLoadListener');\r\nconst forOrigin = Symbol('forOrigin');\r\nconst onMsgCb = Symbol('onMsgCb');\r\nconst onLoadCb = Symbol('onLoadCb');\r\nconst IDENT_ONLY = '_ident_only_';\r\n// 对外只暴露 sendMessage 和 destroy 两个方法;dom origin iframeWin _ident_only_ 四个属性\r\nexport default class IframeStore {\r\n constructor(dom, origin, onMessage, onFrameLoad, valiIdent) {\r\n this.dom = dom; // 必传\r\n this.origin = origin || '*'; // 必传\r\n // 接收嵌套的iframe 的发消息的回调函数\r\n this[onMsgCb] = onMessage;\r\n // 接收 iframe load 方法的回调函数\r\n this[onLoadCb] = onFrameLoad;\r\n // 设置iframe 的 contentwindow\r\n this[initFrame](dom);\r\n // 初始化 iframe 发来的监听事件\r\n this[initListener]();\r\n // 初始化 iframe load 事件\r\n this[initLoad]();\r\n // 双方约定的标识, 为空则不校验\r\n this[IDENT_ONLY] = valiIdent;\r\n }\r\n [initFrame](dom) {\r\n if (dom && dom.contentWindow) {\r\n this.iframeWin = dom.contentWindow;\r\n } else {\r\n console.error('dom 无效');\r\n }\r\n }\r\n [initListener]() {\r\n if (typeof this[onMsgCb] !== 'function') { return };\r\n try {\r\n this[forOrigin] = (new URL(this.origin)).origin;\r\n } catch (e) {\r\n console.error(e, 'origin 无效');\r\n return;\r\n }\r\n window.addEventListener('message', this[msgListener]);\r\n }\r\n [msgListener] = (e) => {\r\n if (this[forOrigin] !== e.origin) { return; }\r\n let valiIdent = this[IDENT_ONLY];\r\n if (!valiIdent) { this[onMsgCb](e, this); return; }\r\n let msg = e.data;\r\n if (Object.prototype.toString.call(msg) === '[object Object]') {\r\n if (msg[IDENT_ONLY] === valiIdent) { this[onMsgCb](e, this); return; }\r\n } else if (msg === valiIdent) {\r\n this[onMsgCb](e, this);\r\n }\r\n }\r\n [initLoad]() {\r\n if (typeof this[onLoadCb] !== 'function' || !this.dom) { return };\r\n this.dom.addEventListener('load', this[ifrLoadListener]);\r\n }\r\n [ifrLoadListener] = e => {\r\n this[onLoadCb](e, this);\r\n }\r\n sendMessage = (params) => {\r\n this.iframeWin.postMessage(params, this.origin);\r\n }\r\n destroy = () => {\r\n try {\r\n window.removeEventListener('message', this[msgListener]);\r\n this.dom.removeEventListener('load', this[ifrLoadListener]);\r\n Reflect.ownKeys(this.constructor.prototype).forEach(v => this[v] = null);\r\n Reflect.ownKeys(this).forEach(v => this[v] = null);\r\n } catch (ex) {\r\n console.log('清除hsy-iframe', ex);\r\n }\r\n }\r\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tplus-portaltouch",
3
- "version": "3.46.1",
3
+ "version": "3.47.1",
4
4
  "description": "touch protal",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -30,8 +30,8 @@
30
30
  "mutants-devtools": "^1.0.0",
31
31
  "mutants-microfx": "^1.0.0",
32
32
  "tplus-api": "~5.0.1",
33
- "tplus-components": "~3.46.1",
34
- "tplus-components-touch": "~3.46.1",
35
- "tplus-poslogin": "~3.46.1"
33
+ "tplus-components": "~3.47.1",
34
+ "tplus-components-touch": "~3.47.1",
35
+ "tplus-poslogin": "~3.47.1"
36
36
  }
37
37
  }