苹果,大部分安卓都可以,目前就VIVO手机一调用此API就闪退,
1、首先排除不是canvas宽高过大
2、排除手机微信版本问题和基础库版本问题
3、排除canvas不存在问题
从这开始贴码吧
ctx.draw(false, function () {
console.log("第8步获取canvas图片")
setTimeout(function(){
wx.canvasToTempFilePath({
canvasId: 'firstCanvas',
success: (resss) => {
console.log("第9步生成图片成功")
console.log(resss)
// 出现提示上传中的提示
wx.hideLoading();
wx.showLoading({
title: '上传中',
})
// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
qiniuUploader.upload(resss.tempFilePath, res => {
//console.log(res)
_this.setData({
//注意这中间有个"/"在
tempFilePaths: _this.data.qiniuInfo.uploadUrl + "/" + res.key
})
// 图片上传成功后加载提示消失
wx.hideLoading();
_this.setData({ imgurl: _this.data.tempFilePaths })
// 放入数组,循环出缩略图
let arr = _this.data.imgArr;
arr.push(_this.data.tempFilePaths)
_this.setData({ imgArr: arr });
}, (error) => {
console.log('error' + JSON.stringify(error))
}, {
region: 'ECN', //ECN, SCN, NCN, NA, ASG
//这里是你所在大区的地址
uploadURL: _this.data.qiniuInfo.uploadUrl,
domain: _this.data.qiniuInfo.doman,
//后端生成的文件key
key: _this.data.qiniuInfo.uniqueKey,
//这里的uptoken是后端返回来的
uptoken: _this.data.qiniuInfo.token,
})
},
fail: (e) => {
console.log(e);
wx.showToast({
title: e.errMsg,
duration:2000,
icon:"none"
})
}
})
}, 500)
})
再排查下是不是内存不足导致的闪退https://developers.weixin.qq.com/miniprogram/dev/api/device/performance/wx.onMemoryWarning.html,如果排除了内存紧张问题,麻烦提供出现问题的具体机型,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
vivo y75a也存在同样问题
如果上面提到的问题都排查了,麻烦单独发帖反馈下,提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
vivo手机很有问题,,,现在vivo的wx.getLocation位置授权弹框也弹不出来
个人对比过vivo、小米、魅族的照片文件属性,发现vivo手机拍出来的照片尺寸非常大,推测是canvas处理大尺寸图片时内存溢出闪退。现在我都放弃用canvas做水印了,直接把照片传给后台,在后台里加。
你好,闪退的问题现在解决了么?麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点
求官方和大佬帮忙看看