微信企业号开发:微信考勤详解手机开发

    使用微信考勤,有很多企业号应用都有,但如何实现呢?

  核心有有两个,1其实就是获取用户位置,其实这个可以使用百度地图的API,当然其他的也可以,微信自己的地图实在是太差了,没有考虑。当然地理位置有偏差,如果需要进一步处理,我还没有找到合适的办法。当然了这些也只是表明曾经在某一个位置,并不表明一直都在,就好像打了卡,并不代表一直都在公司上班,也可能打卡后,就逛街去了。

  2在获得了用户的位置信息后,在服务端如何知道到底是哪个员工的考勤呢?


1其实就是获取用户位置

  使用百度地图的API很简单,参考

 需要注意的是一定要把百度地图的API的脚本放在 lbs-geo标签之下,否则就会有脚本错误。

例如:Cannot read property ‘addEventListener’ of null

核心代码:

<div class="am-form-group"> 
      <label for="doc-ta-1">所在位置 </label>    
      <p> 
      <lbs-geo id="geo" city="北京" enable-modified="false"></lbs-geo> 
      <input type="hidden" id="address" class="am-form-field am-round" name="address"/> 
       <input type="hidden" id="lng" class="am-form-field am-round" name="lng"/> 
        <input type="hidden" id="lat" class="am-form-field am-round" name="lat"/> 
      </p> 
    </div> 
        
<script> 
    // 先获取元素 
    var lbsGeo = document.getElementById('geo'); 
    //监听定位失败事件 geofail	 
    lbsGeo.addEventListener("geofail", function (evt) { 
        alert("fail"); 
    }); 
    //监听定位成功事件 geosuccess 
    lbsGeo.addEventListener("geosuccess", function (evt) { 
        var address = evt.detail.address; 
        var coords = evt.detail.coords; 
        var x = coords.lng; 
        var y = coords.lat; 
        // alert("地址:" + address); 
        //  alert("地理坐标:" + x + ',' + y); 
        $("#address").val(address); 
        $("#lng").val(x); 
        $("#lat").val(y); 
    }); 
</script>

2获取用户信息,其实就是把微信的用户相关信息和系统中的相关信息关联起来。

 这个可以参考微信企业号开发:微信用户信息和web网页的session的关系


实现效果

微信企业号开发:微信考勤详解手机开发

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/5301.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论