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. <script type="text/javascript">
  18. var uzmoduledemo = null;
  19. var scrollPicture = null;
  20. var uzmoduleGis = null;
  21. apiready = function(){
  22. uzmoduledemo = api.require('moduleDemo');
  23. scrollPicture = api.require('scrollPicture');
  24. uzmoduleGis = api.require('moduleGis');
  25. }
  26. function showAlert(){
  27. var param = {msg:"Hello APICloud!"};
  28. uzmoduledemo.showAlert(param, function(ret, err){
  29. alert(JSON.stringify(ret));
  30. });
  31. }
  32. function startGisActivity(){
  33. var param = {appParam:"Hello APICloud!"};
  34. uzmoduleGis.startGisActivity(param);
  35. }
  36. function huaceRtkList(){
  37. var param = {appParam:"Hello APICloud!"};
  38. var res = uzmoduleGis.huaceRtkList(param);
  39. alert("获取手机已配对RTK设备列表:"+JSON.stringify(res));
  40. }
  41. function startGisService(){
  42. var param = {appParam:"Hello APICloud!"};
  43. var res = uzmoduleGis.startGisService(param);
  44. alert("启动GisService获取结果为:"+JSON.stringify(res));
  45. }
  46. function sendConnect(){
  47. var param = {rtkName:"GNSS-3561535"};
  48. var res = uzmoduleGis.sendConnect(param);
  49. alert("发送连接命令:获取结果为:"+JSON.stringify(res));
  50. }
  51. function loginCors(){
  52. var param = {ip:"rtk.huacenav.com",port:"8001",mountName:"RTCM33",userName:"zxcq1009",passWord:"52480331"};
  53. var res = uzmoduleGis.loginCors(param);
  54. alert("登录cors:获取结果为:"+JSON.stringify(res));
  55. }
  56. function stopBTConnect(){
  57. var res = uzmoduleGis.stopBTConnect();
  58. alert("断开连接:获取结果为:"+JSON.stringify(res));
  59. }
  60. function stopGorsConnect(){
  61. var res = uzmoduleGis.stopGorsConnect();
  62. alert("断开cors:获取结果为:"+JSON.stringify(res));
  63. }
  64. function stopGisService(){
  65. var param = {appParam:"Hello APICloud!"};
  66. var res = uzmoduleGis.stopGisService(param);
  67. alert("停止GisService获取结果为:"+JSON.stringify(res));
  68. }
  69. function gisLatLng(){
  70. var param = {appParam:"Hello APICloud!"};
  71. var res = uzmoduleGis.gisLatLng(param);
  72. alert("获取结果为基本数据!\n结果:" + JSON.stringify(res));
  73. }
  74. function BMshowAlert(){
  75. var param = {msg:"Hello APICloud!"};
  76. api.require('ModuleB').showAlert(param);
  77. }
  78. function AMaddView(){
  79. var param = {x:20,y:20,w:200,h:200};
  80. api.require('ModuleA').addView(param);
  81. }
  82. function startActivity(){
  83. var param = {appParam:"Hello APICloud!"};
  84. uzmoduledemo.startActivity(param);
  85. }
  86. function startActivityForResult(){
  87. var param = {appParam:"Hello APICloud!"};
  88. var resultCallback = function(ret, err){
  89. document.getElementById("activity_result").innerHTML = JSON.stringify(ret);
  90. }
  91. uzmoduledemo.startActivityForResult(param, resultCallback);
  92. }
  93. function CMstartActivity(){
  94. var param = {appParam:"Hello APICloud!"};
  95. api.require('ModuleC').startActivity(param);
  96. }
  97. function CMstartActivityForResult(){
  98. var param = {appParam:"Hello APICloud!"};
  99. var resultCallback = function(ret, err){
  100. document.getElementById("activity_result").innerHTML = JSON.stringify(ret);
  101. }
  102. api.require('ModuleC').startActivityForResult(param, resultCallback);
  103. }
  104. function vibrate(){
  105. var mill = document.getElementById("vibrate").value;
  106. var param = {milliseconds:mill};
  107. uzmoduledemo.vibrate(param);
  108. }
  109. function stopVibrate(){
  110. uzmoduledemo.stopVibrate();
  111. }
  112. function addView(){
  113. var param = {x:20,y:20,w:200,h:200};
  114. uzmoduledemo.addView(param);
  115. }
  116. function removeView(){
  117. uzmoduledemo.removeView();
  118. }
  119. function testopen(){
  120. var sw = document.getElementById("sw").value;
  121. scrollPicture.open({
  122. x:0,
  123. y:30,
  124. w:sw,
  125. h:200,
  126. fixedOn:'index_frm', //固定在名为'index_frm'的frame上
  127. //fixed:false //跟随网页滚动
  128. }, function(ret, err){
  129. alert(JSON.stringify(ret));
  130. });
  131. }
  132. function testclose(){
  133. scrollPicture.close();
  134. }
  135. function toRefrash(){
  136. api.refreshHeaderLoading();
  137. }
  138. function stopRefrash(){
  139. api.refreshHeaderLoadDone();
  140. }
  141. function setRefrashHeader(){
  142. api.setCustomRefreshHeaderInfo({
  143. arrowImage: 'widget://image/refresh.png'
  144. }, function( ret, err ){
  145. ;
  146. });
  147. alert('设置成功,再进入下拉刷新状态看看图片是否变啦!');
  148. }
  149. var sModule = null;
  150. function syncInterface(what){
  151. if(!sModule){
  152. sModule = api.require('syncModule');
  153. }
  154. var ret = null;
  155. if(0 == what){
  156. ret = sModule.int();
  157. }else if(1 == what){
  158. ret = sModule.float();
  159. }else if(2 == what){
  160. ret = sModule.boolean();
  161. }else if(3 == what){
  162. ret = sModule.string();
  163. }else if(4 == what){
  164. ret = sModule.json();
  165. }else if(5 == what){
  166. ret = sModule.jsonay();
  167. }else{
  168. return;
  169. }
  170. if(typeof ret === 'object'){
  171. alert("获取结果为对象!\n结果:" + JSON.stringify(ret));
  172. }else{
  173. alert("获取结果为基本数据!\n结果:" + ret);
  174. }
  175. }
  176. </script>
  177. </head>
  178. <body>
  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>