<div class="cert_item" v-if="env" @click="clickUpload(1)">
<div class="front_card" v-if="!driveRegisterInfo.frontCertUrl">
<img :src="crardImg" alt="" />
<div>上传身份证人像面</div>
</div>
<div v-else>
<div class="cert">
<img :src="driveRegisterInfo.frontCertUrl" alt="" />
</div>
<div class="changeImg">点击替换图片</div>
</div>
</div>
//点击选择相册还是拍照的弹框
<van-action-sheet
class="photoAction"
v-model="photoShow"
:actions="photoActions"
cancel-text="取消"
close-on-click-action
@cancel="onCancelPhoto"
@select="selectPhoto"
/>
data里面
定义
//dsBridge.js 需要引入dsBridge.js
data(){
return {
photoShow: false, //拍照的相册弹框
photoActions: [
{
name: "拍照",
},
{
name: "相册",
},
],
photoType: 0,//1是身份证 2是银行卡 3是驾驶证
}
},
mouted(){
//这里特别要注意 takePictureCallBack 方法是app里面定义的方法
let _this = this
window.takePictureCallBack = function (res) {
_this.takePictureCallBack(res);
};
},
methods:{
takePictureCallBack(res){
//res 里面有base64 type类型就是点击那个图片上传 size是图片的大小
},
clickUpload(type) {
// console.log("res===调取摄像图===", type);
this.photoShow = true;
this.photoType = type;
},
//点击选项时触发
selectPhoto(value, index) {
let photoType = this.photoType;
if (index == 0) {
//拍照
dsBridge.call("openCamera", photoType, (res) => {});
} else if (index == 1) {
//相册
dsBridge.call("openPhotoAlbum", photoType, (res) => {});
}
}
}
,
总算搞清楚app和h5怎么交互