jsapi_demo.php 9.5 KB

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