<!-- 二维码html -->
<div class="wrapper-img" id="qr"></div>
//保存二维码(二维码生成使用qr.js,会生成img标签 src为base64)
saveCode(){
let _this = this;
let imgData;
let qrImg = document.getElementById('qr').getElementsByTagName('img');
if(qrImg){
imgData = qrImg[0].src
}
let filename = "qrcode_" + (new Date()).getTime() + '.png';
if(!window.plus) return
let bitmap = new plus.nativeObj.Bitmap();
bitmap.loadBase64Data(imgData);
bitmap.save("_doc/"+filename, {
check:true, // 设置为检测白屏
overwrite: true,
quality:100,
},function(i){
//保存到系统相册
plus.gallery.save(i.target,function(d){
//销毁Bitmap图片
bitmap.clear();
_this.$toast.message('成功保存到系统相册');
}, function(e){
//销毁Bitmap图片
bitmap.clear();
alert('保存到系统相册失败,请尝试重新保存或截图保存');
});
},function(){alert('保存失败,请尝试重新保存或截图保存');});
},
//调用手机自带分享页面
sharePicture() {
let _this = this;
if(!window.plus) return
let ws = plus.webview.currentWebview();
let bitmap = new plus.nativeObj.Bitmap();
// 将webview内容绘制到Bitmap对象中
ws.draw(bitmap, function() {
bitmap.save("_doc/share.png", {
check: true, // 设置为检测白屏
overwrite: true,
quality: 100,
}, function(i) {
//分享
let path = i.target
//取图片名称(在ios下图片名称根据分辨率不同可能为share@2x.png,share@3x.png)
let index = path.lastIndexOf('/')
let imgName = path.substring(index+1,path.length)
//console.log(path)
//console.log(index)
//console.log(imgName)
var msg = {
type: 'image',
pictures: ['_doc/'+imgName],//这里的pictures是要分享的图片,直接取绝对路径会分享失败,这里取相对路径
};
plus.share.sendWithSystem(msg, function(success) {
bitmap.clear();
console.log("调起分享!");
}, function(error) {
//mui.toast("转发失败"+JSON.stringify(error));
console.log(JSON.stringify(error))
});
}, function(e) {
//销毁Bitmap图片
bitmap.clear();
alert('保存失败,请尝试重新保存或截图保存');
});
}, function(e) {
console.log('截屏绘制图片失败:' + JSON.stringify(e));
});
},