iPortalRegisterData.html 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <!--********************************************************************
  2. * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
  3. *********************************************************************-->
  4. <!DOCTYPE html>
  5. <html lang="en">
  6. <head>
  7. <meta charset="UTF-8">
  8. <title data-i18n="resources.title_iPortalRegisterData"></title>
  9. </head>
  10. <body style=" margin: 0;overflow: auto;background: #F2F2F2;width: 100%;height:100%;position: absolute;top: 0;">
  11. <div class="container">
  12. <div class="page-header">
  13. <h4 data-i18n="resources.title_iPortalRegisterData"></h4>
  14. </div>
  15. <div class="col-md-10">
  16. <div class="row">
  17. <div class="col-md-12" style="background: #FFF;">
  18. <!--注册数据-->
  19. <div class="row" style="padding: 10px;">
  20. <h5 data-i18n="resources.text_data_type"></h5>
  21. <select id='typeSelect-type' class='form-control' onchange="onSelectDataType()">
  22. <option value="HDFS">HDFS</option>
  23. <option value="HBASE">HBASE</option>
  24. </select>
  25. <div class="hdfs-container">
  26. <h5 data-i18n="resources.text_hdfs_directory"></h5>
  27. <span style="position: relative;">
  28. <input id="hdfs-address" class='form-control' type="text" style="width: 100%;" placeholder="hdfs://<ip>:<port>/data/a.csv"><i class="fa fa-question-circle question" aria-hidden="true"></i>
  29. </span>
  30. <h5 data-i18n="resources.detail_iPortal_name"></h5>
  31. <input id="hdfs-name" class='form-control' type="text" style="width: 100%;">
  32. <h5 data-i18n="resources.detail_iPortal_tags"></h5>
  33. <input id="hdfs-tags" class='form-control' type="text" style="width: 100%;">
  34. </div>
  35. <div class="hbase-container">
  36. <h5 data-i18n="resources.text_hbase_address"></h5>
  37. <span style="position: relative;">
  38. <input id="hbase-address" class='form-control' type="text" style="width: 100%;" placeholder="{ip}:{port}"><i class="fa fa-question-circle question" aria-hidden="true"></i>
  39. </span>
  40. <h5 data-i18n="resources.text_dataBase_name"></h5>
  41. <input id="hbase-name" class='form-control' type="text" style="width: 100%;">
  42. <h5 data-i18n="resources.detail_iPortal_tags"></h5>
  43. <input id="hbase-tags" class='form-control' type="text" style="width: 100%;">
  44. </div>
  45. <div><button class="btn btn-primary col-md-offset-6" style="margin-top: 20px;" onclick="registerDataClick()" data-i18n="resources.btn_OK"></button></div>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. </div>
  51. <script type="text/javascript" include="jquery,bootstrap,widgets" src="../js/include-web.js"></script>
  52. <script type="text/javascript" include="iclient-leaflet-css,xlsx" src="../../dist/leaflet/include-leaflet.js"></script>
  53. <script>
  54. //iportal的URL地址 或根据情况添加自己的本地iportal地址:http://localhost:8190/iportal
  55. var iPortalUrl = "https://iportal.supermap.io/iportal";
  56. var token = "MFEKl8kVmkvEDrDFcgnjodlPCudIO83mBSwvdjiUlWNnySGD-FCEyYEk4CsY2WnSCujfAs8HI0ZkSL6Vxa-njg..";
  57. //数据类型
  58. var dataType;
  59. $(document).ready(function () {
  60. generatePortalToken();
  61. //初始化数据类型
  62. onSelectDataType();
  63. });
  64. //获取token
  65. function generatePortalToken() {
  66. var serverInfo = new SuperMap.ServerInfo(SuperMap.ServerType.IPORTAL, {
  67. server: iPortalUrl
  68. });
  69. SuperMap.SecurityManager.registerServers([serverInfo]);
  70. SuperMap.SecurityManager.destroyToken(iPortalUrl);
  71. SuperMap.SecurityManager.registerToken(iPortalUrl, token);
  72. }
  73. //选中数据类型函数
  74. function onSelectDataType(){
  75. dataType = $("#typeSelect-type").val();
  76. if(dataType === 'HDFS') {
  77. $(".hdfs-container").css("display","block");
  78. $(".hbase-container").css("display","none");
  79. }else {
  80. $(".hbase-container").css("display","block");
  81. $(".hdfs-container").css("display","none");
  82. }
  83. }
  84. //注册数据函数
  85. function registerDataClick(){
  86. var params;
  87. switch (dataType) {
  88. case "HDFS":
  89. var tags = $("#hdfs-tags").val();
  90. var HDFSCatalog = $("#hdfs-address").val();
  91. var dataStoreInfoParams = new SuperMap.iPortalDataStoreInfoParam({
  92. type:dataType,
  93. url:HDFSCatalog
  94. })
  95. var dataMetaParams = new SuperMap.iPortalDataMetaInfoParam({
  96. url:HDFSCatalog,
  97. dataStoreInfo:dataStoreInfoParams
  98. })
  99. params = new SuperMap.iPortalAddDataParam({
  100. type:dataType,
  101. fileName:$("#hdfs-name").val(),
  102. tags:tags ? tags.replace(',',',').split(',') : [], // 将中文逗号替换为英文逗号并去重
  103. dataMetaInfo:dataMetaParams
  104. })
  105. break;
  106. case "HBASE":
  107. var tags = $("#hbase-tags").val();
  108. var serviceAddress = $("#hbase-address").val();
  109. var connectionInfoParam = new SuperMap.iPortalDataConnectionInfoParam({
  110. dataBase:$("#hbase-name").val(),
  111. server:serviceAddress
  112. })
  113. var dataStoreInfoParams = new SuperMap.iPortalDataStoreInfoParam({
  114. type:dataType,
  115. connectionInfo:connectionInfoParam
  116. })
  117. var dataMetaParams = new SuperMap.iPortalDataMetaInfoParam({
  118. dataStoreInfo:dataStoreInfoParams
  119. })
  120. params = new SuperMap.iPortalAddDataParam({
  121. type:dataType,
  122. fileName:$("#hbase-name").val(),
  123. tags:tags ? tags.replace(',',',').split(',') : [], // 将中文逗号替换为英文逗号并去重
  124. dataMetaInfo:dataMetaParams
  125. });
  126. break;
  127. }
  128. new SuperMap.iPortalUser(iPortalUrl).addData(params).then(res=>{
  129. if(res.childID) {
  130. widgets.alert.showAlert(resources.msg_register_success, true);
  131. }else {
  132. widgets.alert.showAlert(res.error.errorMsg, false);
  133. }
  134. })
  135. }
  136. </script>
  137. </body>
  138. </html>