微信摇一摇网页开发
程序员文章站
2022-05-29 21:14:35
...
1,微信摇一摇要买设备
2,微信摇一摇要配置(我买的是安装微智Beacon,根据商家给的文档配置的)
3,需要绑定页面(没有的会自动创建一个测试页面)
我也总结了以上几点
大功能:
1,判断用户是否关注公众号js代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>开发者调用关注JS的example</title>
</head>
<body>
<h1>test</h1>
<script type="text/javascript"src="http://zb.weixin.qq.com/nearbycgi/addcontact/BeaconAddContactJsBridge.js">
</script>
<script type="text/javascript">
BeaconAddContactJsBridge.ready(function(){
//判断是否关注
BeaconAddContactJsBridge.invoke('checkAddContactStatus',{ type:0} ,function(apiResult){
if(apiResult.err_code == 0){
var status = apiResult.data;
if(status == 1){
alert('已关注');
}else{
alert('未关注');
//跳转到关注页
BeaconAddContactJsBridge.invoke('jumpAddContact',{ type:0});
}
}else{
alert(apiResult.err_msg)
}
});
});
</script>
</body>
</html>
2,获取用户信息(以下是php代码):
public function shakephone(){
$appid="";
$appkey="";
$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appkey;
$data=file_get_contents($url);
$datajson=json_decode($data,true);
$access_token=$datajson['access_token'];
$url2="https://api.weixin.qq.com/shakearound/user/getshakeinfo?access_token=".$access_token;
$arr=array('ticket'=>$_GET['ticket'],'need_poi'=>1);
$data2=$this->post($url2,json_encode($arr));
echo json_encode($data2);die;
$this->display();
}
获取到是这样的:
{"data":{"beacon_info":{"distance":0.066620060281974,"major":10181,"measure_power":-59,"minor":32828,"rssi":-45,"uuid":"FDA50693-A4E2-4FB1-AFCF-C6EB07647825"},"brand_userame":"gh_7f4e7978573d","openid":"o9I6Pv9esZ3qrREd0cSyqajxxfQ4","page_id":6572668},"errcode":0,"errmsg":"success."}
官方文档是(文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1443447963):
参数说明
参数 | 说明 |
---|---|
beacon_info | 设备信息,包括UUID、major、minor,以及距离 |
UUID、major、minor | UUID、major、minor |
distance | Beacon信号与手机的距离,单位为米 |
page_id | 摇周边页面唯一ID |
openid | 商户AppID下用户的唯一标识 |
poi_id | 门店ID,有的话则返回,反之不会在JSON格式内 |
挺有用的,从一头雾水终于差不多懂了点了