From 5c871f18eaa04ba1013b758f57e6f85b42cf932a Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 20 七月 2020 23:01:53 +0800 Subject: [PATCH] 2020-07-20 --- src/index.js | 232 ++++++++++++++++++++++++++++++--------------------------- 1 files changed, 123 insertions(+), 109 deletions(-) diff --git a/src/index.js b/src/index.js index 2cf54ad..dfcf434 100644 --- a/src/index.js +++ b/src/index.js @@ -32,116 +32,130 @@ ) } -window.GLOB = window.GLOB || {} - -// 鍙湁涓氬姟绯荤粺鎵嶅彲浠ヨ缃负姝e紡绯荤粺 -if (options.sysType === 'local' && (window.GLOB.systemType === 'official' || window.GLOB.systemType === 'production')) { - window.GLOB.systemType = 'production' -} else { - window.GLOB.systemType = '' -} - -if (options.sysType === 'cloud') { // cloud涓嶅彲璁剧疆鍗曠偣鏈嶅姟鍣ㄥ湴鍧�,浜戠appkey涓虹郴缁熻缃� - window.GLOB.appkey = options.cakey - window.GLOB.mainSystemApi = '' -} else if (options.sysType === 'SSO') { // sso涓嶅彲璁剧疆鍗曠偣鏈嶅姟鍣ㄥ湴鍧� - window.GLOB.mainSystemApi = '' - if (window.GLOB.appkey === options.cakey) { - window.GLOB.appkey = '' - console.warn('鍗曠偣绯荤粺appkey涓嶅彲涓庝簯绔浉鍚�') - } -} else if (options.sysType === 'local') { // 涓氬姟绯荤粺 - if (window.GLOB.appkey === options.cakey) { - window.GLOB.appkey = '' - console.warn('涓氬姟绯荤粺appkey涓嶅彲涓庝簯绔浉鍚�') - } - if (window.GLOB.mainSystemApi) { - let systemApi = window.GLOB.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]) { - window.GLOB.dataFormat = true - } - - if (systemApi) { - systemApi = systemApi + '/webapi/dostars' - } - - window.GLOB.mainSystemApi = systemApi - } -} - -let _systemMsg = localStorage.getItem(window.location.href.split('#')[0] + 'system') - -if (_systemMsg) { - try { - _systemMsg = JSON.parse(window.decodeURIComponent(window.atob(_systemMsg))) - - window.GLOB.platTitle = _systemMsg.platTitle - window.GLOB.platName = _systemMsg.platName - window.GLOB.favicon = _systemMsg.favicon - window.GLOB.loginlogo = _systemMsg.loginlogo - window.GLOB.copyRight = _systemMsg.copyRight - window.GLOB.ICP = _systemMsg.ICP - window.GLOB.bgImage = _systemMsg.bgImage - window.GLOB.mainlogo = _systemMsg.mainlogo - window.GLOB.doclogo = _systemMsg.doclogo - window.GLOB.webSite = _systemMsg.webSite - window.GLOB.style = _systemMsg.style - - if (window.GLOB.favicon) { - let link = document.querySelector("link[rel*='icon']") || document.createElement('link') - link.type = 'image/x-icon' - link.rel = 'shortcut icon' - link.href = window.GLOB.favicon - document.getElementsByTagName('head')[0].appendChild(link) - } - } catch { - console.warn('Parse Failure') - } -} - -document.title = window.GLOB.platTitle || '' - -if (window.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(/\/index.html(.*)|\/#(.*)/ig, '').replace(new RegExp(document.location.origin + '/?', 'ig'), '') - window.GLOB.linkurl = window.location.href.split('#')[0] - if (!/index.html/ig.test(window.GLOB.linkurl)) { - window.GLOB.linkurl = window.GLOB.linkurl + 'index.html' - } - window.GLOB.service = _service ? _service + '/' : '' -} else { - window.GLOB.linkurl = '' - window.GLOB.location = 'http://qingqiumarket.cn/' - window.GLOB.service = 'mkwms/' -} - -const option = { - white: 'mk-white' -} - -if (window.GLOB.style && option[window.GLOB.style]) { - document.getElementById('root').className = option[window.GLOB.style] -} - sessionStorage.removeItem('isEditState') -render(Route) +fetch(`./${process.env.NODE_ENV === 'production' ? 'build/' : ''}options.json`) + .then(response => response.json()) + .catch(() => { + console.warn('绯荤粺閰嶇疆淇℃伅鑾峰彇澶辫触锛岃鑱旂郴绠$悊鍛橈紒') + }) + .then(config => { + if (!config) return + + window.GLOB = {} + window.GLOB.appId = config.appId || '' + window.GLOB.lineColor = config.lineColor || '' + window.GLOB.filter = config.filter || '' + + // 鍙湁涓氬姟绯荤粺鎵嶅彲浠ヨ缃负姝e紡绯荤粺 + if (options.sysType === 'local' && (config.systemType === 'official' || config.systemType === 'production')) { + window.GLOB.systemType = 'production' + } else { + window.GLOB.systemType = '' + } + + if (options.sysType === 'cloud') { // cloud涓嶅彲璁剧疆鍗曠偣鏈嶅姟鍣ㄥ湴鍧�,浜戠appkey涓虹郴缁熻缃� + window.GLOB.appkey = options.cakey + window.GLOB.mainSystemApi = '' + } else if (options.sysType === 'SSO') { // sso涓嶅彲璁剧疆鍗曠偣鏈嶅姟鍣ㄥ湴鍧� + window.GLOB.mainSystemApi = '' + if (config.appkey === options.cakey) { + window.GLOB.appkey = '' + console.warn('鍗曠偣绯荤粺appkey涓嶅彲涓庝簯绔浉鍚�') + } + } else if (options.sysType === 'local') { // 涓氬姟绯荤粺 + if (config.appkey === options.cakey) { + window.GLOB.appkey = '' + console.warn('涓氬姟绯荤粺appkey涓嶅彲涓庝簯绔浉鍚�') + } else { + window.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]) { + window.GLOB.dataFormat = true + } + + if (systemApi) { + systemApi = systemApi + '/webapi/dostars' + } + + window.GLOB.mainSystemApi = systemApi + } + } + + let _systemMsg = localStorage.getItem(window.location.href.split('#')[0] + 'system') + + if (_systemMsg) { + try { + _systemMsg = JSON.parse(window.decodeURIComponent(window.atob(_systemMsg))) + + window.GLOB.platTitle = _systemMsg.platTitle + window.GLOB.platName = _systemMsg.platName + window.GLOB.favicon = _systemMsg.favicon + window.GLOB.loginlogo = _systemMsg.loginlogo + window.GLOB.copyRight = _systemMsg.copyRight + window.GLOB.ICP = _systemMsg.ICP + window.GLOB.bgImage = _systemMsg.bgImage + window.GLOB.mainlogo = _systemMsg.mainlogo + window.GLOB.doclogo = _systemMsg.doclogo + window.GLOB.webSite = _systemMsg.webSite + window.GLOB.style = _systemMsg.style + + if (window.GLOB.favicon) { + let link = document.querySelector("link[rel*='icon']") || document.createElement('link') + link.type = 'image/x-icon' + link.rel = 'shortcut icon' + link.href = window.GLOB.favicon + document.getElementsByTagName('head')[0].appendChild(link) + } + } catch { + console.warn('Parse Failure') + } + } + + document.title = window.GLOB.platTitle || '' + + if (window.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(/\/index.html(.*)|\/#(.*)/ig, '').replace(new RegExp(document.location.origin + '/?', 'ig'), '') + window.GLOB.linkurl = window.location.href.split('#')[0] + if (!/index.html/ig.test(window.GLOB.linkurl)) { + window.GLOB.linkurl = window.GLOB.linkurl + 'index.html' + } + window.GLOB.service = _service ? _service + '/' : '' + } else { + window.GLOB.linkurl = '' + window.GLOB.location = 'http://qingqiumarket.cn/' + window.GLOB.service = 'mkwms/' + } + + const option = { + white: 'mk-white' + } + + if (window.GLOB.style && option[window.GLOB.style]) { + document.getElementById('root').className = option[window.GLOB.style] + } + + render(Route) + }) serviceWorker.unregister() -- Gitblit v1.8.0