开发者社区 问答 正文

钉钉扫码可以限制不能从相册选择吗?

钉钉扫码可以限制不能从相册选择吗?

展开
收起
三分钟热度的鱼 2023-07-26 14:45:09 529 分享 版权
2 条回答
写回答
取消 提交回答
  • 在钉钉的扫码功能中,默认情况下是允许用户从相册选择二维码图片进行扫描的。但你可以通过一些方法来限制用户只能使用相机扫描,而不能从相册选择。

    首先,你可以在调用扫码接口时设置sourceType参数为['camera'],这样将只启动相机扫描功能。示例如下:

    dd.scan({
      sourceType: ['camera'], // 只启动相机扫描
      onSuccess: function(result) {
        // 扫码成功后的处理逻辑
        console.log('扫码结果:', result);
      },
      onFail: function(err) {
        // 扫码失败后的处理逻辑
        console.log('扫码失败', err);
      }
    });
    

    另外,如果你希望完全禁止用户从相册选择图片进行扫描,目前钉钉的扫码接口并没有提供直接的配置选项。在这种情况下,你需要自行处理扫描界面的UI,禁用相册选择按钮或屏蔽相关事件。这涉及到对扫码界面的自定义开发,需要使用HTML、CSS和JavaScript等前端技术来实现。

    2023-07-26 19:51:02
    赞同 展开评论
  • 北京阿里云ACE会长

    是的,钉钉提供了分享限制,可以限制用户不能从相册选择图片。

    具体操作如下:

    在钉钉开发者后台,进入你的应用->高级权限,找到分享限制。

    勾选「分享限制」权限,并提交。

    在分享限制的面包屑中,找到「扫码限制配置」。

    将配置项「从摄像头扫码」设为必选。

    如下图:

    审核通过后,重新获取AccessToken。

    使用重新获取的Access Token,然后开发者就可以在前端代码中调用以下接口,实现限制不能从相册选择图片:

    js
    Copy
    window.dingtalk.device.scan({
    scanType: ["cameraScan"], //只允许从相机扫码
    })
    只设置 scanType 为 cameraScan ,然后就可以限制不能从相册选择图片,只能使用相机扫码。

    以上方法就可以实现你的需求:扫码时限制不能从相册选择,只能通过相机扫描。

    2023-07-26 19:32:09
    赞同 展开评论