微信API - javascript代码

  1. javascript代码:
  2. wx.ready(function(){
  3. // 1 判断当前版本是否支持指定 JS 接口,支持批量判断
  4. document.querySelector('#checkJsApi').onclick =function(){
  5. wx.checkJsApi({
  6. jsApiList:[
  7. 'getNetworkType',
  8. 'previewImage'
  9. ],
  10. success:function(res){
  11. alert(JSON.stringify(res));
  12. }
  13. });
  14. };
  15.  
  16. // 2. 分享接口
  17. // 2.1 监听“分享给朋友”,按钮点击、自定义分享内容及分享结果接口
  18. document.querySelector('#onMenuShareAppMessage').onclick =function(){
  19. wx.onMenuShareAppMessage({
  20. title:'互联网之子 方倍工作室',
  21. desc:'在长大的过程中,我才慢慢发现,我身边的所有事,别人跟我说的所有事,那些所谓本来如此,注定如此的事,它们其实没有非得如此,事情是可以改变的。更重要的是,有些事既然错了,那就该做出改变。',
  22. link:'http://movie.douban.com/subject/25785114/',
  23. imgUrl:'http://img3.douban.com/view/movie_poster_cover/spst/public/p2166127561.jpg',
  24. trigger:function(res){
  25. alert('用户点击发送给朋友');
  26. },
  27. success:function(res){
  28. alert('已分享');
  29. },
  30. cancel:function(res){
  31. alert('已取消');
  32. },
  33. fail:function(res){
  34. alert(JSON.stringify(res));
  35. }
  36. });
  37. alert('已注册获取“发送给朋友”状态事件');
  38. };
  39.  
  40. // 2.2 监听“分享到朋友圈”按钮点击、自定义分享内容及分享结果接口
  41. document.querySelector('#onMenuShareTimeline').onclick =function(){
  42. wx.onMenuShareTimeline({
  43. title:'互联网之子 方倍工作室',
  44. link:'http://movie.douban.com/subject/25785114/',
  45. imgUrl:'http://img3.douban.com/view/movie_poster_cover/spst/public/p2166127561.jpg',
  46. trigger:function(res){
  47. alert('用户点击分享到朋友圈');
  48. },
  49. success:function(res){
  50. alert('已分享');
  51. },
  52. cancel:function(res){
  53. alert('已取消');
  54. },
  55. fail:function(res){
  56. alert(JSON.stringify(res));
  57. }
  58. });
  59. alert('已注册获取“分享到朋友圈”状态事件');
  60. };
  61.  
  62. // 2.3 监听“分享到QQ”按钮点击、自定义分享内容及分享结果接口
  63. document.querySelector('#onMenuShareQQ').onclick =function(){
  64. wx.onMenuShareQQ({
  65. title:'互联网之子 方倍工作室',
  66. desc:'在长大的过程中,我才慢慢发现,我身边的所有事,别人跟我说的所有事,那些所谓本来如此,注定如此的事,它们其实没有非得如此,事情是可以改变的。更重要的是,有些事既然错了,那就该做出改变。',
  67. link:'http://movie.douban.com/subject/25785114/',
  68. imgUrl:'http://img3.douban.com/view/movie_poster_cover/spst/public/p2166127561.jpg',
  69. trigger:function(res){
  70. alert('用户点击分享到QQ');
  71. },
  72. complete:function(res){
  73. alert(JSON.stringify(res));
  74. },
  75. success:function(res){
  76. alert('已分享');
  77. },
  78. cancel:function(res){
  79. alert('已取消');
  80. },
  81. fail:function(res){
  82. alert(JSON.stringify(res));
  83. }
  84. });
  85. alert('已注册获取“分享到 QQ”状态事件');
  86. };
  87. // 2.4 监听“分享到微博”按钮点击、自定义分享内容及分享结果接口
  88. document.querySelector('#onMenuShareWeibo').onclick =function(){
  89. wx.onMenuShareWeibo({
  90. title:'互联网之子 方倍工作室',
  91. desc:'在长大的过程中,我才慢慢发现,我身边的所有事,别人跟我说的所有事,那些所谓本来如此,注定如此的事,它们其实没有非得如此,事情是可以改变的。更重要的是,有些事既然错了,那就该做出改变。',
  92. link:'http://movie.douban.com/subject/25785114/',
  93. imgUrl:'http://img3.douban.com/view/movie_poster_cover/spst/public/p2166127561.jpg',
  94. trigger:function(res){
  95. alert('用户点击分享到微博');
  96. },
  97. complete:function(res){
  98. alert(JSON.stringify(res));
  99. },
  100. success:function(res){
  101. alert('已分享');
  102. },
  103. cancel:function(res){
  104. alert('已取消');
  105. },
  106. fail:function(res){
  107. alert(JSON.stringify(res));
  108. }
  109. });
  110. alert('已注册获取“分享到微博”状态事件');
  111. };
  112.  
  113.  
  114. // 3 智能接口
  115. var voice ={
  116. localId:'',
  117. serverId:''
  118. };
  119. // 3.1 识别音频并返回识别结果
  120. document.querySelector('#translateVoice').onclick =function(){
  121. if(voice.localId ==''){
  122. alert('请先使用 startRecord 接口录制一段声音');
  123. return;
  124. }
  125. wx.translateVoice({
  126. localId: voice.localId,
  127. complete:function(res){
  128. if(res.hasOwnProperty('translateResult')){
  129. alert('识别结果:'+ res.translateResult);
  130. }else{
  131. alert('无法识别');
  132. }
  133. }
  134. });
  135. };
  136.  
  137. // 4 音频接口
  138. // 4.2 开始录音
  139. document.querySelector('#startRecord').onclick =function(){
  140. wx.startRecord({
  141. cancel:function(){
  142. alert('用户拒绝授权录音');
  143. }
  144. });
  145. };
  146.  
  147. // 4.3 停止录音
  148. document.querySelector('#stopRecord').onclick =function(){
  149. wx.stopRecord({
  150. success:function(res){
  151. voice.localId = res.localId;
  152. },
  153. fail:function(res){
  154. alert(JSON.stringify(res));
  155. }
  156. });
  157. };
  158.  
  159. // 4.4 监听录音自动停止
  160. wx.onVoiceRecordEnd({
  161. complete:function(res){
  162. voice.localId = res.localId;
  163. alert('录音时间已超过一分钟');
  164. }
  165. });
  166.  
  167. // 4.5 播放音频
  168. document.querySelector('#playVoice').onclick =function(){
  169. if(voice.localId ==''){
  170. alert('请先使用 startRecord 接口录制一段声音');
  171. return;
  172. }
  173. wx.playVoice({
  174. localId: voice.localId
  175. });
  176. };
  177.  
  178. // 4.6 暂停播放音频
  179. document.querySelector('#pauseVoice').onclick =function(){
  180. wx.pauseVoice({
  181. localId: voice.localId
  182. });
  183. };
  184.  
  185. // 4.7 停止播放音频
  186. document.querySelector('#stopVoice').onclick =function(){
  187. wx.stopVoice({
  188. localId: voice.localId
  189. });
  190. };
  191.  
  192. // 4.8 监听录音播放停止
  193. wx.onVoicePlayEnd({
  194. complete:function(res){
  195. alert('录音('+ res.localId +')播放结束');
  196. }
  197. });
  198.  
  199. // 4.8 上传语音
  200. document.querySelector('#uploadVoice').onclick =function(){
  201. if(voice.localId ==''){
  202. alert('请先使用 startRecord 接口录制一段声音');
  203. return;
  204. }
  205. wx.uploadVoice({
  206. localId: voice.localId,
  207. success:function(res){
  208. alert('上传语音成功,serverId 为'+ res.serverId);
  209. voice.serverId = res.serverId;
  210. }
  211. });
  212. };
  213.  
  214. // 4.9 下载语音
  215. document.querySelector('#downloadVoice').onclick =function(){
  216. if(voice.serverId ==''){
  217. alert('请先使用 uploadVoice 上传声音');
  218. return;
  219. }
  220. wx.downloadVoice({
  221. serverId: voice.serverId,
  222. success:function(res){
  223. alert('下载语音成功,localId 为'+ res.localId);
  224. voice.localId = res.localId;
  225. }
  226. });
  227. };
  228.  
  229. // 5 图片接口
  230. // 5.1 拍照、本地选图
  231. var images ={
  232. localId:[],
  233. serverId:[]
  234. };
  235. document.querySelector('#chooseImage').onclick =function(){
  236. wx.chooseImage({
  237. success:function(res){
  238. images.localId = res.localIds;
  239. alert('已选择 '+ res.localIds.length +' 张图片');
  240. }
  241. });
  242. };
  243.  
  244. // 5.2 图片预览
  245. document.querySelector('#previewImage').onclick =function(){
  246. wx.previewImage({
  247. current:'http://img5.douban.com/view/photo/photo/public/p1353993776.jpg',
  248. urls:[
  249. 'http://img3.douban.com/view/photo/photo/public/p2152117150.jpg',
  250. 'http://img5.douban.com/view/photo/photo/public/p1353993776.jpg',
  251. 'http://img3.douban.com/view/photo/photo/public/p2152134700.jpg'
  252. ]
  253. });
  254. };
  255.  
  256. // 5.3 上传图片
  257. document.querySelector('#uploadImage').onclick =function(){
  258. if(images.localId.length ==0){
  259. alert('请先使用 chooseImage 接口选择图片');
  260. return;
  261. }
  262. var i =0, length = images.localId.length;
  263. images.serverId =[];
  264. function upload(){
  265. wx.uploadImage({
  266. localId: images.localId[i],
  267. success:function(res){
  268. i++;
  269. alert('已上传:'+ i +'/'+ length);
  270. images.serverId.push(res.serverId);
  271. if(i < length){
  272. upload();
  273. }
  274. },
  275. fail:function(res){
  276. alert(JSON.stringify(res));
  277. }
  278. });
  279. }
  280. upload();
  281. };
  282.  
  283. // 5.4 下载图片
  284. document.querySelector('#downloadImage').onclick =function(){
  285. if(images.serverId.length ===0){
  286. alert('请先使用 uploadImage 上传图片');
  287. return;
  288. }
  289. var i =0, length = images.serverId.length;
  290. images.localId =[];
  291. function download(){
  292. wx.downloadImage({
  293. serverId: images.serverId[i],
  294. success:function(res){
  295. i++;
  296. alert('已下载:'+ i +'/'+ length);
  297. images.localId.push(res.localId);
  298. if(i < length){
  299. download();
  300. }
  301. }
  302. });
  303. }
  304. download();
  305. };
  306.  
  307. // 6 设备信息接口
  308. // 6.1 获取当前网络状态
  309. document.querySelector('#getNetworkType').onclick =function(){
  310. wx.getNetworkType({
  311. success:function(res){
  312. alert(res.networkType);
  313. },
  314. fail:function(res){
  315. alert(JSON.stringify(res));
  316. }
  317. });
  318. };
  319.  
  320. // 8 界面操作接口
  321. // 8.1 隐藏右上角菜单
  322. document.querySelector('#hideOptionMenu').onclick =function(){
  323. wx.hideOptionMenu();
  324. };
  325.  
  326. // 8.2 显示右上角菜单
  327. document.querySelector('#showOptionMenu').onclick =function(){
  328. wx.showOptionMenu();
  329. };
  330.  
  331. // 8.3 批量隐藏菜单项
  332. document.querySelector('#hideMenuItems').onclick =function(){
  333. wx.hideMenuItems({
  334. menuList:[
  335. 'menuItem:readMode',// 阅读模式
  336. 'menuItem:share:timeline',// 分享到朋友圈
  337. 'menuItem:copyUrl'// 复制链接
  338. ],
  339. success:function(res){
  340. alert('已隐藏“阅读模式”,“分享到朋友圈”,“复制链接”等按钮');
  341. },
  342. fail:function(res){
  343. alert(JSON.stringify(res));
  344. }
  345. });
  346. };
  347.  
  348. // 8.4 批量显示菜单项
  349. document.querySelector('#showMenuItems').onclick =function(){
  350. wx.showMenuItems({
  351. menuList:[
  352. 'menuItem:readMode',// 阅读模式
  353. 'menuItem:share:timeline',// 分享到朋友圈
  354. 'menuItem:copyUrl'// 复制链接
  355. ],
  356. success:function(res){
  357. alert('已显示“阅读模式”,“分享到朋友圈”,“复制链接”等按钮');
  358. },
  359. fail:function(res){
  360. alert(JSON.stringify(res));
  361. }
  362. });
  363. };
  364.  
  365. // 8.5 隐藏所有非基本菜单项
  366. document.querySelector('#hideAllNonBaseMenuItem').onclick =function(){
  367. wx.hideAllNonBaseMenuItem({
  368. success:function(){
  369. alert('已隐藏所有非基本菜单项');
  370. }
  371. });
  372. };
  373.  
  374. // 8.6 显示所有被隐藏的非基本菜单项
  375. document.querySelector('#showAllNonBaseMenuItem').onclick =function(){
  376. wx.showAllNonBaseMenuItem({
  377. success:function(){
  378. alert('已显示所有非基本菜单项');
  379. }
  380. });
  381. };
  382.  
  383. // 8.7 关闭当前窗口
  384. document.querySelector('#closeWindow').onclick =function(){
  385. wx.closeWindow();
  386. };
  387.  
  388. // 9 微信原生接口
  389. // 9.1.1 扫描二维码并返回结果
  390. document.querySelector('#scanQRCode0').onclick =function(){
  391. wx.scanQRCode({
  392. desc:'scanQRCode desc'
  393. });
  394. };
  395. // 9.1.2 扫描二维码并返回结果
  396. document.querySelector('#scanQRCode1').onclick =function(){
  397. wx.scanQRCode({
  398. needResult:1,
  399. desc:'scanQRCode desc',
  400. success:function(res){
  401. alert(JSON.stringify(res));
  402. }
  403. });
  404. };
  405.  
  406. // 10 微信支付接口
  407. // 10.1 发起一个支付请求
  408. document.querySelector('#chooseWXPay').onclick =function(){
  409. wx.chooseWXPay({
  410. timestamp:1414723227,
  411. nonceStr:'noncestr',
  412. package:'addition=action_id%3dgaby1234%26limit_pay%3d&bank_type=WX&body=innertest&fee_type=1&input_charset=GBK&notify_url=http%3A%2F%2F120.204.206.246%2Fcgi-bin%2Fmmsupport-bin%2Fnotifypay&out_trade_no=1414723227818375338&partner=1900000109&spbill_create_ip=127.0.0.1&total_fee=1&sign=432B647FE95C7BF73BCD177CEECBEF8D',
  413. paySign:'bd5b1933cda6e9548862944836a9b52e8c9a2b69'
  414. });
  415. };
  416.  
  417. // 11.3 跳转微信商品页
  418. document.querySelector('#openProductSpecificView').onclick =function(){
  419. wx.openProductSpecificView({
  420. productId:'pDF3iY0ptap-mIIPYnsM5n8VtCR0'
  421. });
  422. };
  423.  
  424. // 12 微信卡券接口
  425. // 12.1 添加卡券
  426. document.querySelector('#addCard').onclick =function(){
  427. wx.addCard({
  428. cardList:[
  429. {
  430. cardId:'pDF3iY9tv9zCGCj4jTXFOo1DxHdo',
  431. cardExt:'{"code": "", "openid": "", "timestamp": "1418301401", "signature":"64e6a7cc85c6e84b726f2d1cbef1b36e9b0f9750"}'
  432. },
  433. {
  434. cardId:'pDF3iY9tv9zCGCj4jTXFOo1DxHdo',
  435. cardExt:'{"code": "", "openid": "", "timestamp": "1418301401", "signature":"64e6a7cc85c6e84b726f2d1cbef1b36e9b0f9750"}'
  436. }
  437. ],
  438. success:function(res){
  439. alert('已添加卡券:'+ JSON.stringify(res.cardList));
  440. }
  441. });
  442. };
  443.  
  444. // 12.2 选择卡券
  445. document.querySelector('#chooseCard').onclick =function(){
  446. wx.chooseCard({
  447. cardSign:'97e9c5e58aab3bdf6fd6150e599d7e5806e5cb91',
  448. timestamp:1417504553,
  449. nonceStr:'k0hGdSXKZEj3Min5',
  450. success:function(res){
  451. alert('已选择卡券:'+ JSON.stringify(res.cardList));
  452. }
  453. });
  454. };
  455.  
  456. // 12.3 查看卡券
  457. document.querySelector('#openCard').onclick =function(){
  458. alert('您没有该公众号的卡券无法打开卡券。');
  459. wx.openCard({
  460. cardList:[
  461. ]
  462. });
  463. };
  464.  
  465. var shareData ={
  466. title:'方倍工作室 微信JS-SDK DEMO',
  467. desc:'微信JS-SDK,帮助第三方为用户提供更优质的移动web服务',
  468. link:'http://www.cnblogs.com/txw1958/',
  469. imgUrl:'http://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRt8Qia4lv7k3M9J1SKqKCImxJCt7j9rHYicKDI45jRPBxdzdyREWnk0ia0N5TMnMfth7SdxtzMvVgXg/0'
  470. };
  471. wx.onMenuShareAppMessage(shareData);
  472. wx.onMenuShareTimeline(shareData);
  473. });
  474.  
  475. wx.error(function(res){
  476. alert(res.errMsg);
  477. });

你可能感兴趣的:(JavaScript)