index_frm.html 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="maximum-scale=1.0, minimum-scale=1.0, user-scalable=0, initial-scale=1.0, width=device-width"/>
  6. <meta name="format-detection" content="telephone=no, email=no, date=no, address=no">
  7. <title>WinA</title>
  8. <link rel="stylesheet" type="text/css" href="css/api.css" />
  9. <link rel="stylesheet" type="text/css" href="css/box.css" />
  10. <script type="text/javascript" src="script/public.js"></script>
  11. <style>
  12. p{
  13. color:#999;
  14. padding:5px;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <script type="text/javascript">
  20. var uzmoduledemo = null;
  21. var scrollPicture = null;
  22. var uzmoduleGis = null;
  23. apiready = function(){
  24. uzmoduledemo = api.require('moduleDemo');
  25. scrollPicture = api.require('scrollPicture');
  26. uzmoduleGis = api.require('moduleGis');
  27. }
  28. function showAlert(){
  29. var param = {msg:"Hello APICloud!"};
  30. uzmoduledemo.showAlert(param, function(ret, err){
  31. alert(JSON.stringify(ret));
  32. });
  33. }
  34. function startGisActivity(){
  35. var param = {appParam:"Hello APICloud!"};
  36. uzmoduleGis.startGisActivity(param);
  37. }
  38. function huaceRtkList(){
  39. var param = {appParam:"Hello APICloud!"};
  40. var res = uzmoduleGis.huaceRtkList(param);
  41. alert("获取手机已配对RTK设备列表:"+JSON.stringify(res));
  42. }
  43. function startGisService(){
  44. var param = {appParam:"Hello APICloud!"};
  45. var res = uzmoduleGis.startGisService(param);
  46. alert("启动GisService获取结果为:"+JSON.stringify(res));
  47. }
  48. function sendConnect(){
  49. var param = {rtkName:"GNSS-3543574"};
  50. var res = uzmoduleGis.sendConnect(param);
  51. alert("发送连接命令:获取结果为:"+JSON.stringify(res));
  52. }
  53. function loginCors(){
  54. var param = {ip:"rtk.huacenav.com",port:"8001",mountName:"RTCM33",userName:"zxcq1009",passWord:"52480331"};
  55. var res = uzmoduleGis.loginCors(param);
  56. alert("登录cors:获取结果为:"+JSON.stringify(res));
  57. }
  58. function stopBTConnect(){
  59. var res = uzmoduleGis.stopBTConnect();
  60. alert("断开连接:获取结果为:"+JSON.stringify(res));
  61. }
  62. function stopGorsConnect(){
  63. var res = uzmoduleGis.stopGorsConnect();
  64. alert("断开cors:获取结果为:"+JSON.stringify(res));
  65. }
  66. function stopGisService(){
  67. var param = {appParam:"Hello APICloud!"};
  68. var res = uzmoduleGis.stopGisService(param);
  69. alert("停止GisService获取结果为:"+JSON.stringify(res));
  70. }
  71. function gisLatLng(){
  72. var param = {appParam:"Hello APICloud!"};
  73. var res = uzmoduleGis.gisLatLng(param);
  74. alert("获取结果为基本数据!\n结果:" + JSON.stringify(res));
  75. }
  76. function BMshowAlert(){
  77. var param = {msg:"Hello APICloud!"};
  78. api.require('ModuleB').showAlert(param);
  79. }
  80. function AMaddView(){
  81. var param = {x:20,y:20,w:200,h:200};
  82. api.require('ModuleA').addView(param);
  83. }
  84. function startActivity(){
  85. var param = {appParam:"Hello APICloud!"};
  86. uzmoduledemo.startActivity(param);
  87. }
  88. function startActivityForResult(){
  89. var param = {appParam:"Hello APICloud!"};
  90. var resultCallback = function(ret, err){
  91. document.getElementById("activity_result").innerHTML = JSON.stringify(ret);
  92. }
  93. uzmoduledemo.startActivityForResult(param, resultCallback);
  94. }
  95. function CMstartActivity(){
  96. var param = {appParam:"Hello APICloud!"};
  97. api.require('ModuleC').startActivity(param);
  98. }
  99. function CMstartActivityForResult(){
  100. var param = {appParam:"Hello APICloud!"};
  101. var resultCallback = function(ret, err){
  102. document.getElementById("activity_result").innerHTML = JSON.stringify(ret);
  103. }
  104. api.require('ModuleC').startActivityForResult(param, resultCallback);
  105. }
  106. function vibrate(){
  107. var mill = document.getElementById("vibrate").value;
  108. var param = {milliseconds:mill};
  109. uzmoduledemo.vibrate(param);
  110. }
  111. function stopVibrate(){
  112. uzmoduledemo.stopVibrate();
  113. }
  114. function addView(){
  115. var param = {x:20,y:20,w:200,h:200};
  116. uzmoduledemo.addView(param);
  117. }
  118. function removeView(){
  119. uzmoduledemo.removeView();
  120. }
  121. function testopen(){
  122. var sw = document.getElementById("sw").value;
  123. scrollPicture.open({
  124. x:0,
  125. y:30,
  126. w:sw,
  127. h:200,
  128. fixedOn:'index_frm', //固定在名为'index_frm'的frame上
  129. //fixed:false //跟随网页滚动
  130. }, function(ret, err){
  131. alert(JSON.stringify(ret));
  132. });
  133. }
  134. function testclose(){
  135. scrollPicture.close();
  136. }
  137. function toRefrash(){
  138. api.refreshHeaderLoading();
  139. }
  140. function stopRefrash(){
  141. api.refreshHeaderLoadDone();
  142. }
  143. function setRefrashHeader(){
  144. api.setCustomRefreshHeaderInfo({
  145. arrowImage: 'widget://image/refresh.png'
  146. }, function( ret, err ){
  147. ;
  148. });
  149. alert('设置成功,再进入下拉刷新状态看看图片是否变啦!');
  150. }
  151. var sModule = null;
  152. function syncInterface(what){
  153. if(!sModule){
  154. sModule = api.require('syncModule');
  155. }
  156. var ret = null;
  157. if(0 == what){
  158. ret = sModule.int();
  159. }else if(1 == what){
  160. ret = sModule.float();
  161. }else if(2 == what){
  162. ret = sModule.boolean();
  163. }else if(3 == what){
  164. ret = sModule.string();
  165. }else if(4 == what){
  166. ret = sModule.json();
  167. }else if(5 == what){
  168. ret = sModule.jsonay();
  169. }else{
  170. return;
  171. }
  172. if(typeof ret === 'object'){
  173. alert("获取结果为对象!\n结果:" + JSON.stringify(ret));
  174. }else{
  175. alert("获取结果为基本数据!\n结果:" + ret);
  176. }
  177. }
  178. </script>
  179. <div id="wrap">
  180. <div id="main">
  181. <br>
  182. <div class='itemtitle'>1、弹出对话框</div>
  183. <div class="clickbtn" tapmode="active" onclick="showAlert()" >点击弹出</div>
  184. <!-- <div class="clickbtn" tapmode="active" onclick="startGisActivity()" >启动GisActivity</div>-->
  185. <div class="clickbtn" tapmode="active" onclick="huaceRtkList()" >获取手机已配对RTK设备列表</div>
  186. <div class="clickbtn" tapmode="active" onclick="startGisService()" >启动GisService</div>
  187. <div class="clickbtn" tapmode="active" onclick="sendConnect()" >尝试连接</div>
  188. <div class="clickbtn" tapmode="active" onclick="loginCors()" >登录cors</div>
  189. <div class="clickbtn" tapmode="active" onclick="stopBTConnect()" >断开BT连接</div>
  190. <div class="clickbtn" tapmode="active" onclick="stopGorsConnect()" >断开Cors连接</div>
  191. <div class="clickbtn" tapmode="active" onclick="gisLatLng()" >获取经纬度</div>
  192. <div class="clickbtn" tapmode="active" onclick="stopGisService()" >停止GisService</div>
  193. <div class='itemtitle'>2、启动Activity</div>
  194. <div class="clickbtn" tapmode="active" onclick="startActivity()" >startActivity</div>
  195. <div class="clickbtn" tapmode="active" onclick="startActivityForResult()" >startActivityForResult</div>
  196. <div style="font-size:0.8em;">acticity返回值:</div>
  197. <div id="activity_result" style="width:100%;word-wrap: break-word;word-break: normal;"></div><br><br>
  198. <div class='itemtitle'>3、调用设备震动</div>
  199. <lable>设置震动时间,单位:毫秒</lable><br>
  200. <input type="number" id="vibrate" value="20000" />
  201. <div class="clickbtn" tapmode="active" onclick="vibrate()" >开始震动</div>
  202. <div class="clickbtn" tapmode="active" onclick="stopVibrate()" >停止震动</div>
  203. <div class='itemtitle'>4、自定义UI模块</div>
  204. <div class="clickbtn" tapmode="active" onclick="addView()" >添加自定义View到当前Window</div>
  205. <div class="clickbtn" tapmode="active" onclick="removeView()" >从当前Window移除自定义View</div>
  206. <div class='itemtitle'>5、简单ScrollPicture模块</div>
  207. <lable>输入ScrollPicture的宽度</lable><br>
  208. <input type="number" id="sw" value="300"/>
  209. <div class="clickbtn" tapmode="active" onclick="testopen()" >打开ScrollPicture</div>
  210. <div class="clickbtn" tapmode="active" onclick="testclose()" >移除ScrollPicture</div>
  211. <div class='itemtitle'>6、自定义简单的下拉刷新模块</div>
  212. <div class="clickbtn" tapmode="active" onclick="toRefrash()" >直接进入下拉刷新</div>
  213. <div class="clickbtn" tapmode="active" onclick="stopRefrash()" >退出下拉刷新</div>
  214. <div class="clickbtn" tapmode="active" onclick="setRefrashHeader()" >设置自定义下拉刷新模块</div>
  215. <div class='itemtitle'>7、同步接口</div>
  216. <div class="clickbtn" tapmode="active" onclick="syncInterface(0)" >同步获取整数</div>
  217. <div class="clickbtn" tapmode="active" onclick="syncInterface(1)" >同步获取小数</div>
  218. <div class="clickbtn" tapmode="active" onclick="syncInterface(2)" >同步获取bool值</div>
  219. <div class="clickbtn" tapmode="active" onclick="syncInterface(3)" >同步获取字符串</div>
  220. <div class="clickbtn" tapmode="active" onclick="syncInterface(4)" >同步获取JSON对象</div>
  221. <div class="clickbtn" tapmode="active" onclick="syncInterface(5)" >同步获取JSON数组对象</div>
  222. <div class='itemtitle'>8、模块B弹出对话框</div>
  223. <div class="clickbtn" tapmode="active" onclick="BMshowAlert()" >点击弹出</div>
  224. <div class='itemtitle'>9、模块A自定义UI模块</div>
  225. <div class="clickbtn" tapmode="active" onclick="AMaddView()" >添加自定义View到当前Window</div>
  226. <div class='itemtitle'>10、模块C启动Activity</div>
  227. <div class="clickbtn" tapmode="active" onclick="CMstartActivity()" >startActivity</div>
  228. <div class="clickbtn" tapmode="active" onclick="CMstartActivityForResult()" >startActivityForResult</div>
  229. <br>
  230. </div>
  231. </div>
  232. </body>
  233. </html>