jsapi_demo.php 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <?php
  2. include "wechat.class.php";
  3. include 'errCode.php';
  4. $opt = array(
  5. 'appsecret'=>'xxxxxxxxxxxxxxxxxxxxxxxxxx',//填写高级调用功能的密钥
  6. 'appid'=>'wxxxxxxxxxxxxxx' //填写高级调用功能的appid
  7. );
  8. $we = new Wechat($opt);
  9. $auth = $we->checkAuth();
  10. $js_ticket = $we->getJsTicket();
  11. if (!$js_ticket) {
  12. echo "获取js_ticket失败!<br>";
  13. echo '错误码:'.$we->errCode;
  14. echo ' 错误原因:'.ErrCode::getErrText($weObj->errCode);
  15. exit;
  16. }
  17. $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  18. $js_sign = $we->getJsSign($url);
  19. ?>
  20. <!DOCTYPE html>
  21. <html>
  22. <head>
  23. <meta charset="utf-8">
  24. <title>JS-SDK测试页</title>
  25. <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0">
  26. <link rel="stylesheet" href="style.css?ts=1420775603">
  27. </head>
  28. <body ontouchstart="">
  29. <div class="wxapi_container">
  30. <div class="wxapi_index_container">
  31. <ul class="label_box lbox_close wxapi_index_list">
  32. <li class="label_item wxapi_index_item"><a class="label_inner" href="#menu-basic">基础接口</a></li>
  33. <li class="label_item wxapi_index_item"><a class="label_inner" href="#menu-share">分享接口</a></li>
  34. <li class="label_item wxapi_index_item"><a class="label_inner" href="#menu-image">图像接口</a></li>
  35. <li class="label_item wxapi_index_item"><a class="label_inner" href="#menu-voice">音频接口</a></li>
  36. <li class="label_item wxapi_index_item"><a class="label_inner" href="#menu-smart">智能接口</a></li>
  37. <li class="label_item wxapi_index_item"><a class="label_inner" href="#menu-device">设备信息接口</a></li>
  38. <li class="label_item wxapi_index_item"><a class="label_inner" href="#menu-location">地理位置接口</a></li>
  39. <li class="label_item wxapi_index_item"><a class="label_inner" href="#menu-webview">界面操作接口</a></li>
  40. <li class="label_item wxapi_index_item"><a class="label_inner" href="#menu-scan">微信扫一扫接口</a></li>
  41. <li class="label_item wxapi_index_item"><a class="label_inner" href="#menu-shopping">微信小店接口</a></li>
  42. <li class="label_item wxapi_index_item"><a class="label_inner" href="#menu-card">微信卡券接口</a></li>
  43. <li class="label_item wxapi_index_item"><a class="label_inner" href="#menu-pay">微信支付接口</a></li>
  44. </ul>
  45. </div>
  46. <div class="lbox_close wxapi_form">
  47. <h3 id="menu-basic">基础接口</h3>
  48. <span class="desc">判断当前客户端是否支持指定JS接口</span>
  49. <button class="btn btn_primary" id="checkJsApi">checkJsApi</button>
  50. <h3 id="menu-share">分享接口</h3>
  51. <span class="desc">获取“分享到朋友圈”按钮点击状态及自定义分享内容接口</span>
  52. <button class="btn btn_primary" id="onMenuShareTimeline">onMenuShareTimeline</button>
  53. <span class="desc">获取“分享给朋友”按钮点击状态及自定义分享内容接口</span>
  54. <button class="btn btn_primary" id="onMenuShareAppMessage">onMenuShareAppMessage</button>
  55. <span class="desc">获取“分享到QQ”按钮点击状态及自定义分享内容接口</span>
  56. <button class="btn btn_primary" id="onMenuShareQQ">onMenuShareQQ</button>
  57. <span class="desc">获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口</span>
  58. <button class="btn btn_primary" id="onMenuShareWeibo">onMenuShareWeibo</button>
  59. <h3 id="menu-image">图像接口</h3>
  60. <span class="desc">拍照或从手机相册中选图接口</span>
  61. <button class="btn btn_primary" id="chooseImage">chooseImage</button>
  62. <span class="desc">预览图片接口</span>
  63. <button class="btn btn_primary" id="previewImage">previewImage</button>
  64. <span class="desc">上传图片接口</span>
  65. <button class="btn btn_primary" id="uploadImage">uploadImage</button>
  66. <span class="desc">下载图片接口</span>
  67. <button class="btn btn_primary" id="downloadImage">downloadImage</button>
  68. <h3 id="menu-voice">音频接口</h3>
  69. <span class="desc">开始录音接口</span>
  70. <button class="btn btn_primary" id="startRecord">startRecord</button>
  71. <span class="desc">停止录音接口</span>
  72. <button class="btn btn_primary" id="stopRecord">stopRecord</button>
  73. <span class="desc">播放语音接口</span>
  74. <button class="btn btn_primary" id="playVoice">playVoice</button>
  75. <span class="desc">暂停播放接口</span>
  76. <button class="btn btn_primary" id="pauseVoice">pauseVoice</button>
  77. <span class="desc">停止播放接口</span>
  78. <button class="btn btn_primary" id="stopVoice">stopVoice</button>
  79. <span class="desc">上传语音接口</span>
  80. <button class="btn btn_primary" id="uploadVoice">uploadVoice</button>
  81. <span class="desc">下载语音接口</span>
  82. <button class="btn btn_primary" id="downloadVoice">downloadVoice</button>
  83. <h3 id="menu-smart">智能接口</h3>
  84. <span class="desc">识别音频并返回识别结果接口</span>
  85. <button class="btn btn_primary" id="translateVoice">translateVoice</button>
  86. <h3 id="menu-device">设备信息接口</h3>
  87. <span class="desc">获取网络状态接口</span>
  88. <button class="btn btn_primary" id="getNetworkType">getNetworkType</button>
  89. <h3 id="menu-location">地理位置接口</h3>
  90. <span class="desc">使用微信内置地图查看位置接口</span>
  91. <button class="btn btn_primary" id="openLocation">openLocation</button>
  92. <span class="desc">获取地理位置接口</span>
  93. <button class="btn btn_primary" id="getLocation">getLocation</button>
  94. <h3 id="menu-webview">界面操作接口</h3>
  95. <span class="desc">隐藏右上角菜单接口</span>
  96. <button class="btn btn_primary" id="hideOptionMenu">hideOptionMenu</button>
  97. <span class="desc">显示右上角菜单接口</span>
  98. <button class="btn btn_primary" id="showOptionMenu">showOptionMenu</button>
  99. <span class="desc">关闭当前网页窗口接口</span>
  100. <button class="btn btn_primary" id="closeWindow">closeWindow</button>
  101. <span class="desc">批量隐藏功能按钮接口</span>
  102. <button class="btn btn_primary" id="hideMenuItems">hideMenuItems</button>
  103. <span class="desc">批量显示功能按钮接口</span>
  104. <button class="btn btn_primary" id="showMenuItems">showMenuItems</button>
  105. <span class="desc">隐藏所有非基础按钮接口</span>
  106. <button class="btn btn_primary" id="hideAllNonBaseMenuItem">hideAllNonBaseMenuItem</button>
  107. <span class="desc">显示所有功能按钮接口</span>
  108. <button class="btn btn_primary" id="showAllNonBaseMenuItem">showAllNonBaseMenuItem</button>
  109. <h3 id="menu-scan">微信扫一扫</h3>
  110. <span class="desc">调起微信扫一扫接口</span>
  111. <button class="btn btn_primary" id="scanQRCode0">scanQRCode(微信处理结果)</button>
  112. <button class="btn btn_primary" id="scanQRCode1">scanQRCode(直接返回结果)</button>
  113. <h3 id="menu-shopping">微信小店接口</h3>
  114. <span class="desc">跳转微信商品页接口</span>
  115. <button class="btn btn_primary" id="openProductSpecificView">openProductSpecificView</button>
  116. <h3 id="menu-card">微信卡券接口</h3>
  117. <span class="desc">批量添加卡券接口</span>
  118. <button class="btn btn_primary" id="addCard">addCard</button>
  119. <span class="desc">调起适用于门店的卡券列表并获取用户选择列表</span>
  120. <button class="btn btn_primary" id="chooseCard">chooseCard</button>
  121. <span class="desc">查看微信卡包中的卡券接口</span>
  122. <button class="btn btn_primary" id="openCard">openCard</button>
  123. <h3 id="menu-pay">微信支付接口</h3>
  124. <span class="desc">发起一个微信支付请求</span>
  125. <button class="btn btn_primary" id="chooseWXPay">chooseWXPay</button>
  126. </div>
  127. </div>
  128. </body>
  129. <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"> </script>
  130. <script>
  131. wx.config({
  132. debug: false,
  133. appId: '<?php echo $js_sign['appid']; ?>', // 必填,公众号的唯一标识
  134. timestamp: <?php echo $js_sign['timestamp']; ?>, // 必填,生成签名的时间戳,切记时间戳是整数型,别加引号
  135. nonceStr: '<?php echo $js_sign['noncestr']; ?>', // 必填,生成签名的随机串
  136. signature: '<?php echo $js_sign['signature']; ?>', // 必填,签名,见附录1
  137. jsApiList: [
  138. 'checkJsApi',
  139. 'onMenuShareTimeline',
  140. 'onMenuShareAppMessage',
  141. 'onMenuShareQQ',
  142. 'onMenuShareWeibo',
  143. 'hideMenuItems',
  144. 'showMenuItems',
  145. 'hideAllNonBaseMenuItem',
  146. 'showAllNonBaseMenuItem',
  147. 'translateVoice',
  148. 'startRecord',
  149. 'stopRecord',
  150. 'onRecordEnd',
  151. 'playVoice',
  152. 'pauseVoice',
  153. 'stopVoice',
  154. 'uploadVoice',
  155. 'downloadVoice',
  156. 'chooseImage',
  157. 'previewImage',
  158. 'uploadImage',
  159. 'downloadImage',
  160. 'getNetworkType',
  161. 'openLocation',
  162. 'getLocation',
  163. 'hideOptionMenu',
  164. 'showOptionMenu',
  165. 'closeWindow',
  166. 'scanQRCode',
  167. 'chooseWXPay',
  168. 'openProductSpecificView',
  169. 'addCard',
  170. 'chooseCard',
  171. 'openCard'
  172. ]
  173. });
  174. </script>
  175. <script src="jsapi-demo-6.1.js?ts=<?php echo $timestamp; ?>"> </script>
  176. </html>