下跪【无网络无法scancode】请问实现个完全脱离网络的扫码有多难!!
发布于 6 年前 作者 jing37 1997 次浏览 来自 问答

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

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

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

请求微信团队:

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

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

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


代码片段复现:

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

退出微信杀掉进程

打开飞行模式

重新打开微信

打开此代码片段的小程序

可以看到页面一片空白

如果把error打印出来:

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

有同样需求,支持一下

快点起来

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

回到顶部