映月读书网 > 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践 > 19.4.3 摇一摇关注 >

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>