From 2bccb9ec7bdefe23292a22bc153463cfa1479a49 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 21 六月 2024 16:25:42 +0800 Subject: [PATCH] 2024-06-21 --- src/views/mkiframe/index.jsx | 99 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 95 insertions(+), 4 deletions(-) diff --git a/src/views/mkiframe/index.jsx b/src/views/mkiframe/index.jsx index b2f079b..329ef36 100644 --- a/src/views/mkiframe/index.jsx +++ b/src/views/mkiframe/index.jsx @@ -4,6 +4,7 @@ import Api from '@/api' import asyncComponent from '@/utils/asyncLoadComponent' import MKEmitter from '@/utils/events.js' +import ImgScale from '@/components/imgScale' import './index.scss' const CustomPage = asyncComponent(() => import('@/tabviews/custom')) @@ -17,20 +18,34 @@ type: 'CustomPage' } + reloading = false + UNSAFE_componentWillMount() { const { params, path } = this.props.match const { menuId, loginUid, bid } = params if (/^\/view\//.test(path)) { localStorage.setItem('getSysPermission', window.GLOB.appkey) + const that = this window.addEventListener('storage', function(event) { if (event.key === 'sysPermissions' && event.newValue) { let values = event.newValue values = JSON.parse(values) - window.GLOB.mkThdMenus = values.mkThdMenus window.GLOB.mkActions = values.mkActions + values.mkThdMenus && values.mkThdMenus.forEach(item => { + window.GLOB.mkThdMenus.set(item.MenuID, item) + }) + } else if (event.key === 'menuUpdate') { + let vals = event.newValue.split(',') + let MenuId = vals[1] + let position = vals[2] || '' + if (position === 'menu' && menuId === MenuId) { + that.setState({loading: true}, () => { + that.setState({loading: false}) + }) + } } }) @@ -38,10 +53,30 @@ localStorage.removeItem('getSysPermission') localStorage.removeItem('sysPermissions') - if (window.GLOB.mkActions) { + if (window.GLOB.mkActions && window.GLOB.mkActions.loaded) { this.setState({loading: false}) - } else { + } else if (sessionStorage.getItem('UserID')) { this.getPermRole() + } else { + Api.getTouristMsg().then(res => { + if (res.status) { + sessionStorage.setItem('UserID', res.UserID) + sessionStorage.setItem('LoginUID', res.LoginUID) + sessionStorage.setItem('User_Name', res.UserName) + sessionStorage.setItem('Full_Name', res.FullName) + sessionStorage.setItem('avatar', res.icon || '') + sessionStorage.setItem('dataM', res.dataM ? 'true' : '') + sessionStorage.setItem('debug', res.debug || '') + sessionStorage.setItem('role_id', res.role_id || '') + sessionStorage.setItem('departmentcode', res.departmentcode || '') + sessionStorage.setItem('organization', res.organization || '') + sessionStorage.setItem('mk_user_type', res.mk_user_type || '') + this.getPermRole() + } else { + sessionStorage.clear() + this.props.history.replace('/login') + } + }) } }, 20) } else if (sessionStorage.getItem('UserID')) { @@ -77,6 +112,41 @@ componentDidMount () { MKEmitter.addListener('modifyTabs', this.modifyTabs) MKEmitter.addListener('closeTabView', this.closeTabView) + + if (window.GLOB.forcedUpdate) { + MKEmitter.addListener('reloadTabs', this.reloadTabs) + } + + if (window.GLOB.sysType !== 'cloud') { + Object.defineProperty(window, 'debugger', { + configurable: true, + enumerable: true, + set(value) { + if (value + '' === 'false') { + window.GLOB.debugger = false + } else { + window.GLOB.debugger = true + } + } + }) + + Object.defineProperty(window, 'debug', { + configurable: true, + enumerable: true, + set(value) { + if (value + '' === 'false') { + window.GLOB.debugger = false + window.GLOB.breakpoint = false + sessionStorage.removeItem('breakpoint') + } else { + window.GLOB.debugger = true + window.GLOB.breakpoint = value + '' + sessionStorage.setItem('breakpoint', value) + } + MKEmitter.emit('debugChange') + } + }) + } } /** @@ -87,7 +157,24 @@ return } MKEmitter.removeListener('modifyTabs', this.modifyTabs) + MKEmitter.removeListener('reloadTabs', this.reloadTabs) MKEmitter.removeListener('closeTabView', this.closeTabView) + } + + reloadTabs = () => { + if (this.reloading) return + + this.reloading = true + + Api.getAppVersion(true).then(() => { + window.location.reload() + }, (message) => { + notification.error({ + top: 92, + message: message || '绯荤粺閰嶇疆鏇存柊澶辫触锛�', + duration: 10 + }) + }) } modifyTabs = (tab) => { @@ -118,7 +205,10 @@ let historys = sessionStorage.getItem('page_historys') historys = historys ? JSON.parse(historys) : [] - if (historys.length === 0) return + if (historys.length === 0) { + window.close() + return + } let tab = historys.shift() @@ -179,6 +269,7 @@ {loading ? <Spin size="large" /> : null} {!loading && type === 'CustomPage' ? <CustomPage MenuID={MenuId} param={{$BID: BID}} changeTemp={this.changeTemp}/> : null} {!loading && type === 'BaseTable' ? <BaseTable MenuID={MenuId} param={{$BID: BID}} changeTemp={this.changeTemp}/> : null} + <ImgScale /> </div> ) } -- Gitblit v1.8.0