include-lib.js 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. /* 修改 木遥(微信: http://marsgis.cn/weixin.html ) */
  2. //第三方类库加载管理js,方便切换lib
  3. /* eslint-disable */
  4. ; (function () {
  5. var r = new RegExp('(^|(.*?\\/))(include-lib.js)(\\?|$)'),
  6. s = document.getElementsByTagName('script'),
  7. targetScript
  8. for (var i = 0; i < s.length; i++) {
  9. var src = s[i].getAttribute('src')
  10. if (src) {
  11. var m = src.match(r)
  12. if (m) {
  13. targetScript = s[i]
  14. break
  15. }
  16. }
  17. }
  18. // cssExpr 用于判断资源是否是css
  19. var cssExpr = new RegExp('\\.css')
  20. function inputLibs (list) {
  21. if (list == null || list.length === 0) {
  22. return
  23. }
  24. for (var i = 0, len = list.length; i < len; i++) {
  25. var url = list[i]
  26. if (cssExpr.test(url)) {
  27. var css = '<link rel="stylesheet" href="' + url + '">'
  28. document.writeln(css)
  29. } else {
  30. var script = '<script type="text/javascript" src="' + url + '"><' + '/script>'
  31. document.writeln(script)
  32. }
  33. }
  34. }
  35. //加载类库资源文件
  36. function load () {
  37. var arrInclude = (targetScript.getAttribute('include') || '').split(',')
  38. var libpath = targetScript.getAttribute('libpath') || ''
  39. if (libpath.lastIndexOf('/') !== libpath.length - 1) {
  40. libpath += '/'
  41. }
  42. var libsConfig = {
  43. //////////////////////////Mars3D及其插件////////////////////////
  44. 'mars3d': [
  45. //三维地球“主库”
  46. libpath + 'Cesium/Widgets/widgets.css', //cesium
  47. libpath + 'Cesium/Cesium.js',
  48. libpath + "turf/turf.min.js",
  49. // libpath + 'mars3d/plugins/compatible/cesium-version.js', //cesium版本兼容处理
  50. libpath + 'mars3d/mars3d.css', //mars3d
  51. libpath + 'mars3d/mars3d.js',
  52. ],
  53. 'mars3d-space': [
  54. //卫星插件
  55. libpath + 'mars3d/plugins/space/mars3d-space.js',
  56. ],
  57. 'mars3d-echarts': [
  58. //echarts支持插件
  59. libpath + "echarts/echarts.min.js",
  60. libpath + "echarts/echarts-gl/echarts-gl.min.js",
  61. libpath + 'mars3d/plugins/echarts/mars3d-echarts.js',
  62. ],
  63. 'mars3d-mapv': [
  64. //mapv支持插件
  65. libpath + 'mapV/mapv.min.js',
  66. libpath + 'mars3d/plugins/mapv/mars3d-mapv.js',
  67. ],
  68. 'mars3d-heatmap': [
  69. //heatmap热力图支持插件
  70. libpath + 'mars3d/plugins/heatmap/heatmap.min.js',
  71. libpath + 'mars3d/plugins/heatmap/mars3d-heatmap.js',
  72. ],
  73. "mars3d-wind": [
  74. //风场图层插件
  75. libpath + "mars3d/plugins/wind/netcdfjs.js", //m10_windLayer解析nc
  76. libpath + "mars3d/plugins/wind/mars3d-wind.js"
  77. ],
  78. 'mars3d-tdt': [
  79. //天地图三维
  80. libpath + "mars3d/plugins/tdt/mars3d-tdt.js",
  81. ],
  82. 'mars3d-widget': [
  83. //项目widget模块插件
  84. libpath + 'mars3d/plugins/widget/mars3d-widget.css',
  85. libpath + 'mars3d/plugins/widget/mars3d-widget.js',
  86. ],
  87. //////////////////////////cesium相关第3方插件////////////////////////
  88. 'cesium-pbf': [
  89. libpath + "mars3d/thirdParty/pbf/ol.js",
  90. libpath + "mars3d/thirdParty/pbf/olms.js",
  91. libpath + "mars3d/thirdParty/pbf/mvt.js",
  92. libpath + "mars3d/thirdParty/pbf/style/MapboxStreetsV6.js",
  93. ],
  94. "cesium-weiVectorTile": [
  95. // 项目矢量瓦片方式加载GeoJson插件
  96. "mars3d/thirdParty/weiVectorTile/CesiumVectorTile.min.js",
  97. "mars3d/thirdParty/weiVectorTile/WeiVectorTileLayer.js"
  98. ],
  99. 'cesium-meshVisualizer': [
  100. libpath + "three/three.js",
  101. libpath + "ammo/ammo.js",
  102. libpath + 'mars3d/thirdParty/meshVisualizer/CesiumMeshVisualizer.js',
  103. ],
  104. 'olcesium': [
  105. libpath + "ol/ol.css",
  106. libpath + "ol/ol.js",
  107. libpath + "ol/ol-cesium/olcesium.js",
  108. ],
  109. //////////////////////////Mars2D地图渲染相关库////////////////////////
  110. 'mars2d': [//地图 主库
  111. "https://unpkg.com/leaflet@1.7.1/dist/leaflet.css", //leaflet
  112. "https://unpkg.com/leaflet@1.7.1/dist/leaflet.js",
  113. "https://cdn.jsdelivr.net/npm/mars2d@3.0.0/dist/mars2d.css", //mars2d
  114. "https://cdn.jsdelivr.net/npm/mars2d@3.0.0/dist/mars2d.js",
  115. "https://cdn.jsdelivr.net/npm/mars2d-esri@3.0.0/dist/mars2d-esri.js",
  116. ],
  117. //////////////////////////其他地图渲染相关库////////////////////////
  118. 'turf': [
  119. libpath + "turf/turf.min.js"
  120. ],
  121. 'echarts': [
  122. libpath + "echarts/echarts.min.js",
  123. libpath + "echarts/dark.js"
  124. ],
  125. 'echarts-gl': [
  126. libpath + "echarts/echarts.min.js",
  127. libpath + "echarts/echarts-gl/echarts-gl.min.js"
  128. ],
  129. 'echarts-liquidfill': [
  130. libpath + "echarts/echarts.min.js",
  131. libpath + "echarts/echarts-liquidfill/echarts-liquidfill.js"
  132. ],
  133. 'terraformer': [
  134. libpath + "terraformer/terraformer-1.0.9.min.js",
  135. libpath + "terraformer/terraformer-wkt-parser-1.2.0.min.js",
  136. ],
  137. 'kriging': [
  138. libpath + "kriging/kriging.min.js"
  139. ],
  140. 'three': [
  141. libpath + "three/three.js"
  142. ],
  143. ////////////////////////// UI界面相关库////////////////////////
  144. 'jquery': [
  145. libpath + "jquery/jquery-2.1.4.min.js",
  146. ],
  147. 'layer': [
  148. libpath + "layer/theme/default/layer.css",
  149. libpath + "layer/theme/retina/retina.css",
  150. libpath + "layer/theme/mars/layer.css",
  151. libpath + "layer/layer.js"
  152. ],
  153. 'jquery.scrollTo': [
  154. libpath + "jquery/scrollTo/jquery.scrollTo.min.js",
  155. ],
  156. 'jquery.minicolors': [
  157. libpath + "jquery/minicolors/jquery.minicolors.css",
  158. libpath + "jquery/minicolors/jquery.minicolors.min.js",
  159. ],
  160. 'jquery.range': [
  161. libpath + "jquery/range/range.css",
  162. libpath + "jquery/range/range.js",
  163. ],
  164. 'ztree': [
  165. libpath + "jquery/ztree/css/zTreeStyle/zTreeStyle.css",
  166. libpath + "jquery/ztree/css/mars/ztree-mars.css",
  167. libpath + "jquery/ztree/js/jquery.ztree.all.min.js",
  168. ],
  169. 'jstree': [
  170. libpath + "jstree/themes/default-dark/style.css",
  171. libpath + "jstree/jstree.min.js",
  172. ],
  173. 'jquery.mCustomScrollbar': [
  174. libpath + "jquery/mCustomScrollbar/jquery.mCustomScrollbar.css",
  175. libpath + "jquery/mCustomScrollbar/jquery.mCustomScrollbar.js",
  176. ],
  177. 'jedate': [
  178. libpath + "jquery/jedate/skin/jedate.css",
  179. libpath + "jquery/jedate/jedate.js",
  180. ],
  181. 'lazyload': [
  182. libpath + "jquery/lazyload/jquery.lazyload.min.js",
  183. ],
  184. 'bootstrap': [
  185. libpath + "bootstrap/bootstrap.css",
  186. libpath + "bootstrap/bootstrap.min.js",
  187. ],
  188. 'bootstrap-table': [
  189. libpath + "bootstrap/bootstrap-table/bootstrap-table.css",
  190. libpath + "bootstrap/bootstrap-table/bootstrap-table.min.js",
  191. libpath + "bootstrap/bootstrap-table/locale/bootstrap-table-zh-CN.js"
  192. ],
  193. 'bootstrap-select': [
  194. libpath + "bootstrap/bootstrap-select/bootstrap-select.css",
  195. libpath + "bootstrap/bootstrap-select/bootstrap-select.min.js",
  196. ],
  197. 'bootstrap-checkbox': [
  198. libpath + "bootstrap/bootstrap-checkbox/awesome-bootstrap-checkbox.css",
  199. ],
  200. 'bootstrap-slider': [
  201. libpath + "bootstrap/bootstrap-slider/bootstrap-slider.min.css",
  202. libpath + "bootstrap/bootstrap-slider/bootstrap-slider.min.js",
  203. ],
  204. 'nprogress': [
  205. libpath + "nprogress/nprogress.css",
  206. libpath + "nprogress/nprogress.min.js",
  207. ],
  208. 'toastr': [
  209. libpath + "toastr/toastr.css",
  210. libpath + "toastr/toastr.js",
  211. ],
  212. 'formvalidation': [
  213. libpath + "formvalidation/formValidation.css",
  214. libpath + "formvalidation/formValidation.min.js",
  215. libpath + "formvalidation/framework/bootstrap.min.js",
  216. libpath + "formvalidation/language/zh_CN.min.js",
  217. ],
  218. 'admui': [
  219. libpath + "admui/css/index.css",
  220. libpath + "admui/js/global/core.js", //核心
  221. libpath + "admui/js/global/configs/site-configs.js",
  222. libpath + "admui/js/global/components.js",
  223. ],
  224. 'admui-frame': [
  225. libpath + "admui/css/site.css",
  226. libpath + "admui/js/app.js",
  227. ],
  228. 'admin-lte': [
  229. libpath + "fonts/font-awesome/css/font-awesome.min.css",
  230. libpath + "admin-lte/css/AdminLTE.min.css",
  231. libpath + "admin-lte/css/skins/skin-blue.min.css",
  232. libpath + "admin-lte/js/adminlte.min.js"
  233. ],
  234. 'ace': [
  235. libpath + "ace/ace.js"
  236. ],
  237. 'highlight': [
  238. libpath + "highlight/styles/foundation.css",
  239. libpath + "highlight/highlight.pack.js"
  240. ],
  241. 'animate': [
  242. libpath + "animate/animate.css",
  243. ],
  244. 'font-awesome': [
  245. libpath + "fonts/font-awesome/css/font-awesome.min.css",
  246. ],
  247. 'font-marsgis': [
  248. libpath + "fonts/marsgis/iconfont.css",
  249. ],
  250. 'web-icons': [
  251. libpath + "fonts/web-icons/web-icons.css",
  252. ],
  253. ////////////////////////// 其他库////////////////////////
  254. 'haoutil': [
  255. libpath + "hao/haoutil.js"
  256. ],
  257. 'localforage': [
  258. libpath + "localforage/localforage.js"
  259. ],
  260. }
  261. var keys = {}
  262. for (var i = 0, len = arrInclude.length; i < len; i++) {
  263. var key = arrInclude[i]
  264. if (keys[key]) {
  265. //规避重复引入lib
  266. continue
  267. }
  268. keys[key] = true
  269. inputLibs(libsConfig[key])
  270. }
  271. }
  272. load()
  273. })()