公众号开发拍照兼容性问题(部分小米,vivo,oppo拍照选择确定会跳转到首页)
发布于 4 年前 作者 yaomin 12099 次浏览 来自 问答

你想反馈一个 Bug 还是 提一个需求?

如果是 Bug:

使用的是weixin-js-sdk 1.2.0版本

用到的api是wx.chooseImage、

wx.uploadImage

使用的vue.js+webpack开发,

部分重点代码:

wxInt(){
// alert(this.mainUrl)
 this.$http.get('/tpm/weixin/querySignService',{url:this.mainUrl}, res => { //微信接口
     // alert('appId'+res.appId+'timestamp'+res.timestamp+'nonceStr'+res.nonceStr+'signature'+res.signature)
     wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
       appId: res.appId, // 必填,公众号的唯一标识
       timestamp: res.timestamp, // 必填,生成签名的时间戳
       nonceStr: res.nonceStr, // 必填,生成签名的随机串
       signature: res.signature,// 必填,签名,见附录1
       jsApiList: ['chooseImage','previewImage','uploadImage','downloadImage'] // 必填,需要使用的JS接口列表
     });
      // wx.error(function(res){
         // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开configdebug模式查看,
         // 也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
     // });
 });
},
uploadImgOne(){
let vm = this
 wx.chooseImage({
count: 1,
   sizeType: ['compressed'],
   sourceType: ['camera'],
   success: function (res) {
if(window.__wxjs_is_wkwebview){
var localData = res.localIds
vm.images.localId = localData;
       vm.editUser.idimgurl_front=localData
}else{
vm.images.localId=res.localIds;
       vm.editUser.idimgurl_front=res.localIds
}
// vm.oneBoxIcon=true;
     //vm.btnDisable=false;
     vm.uploadImgSuOne()
}
});

},

uploadImgSuOne() {
let i = 0
 let length = this.images.localId.length;
 let vm =this;
 this.images.serverId = [];
 wx.uploadImage({
localId: vm.images.localId[i],
   success: function (res) {
i++;
     vm.images.serverId.push(res.serverId);
     if(vm.images.serverId == "" || vm.images.serverId == null){
vm.$dialog.toast({
mes: 'images.serverId null',
         timeout: 1500,
         icon: 'error'
       });
       return false;
     }
let parmse = {};
     parmse.media_ids = encodeURI(encodeURI(vm.images.serverId));
     vm.$http.get('/tpm/weixin/downloandWeiXinImage',parmse, res => { //微信接口
       vm.editUser.idimgurl_front=res.data
if(window.__wxjs_is_wkwebview) {
vm.$dialog.toast({
mes: '图片上传成功',
           timeout: 1500,
           icon: 'success'
         });
         vm.editUser.idimgurl_front=res.data
}
})
},
   fail: function (res) {
alert(JSON.stringify(res));
   }
});
},


* Bug 表现是什么?预期表现是什么?

部分小米,vivo,oppo拍照完选择确定后会跳转到首页或者退出微信界面,其他手机正常拍照

有的手机清除缓存之后能解决

* 如何复现?

OPPO A53 系统版本 A53M_11_A.05_160706

红米4A  系统版本6.0.1

* 提供一个最简复现 Demo

如果是需求:

* 你希望有什么能力?

* 你需要这个能力的场景是 ?

3 回复

你解决了吗?

我也碰到类似问题, Android 小米4X,5plus, 拍照后被强制刷新页面

我也是这个情况,坑爹的一批。

回到顶部