销售端图片上传功能调研结果

调研结论

选用方案 使用钉钉提供接口

现有问题 1.部分机型图片上传不正确 2.上传照片带水印

存在隐患 1.钉钉曾出现接口连接失效的情况

详细说明:

需求:

销售上传图片时只允许通过相机实时拍照,关闭相册入口;在拍照同时获取销售所在地点,将坐标同时传给后端记录下来,在MIS后台将照片和坐标同时进行展示。

目的:

从一定程度上防止销售作弊情况的出现(比如销售提前拍好照片,在家就可以上传而不需要到现场;坐标主要是为了客服查看时与超市原位置进行对比)

使用场景:

1.用户到达超市后再打开页面,进行拍照;

2.用户提前打开了页面,到达超市后直接进行拍照;

实现方案:

销售端线上方案为使用H5原生功能,可以直接调取移动设备摄像头和照片图库,无法满足新需求;钉钉提供了只允许使用摄像头拍照上传的接口,可以屏蔽掉相册入口,但是存在上传照片有问题和隐患的不足之处。

现有问题:

1.安卓部分机型拍摄位置颠倒,横向拍摄出现拉伸、裁剪 测试过程中发现了LG机型钉钉在调用硬件摄像头时会导致上下左右颠倒问题,用户旋转后同样存在该问题(但该机型使用前置摄像头没有影响),使用钉钉自带的签到功能同样出现了该问题,证明这是钉钉API自带问题,无法通过技术手段进行解决;测试过程中部分机型出现横向拍照无法旋转、横向拍照后横向上传与竖向上传图片上传结果不同,横向拍照后竖向上传图片出现拉伸、压缩或裁剪的情况,(之前版本直接调用设备摄像头时无此现象),测试涵盖了小米、三星、魅族、一加、LG、苹果部分机型。

2.无法获取地理位置 存在由于网络,用户所在位置,手机电量,GPS模块、钉钉版本等问题导致的获取不到用户坐标的可能,无法完全避免;

3.上传照片有水印 钉钉调用摄像头时会自带水印(分两部分:左上角的时间<现设置为空>、竖线和钉钉标志;右下角的地理位置水印<现用作时间展示>),这两处水印无法去除同时无法修改样式;如果不添加水印,安卓大部分手机无法正常使用摄像头功能。

隐患:

(1)钉钉接口无法联通,功能失效 说明:之前在使用钉钉定位时曾出现由于服务器DNS问题导致无法和钉钉接口联通的情况,后来没有复现过 隐患:一旦服务器与钉钉接口无法连通,就会导致功能全部失效,无法使用。

(2)图片上传至阿里云,同时照片无法删除 说明:使用流程为摄像头拍照上传阿里云服务器,后端由阿里云抓取后存储到公司服务器 隐患:1》照片直接上传到阿里云,后端从阿里云抓取图片,依赖阿里云存储;2》阿里云上存储的照片暂未发现提供删除功能;

(3)地理位置上传可能存在偏差 说明:现在的用户地址获取逻辑为:进入页面时就获取一次用户坐标,当调用摄像头时再进行一次获取 隐患:当用户使用场景为提前打开页面等到超市直接进行拍照时可能会出现:到达超市后因超市位置等其他原因没有获取到新的地址信息,这时就可能会导致上传的位置是打开页面时候的地址,即位置有偏差。