讀古今文學網 > 微信公眾平台開發:從零基礎到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>