记企业微信中做打卡考勤功能的坑

  此次打卡考勤项目是从之前的app中迁移出来的,由于之前在app中是调用原生的方法来获定位地址和获取usercode的,因此此次迁移需要将这两个功能点重新做,用h5来实现。

  这里调用了企业微信的api,首先通过以url中的state和code作为参数来获取企业微信的签名(signature)和用户信息(usercode),具体可看企业微信api中的获取方法https://work.weixin.qq.com/api/doc/#90000/90136/90514。

  第二步,就需要通过后台给的签名(signature),时间戳(timeStamp),随机串(nonceStr),还有appId来通过config接口注入权限验证配置

  第三步,通过api中的getLocation方法获取当前定位的经纬度(注意:此时获取的经纬度是默认是wgs84的地球坐标,而gcj02是火星坐标),这是我踩得最狠的一个坑!大家做定位的时候都出现过定位不准确,有偏移量的问题吧,原因就是h5这边一般获取的是地球坐标,但地图解析的是火星坐标(因为涉及国家安全的原因),所以这里要注意:想要得到准确的定位有两个方法:1、用火星坐标转换地址。2、通过坐标转换把地球坐标转换成火星坐标。

这个图是我地址转换的方法

第一次写博客,技术也不是很好,请大家多多指教。

 

猜你喜欢

转载自www.cnblogs.com/likaiwebblogs/p/10340962.html