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.

99 lines
4.1 KiB

7 years ago
7 years ago
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='<?php echo sysconfig('CMS_WXSHAER_DESC'); ?>'; //分享描述
  45. var url='<?php echo sysconfig('CMS_WXSHAER_LINK'); ?>'; //分享链接
  46. var img='<?php echo sysconfig('CMS_WXSHAER_IMGURL'); ?>'; //分享图标
  47. // 分享给朋友
  48. wx.onMenuShareAppMessage({
  49. title: title, // 分享标题
  50. desc: desc, // 分享描述
  51. link: url, // 分享链接
  52. imgUrl: img, // 分享图标
  53. type: '', // 分享类型,music、video或link,不填默认为link
  54. dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
  55. success: function () {
  56. // 用户确认分享后执行的回调函数
  57. _share_success();
  58. },
  59. cancel: function () {
  60. // 用户取消分享后执行的回调函数
  61. _share_error();
  62. }
  63. });
  64. // 分享到朋友圈
  65. wx.onMenuShareTimeline({
  66. title: title, // 分享标题
  67. link: url, // 分享链接
  68. imgUrl: img, // 分享图标
  69. success: function () {
  70. // 用户确认分享后执行的回调函数
  71. _share_success();
  72. },
  73. cancel: function () {
  74. // 用户取消分享后执行的回调函数
  75. _share_error();
  76. }
  77. });
  78. wx.error(function(res){
  79. console.log(res);
  80. });
  81. //分享成功
  82. function _share_success()
  83. {
  84. alert('分享成功');
  85. }
  86. //分享失败
  87. function _share_error()
  88. {
  89. alert('分享失败');
  90. }
  91. });
  92. </script>