weixinjsbridge php,微信浏览器内置WeixinJSBridge API

本文详细介绍了微信开发者如何利用WeixinJSBridge进行内容分享,包括微信好友、朋友圈和腾讯微博,同时探讨了接口调用权限、隐藏工具栏技巧和用户操作反馈。重点讲解了如何处理access_denied问题及利用微信原生功能优化用户体验。
摘要由CSDN通过智能技术生成

//加载完后执行,只在微信浏览内执行

document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {

// 分享给微信好友 (点击右上角发送给朋友时执行)

var wxData = {

"appId": "wx69d816f8fbc1066c", // 服务号可以填写appId

"imgUrl" : 'http://www.scscms.com/weixin/images/1.jpg',

"link" : 'http://www.scscms.com',

"desc" : '分享内容描述',

"title" : "分享标题"

};

WeixinJSBridge.on('menu:share:appmessage', function (argv) {

WeixinJSBridge.invoke('sendAppMessage', {

"appid":wxData.appId,

"img_url":wxData.imgUrl,

"link":wxData.link,

"desc":wxData.desc,

"title":wxData.title,

"img_width":"120",

"img_height":"120"

}, function (resp) {

alert(resp.err_msg);

// send_app_msg:cancel 用户取消

// send_app_msg:fail 发送失败

// send_app_msg:confirm 发送成功

});

});

});

点击后弹出分享界面,同时可输入评论。接收到分别是两条信息,评论先显示,然后显示分享的组合。如果你的域名在白名单中还可以直接执行sendAppMessage分享,否则提示access_denied错误。如下:

//分享给朋友

function sendAppMessage(title,desc,link,imgUrl){

WeixinJSBridge.invoke('sendAppMessage',{

"appid":'',//必须是正常的appid或者留空

"img_url":imgUrl,

"link":link,

"desc": desc,

"title":title

});

}

以下是分享到朋友圈代码:

//分享到朋友圈

function weixinShareTimeline(title,desc,link,imgUrl){

WeixinJSBridge.invoke('shareTimeline',{

"img_url":imgUrl,

"link":link,

"desc": desc,

"title":title

});

}

//点右上角菜单分享时

document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {

WeixinJSBridge.on('menu:share:timeline', function (argv) {

if(argv.err_msg != 'send_app_msg:cancel' && argv.err_msg != 'share_timeline:cancel') {

//分享完毕回调

}

weixinShareTimeline(title,desc,link,imgUrl);

});

});

分享到腾讯微博代码:

function shareWeibo(content, url) {

WeixinJSBridge.invoke('shareWeibo', {

"content":content, //评论

"url":url //标题与概要图片在此自动获取

}, function (res) {

alert(res.err_msg);

//share_weibo:ok 分享成功

//share_weibo:cancel 用户取消

//share_weibo:fail 分享失败

});

}

//点击右上角菜单分享时共用数据

document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {

WeixinJSBridge.on('menu:share:weibo', function (argv) {

if(argv.err_msg != 'send_app_msg:cancel' && argv.err_msg != 'share_timeline:cancel') {

//分享完毕回调

}

shareWeibo(content, url);

})

});

而针对微信浏览器右上角按钮及底部工具栏是可以隐藏或者显示的。

WeixinJSBridge.call('showOptionMenu');//显示网页右上角的按钮

WeixinJSBridge.call('hideOptionMenu');//隐藏网页右上角的按钮

WeixinJSBridge.call('showToolbar');//显示底部工具栏

WeixinJSBridge.call('hideToolbar');//隐藏底部工具栏

还有在链接URL后面配置上#wechat_webview_type=1用微信打开就会自动隐藏底部工具栏。解决部分人希望进去就没有底部工具栏要求。

同时透露一个没公开的API,关闭微信浏览器返回微信聊天界面:

WeixinJSBridge.call('closeWindow');

获取用户的网络连接类型:

WeixinJSBridge.invoke('getNetworkType', {}, function (e) {

alert(e.err_msg);

/*network_type:wifi     wifi网络

* network_type:edge     非wifi,包含3G/2G

* network_type:fail     网络断开连接

* network_type:wwan     2g或者3g

*/

});

获取不同的链接传不同的数据是非常有利的。比如在edge链接下就别给我整大图片出来。如果是wifi模式下你才可整个大大的漂亮的图片出来,还可以调用微信的看图片API哦:

//微信原生看图

var pic_list=['http://www.scscms.com/weixin/images/1.jpg','http://www.scscms.com/weixin/images/2.jpg'];//图片列表

WeixinJSBridge.invoke('imagePreview', {

'current' : pic_list[0],

'urls' : pic_list

});

微信中回复文本链接地址会自动识别为链接地址而形成可点击的链接,在开发模式下或网页快速回复发送文本或者文本可正常显示链接,但如果没加引号将不正常显示,还有在web微信里都不能正常显示html。

Android平台下则可以通过的方式打开资料页,以便快速关注;WinPhone下,则是通过的方式打开。或者用下面代码来关注指定帐号:

//关注指定的微信号

function weixinAddContact(name){

WeixinJSBridge.invoke("addContact", {webtype: "1",username: name}, function(e) {

WeixinJSBridge.log(e.err_msg);

//e.err_msg:add_contact:added 已经添加

//e.err_msg:add_contact:cancel 取消添加

//e.err_msg:add_contact:ok 添加成功

//e.err_msg:system:access_denied 拒绝访问

if(e.err_msg == 'add_contact:added' || e.err_msg == 'add_contact:ok'){

//关注成功,或者已经关注过

}

})

}

问题是这些接口可不平民随便可以调用的,反正我常常得到的结果就是system:access_denied

b755c961d266cde7cd7af1e40a0d8535.gif

关键词: 腾讯微信,微信开发,WeixinJSBridge   编辑时间: 2014-11-07 17:29:18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值