(转)微信公众平台开发 - WeixinJSBridge API (微信内置浏览器私有接口)
来源:http://www.oschina.net/code/snippet_1399261_37142
@{ Layout = "~/Views/Shared/_Layout_WeUI.cshtml"; } <style> a { color: #fff; text-shadow: none; margin: 10px; } </style> <div> <a class="weui-btn weui-btn_primary" id="imagePreview">图片预览</a> <a class="weui-btn weui-btn_primary" id="profile">查看profile</a> <a class="weui-btn weui-btn_primary" href="weixin://profile/gh_412d74fbb474">企业微信小助手</a> <a class="weui-btn weui-btn_primary" id="shareWeibo">分享微博</a> <a class="weui-btn weui-btn_primary" id="shareFB">分享facebook</a> <a class="weui-btn weui-btn_primary" id="addContact">添加联系人</a> <a class="weui-btn weui-btn_primary" id="scanQRCode">扫描二维码</a> <a class="weui-btn weui-btn_primary" id="jumpToBizProfile">跳转到指定公众账号页面</a> <a class="weui-btn weui-btn_primary" id="toggleMenuBtn">隐藏右上角按钮</a> <a class="weui-btn weui-btn_primary" id="toggleToolbar">隐藏底部导航栏</a> <a class="weui-btn weui-btn_primary" id="getNetType">获取网络状态</a> <a class="weui-btn weui-btn_primary" id="closeWindow">关闭</a> <a class="weui-btn weui-btn_primary" id="getBrandWCPayRequest">发起公众号微信支付</a> <a class="weui-btn weui-btn_primary" id="setPageState">设置页面状态</a> <a class="weui-btn weui-btn_primary" id="sendEmail">发邮件</a> <a class="weui-btn weui-btn_primary" id="openSpecificView">微信团队打开webView,跳到指定页面</a> <a class="weui-btn weui-btn_primary" id="getCanIAPPay">getCanIAPPay</a> <a class="weui-btn weui-btn_primary" id="getBrandIAPPayRequest">发起公众号IAP支付</a> <a class="weui-btn weui-btn_primary" id="openUrlByExtBrowser">用safari打开指定链接</a> <a class="weui-btn weui-btn_primary" id="openProductView">跳转微信商品页</a> <a class="weui-btn weui-btn_primary" id="openLocation">查看地理位置</a> <a class="weui-btn weui-btn_primary" id="timelineCheckIn">朋友圈签到</a> <a class="weui-btn weui-btn_primary" id="getBrandWCPayCreateCreditCardRequest">开通微信信用卡</a> <a class="weui-btn weui-btn_primary" id="geoLocation">获取地理位置</a> <a class="weui-btn weui-btn_primary" id="getInstallState">获取某app是否安装</a> <a class="weui-btn weui-btn_primary" id="editAddress">公众号编辑收货地址</a> <a class="weui-btn weui-btn_primary" id="getLatestAddress">公众号获取最近的收货地址</a> <a class="weui-btn weui-btn_primary" id="launch3rdApp">启动第三方APP</a> <a class="weui-btn weui-btn_primary" id="jumpWCMall">跳转微信商品购买界面</a> <a class="weui-btn weui-btn_primary" id="addEmoticon">添加表情</a> <a class="weui-btn weui-btn_primary" id="cancelAddEmoticon">取消下载某表情</a> <a class="weui-btn weui-btn_primary" id="hasEmoticon">查询是否存在某表情</a> </div> <script> function onBridgeReady() { WeixinJSBridge.on('menu:share:appmessage', function (argv) { WeixinJSBridge.invoke('sendAppMessage', { "link": "http://m.exmail.qq.com/", "desc": "desc", "title": "title for WeiXinJsBridge" }, function (res) { WeixinJSBridge.log(res.err_msg); }); }); WeixinJSBridge.on('menu:share:timeline', function (argv) { WeixinJSBridge.invoke("shareTimeline", { "link": "http://m.exmail.qq.com", "img_url": "http://rescdn.qqmail.com/bizmail/zh_CN/htmledition/images/bizmail/v3/logo1ca3fe.png", "img_width": "172", "img_height": "40", "desc": "i am description", "title": "just test from WeixinJsBridge" }, function (e) { alert(e.err_msg); }) }); } if (typeof WeixinJSBridge === "undefined") { if (document.addEventListener) { document.addEventListener("WeixinJSBridgeReady", onBridgeReady, false); } } else { onBridgeReady(); } var menuHidden = !1, toolbarHidden = !1, netType = { "network_type:wifi": "wifi网络", "network_type:edge": "非wifi,包含3G/2G", "network_type:fail": "网络断开连接", "network_type:wwan": "2g或者3g" }; document.addEventListener("WeixinJSBridgeReady", function () { document.getElementById("imagePreview").addEventListener("click", function () { WeixinJSBridge.invoke("imagePreview", { "urls": [ "http://rescdn.qqmail.com/bizmail/zh_CN/htmledition/images/bizmail/v3/logo1ca3fe.png", "http://rescdn.qqmail.com/bizmail/zh_CN/htmledition/images/bizmail/v3/icons_features1ca3fe.png", "http://rescdn.qqmail.com/bizmail/zh_CN/htmledition/images/bizmail/v3/icons_workStyle1ca3fe.png" ], "current": "http://rescdn.qqmail.com/bizmail/zh_CN/htmledition/images/bizmail/v3/icons_features1ca3fe.png" }) }, !1), document.getElementById("profile").addEventListener("click", function () { alert("profile clicked"); WeixinJSBridge.invoke("profile", { "username": "gh_412d74fbb474", "nickname": "企业微信小助手" }) }, !1), document.getElementById("shareWeibo").addEventListener("click", function () { WeixinJSBridge.invoke("shareWeibo", { "type": "link", "link": "http://m.exmail.qq.com" }, function (e) { alert(e.err_msg); }) }, !1), document.getElementById("shareFB").addEventListener("click", function () { WeixinJSBridge.invoke("shareFB", { "link": "http://m.exmail.qq.com" }) }, !1), document.getElementById("scanQRCode").addEventListener("click", function () { WeixinJSBridge.invoke("scanQRCode", { }) }, !1), document.getElementById("addEmoticon").addEventListener("click", function () { WeixinJSBridge.invoke("addEmoticon", { "url": "http://rescdn.qqmail.com/bizmail/zh_CN/htmledition/images/bizmail/v3/icons_features1ca3fe.png", "thumb_url": "http://rescdn.qqmail.com/bizmail/zh_CN/htmledition/images/bizmail/v3/logo1ca3fe.png" }, function (e) { alert(e.err_msg); }) }, !1), document.getElementById("cancelAddEmoticon").addEventListener("click", function () { WeixinJSBridge.invoke("cancelAddEmoticon", { "url": "http://rescdn.qqmail.com/bizmail/zh_CN/htmledition/images/bizmail/v3/icons_features1ca3fe.png" }, function (e) { alert(e.err_msg); }) }, !1), document.getElementById("hasEmoticon").addEventListener("click", function () { WeixinJSBridge.invoke("hasEmoticon", { "url": "http://rescdn.qqmail.com/bizmail/zh_CN/htmledition/images/bizmail/v3/icons_features1ca3fe.png" }, function (e) { alert(e.err_msg); }) }, !1), document.getElementById("addContact").addEventListener("click", function () { WeixinJSBridge.invoke("addContact", { "webtype": "1", "username": "gh_412d74fbb474" }, function (e) { alert(e.err_msg); }) }, !1), document.getElementById("jumpToBizProfile").addEventListener("click", function () { WeixinJSBridge.invoke("jumpToBizProfile", { "tousername": "gh_2248a2ade13e" }, function (e) { alert(e.err_msg); }) }, !1), document.getElementById("toggleMenuBtn").addEventListener("click", function () { menuHidden ? (WeixinJSBridge.call("showOptionMenu"), menuHidden = !1, this.value = "隐藏右上角按钮") : (WeixinJSBridge.call("hideOptionMenu"), menuHidden = !0, this.value = "显示右上角按钮") }, !1), document.getElementById("toggleToolbar").addEventListener("click", function () { toolbarHidden ? (WeixinJSBridge.call("showToolbar"), toolbarHidden = !1, this.value = "隐藏底部导航栏") : (WeixinJSBridge.call("hideToolbar"), toolbarHidden = !0, this.value = "显示底部导航栏") }, !1), document.getElementById("getNetType").addEventListener("click", function () { WeixinJSBridge.invoke("getNetworkType", {}, function (e) { alert(netType[e.err_msg]) }) }, !1), document.getElementById("closeWindow").addEventListener("click", function () { WeixinJSBridge.invoke("closeWindow", {}, function (e) { }) }, !1), document.getElementById("getBrandWCPayRequest").addEventListener("click", function () { WeixinJSBridge.invoke("getBrandWCPayRequest", { "appId": "wxf8b4f85f3a794e77", //公众号名称,由商户传入 "timeStamp": "189026618", //时间戳 这里随意使用了一个值 "nonceStr": "adssdasssd13d", //随机串 "package": "body=xxx&fee_type=1&input_charset=GBK¬ify_url=http&out_trade_no=16642817866003386000&partner=1900000109&return_url=http&spbill_create_ip=127.0.0.1&total_fee=1&sign=273B7EEEE642A8E41F27213D8517E0E4", //扩展字段,由商户传入 "signType": "SHA1", //微信签名⽅方式:sha1 "paySign": "b737015b5b1eabe5db580945a07eac08c7bb55f8" //微信签名 }, function (e) { alert(e.err_msg) }) }, !1), document.getElementById("setPageState").addEventListener("click", function () { WeixinJSBridge.invoke("setPageState", { "state": "1" }) }, !1), document.getElementById("sendEmail").addEventListener("click", function () { WeixinJSBridge.invoke("sendEmail", { "title": "title!", "content": "i am an Email!", //时间戳 这⾥里随意使⽤用了⼀一个值 }, function (e) { //alert(e.err_msg) }) }, !1), document.getElementById("openSpecificView").addEventListener("click", function () { WeixinJSBridge.invoke("openSpecificView", { "specificview": "contacts" }, function (e) { alert(e.err_msg) }) }, !1), document.getElementById("getCanIAPPay").addEventListener("click", function () { WeixinJSBridge.invoke("getCanIAPPay", {}, function (e) { alert(e.err_msg) }) }, !1), document.getElementById("getBrandIAPPayRequest").addEventListener("click", function () { WeixinJSBridge.invoke("getBrandIAPPayRequest", { "appId": "wxf8b4f85f3a794e77", //公众号名称,由商户传入 "timeStamp": "189026618", //时间戳 这里随意使⽤用了一个值 "nonceStr": "adssdasssd13d", //随机串 "package": "bankType=CITIC_CREDIT&bankName=%e4%b8%ad%e4%bf%a1%e9%93%b6%e8%a1%8c&sign=CF8922F49431FFE8A1834D0B32B25CE3", //扩展字段,由商户传入 "signType": "SHA1", //微信签名⽅方式:sha1 "paySign": "1e6f13f78ca0ec43fbb80899087f77568af66987" //微信签名 }, function (e) { alert(e.err_msg) }) }, !1), document.getElementById("openLocation").addEventListener("click", function () { WeixinJSBridge.invoke("openProductView", { "latitude": 23.113, //纬度 "longitude": 113.23, //经度 "name": "TIT创意园", //POI名称 "address": "⼲⼴广州市海珠区新港中路397号", //地址 "scale": 14, //地图缩放级别 "infoUrl": "http://weixin.qq.com/", //查看位置界⾯面底部的超链接 }, function (e) { alert(e.err_msg) }) }, !1), document.getElementById("timelineCheckIn").addEventListener("click", function () { WeixinJSBridge.invoke("timelineCheckIn", { "img_url": "http://mmsns.qpic.cn/mmsns/RLllkTm3DUdV24xbZnKicx9jJWxXI0Bq84zzbtibGuRyk/0", // 分享到朋友圈的缩略图 "img_width": "640", // 图⽚片的⻓长度 "img_height": "640", // 图⽚片⾼高度 "link": "http://news.qq.com/zt2012/cxkyym/index.htm", // 连接地址 "desc": "这个是描述啊啊", // 描述 "title": "朝鲜称中国渔船越界捕捞", // 分享标题 "latitude": 23.113, //纬度 "longitude": 113.23, //经度 "poiId": "dianping_2331037", //商户id "poiName": "TIT创意园", //POI名称 "poiAddress": "⼲⼴广州市海珠区新港中路397号", //地址 "poiScale": 14, //地图缩放级别 "poiInfoUrl": "http://weixin.qq.com/" //查看位置界⾯面底部的超链接 }, function (e) { alert(e.err_msg) }) }, !1), document.getElementById("geoLocation").addEventListener("click", function () { WeixinJSBridge.invoke("geoLocation", { }, function (e) { alert(e.err_msg) }) }, !1), document.getElementById("getBrandWCPayCreateCreditCardRequest").addEventListener("click", function () { WeixinJSBridge.invoke("getBrandWCPayCreateCreditCardRequest", { "appId": "wxf8b4f85f3a794e77", //公众号名称,由商户传入 "timeStamp": "189026618", //时间戳 这里随意使用了一个值 "nonceStr": "adssdasssd13d", //随机串 "package": "bankType=CITIC_CREDIT&bankName=%e4%b8%ad%e4%bf%a1%e9%93%b6%e8%a1%8c&sign= CF8922F49431FFE8A1834D0B32B25CE3", //扩展字段,由商户传入 "signType": "SHA1", //微信签名⽅方式:sha1 "paySign": "1e6f13f78ca0ec43fbb80899087f77568af66987" //微信签名 }, function (e) { alert(e.err_msg) }) }, !1), document.getElementById("getInstallState").addEventListener("click", function () { WeixinJSBridge.invoke("getInstallState", { "packageUrl": "teamcircle://" }, function (e) { alert(e.err_msg) }) }, !1), document.getElementById("openProductView").addEventListener("click", function () { WeixinJSBridge.invoke("openProductView", { "productInfo": "json" }, function (e) { alert(e.err_msg) }) }, !1), document.getElementById("getLatestAddress").addEventListener("click", function () { WeixinJSBridge.invoke("getLatestAddress", { "appId": "wxf8b4f85f3a794e77", //公众号名称,由商户传入 "timeStamp": "189026618", //时间戳 这里随意使用了一个值 "nonceStr": "adssdasssd13d", //随机串 "signType": "SHA1", //微信签名⽅方式:sha1 "addrSign": "b737015b5b1eabe5db580945a07eac08c7bb55f8", //微信签名 "scope": "snsapi" }, function (e) { alert(e.err_msg) }) }, !1), document.getElementById("editAddress").addEventListener("click", function () { WeixinJSBridge.invoke("editAddress", { "appId": "wxf8b4f85f3a794e77", //公众号名称,由商户传入 "timeStamp": "189026618", //时间戳 这里随意使用了一个值 "nonceStr": "adssdasssd13d", //随机串 "signType": "SHA1", //微信签名⽅方式:sha1 "addrSign": "b737015b5b1eabe5db580945a07eac08c7bb55f8", //微信签名 "scope": "snsapi" }, function (e) { alert(e.err_msg) }) }, !1), document.getElementById("launch3rdApp").addEventListener("click", function () { WeixinJSBridge.invoke("launch3rdApp", { "appId": "wx5823bf96d3bd56c7", //公众号名称,由商户传入 }, function (e) { alert(e.err_msg) }) }, !1), document.getElementById("jumpWCMall").addEventListener("click", function () { WeixinJSBridge.invoke("jumpWCMall", { "appId": "wx5823bf96d3bd56c7", //公众号名称,由商户传入 "funcId": "1000" }, function (e) { alert(e.err_msg) }) }, !1), document.getElementById("openUrlByExtBrowser").addEventListener("click", function () { WeixinJSBridge.invoke("openUrlByExtBrowser", { "url": "http://m.exmail.qq.com" }, function (e) { alert(e.err_msg) }) }, !1) }); </script>