From c45a375e5b4ce0e33c7fc8a1aecdad67d60acc9e Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 01 三月 2021 15:09:06 +0800 Subject: [PATCH] 2021-03-01 --- src/index.js | 220 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 218 insertions(+), 2 deletions(-) diff --git a/src/index.js b/src/index.js index e6799be..a1f9912 100644 --- a/src/index.js +++ b/src/index.js @@ -1,11 +1,40 @@ import React from 'react' import ReactDOM from 'react-dom' import Route from './router' -import {Provider} from 'react-redux' +import { Provider } from 'react-redux' import store from '@/store' import * as serviceWorker from './serviceWorker' +import options, { styles } from '@/store/options.js' import '@/assets/css/main.scss' import '@/assets/css/action.scss' +import '@/assets/css/minkeicon.css' +import '@/assets/css/viewstyle.scss' + +if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) { + window.location.replace(window.location.href.split(/(index.html)+/ig)[0] + 'mob/index.html') +} else if (window.location.href.indexOf('#/design') > -1) { // 缂栬緫椤甸潰鍒锋柊鏃讹紝璺宠浆鑷充富椤� + window.location.replace(window.location.href.replace(/design/ig, 'main')) +} + +options.sysType = window.atob(options.sysType.replace('$mk', '')) +options.caId = window.atob(options.caId.replace('$mk', '')) +options.cakey = window.atob(options.cakey.replace('$mk', '')) +options.cdomain = window.atob(options.cdomain.replace('$mk', '')) + +if (options.cdomain && options.sysType !== 'cloud') { + options.cloudServiceApi = options.cdomain + '/webapi/dostars' +} + +if (!localStorage.getItem('SessionUid')) { + localStorage.setItem('SessionUid', (() => { + let uuid = [] + let _options = '0123456789abcdefghigklmnopqrstuv' + for (let i = 0; i < 32; i++) { + uuid.push(_options.substr(Math.floor(Math.random() * 0x20), 1)) + } + return uuid.join('') + })()) +} const render = Component => { ReactDOM.render( @@ -16,6 +45,193 @@ ) } -render(Route) +if (sessionStorage.getItem('loginError')) { + try { + let res = JSON.parse(sessionStorage.getItem('loginError')) + console.info(res.request) + console.info(res.response) + } catch {} +} +sessionStorage.removeItem('isEditState') +sessionStorage.removeItem('loginError') +sessionStorage.setItem('role_id', sessionStorage.getItem('localRole_id') || '') +sessionStorage.setItem('dataM', sessionStorage.getItem('localDataM') || '') + +// 娴嬭瘯绯荤粺鏂囦欢缃簬admin涓� + +fetch('./options.json') + .then(response => response.json()) + .catch(() => { + document.getElementById('root').innerHTML = '<div style="text-align: center; font-size: 30px; margin-top: 40vh;">绯荤粺閰嶇疆淇℃伅鑾峰彇澶辫触锛岃鑱旂郴绠$悊鍛橈紒</div>' + }) + .then(config => { + if (!config) return + + let GLOB = {} + GLOB.appId = config.appId || '' + GLOB.lineColor = config.lineColor || '' + GLOB.filter = config.filter || '' + + if (config.externalDatabase !== false && config.externalDatabase !== 'false' && config.externalDatabase !== undefined) { + GLOB.externalDatabase = config.externalDatabase ? `[${config.externalDatabase}]..` : '' + } else { + GLOB.externalDatabase = null + + } + + // 鍙湁涓氬姟绯荤粺鎵嶅彲浠ヨ缃负姝e紡绯荤粺 + if (options.sysType === 'local' && (config.systemType === 'official' || config.systemType === 'production')) { + GLOB.systemType = 'production' + } else { + GLOB.systemType = '' + } + + if (options.sysType === 'cloud') { // cloud涓嶅彲璁剧疆鍗曠偣鏈嶅姟鍣ㄥ湴鍧�,浜戠appkey涓虹郴缁熻缃� + GLOB.appkey = options.cakey + GLOB.mainSystemApi = '' + } else if (options.sysType === 'SSO') { // sso涓嶅彲璁剧疆鍗曠偣鏈嶅姟鍣ㄥ湴鍧� + GLOB.mainSystemApi = '' + if (config.appkey === options.cakey) { + GLOB.appkey = '' + console.warn('鍗曠偣绯荤粺appkey涓嶅彲涓庝簯绔浉鍚�') + } else { + GLOB.appkey = config.appkey + } + } else if (options.sysType === 'local') { // 涓氬姟绯荤粺 + if (config.appkey === options.cakey) { + GLOB.appkey = '' + console.warn('涓氬姟绯荤粺appkey涓嶅彲涓庝簯绔浉鍚�') + } else { + GLOB.appkey = config.appkey + } + if (config.mainSystemApi) { + let systemApi = config.mainSystemApi + + // if (/^(http|https):\/\//ig.test(systemApi)) { + // let _systemApi = /^(http|https):\/\/[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62}|(:[0-9]{1,4}))+\.?/ig.exec(systemApi) + + // systemApi = _systemApi ? _systemApi[0] : '' + // } else { + // systemApi = '' + // } + + // // 涓氬姟绯荤粺杩炴帴浜戠鏃讹紝鏍煎紡鍖栧鐞� + // if (systemApi && systemApi === /^(http|https):\/\/[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62}|(:[0-9]{1,4}))+\.?/ig.exec(options.cloudServiceApi)[0]) { + // GLOB.dataFormat = true + // } + + // if (systemApi) { + // systemApi = systemApi + '/webapi/dostars' + // } + + // 涓氬姟绯荤粺涓嶅厑璁歌繛鎺ヤ簯绔紝涓氬姟绯荤粺杩炴帴sso.mk9h.cn鏃讹紝鏁版嵁铏氬寲澶勭悊 + if (systemApi && systemApi.indexOf('cloud.mk9h.cn') > -1) { + systemApi = '' + } else if (systemApi && systemApi.indexOf('sso.mk9h.cn') > -1 && process.env.NODE_ENV === 'production') { + GLOB.dataFormat = true + } + + GLOB.mainSystemApi = systemApi + } + } + + let _href = window.location.href.split('#')[0] + + if (localStorage.getItem(_href + 'lang')) { + sessionStorage.setItem('lang', localStorage.getItem(_href + 'lang')) + } + + let _systemMsg = localStorage.getItem(_href + 'system') + + if (_systemMsg) { + try { + _systemMsg = JSON.parse(window.decodeURIComponent(window.atob(_systemMsg))) + + GLOB.platTitle = _systemMsg.platTitle + GLOB.platName = _systemMsg.platName + GLOB.favicon = _systemMsg.favicon + GLOB.loginlogo = _systemMsg.loginlogo + GLOB.copyRight = _systemMsg.copyRight + GLOB.ICP = _systemMsg.ICP + GLOB.bgImage = _systemMsg.bgImage + GLOB.mainlogo = _systemMsg.mainlogo + GLOB.doclogo = _systemMsg.doclogo + GLOB.webSite = _systemMsg.webSite + GLOB.style = _systemMsg.style + GLOB.showline = _systemMsg.showline || '' + GLOB.navBar = _systemMsg.navBar || 'sidemenu' + + if (GLOB.favicon) { + let link = document.querySelector("link[rel*='icon']") || document.createElement('link') + link.type = 'image/x-icon' + link.rel = 'shortcut icon' + link.href = GLOB.favicon + document.getElementsByTagName('head')[0].appendChild(link) + } + if (GLOB.style && styles[GLOB.style]) { + document.body.className = styles[GLOB.style] + ' ' + (GLOB.showline === 'false' ? 'hidden-split-line' : '') + } + } catch { + console.warn('Parse Failure') + } + } + + document.title = GLOB.platTitle || '' + + if (GLOB.filter === 'true') { + let html = document.getElementsByTagName('html')[0] + + if (html) { + html.style.filter = 'grayscale(100%)' + } + } + + if (process.env.NODE_ENV === 'production') { // 鐢ㄤ簬鏍¢獙鏄惁瀛樺湪寮�鍙戞潈闄� + let _service = window.location.href.replace(/(\/admin)?\/index.html(.*)|(\/admin)?\/#(.*)/ig, '').replace(new RegExp(document.location.origin + '/?', 'ig'), '') + GLOB.linkurl = _href + if (!/index.html/ig.test(GLOB.linkurl)) { + GLOB.linkurl = GLOB.linkurl + 'index.html' + } + GLOB.service = _service ? _service + '/' : '' + } else { + GLOB.linkurl = '' + GLOB.location = 'http://qingqiumarket.cn' + GLOB.service = 'mkwms/' + } + + Object.defineProperty(GLOB, 'appId', { + writable: false, + value: GLOB.appId + }) + Object.defineProperty(GLOB, 'appkey', { + writable: false, + value: GLOB.appkey + }) + Object.defineProperty(GLOB, 'systemType', { + writable: false, + value: GLOB.systemType + }) + Object.defineProperty(GLOB, 'mainSystemApi', { + writable: false, + value: GLOB.mainSystemApi + }) + Object.defineProperty(GLOB, 'linkurl', { + writable: false, + value: GLOB.linkurl + }) + Object.defineProperty(GLOB, 'dataFormat', { + writable: false, + value: GLOB.dataFormat + }) + Object.defineProperty(window, 'GLOB', { + writable: false, + value: GLOB + }) + + window.GLOB.CacheMap = new Map() // 缂撳瓨閰嶇疆淇℃伅 + window.GLOB.UserCacheMap = new Map() // 缂撳瓨鐢ㄦ埛鑷畾涔夎缃� + + render(Route) + }) serviceWorker.unregister() -- Gitblit v1.8.0