首页 » 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践 » 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践全文在线阅读

《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》19.4.3 摇一摇关注

关灯直达底部

微信摇一摇关注开发流程的实现如下。

1)添加摇一摇关注库文件。


<script type="text/javascript" src='http:// zb.weixin.qq.com/nearbycgi/addcontact/BeaconAddContactJsBridge.js'></script>  

2)判断是否已关注。

通过JS接口checkAddContactStatus来进行判断。

该接口参数说明:传入{type:0}表示关注设备归属的公众账号,传入{type:1}表示关注门店归属的公众账号。传入{}默认为传入{type:0}。

回调函数为function(apiResult){},参数说明如下。

·apiResult.err_code:错误码,0代表正常返回,其他代表发生错误。

·apiResult.err_msg:错误详情,ok代表正常返回,其他代表具体的错误信息。

·apiResult.data:是否已关注,1代表已经关注,0代表未关注。

摇一摇判断关注的代码如下。


BeaconAddContactJsBridge.invoke('checkAddContactStatus',{type:0},    function(apiResult){        if(apiResult.err_code == 0){            var status = apiResult.data;            if(status == 1){                alert('已关注');            }else{                alert('未关注'); }        }else{            alert(apiResult.err_msg)        }    });  

3)跳转到关注页。

跳转到关注页使用接口jumpAddContact。

该接口参数说明:传入{type:0}表示关注设备归属的公众账号,传入{type:1}表示关注门店归属的公众账号。若不传,则默认传入{type:0}。

跳转到关注页的代码如下。


BeaconAddContactJsBridge.invoke('jumpAddContact');  

摇一摇关注的完整代码如下:


<!DOCTYPE html><html lang="en">    <head>        <meta charset="UTF-8">        <title>摇一摇关注JS API</title>    </head>    <body>        <script type="text/javascript" src="https:// zb.weixin.qq.com/nearbycgi/addcontact/         BeaconAddContactJsBridge.js"></script>        <script type="text/javascript">            BeaconAddContactJsBridge.ready(function{                // 判断是否已关注                BeaconAddContactJsBridge.invoke('checkAddContactStatus',{} ,function                (apiResult){                    if(apiResult.err_code == 0){                        var status = apiResult.data;                        if(status == 1){                            alert('已关注');                        }else{                            alert('未关注');                            // 跳转到关注页                            BeaconAddContactJsBridge.invoke('jumpAddContact');                        }                    }else{                    alert(apiResult.err_msg)                }            });        });    </script></body></html>