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 | { | ... | ... |