Commit d6833a60b211f26ed0c8c084b7bb389049cd73d5
1 parent
b34542b3
feat: add Enable_Oss config to manage should load script from oss server
Showing
5 changed files
with
120 additions
and
39 deletions
Too many changes to show.
To preserve performance only 5 of 9 files are displayed.
| ... | ... | @@ -73,15 +73,18 @@ function generatoreVersion(cb) { |
| 73 | 73 | } |
| 74 | 74 | |
| 75 | 75 | function copyFileUsageOssServer(cb) { |
| 76 | - // const shapesMinSrc = 'js/shapes-14-6-5.min.js' | |
| 77 | - // const stenclisMinSrc = 'js/stencils.min.js' | |
| 78 | - // const extensionsMinSrc = 'js/extensions.min.js' | |
| 79 | 76 | |
| 80 | 77 | const copyFileList = [ |
| 81 | 78 | './src/main/webapp/js/app.min.js', |
| 82 | 79 | './src/main/webapp/js/shapes-14-6-5.min.js', |
| 83 | 80 | './src/main/webapp/js/stencils.min.js', |
| 84 | 81 | './src/main/webapp/js/extensions.min.js', |
| 82 | + './src/main/webapp/js/plugin/crypto-js/crypto-js.js', | |
| 83 | + './src/main/webapp/js/plugin/ace/ace.js', | |
| 84 | + './src/main/webapp/js/plugin/ace/mode-json.js', | |
| 85 | + './src/main/webapp/js/plugin/ace/worker-json.js', | |
| 86 | + './src/main/webapp/js/plugin/video/video-js.min.css', | |
| 87 | + './src/main/webapp/js/plugin/video/video.min.js', | |
| 85 | 88 | ] |
| 86 | 89 | |
| 87 | 90 | const outPath = './build/oss' | ... | ... |
| ... | ... | @@ -21,31 +21,36 @@ |
| 21 | 21 | <meta name="msapplication-config" content="images/browserconfig.xml"> |
| 22 | 22 | <meta name="mobile-web-app-capable" content="yes"> |
| 23 | 23 | <meta name="theme-color" content="#d89000"> |
| 24 | + <!-- load configure file --> | |
| 25 | + <script src="./js/config/config.js"></script> | |
| 26 | + | |
| 24 | 27 | <!-- crypto-js --> |
| 25 | - <!-- <script src="./js/plugin/crypto-js/crypto-js.js"></script> --> | |
| 26 | - <script src="https://oss.yuntengcloud.com/iotdocs/thingskit-scada/crypto-js.js"></script> | |
| 27 | - <!-- 持续话存储 --> | |
| 28 | + <script src="./js/plugin/crypto-js/crypto-js.js"></script> | |
| 29 | + | |
| 30 | + <!-- storage persistent --> | |
| 28 | 31 | <script src="./js/const/persistentStorage.js"></script> |
| 29 | - <!-- 全局变量 --> | |
| 32 | + <!-- Global const --> | |
| 30 | 33 | <script src="./js/const/const.js"></script> |
| 31 | - <!-- echarts --> | |
| 32 | - <script src="https://oss.yuntengcloud.com/iotdocs/thingskit-scada/echarts.js"></script> | |
| 33 | 34 | |
| 34 | - <script src="./plugins/axios.min.js"></script> | |
| 35 | + <!-- Axios --> | |
| 36 | + <script src="./js/plugin/axios/axios.min.js"></script> | |
| 37 | + <script src="./js/plugin/axios/DefHttp.js"></script> | |
| 38 | + <script src="./js/api/index.js"></script> | |
| 39 | + | |
| 40 | + <!-- load script --> | |
| 41 | + <script src="./js/config/loadScript.js"></script> | |
| 42 | + | |
| 43 | + <!-- act editor --> | |
| 44 | + <!-- <script src="https://oss.yuntengcloud.com/iotdocs/thingskit-scada/ace.js"></script> --> | |
| 45 | + | |
| 46 | + <!-- echarts --> | |
| 47 | + <!-- <script src="https://oss.yuntengcloud.com/iotdocs/thingskit-scada/echarts.js"></script> --> | |
| 35 | 48 | |
| 36 | 49 | <!-- video.js import --> |
| 37 | - <link href="https://oss.yuntengcloud.com/iotdocs/thingskit-scada/video-js.min.css" rel="stylesheet"> | |
| 50 | + <!-- <link href="https://oss.yuntengcloud.com/iotdocs/thingskit-scada/video-js.min.css" rel="stylesheet"> --> | |
| 38 | 51 | <!-- <script src="https://vjs.zencdn.net/7.10.2/video.min.js"></script> --> |
| 39 | - <script src="https://oss.yuntengcloud.com/iotdocs/thingskit-scada/video.min.js"></script> | |
| 52 | + <!-- <script src="https://oss.yuntengcloud.com/iotdocs/thingskit-scada/video.min.js"></script> --> | |
| 40 | 53 | |
| 41 | - <!-- <script src="https://unpkg.com/videojs-contrib-hls/dist/videojs-contrib-hls.js"></script> --> | |
| 42 | - <!-- <script src="./js/jquery/jquery-3.3.1.min.js"></script>--> | |
| 43 | - <!-- <link rel="stylesheet" href="https://oss.yuntengcloud.com/iotdocs/thingskit-scada/layui.min.css" | |
| 44 | - integrity="sha512-iQBJbsNHXUcgEIgWThd2dr8tOdKPvICwqjPEZYY81z3eMya44A5MiAqfWSCh+Ee1YzNYkdrI982Qhwgr8LEYOQ==" | |
| 45 | - crossorigin="anonymous" referrerpolicy="no-referrer" /> | |
| 46 | - <script src="https://oss.yuntengcloud.com/iotdocs/thingskit-scada/layui.min.js" | |
| 47 | - integrity="sha512-EKrFvch3qTzLFQgjbcjpsRmF8T3UCtc9ojtMAu6dvvP+bV8qYUDOaQ84nwYCkSLT7lbqGoya/Kf+8fyCBE0vRg==" | |
| 48 | - crossorigin="anonymous" referrerpolicy="no-referrer"></script> --> | |
| 49 | 54 | <link rel="stylesheet" href="https://cdnjs.loli.net/ajax/libs/layui/2.6.8/css/layui.min.css" |
| 50 | 55 | integrity="sha512-iQBJbsNHXUcgEIgWThd2dr8tOdKPvICwqjPEZYY81z3eMya44A5MiAqfWSCh+Ee1YzNYkdrI982Qhwgr8LEYOQ==" |
| 51 | 56 | crossorigin="anonymous" referrerpolicy="no-referrer" /> |
| ... | ... | @@ -56,21 +61,6 @@ |
| 56 | 61 | <!-- 引入修改样式 --> |
| 57 | 62 | <link rel="stylesheet" href="./styles/formatChange.css"> |
| 58 | 63 | |
| 59 | - <!-- 引入select.zTree及相关依赖 --> | |
| 60 | - <!-- <link rel="stylesheet" href="./styles/zTreeStyle.css" type="text/css">--> | |
| 61 | - <!-- <link rel="stylesheet" href="./styles/jquery.select.zTree.v1.5.css" type="text/css">--> | |
| 62 | - <!-- <script type="text/javascript" src="./js/jquery.ztree.core.min.js"></script>--> | |
| 63 | - <!-- <script type="text/javascript" src="./js/jquery.ztree.exhide.min.js"></script>--> | |
| 64 | - <!-- <script type="text/javascript" src="./js/jquery.select.zTree.v1.5.min.js"></script>--> | |
| 65 | - | |
| 66 | - <!-- Axios --> | |
| 67 | - <script src="./plugins/DefHttp.js"></script> | |
| 68 | - | |
| 69 | - <script src="./js/api/index.js"></script> | |
| 70 | - | |
| 71 | - <!-- act editor --> | |
| 72 | - <script src="https://oss.yuntengcloud.com/iotdocs/thingskit-scada/ace.js"></script> | |
| 73 | - | |
| 74 | 64 | <script type="text/javascript"> |
| 75 | 65 | /** |
| 76 | 66 | * URL Parameters and protocol description are here: | ... | ... |
src/main/webapp/js/config/config.js
0 → 100644
src/main/webapp/js/config/loadScript.js
0 → 100644
| 1 | +; (function () { | |
| 2 | + /** | |
| 3 | + * Synchronously adds scripts to the page. | |
| 4 | + */ | |
| 5 | + function loadScript(src, onLoad) { | |
| 6 | + const script = document.createElement('script') | |
| 7 | + script.setAttribute('type', 'text/javascript'); | |
| 8 | + script.setAttribute('defer', 'true'); | |
| 9 | + script.setAttribute('src', src); | |
| 10 | + const top = document.getElementsByTagName('script')[0]; | |
| 11 | + | |
| 12 | + if (onLoad != null) { | |
| 13 | + var ready = false; | |
| 14 | + | |
| 15 | + script.onload = script.onreadystatechange = function () { | |
| 16 | + if (!ready && (!this.readyState || this.readyState == 'complete')) { | |
| 17 | + ready = true; | |
| 18 | + onLoad(); | |
| 19 | + } | |
| 20 | + }; | |
| 21 | + } | |
| 22 | + | |
| 23 | + if (top != null) { | |
| 24 | + top.parentNode.insertBefore(script, top); | |
| 25 | + } | |
| 26 | + }; | |
| 27 | + | |
| 28 | + | |
| 29 | + function loadStyleLink(href) { | |
| 30 | + const link = document.createElement('link') | |
| 31 | + link.setAttribute('href', href) | |
| 32 | + link.setAttribute('rel', 'stylesheet') | |
| 33 | + const top = document.getElementsByTagName('link')[0]; | |
| 34 | + if (top != null) { | |
| 35 | + top.parentNode.insertBefore(link, top); | |
| 36 | + } | |
| 37 | + } | |
| 38 | + | |
| 39 | + let loadScriptList = [ | |
| 40 | + { path: './js/plugin/echarts/echarts.js' }, | |
| 41 | + { path: './js/plugin/video/video.min.js' }, | |
| 42 | + { path: './js/plugin/ace/ace.js' }, | |
| 43 | + ] | |
| 44 | + | |
| 45 | + | |
| 46 | + let loadStyleList = [ | |
| 47 | + { path: './js/plugin/video/video-js.min.css' } | |
| 48 | + ] | |
| 49 | + | |
| 50 | + const getFileNameFromPath = (path) => { | |
| 51 | + const reg = /.*\/(.*)/g | |
| 52 | + return path.replace(reg, '$1') | |
| 53 | + } | |
| 54 | + | |
| 55 | + if (Enable_OSS) { | |
| 56 | + loadScriptList = loadScriptList.map((item) => ({ ...item, path: OSS_Prefix + getFileNameFromPath(item.path) })) | |
| 57 | + loadStyleList = loadStyleList.map((item) => ({ ...item, path: OSS_Prefix + getFileNameFromPath(item.path) })) | |
| 58 | + } | |
| 59 | + | |
| 60 | + console.log(loadScriptList) | |
| 61 | + | |
| 62 | + for (const { path } of loadStyleList) { | |
| 63 | + loadStyleLink(path) | |
| 64 | + } | |
| 65 | + | |
| 66 | + for (const { path } of loadScriptList) { | |
| 67 | + loadScript(path) | |
| 68 | + } | |
| 69 | + | |
| 70 | +})(); | ... | ... |
| ... | ... | @@ -1019,13 +1019,22 @@ App.main = function(callback, createUi) |
| 1019 | 1019 | else |
| 1020 | 1020 | { |
| 1021 | 1021 | mxStencilRegistry.allowEval = false; |
| 1022 | + let loadScriptList = [ | |
| 1023 | + 'js/shapes-14-6-5.min.js', | |
| 1024 | + 'js/stencils.min.js', | |
| 1025 | + 'js/extensions.min.js' | |
| 1026 | + ] | |
| 1027 | + if (Enable_OSS) { | |
| 1028 | + loadScriptList = [ | |
| 1029 | + `${OSS_Prefix}/shapes-14-6-5.min.js`, | |
| 1030 | + `${OSS_Prefix}/stencils.min.js`, | |
| 1031 | + `${OSS_Prefix}/extensions.min.js` | |
| 1032 | + ] | |
| 1033 | + } | |
| 1022 | 1034 | // const shapesMinSrc = 'js/shapes-14-6-5.min.js' |
| 1023 | 1035 | // const stenclisMinSrc = 'js/stencils.min.js' |
| 1024 | 1036 | // const extensionsMinSrc = 'js/extensions.min.js' |
| 1025 | - const shapesMinSrc = 'https://oss.yuntengcloud.com/iotdocs/thingskit-scada/shapes-14-6-5.min.js' | |
| 1026 | - const stenclisMinSrc = 'https://oss.yuntengcloud.com/iotdocs/thingskit-scada/stencils.min.js' | |
| 1027 | - const extensionsMinSrc = 'https://oss.yuntengcloud.com/iotdocs/thingskit-scada/extensions.min.js' | |
| 1028 | - App.loadScripts([shapesMinSrc, stenclisMinSrc, extensionsMinSrc], realMain); | |
| 1037 | + App.loadScripts(loadScriptList, realMain); | |
| 1029 | 1038 | } |
| 1030 | 1039 | }, function(xhr) |
| 1031 | 1040 | { | ... | ... |