index_frm.html 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  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-3543574"};
  48. var res = uzmoduleGis.sendConnect(param);
  49. alert("发送连接命令:获取结果为:"+JSON.stringify(res));
  50. }
  51. function stopGisService(){
  52. var param = {appParam:"Hello APICloud!"};
  53. var res = uzmoduleGis.stopGisService(param);
  54. alert("停止GisService获取结果为:"+JSON.stringify(res));
  55. }
  56. function gisLatLng(){
  57. var param = {appParam:"Hello APICloud!"};
  58. var res = uzmoduleGis.gisLatLng(param);
  59. alert("获取结果为基本数据!\n结果:" + JSON.stringify(res));
  60. }
  61. function BMshowAlert(){
  62. var param = {msg:"Hello APICloud!"};
  63. api.require('ModuleB').showAlert(param);
  64. }
  65. function AMaddView(){
  66. var param = {x:20,y:20,w:200,h:200};
  67. api.require('ModuleA').addView(param);
  68. }
  69. function startActivity(){
  70. var param = {appParam:"Hello APICloud!"};
  71. uzmoduledemo.startActivity(param);
  72. }
  73. function startActivityForResult(){
  74. var param = {appParam:"Hello APICloud!"};
  75. var resultCallback = function(ret, err){
  76. document.getElementById("activity_result").innerHTML = JSON.stringify(ret);
  77. }
  78. uzmoduledemo.startActivityForResult(param, resultCallback);
  79. }
  80. function CMstartActivity(){
  81. var param = {appParam:"Hello APICloud!"};
  82. api.require('ModuleC').startActivity(param);
  83. }
  84. function CMstartActivityForResult(){
  85. var param = {appParam:"Hello APICloud!"};
  86. var resultCallback = function(ret, err){
  87. document.getElementById("activity_result").innerHTML = JSON.stringify(ret);
  88. }
  89. api.require('ModuleC').startActivityForResult(param, resultCallback);
  90. }
  91. function vibrate(){
  92. var mill = document.getElementById("vibrate").value;
  93. var param = {milliseconds:mill};
  94. uzmoduledemo.vibrate(param);
  95. }
  96. function stopVibrate(){
  97. uzmoduledemo.stopVibrate();
  98. }
  99. function addView(){
  100. var param = {x:20,y:20,w:200,h:200};
  101. uzmoduledemo.addView(param);
  102. }
  103. function removeView(){
  104. uzmoduledemo.removeView();
  105. }
  106. function testopen(){
  107. var sw = document.getElementById("sw").value;
  108. scrollPicture.open({
  109. x:0,
  110. y:30,
  111. w:sw,
  112. h:200,
  113. fixedOn:'index_frm', //固定在名为'index_frm'的frame上
  114. //fixed:false //跟随网页滚动
  115. }, function(ret, err){
  116. alert(JSON.stringify(ret));
  117. });
  118. }
  119. function testclose(){
  120. scrollPicture.close();
  121. }
  122. function toRefrash(){
  123. api.refreshHeaderLoading();
  124. }
  125. function stopRefrash(){
  126. api.refreshHeaderLoadDone();
  127. }
  128. function setRefrashHeader(){
  129. api.setCustomRefreshHeaderInfo({
  130. arrowImage: 'widget://image/refresh.png'
  131. }, function( ret, err ){
  132. ;
  133. });
  134. alert('设置成功,再进入下拉刷新状态看看图片是否变啦!');
  135. }
  136. var sModule = null;
  137. function syncInterface(what){
  138. if(!sModule){
  139. sModule = api.require('syncModule');
  140. }
  141. var ret = null;
  142. if(0 == what){
  143. ret = sModule.int();
  144. }else if(1 == what){
  145. ret = sModule.float();
  146. }else if(2 == what){
  147. ret = sModule.boolean();
  148. }else if(3 == what){
  149. ret = sModule.string();
  150. }else if(4 == what){
  151. ret = sModule.json();
  152. }else if(5 == what){
  153. ret = sModule.jsonay();
  154. }else{
  155. return;
  156. }
  157. if(typeof ret === 'object'){
  158. alert("获取结果为对象!\n结果:" + JSON.stringify(ret));
  159. }else{
  160. alert("获取结果为基本数据!\n结果:" + ret);
  161. }
  162. }
  163. </script>
  164. </head>
  165. <body>
  166. <div id="wrap">
  167. <div id="main">
  168. <br>
  169. <div class='itemtitle'>1、弹出对话框</div>
  170. <div class="clickbtn" tapmode="active" onclick="showAlert()" >点击弹出</div>
  171. <!-- <div class="clickbtn" tapmode="active" onclick="startGisActivity()" >启动GisActivity</div>-->
  172. <div class="clickbtn" tapmode="active" onclick="huaceRtkList()" >获取手机已配对RTK设备列表</div>
  173. <div class="clickbtn" tapmode="active" onclick="startGisService()" >启动GisService</div>
  174. <div class="clickbtn" tapmode="active" onclick="sendConnect()" >尝试连接</div>
  175. <div class="clickbtn" tapmode="active" onclick="gisLatLng()" >获取经纬度</div>
  176. <div class="clickbtn" tapmode="active" onclick="stopGisService()" >停止GisService并断开Connect</div>
  177. <div class='itemtitle'>2、启动Activity</div>
  178. <div class="clickbtn" tapmode="active" onclick="startActivity()" >startActivity</div>
  179. <div class="clickbtn" tapmode="active" onclick="startActivityForResult()" >startActivityForResult</div>
  180. <div style="font-size:0.8em;">acticity返回值:</div>
  181. <div id="activity_result" style="width:100%;word-wrap: break-word;word-break: normal;"></div><br><br>
  182. <div class='itemtitle'>3、调用设备震动</div>
  183. <lable>设置震动时间,单位:毫秒</lable><br>
  184. <input type="number" id="vibrate" value="20000" />
  185. <div class="clickbtn" tapmode="active" onclick="vibrate()" >开始震动</div>
  186. <div class="clickbtn" tapmode="active" onclick="stopVibrate()" >停止震动</div>
  187. <div class='itemtitle'>4、自定义UI模块</div>
  188. <div class="clickbtn" tapmode="active" onclick="addView()" >添加自定义View到当前Window</div>
  189. <div class="clickbtn" tapmode="active" onclick="removeView()" >从当前Window移除自定义View</div>
  190. <div class='itemtitle'>5、简单ScrollPicture模块</div>
  191. <lable>输入ScrollPicture的宽度</lable><br>
  192. <input type="number" id="sw" value="300"/>
  193. <div class="clickbtn" tapmode="active" onclick="testopen()" >打开ScrollPicture</div>
  194. <div class="clickbtn" tapmode="active" onclick="testclose()" >移除ScrollPicture</div>
  195. <div class='itemtitle'>6、自定义简单的下拉刷新模块</div>
  196. <div class="clickbtn" tapmode="active" onclick="toRefrash()" >直接进入下拉刷新</div>
  197. <div class="clickbtn" tapmode="active" onclick="stopRefrash()" >退出下拉刷新</div>
  198. <div class="clickbtn" tapmode="active" onclick="setRefrashHeader()" >设置自定义下拉刷新模块</div>
  199. <div class='itemtitle'>7、同步接口</div>
  200. <div class="clickbtn" tapmode="active" onclick="syncInterface(0)" >同步获取整数</div>
  201. <div class="clickbtn" tapmode="active" onclick="syncInterface(1)" >同步获取小数</div>
  202. <div class="clickbtn" tapmode="active" onclick="syncInterface(2)" >同步获取bool值</div>
  203. <div class="clickbtn" tapmode="active" onclick="syncInterface(3)" >同步获取字符串</div>
  204. <div class="clickbtn" tapmode="active" onclick="syncInterface(4)" >同步获取JSON对象</div>
  205. <div class="clickbtn" tapmode="active" onclick="syncInterface(5)" >同步获取JSON数组对象</div>
  206. <div class='itemtitle'>8、模块B弹出对话框</div>
  207. <div class="clickbtn" tapmode="active" onclick="BMshowAlert()" >点击弹出</div>
  208. <div class='itemtitle'>9、模块A自定义UI模块</div>
  209. <div class="clickbtn" tapmode="active" onclick="AMaddView()" >添加自定义View到当前Window</div>
  210. <div class='itemtitle'>10、模块C启动Activity</div>
  211. <div class="clickbtn" tapmode="active" onclick="CMstartActivity()" >startActivity</div>
  212. <div class="clickbtn" tapmode="active" onclick="CMstartActivityForResult()" >startActivityForResult</div>
  213. <br>
  214. </div>
  215. </div>
  216. </body>
  217. </html>