这个问题,2年又11个月了
严重吐槽wx.chooseImage()不多说了,槽点! 1. 应用场景:通过camera拍摄compressed照片,上传,发现showLoading被不正常关闭 在上传前,按照规范展示一个wx.showLoading()。没问题吧?嘿,开发工具好好的,真机秒隐藏,压根代码没调用wx.hideLoading()啊! 后来debug半天,发现chooseImage之后会自动带一个toast,标题为:‘正在处理’ ; 估计处理完,在微信内部异步自动调用了hideLoading(),把程序需要的showLoading也关闭了!这完全破解不了!大家都知道chooseImage里自带hideLoading/hideToast吗??后面的网络传输的loading展示就压根没办法了,难道又要setTimeout强行延时?! 2. 应用场景:大量通过camera拍摄识别身份证件;所有camera拍摄照片全部存在了系统相册 wx.chooseImage() 最霸道的一点,就是无论小程序是否取得了用户的相册授权,还是微信是否开启了‘拍摄/编辑后的内容保存到系统相册'的授权,只要success,什么都不管,一定一定往相册里存图!这简直就是让人竖中指。既然要尊重用户选择,为何还有这样的默认逻辑?既然已经有了保存到相册的API,已经有了授权体系,就应该chooseImage从camera的时候,需要保存到相册的动作由小程序来实现,而不是拍脑袋帮我们都做了,现在的结果是:在企业应用场景里,一个手机检录证件,上千张照片进入系统相册,而且都是身份证!现在只能通过系统级别设置微信无法写入相册才行。 一个API,最起码的是有清晰的功能界定,可以让开发者在组织业务逻辑中可以尽可能灵活,正确地实现想要的功能和效果,而这两个吐槽的细节点,的确在很多应用下根本无所谓,但第一文档里并没有对这些逻辑进行完整描述,并且和整个微信开放的基本理念相悖。(更关键是目前情况下两个点都让我们无解!)真心期待早日能够对这个神奇的接口做必要的改造!
2020-09-17