wechat.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /**
  2. * 微信网页端调用JS
  3. * @author dodge
  4. * @contact dodgepudding@gmail.com
  5. * @link http://blog.4wer.com/wechat-timeline-share
  6. * @version 1.1
  7. *
  8. * 自定义分享使用:
  9. * WeixinJS.hideOptionMenu() 隐藏右上角按钮
  10. * WeixinJS.hideToolbar() 隐藏工具栏
  11. * 自定义分享内容数据格式:
  12. * var dataForWeixin={
  13. appId:"",
  14. MsgImg:"消息图片路径",
  15. TLImg:"时间线图路径",
  16. url:"分享url路径",
  17. title:"标题",
  18. desc:"描述",
  19. fakeid:"",
  20. callback:function(){}
  21. };
  22. */
  23. WeixinJS = typeof WeixinJS!='undefined' || {};
  24. WeixinJS.hideOptionMenu = function() {
  25. document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
  26. if (typeof WeixinJSBridge!='undefined') WeixinJSBridge.call('hideOptionMenu');
  27. });
  28. };
  29. WeixinJS.hideToolbar = function() {
  30. document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
  31. if (typeof WeixinJSBridge!='undefined') WeixinJSBridge.call('hideToolbar');
  32. });
  33. };
  34. (function(){
  35. var onBridgeReady=function(){
  36. WeixinJSBridge.on('menu:share:appmessage', function(argv){
  37. WeixinJSBridge.invoke('sendAppMessage',{
  38. "appid":dataForWeixin.appId,
  39. "img_url":dataForWeixin.MsgImg,
  40. "img_width":"120",
  41. "img_height":"120",
  42. "link":dataForWeixin.url,
  43. "desc":dataForWeixin.desc,
  44. "title":dataForWeixin.title
  45. }, function(res){(dataForWeixin.callback)();});
  46. });
  47. WeixinJSBridge.on('menu:share:timeline', function(argv){
  48. (dataForWeixin.callback)();
  49. WeixinJSBridge.invoke('shareTimeline',{
  50. "img_url":dataForWeixin.TLImg,
  51. "img_width":"120",
  52. "img_height":"120",
  53. "link":dataForWeixin.url,
  54. "desc":dataForWeixin.desc,
  55. "title":dataForWeixin.title
  56. }, function(res){});
  57. });
  58. WeixinJSBridge.on('menu:share:weibo', function(argv){
  59. WeixinJSBridge.invoke('shareWeibo',{
  60. "content":dataForWeixin.title,
  61. "url":dataForWeixin.url
  62. }, function(res){(dataForWeixin.callback)();});
  63. });
  64. WeixinJSBridge.on('menu:share:facebook', function(argv){
  65. (dataForWeixin.callback)();
  66. WeixinJSBridge.invoke('shareFB',{
  67. "img_url":dataForWeixin.TLImg,
  68. "img_width":"120",
  69. "img_height":"120",
  70. "link":dataForWeixin.url,
  71. "desc":dataForWeixin.desc,
  72. "title":dataForWeixin.title
  73. }, function(res){(dataForWeixin.callback)();});
  74. });
  75. };
  76. if(document.addEventListener){
  77. document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
  78. }else if(document.attachEvent){
  79. document.attachEvent('WeixinJSBridgeReady' , onBridgeReady);
  80. document.attachEvent('onWeixinJSBridgeReady' , onBridgeReady);
  81. }
  82. })();