需求:将身份证正反面拍照无需识别,并显示在页面中。
功能实现:
需要用到组件camera显示相片,其所包含的参数有
属性名 | 类型 | 默认值 | 说明 | 最低版本 |
---|---|---|---|---|
mode | String | normal | 有效值为 normal, scanCode | 2.1.0 |
device-position | String | back | 前置或后置,值为front, back | |
flash | String | auto | 闪光灯,值为auto, on, off | |
bindstop | EventHandle | 摄像头在非正常终止时触发,如退出后台等情况 | ||
binderror | EventHandle | 用户不允许使用摄像头时触发 | ||
bindscancode | EventHandle | 在扫码识别成功时触发,仅在 mode="scanCode" 时生效 | 2.1.0支持一维码,2.4.0支持二维码 |
不必要全部写上,写需要的属性即可。
1 布局完成--wxml+wxss
2 点击拍照进行拍摄--js
先创建相机对象:var ctx=wx.createCameraContext();再在此对象的基础上进行操作:ctx.takePhoto({}),属性有
属性 | 类型 | 默认值 | 是否必填 | 说明 | 值 |
---|---|---|---|---|---|
quality | string | normal | 否 | 成像质量 | high、normal、low |
success | function | 否 | 接口调用成功的回调函数 | res.tempImagePath(图片的临时路径) | |
fail | function | 否 | 接口调用失败的回调函数 | ||
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
使用camera组件时需注意有scope受限,需要用户授权,再通过wx.getSetting({success:function(res){//res.authSetting 用户授权结果}})来获取用户授权的结果,之后再进行对应的操作。
弹出让用户授权的信息,使用wx.authorize({scope: "scope.userInfo"})
;若无法弹出授权窗口,请使用<button open-type='getUserInfo'/>。
【我觉得应该写在点击拍照的方法里...有待考证......】
3 显示图片到img中
【要传给后台需要在表单提交】
有不足之处欢迎指正,共同学习。
(⌒▽⌒)