settings.html 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>SIMC 终端控制系统</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
  7. <meta name="apple-mobile-web-app-capable" content="yes">
  8. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  9. <!--标准mui.css-->
  10. <link rel="stylesheet" href="css/mui.min.css">
  11. <!--App自定义的css-->
  12. <link rel="stylesheet" type="text/css" href="css/app.css" />
  13. <style>
  14. .mui-content-padded{
  15. padding: 2px 0;
  16. }
  17. .mui-row{
  18. font-size: 20px;
  19. }
  20. .mui-col-xs-3{
  21. padding: 2px 2px;
  22. }
  23. .mui-content {
  24. padding: 10px 10px 0 10px;
  25. background-color: rgba(255, 255, 255, 0);
  26. }
  27. .mui-input-group{
  28. background-color: rgba(255, 255, 255, 0);
  29. color: #FFFFFF;
  30. }
  31. .mui-content-padded a {
  32. width: 50px;
  33. height: 50px;
  34. display: inline-block;
  35. text-align: center;
  36. background-color: #103543;
  37. border: 1px solid #FFF;
  38. border-radius: 25px;
  39. background-clip: padding-box;
  40. }
  41. .mui-content-padded a .mui-icon {
  42. margin-top: 12px;
  43. }
  44. </style>
  45. </head>
  46. <body style="background-image: url(img/bg.png);">
  47. <div id="title" style="height: 4%;text-align: center;padding-top: 10px;padding-bottom: 5px;background: url(img/title_bg.png) no-repeat 0 17px;background-size:100%;">
  48. <a style="color: #FFFFFF;font-size: 20px;">华力西曼克</a>
  49. </div>
  50. <div class="mui-content">
  51. <div class="mui-content-padded" style="height:auto;min-height: 459px;">
  52. <form class="mui-input-group">
  53. <div class="mui-input-row">
  54. <label>IP地址</label>
  55. <input type="text" id="ip" placeholder="请填写IP地址" value="">
  56. </div>
  57. <div class="mui-input-row">
  58. <label>agvID</label>
  59. <input type="text" id="agvid" placeholder="请填写agvID" value="">
  60. </div>
  61. <div class="mui-input-row">
  62. <label>mapID</label>
  63. <input type="text" id="mapid" placeholder="请填写mapID" value="">
  64. </div>
  65. <!----><div class="mui-input-row">
  66. <div class="mui-input-row mui-radio">
  67. <label>服务器模式</label>
  68. <input type="radio" name="models" id="service" value="service" onclick="Models()"/>
  69. </div>
  70. </div>
  71. <div class="mui-input-row">
  72. <div class="mui-input-row mui-radio">
  73. <label>客户端模式</label>
  74. <input type="radio" name="models" id="client" value="client" onclick="Models()"/>
  75. </div>
  76. </div>
  77. <div class="mui-button-row">
  78. <!-- <button id="update" type="button" class="mui-btn mui-btn-success">应用更新</button>&nbsp;&nbsp; -->
  79. <button id="default" type="button" class="mui-btn mui-btn-default">默认值</button>&nbsp;&nbsp;
  80. <button id="confirm" type="button" class="mui-btn mui-btn-primary">确认</button>&nbsp;&nbsp;
  81. <button id="cancel" type="button" class="mui-btn mui-btn-danger">取消</button>
  82. </div>
  83. </form>
  84. </div>
  85. <div class="mui-content-padded">
  86. <div class="mui-row">
  87. <div class="mui-col mui-col-xs-12" style="text-align:center;">
  88. <a href="index.html">
  89. <span class="mui-icon mui-icon-arrowright" style="color: #fff;"></span>
  90. </a>
  91. </div>
  92. </div>
  93. </div>
  94. </div>
  95. </body>
  96. <script src="js/mui.js"></script>
  97. <script src="js/jquery.min.js"></script>
  98. <script src="js/mui.min.js"></script>
  99. <script>
  100. $(function() {
  101. if (localStorage.getItem("ip") != "" || localStorage.getItem("ip") != null) {
  102. $("#ip").val(localStorage.getItem("ip"))
  103. }
  104. if (localStorage.getItem("agvid") != "" || localStorage.getItem("agvid") != null) {
  105. $("#agvid").val(localStorage.getItem("agvid"));
  106. }
  107. if (localStorage.getItem("mapid") != "" || localStorage.getItem("mapid") != null) {
  108. $("#mapid").val(localStorage.getItem("mapid"));
  109. }
  110. if (localStorage.getItem("workmode") == "client") {
  111. $("#client").prop("checked",true);
  112. localStorage.setItem("workmode","client");
  113. } else {
  114. $("#service").prop("checked",true);
  115. localStorage.setItem("workmode","service");
  116. }
  117. })
  118. function Models() {
  119. var radios = document.getElementsByName("models");
  120. var value = 0;
  121. for(var i=0;i<radios.length;i++){
  122. if(radios[i].checked == true){
  123. value = radios[i].value;
  124. }
  125. }
  126. localStorage.setItem("workmode",value);
  127. }
  128. $("#default").click(function() {
  129. if (localStorage.getItem("defaultip") == "" || localStorage.getItem("defaultip") == null) {
  130. defaultip = "192.168.66.4";
  131. } else {
  132. defaultip = localStorage.getItem("defaultip");
  133. }
  134. $("#ip").val(defaultip);
  135. $("#agvid").val("1");
  136. $("#mapid").val("2020032608412704");
  137. })
  138. $("#cancel").click(function() {
  139. window.location.href = "index.html";
  140. })
  141. $("#confirm").click(function() {
  142. var ip = $("#ip").val();
  143. var agvid = $("#agvid").val();
  144. var mapid = $("#mapid").val();
  145. if (ip != "" && ip != null) {
  146. localStorage.setItem("ip", ip);
  147. localStorage.setItem("defaultip", ip);
  148. }
  149. if (agvid != "" && agvid != null) {
  150. localStorage.setItem("agvid", agvid);
  151. }
  152. if (mapid != "" && mapid != null) {
  153. localStorage.setItem("mapid", mapid);
  154. }
  155. window.location.href = "index.html";
  156. })
  157. mui.init()
  158. $("#update").click(function() {
  159. dowload()
  160. })
  161. function dowload() {
  162. var options = {
  163. method: "GET"
  164. };
  165. dtask = plus.downloader.createDownload("http://192.168.1.230:3000/wcs/agv-summoner/raw/master/releases/agv-summoner.apk", options);
  166. dtask.addEventListener("statechanged", function(task, status) {
  167. switch (task.state) {
  168. case 1: // 开始
  169. mui.toast("开始下载...")
  170. break;
  171. case 2: // 已连接到服务器
  172. mui.toast("连接到服务器...")
  173. break;
  174. case 3: // 已接收到数据
  175. //alert(task.downloadedSize) // 已下载文件大小
  176. //alert(task.totalSize) // 文件大小
  177. break;
  178. case 4: // 下载完成
  179. mui.toast("下载完成!")
  180. //console.log(task.totalSize)
  181. plus.io.resolveLocalFileSystemURL(task.filename, function(entry) {
  182. if (entry.isFile) {
  183. plus.runtime.install(entry.toLocalURL(), {}, function() {
  184. alert("安装成功")
  185. entry.remove();//删除文件
  186. }, function() {
  187. alert("安装失败")
  188. });
  189. } else {
  190. // 不存在
  191. alert("文件不存在")
  192. }
  193. //alert(entry.toLocalURL()+"") // 显示下载的文件存储绝对地址
  194. //console.log(entry.toLocalURL()) //绝对地址
  195. }, function(e) {});
  196. //alert(task.filename) // 显示下载好的文件名称
  197. //console.log("task.filename", task.filename)
  198. break;
  199. }
  200. });
  201. dtask.start();
  202. }
  203. </script>
  204. </html>