如图所示,点击调用后
代码如下:
...mapActions([
'shellGetImageAndUpload',
]),
// 调用shell/xx 微信、企业微信等选择图片、上传、识别拿到数据,如果是从PC端打开则加载本地文件。
getPaperInvoice(callback) {
if (['wechat', 'wx'].includes(this.queryString.shell)) {
this.shellGetImageAndUpload().then((data) => {
this.handerOcrResult(data, callback);
});
} else {
this.$refs.imageReader.$el.querySelector('input').click();
}
},
// 获取图片并上传
shellGetImageAndUpload({ state, dispatch }) {
const { shell } = state.queryString;
return new Promise((resolve) => {
dispatch(`${shell}/chooseImage`).then((data) => {
resolve(data);
});
});
},
chooseImage(context, callback) {
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
defaultCameraMode: 'normal', // 表示进入拍照界面的默认模式,目前有normal与batch两种选择,normal表示普通单拍模式,batch表示连拍模式,不传该参数则为normal模式。(注:用户进入拍照界面仍然可自由切换两种模式)
isSaveToAlbum: 1, // 整型值,0表示拍照时不保存到系统相册,1表示自动保存,默认值是1
success(res) {
const localIds = res.localIds; // 返回选定照片的本地ID列表,
// andriod中localId可以作为img标签的src属性显示图片;
// iOS应当使用 getLocalImgData 获取图片base64数据,从而用于img标签的显示(在img标签内使用 wx.chooseImage 的 localid 显示可能会不成功)
callback(localIds);
},
});
},
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…