您现在的位置: 365建站网 > 建站教程 > 微信公众平台开发 > 19.7.1 会议签到及室内定位

19.7.1 会议签到及室内定位

此节有 130 人学习过     参与评论

基于摇一摇事件通知功能,开发会议签到及室内定位功能非常的容易。摇一摇事件通知可以做为签到的依据,而事件中的Distance参数可以得到用户离设备的距离,也就可以对用户进行一个大致的定位。
首先需要配置一个自定义链接的签到页面及一个摇一摇设备用于本功能,自定义链接里面可以填写会议详情页面。配置好后如图19-26所示。

图19-26设备绑定页面
然后在开发者接口中,接收摇一摇事件通知,并解析事件的XML数据包。相应代码如下所示。

 1 //接收事件消息
 2 private function receiveEvent($object)
 3 {
 4     $content = "";
 5     switch ($object->Event)
 6     {
 7         case "subscribe":
 8             $content = "欢迎关注方倍工作室";
 9             break;
10         case "ShakearoundUserShake":
11             $content = "摇一摇\nUuid:".$object->ChosenBeacon->Uuid.
12             "\nMajor:".$object->ChosenBeacon->Major.
13             "\nMinor:".$object->ChosenBeacon->Minor.
14             "\nDistance:".$object->ChosenBeacon->Distance.
15             "\nRssi:".$object->ChosenBeacon->Rssi.
16             "\nMeasurePower:".$object->ChosenBeacon->MeasurePower.
17             "\nChosenPageId:".$object->ChosenBeacon->ChosenPageId
18             ;
19             require_once('weixin.class.PHP');
20             $weixin = new class_weixin();
21             $openid = strval($object->FromUserName);
22             $data[] = array("title"=>"签到成功", "description"=>"欢迎参加集团公司2017年年会。\r\n会议时间:12月31日 19:00-22:00\r\n会议地点:XX路123号XX大酒店5楼\r\n联系电话:0755-1234567\r\n签到地点:主席台 ".round($object->ChosenBeacon->Distance ,1)." 米范围内", "picurl"=>"http://discuz.comli.com/weixin/weather/icon/cartoon.jpg", "url" =>"");
23             $result2 = $weixin->send_custom_message($openid, "news", $data);
24             break;
25         default:
26             $content = "receive a new event: ".$object->Event;
27             break;
28     }
29 
30     if(is_array($content)){
31         $result = $this->transmitNews($object, $content);
32     }else{
33         $result = $this->transmitText($object, $content);
34     }
35     return $result;
36 }

上述代码解读如下:
第10行:接收到摇一摇事件通知。
第11~18行:解析出摇一摇事件XML数据的参数。
第19~21行:引入微信类文件,创建新对象,解析出openid。
第22行:构造签到成功的图文消息,同时计算出用户离设备的距离并放入图文消息的描述字段中。
第23行:使用客服接口发送图文消息。
最终,用户摇到的周边签到页卡及收到的图文消息如图19-27所示:

图19-27会议签到及室内定位
另外,本案例没有将用户记录写入数据库,在实际中,这样的需求一般是需要保存入库,以便统计人数的。读者可以自己完成该部分。

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

您可能感兴趣的文章:


发表评论 (130人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------
微信公众平台开发目录