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,15 +73,18 @@ function generatoreVersion(cb) { | ||
73 | } | 73 | } |
74 | 74 | ||
75 | function copyFileUsageOssServer(cb) { | 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 | const copyFileList = [ | 77 | const copyFileList = [ |
81 | './src/main/webapp/js/app.min.js', | 78 | './src/main/webapp/js/app.min.js', |
82 | './src/main/webapp/js/shapes-14-6-5.min.js', | 79 | './src/main/webapp/js/shapes-14-6-5.min.js', |
83 | './src/main/webapp/js/stencils.min.js', | 80 | './src/main/webapp/js/stencils.min.js', |
84 | './src/main/webapp/js/extensions.min.js', | 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 | const outPath = './build/oss' | 90 | const outPath = './build/oss' |
@@ -21,31 +21,36 @@ | @@ -21,31 +21,36 @@ | ||
21 | <meta name="msapplication-config" content="images/browserconfig.xml"> | 21 | <meta name="msapplication-config" content="images/browserconfig.xml"> |
22 | <meta name="mobile-web-app-capable" content="yes"> | 22 | <meta name="mobile-web-app-capable" content="yes"> |
23 | <meta name="theme-color" content="#d89000"> | 23 | <meta name="theme-color" content="#d89000"> |
24 | + <!-- load configure file --> | ||
25 | + <script src="./js/config/config.js"></script> | ||
26 | + | ||
24 | <!-- crypto-js --> | 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 | <script src="./js/const/persistentStorage.js"></script> | 31 | <script src="./js/const/persistentStorage.js"></script> |
29 | - <!-- 全局变量 --> | 32 | + <!-- Global const --> |
30 | <script src="./js/const/const.js"></script> | 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 | <!-- video.js import --> | 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 | <!-- <script src="https://vjs.zencdn.net/7.10.2/video.min.js"></script> --> | 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 | <link rel="stylesheet" href="https://cdnjs.loli.net/ajax/libs/layui/2.6.8/css/layui.min.css" | 54 | <link rel="stylesheet" href="https://cdnjs.loli.net/ajax/libs/layui/2.6.8/css/layui.min.css" |
50 | integrity="sha512-iQBJbsNHXUcgEIgWThd2dr8tOdKPvICwqjPEZYY81z3eMya44A5MiAqfWSCh+Ee1YzNYkdrI982Qhwgr8LEYOQ==" | 55 | integrity="sha512-iQBJbsNHXUcgEIgWThd2dr8tOdKPvICwqjPEZYY81z3eMya44A5MiAqfWSCh+Ee1YzNYkdrI982Qhwgr8LEYOQ==" |
51 | crossorigin="anonymous" referrerpolicy="no-referrer" /> | 56 | crossorigin="anonymous" referrerpolicy="no-referrer" /> |
@@ -56,21 +61,6 @@ | @@ -56,21 +61,6 @@ | ||
56 | <!-- 引入修改样式 --> | 61 | <!-- 引入修改样式 --> |
57 | <link rel="stylesheet" href="./styles/formatChange.css"> | 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 | <script type="text/javascript"> | 64 | <script type="text/javascript"> |
75 | /** | 65 | /** |
76 | * URL Parameters and protocol description are here: | 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,13 +1019,22 @@ App.main = function(callback, createUi) | ||
1019 | else | 1019 | else |
1020 | { | 1020 | { |
1021 | mxStencilRegistry.allowEval = false; | 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 | // const shapesMinSrc = 'js/shapes-14-6-5.min.js' | 1034 | // const shapesMinSrc = 'js/shapes-14-6-5.min.js' |
1023 | // const stenclisMinSrc = 'js/stencils.min.js' | 1035 | // const stenclisMinSrc = 'js/stencils.min.js' |
1024 | // const extensionsMinSrc = 'js/extensions.min.js' | 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 | }, function(xhr) | 1039 | }, function(xhr) |
1031 | { | 1040 | { |