You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
4.1 KiB

7 years ago
  1. <?php
  2. require_once(resource_path('org/wxJsSdk/jssdk.php'));
  3. $jssdk = new \JSSDK(sysconfig('CMS_WX_APPID'), sysconfig('CMS_WX_APPSECRET'));
  4. $signPackage = $jssdk->GetSignPackage();
  5. ?>
  6. <script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
  7. <script type="text/javascript">
  8. /*
  9. * 注意:
  10. * 1. 所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
  11. * 2. 如果发现在 Android 不能分享自定义内容,请到官网下载最新的包覆盖安装,Android 自定义分享接口需升级至 6.0.2.58 版本及以上。
  12. * 3. 常见问题及完整 JS-SDK 文档地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
  13. *
  14. * 开发中遇到问题详见文档“附录5-常见错误及解决办法”解决,如仍未能解决可通过以下渠道反馈:
  15. * 邮箱地址:weixin-open@qq.com
  16. * 邮件主题:【微信JS-SDK反馈】具体问题
  17. * 邮件内容说明:用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片,微信团队会尽快处理你的反馈。
  18. */
  19. wx.config({
  20. debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  21. appId: '<?php echo $signPackage["appId"];?>', // 必填,公众号的唯一标识
  22. timestamp: '<?php echo $signPackage["timestamp"];?>', // 必填,生成签名的时间戳
  23. nonceStr: '<?php echo $signPackage["nonceStr"];?>', // 必填,生成签名的随机串
  24. signature: '<?php echo $signPackage["signature"];?>', // 必填,签名
  25. jsApiList: [
  26. // 所有要调用的 API 都要加到这个列表中
  27. 'onMenuShareTimeline','onMenuShareAppMessage'
  28. ]
  29. });
  30. //获取网页描述
  31. var meta = document.getElementsByTagName('meta');
  32. var share_desc = '';
  33. for(i in meta)
  34. {
  35. if(typeof meta[i].name!="undefined"&&meta[i].name.toLowerCase()=="description")
  36. {
  37. share_desc = meta[i].content;
  38. }
  39. }
  40. wx.ready(function () {
  41. // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
  42. // 在这里调用 API
  43. var title=document.title;
  44. var desc=share_desc;
  45. var url='{$shareurl}'; //分享链接
  46. var img='{$shareimg}'; //分享图标
  47. var subscribe='{$subscribe}'; //分享描述
  48. // 分享给朋友
  49. wx.onMenuShareAppMessage({
  50. title: title, // 分享标题
  51. desc: desc, // 分享描述
  52. link: url, // 分享链接
  53. imgUrl: img, // 分享图标
  54. type: '', // 分享类型,music、video或link,不填默认为link
  55. dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
  56. success: function () {
  57. // 用户确认分享后执行的回调函数
  58. _share_success();
  59. },
  60. cancel: function () {
  61. // 用户取消分享后执行的回调函数
  62. _share_error();
  63. }
  64. });
  65. // 分享到朋友圈
  66. wx.onMenuShareTimeline({
  67. title: title, // 分享标题
  68. link: url, // 分享链接
  69. imgUrl: img, // 分享图标
  70. success: function () {
  71. // 用户确认分享后执行的回调函数
  72. _share_success();
  73. },
  74. cancel: function () {
  75. // 用户取消分享后执行的回调函数
  76. _share_error();
  77. }
  78. });
  79. wx.error(function(res){
  80. console.log(res);
  81. });
  82. //分享成功
  83. function _share_success()
  84. {
  85. alert('分享成功');
  86. }
  87. //分享失败
  88. function _share_error()
  89. {
  90. alert('分享失败');
  91. }
  92. });
  93. </script>