开发者社区> 问答> 正文

钉钉静态二维码怎么限制场外的人打卡?(就是通过拍照分享给别人)想实现某个具体位置的签到功能(如果用

钉钉静态二维码怎么限制场外的人打卡?(就是通过拍照分享给别人)想实现某个具体位置的签到功能(如果用定位的话范围太广,而且存在跨楼层打卡的情况)就类似于做一个扫码的时候禁止从相册选择图片。

展开
收起
三分钟热度的鱼 2023-07-26 14:47:01 386 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    为达到这个目的,可以使用钉钉的 geofence 功能,配合静态二维码实现。

    具体做法是:

    指定一个指定地点的经纬度,作为 geofence 的中心点

    设置一个合理的半径范围,作为允许扫码签到的地理围界

    将这个静态二维码码在需要签到的地点进行展示

    当用户扫码签到时,会调用 geofence 接口检查用户是否在允许范围内

    如果不在允许范围内,则拒绝该次签到

    实现代码大概如下:

    js
    Copy
    // 1. 设置 geofence 信息
    let point = {
    latitude: XX, // 指定地点的纬度
    longitude: XX, // 挂定地点的经度
    radius: XX // 允许范围的半径
    }

    // 2. 当用户扫码时,调用 geofence 接口检查
    device.geofence.check({
    point: point,
    success: function(res) {
    // 如果在范围内,则允许签到
    }
    })
    通过这种方式,只有当场的人才能在 geofence 设定的范围内,从而成功扫码签到。

    2023-07-26 19:24:07
    赞同 展开评论 打赏
  • 要限制场外的人通过拍照分享给别人进行打卡,可以采取以下措施:

    1. 使用动态二维码:与静态二维码相比,动态二维码每隔一段时间会更新,有效期较短。这样,即使被分享给他人,也只能在有效期内使用。您可以使用钉钉开放平台提供的动态二维码生成接口生成动态二维码,并设置适当的有效期。

    2. 校验二维码扫描结果:在打卡过程中,对于从二维码扫描得到的结果进行校验。可以将二维码内容与预先设定的签到位置信息进行比对,以确保用户只能在指定位置进行打卡。

    3. 结合其他验证方式:除了二维码扫描,可以结合其他验证方式增加安全性,例如通过人脸识别、身份验证等方式进一步确认用户身份和位置。

    4. 限制相册选择图片:为了防止用户选择相册中的二维码图片进行打卡,可以在扫码过程中禁止用户从相册选择图片。这可以通过相机权限设置或扫码页面的设计来实现。

    2023-07-26 19:16:41
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载