如何用微信小程序 蓝牙进行蓝牙打卡考勤?

1462人阅读
基于微信考勤前提需要将用户的微信号跟员工的工号绑定。
考勤功能基于微信公共平台的高级接口,有两种方式实现考勤。
A、基于生成带参数二维码接口:
思路:创建临时二维码,设置有效期一分钟。员工用微信扫描后,通过公共平台将扫描的时间写入考勤系统;
1、创建临时ticket
static public function getTmpTicket($expire_seconds,$scene_id){
$access_token = WXUtil::getAccessToken();
$url = &https://api./cgi-bin/qrcode/create?access_token=& . $access_token;
$arr = array (
'action_name' =& 'QR_SCENE',
'expire_seconds'=&$expire_seconds,
'action_info' =& array (
'scene' =& array (
'scene_id' =& $scene_id,
$json = WXUtil::cPost($arr, $url);
$arr = json_decode($json,true);
if($arr['errcode']){
file_put_contents('log', $arr['errcode'].$arr['errmsg']);
return false;
return $arr['ticket'];
2、得到临时二维码
static public function getTmpCode($expire_seconds,$scene_id){
if($ticket = self::getTmpTicket($expire_seconds,$scene_id)){
$url = &https://mp./cgi-bin/showqrcode?ticket=&.$ticket;
header(&location:&.$url);
echo 'fail';
3、用户通过网络得到二维码,用手机扫描,从而考勤。
4、注意:要限制用户在特定地点才能得到二维码。
B、基于获取用户地理位置接口和百度地度接口
思路:用户打开公共号,微信会自动上传用户地理位置的经纬度,后台再用户的位置跟公司的位置对比,差距在有效范围内,则打卡成功。
1、开启获取用户地理位置接口
2、后台接收用户的位置信息
$postObj = simplexml_load_string ( $postStr, 'SimpleXMLElement', LIBXML_NOCDATA );
$Event = $postObj-&E
if ($Event == 'LOCATION'){
$Location_X = $postObj-&L
$Location_Y = $postObj-&L
$Label = $postObj-&P
$p1 = array($Location_Y,$Location_X);
//取得公司的经纬度:$p2 = array();
3、计算员工位置与公司位置的距离
static public function getDistance($p1, $p2,$iphone = false) {
$code_type = $iphone?'wgs84':'bd09ll';
$p1 = implode ( $p1, ',' );
$p2 = implode ( $p2, ',' );
$p1 = trim ( $p1, ',' );
$p2 = trim ( $p2, ',' );
$url = &http://api./telematics/v3/distance?ak=E79adeedb7db92b0f0602b&;
$url .= &&waypoints=& . $p1 . &;& . $p2;
$url .= &&output=json&;
$url .= &&coord_type=&.$code_type;
$res = file_get_contents ( $url );
$arr = json_decode ( $res,true );
return $arr ['results'][0];
4、如果两点距离小于1公里,则打卡成功
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:323354次
积分:3875
积分:3875
排名:第7804名
原创:42篇
转载:214篇
评论:12条
(1)(5)(5)(1)(7)(1)(2)(7)(7)(2)(4)(3)(4)(2)(4)(5)(3)(6)(2)(1)(5)(18)(17)(20)(7)(9)(4)(14)(13)(7)(15)(4)(9)(30)(13)

我要回帖

更多关于 微信考勤打卡软件 的文章

 

随机推荐