收藏
回答

下跪【无网络无法scancode】请问实现个完全脱离网络的扫码有多难!!

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug camera 客户端 6.6.7 2.1.0

我们从去年开始使用小程序做户外赛事SaaS,其中很重要一环就是通过扫条形码方式打卡。


起初使用wx.scanCode直接调用微信的扫一扫实现,就发现在无信号环境/飞行模式下就不让用了。当时觉得无法理解,凭什么识别一个条码还需要网络!?反馈这个问题,希望无网络下也能用,官方回复:“建议不错,会在后续改进”,整整一年并没有实现;有意思的是如果当时提供一个根本无法使用的假热点,只要有这个wifi链接即使无法访问互联网,这个扫一扫就又可以使用了,我今天也想问问微信的产品经理,这种自欺欺人的设计是为了什么?


前不久喜闻camera组件支持识别条形码,通过测试也的确可以再无网络下识别条码,非常开心。做成产品上线之后,觉得终于不需要和客户说在山沟沟里没信号如何做假热点了。呵呵,结果发现是自己想多了。客户赛事结束后反馈压根出不了摄像头画面! 我们经过反复测试,终于发现原因:在一个小程序周期里,第一次启动摄像头时,需要获取用户是否已对摄像头授权,而这个操作居然是需要连接网络的!!!!这请问究竟是哪门子逻辑???你们做了一个无需网络扫码的camera组件,但组件本身居然是依赖网络通畅才能获取授权使用!把授权文件本地加密下保存很难吗?当时我们测试的时候就发现第一次启动camera组件会有一定时间的延迟,但没想到还有这样的依赖!


请求微信团队:


  1. wx.scanCode取消有信号才能扫描的限制!

  2. 小程序的授权数据本地持久化!或者在无法接触网络的时候进行单次session的授权可以吗!


求求各位了,真的,代表全公司给大家跪下了!




----

代码片段复现:

真机打开后,第一次授权使用camera

退出微信杀掉进程

打开飞行模式

重新打开微信

打开此代码片段的小程序

可以看到页面一片空白


如果把error打印出来:

detail :{ errMsg:"insertCamera:fail userAuth response is nil"}



最后一次编辑于  2018-07-21
回答关注问题邀请回答
收藏

2 个回答

  • nic zhao
    nic zhao
    04-12

    有同样需求,支持一下

    04-12
    赞同
    回复
  • Xheldon🗽
    Xheldon🗽
    2018-11-27

    快点起来

    不给做就是不给做, 下跪也没用


    2018-11-27
    赞同
    回复