微信接口备忘

来源:互联网 发布:java新手工资一般多少 编辑:程序博客网 时间:2024/06/04 08:04

1. share 分享

如果不借助JavaScript的话:

  • 标题取自HTML代码中的title标签
  • 图片取自页面中得第一张“大”图
  • 页面内容简介为空

这显然可控性不是很好:

  • 空的页面内容简介不好看
  • 比如页面本身不包含图片,但分享时希望包含一个图片以增加美观
  • 比如希望页面的URL是某一个入口页面

目前综合查询总结下来,下面的代码经验证可以工作。使用的是被称为“Weixin JS接口”的东东。

var lineLink    = 'http://../....';    // 要分享的页面的URLvar imgUrl      = 'http://.../...';    // 显示在微信里的缩略图var shareTitle  = '页面标题';          // 页面标题var descContent = "页面内容简介";      // 内容简介var appid       = '';                  // APP ID, 可以为空function wx_shareFriend() {    WeixinJSBridge.invoke('sendAppMessage',{       "appid": appid,       "img_url": imgUrl,       "img_width": "640",       "img_height": "640",       "link": lineLink,       "desc": descContent,       "title": shareTitle       }, function(res) {         //alert(res.err_msg);       })  }  function wx_shareTimeline() {    WeixinJSBridge.invoke('shareTimeline',{      "img_url": imgUrl,      "img_width": "640",      "img_height": "640",      "link": lineLink,      "desc": descContent,      "title": shareTitle      }, function(res) {         //alert(res.err_msg);      });  }  function wx_shareWeibo() {    WeixinJSBridge.invoke('shareWeibo',{      "content": descContent,      "url": lineLink,      }, function(res) {        //alert(res.err_msg);      });  }  function onBridgeReady(){  WeixinJSBridge.on('menu:share:appmessage', wx_shareFriend);   // 发送给朋友  WeixinJSBridge.on('menu:share:timeline',   wx_shareTimeline); // 分享到朋友圈  WeixinJSBridge.on('menu:share:weibo',      wx_shareWeibo);    // 分享到微博}if (typeof WeixinJSBridge == "undefined"){  if( document.addEventListener ){      document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);  }else if (document.attachEvent){      document.attachEvent('WeixinJSBridgeReady', onBridgeReady);       document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);  }}else{  onBridgeReady();}

Weixin JS接口使用拾遗

“Weixin JS接口”没有完整的公开文档(至少自己还没有通过公开渠道找到),只能零散记录整理如下。

注册监听回调函数

function onBridgeReady(){  WeixinJSBridge.on('menu:share:appmessage', wx_shareFriend);    WeixinJSBridge.on('menu:share:timeline',   wx_shareTimeline);    WeixinJSBridge.on('menu:share:weibo',      wx_shareWeibo);}if (typeof WeixinJSBridge == "undefined"){  if( document.addEventListener ){      document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);  }else if (document.attachEvent){      document.attachEvent('WeixinJSBridgeReady', onBridgeReady);       document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);  }}else{  onBridgeReady();}

隐藏网页右上角按钮

WeixinJSBridge.call('hideOptionMenu');

隐藏网页底部导航栏

WeixinJSBridge.call('hideToolbar');

关闭当前网页窗口

WeixinJSBridge.invoke('closeWindow',{},function(res){  // alert(res.err_msg);});

获取当前网络链接类型

WeixinJSBridge.invoke('getNetworkType',{},function(e){  // WeixinJSBridge.log(e.err_msg);});

0 0
原创粉丝点击