小程序请教生成二维码和扫一扫的问题
发布于 5 年前 作者 weizhao 18426 次浏览 来自 问答
  1. 生成二维码后,点图片预览,黑屏,但是可以长按保存。求解决手机预览时黑屏问题


    //获取临时缓存照片路径,存入data中

    canvasToTempImage: function () {

    var that = this;

    wx.canvasToTempFilePath({

    canvasId: 'qrcanvas',

    success: function (res) {

    var tempFilePath = encodeURI(res.tempFilePath);

    console.log("temp, " + tempFilePath);

    that.setData({

    imagePath: tempFilePath,

    });

    },

    fail: function (res) {

    console.log(res);

    }

    });

    },

    //点击图片进行预览,长按保存分享图片

    previewImg: function (e) {

    var img = this.data.imagePath;

    console.log("preview, " + img);

    wx.previewImage({

    current: encodeURI(img), // 当前显示图片的http链接

    urls: [encodeURI(img)] // 需要预览的图片http链接列表

    })

    },

  2. 扫一扫选择本地相册,选择二维码图片,黑屏,无法识别,电脑端调试时可以选择图片识别出来。求解决手机扫描打开相册无法识别问题


    scanCode: function(e) {

    var that = this;

    // 允许从相机和相册扫码

    wx.scanCode({

    onlyFromCamera: false,

    success: function(res) {

    var code_result = res.result;

    console.log(code_result);

    wx.showModal({

    title: '二维码内容',

    content: code_result,

    icon: 'success',

    mask: false,

    showCancel: false,

    success: function(s) {

    if (s.confirm)

    {

    }

    }

    });

    }

    });

10 回复

encodeURI没用吧,去了或者是加上都一样。。。。

encodeURI后decode

好失望。。。网上的生成二维码小程序例子和我的情况一样,生成二维码图片后点击预览显示黑屏,能保存图片,扫一扫图片也显示黑屏无法识别出二维码。。。真的好失望啊,这到底怎么用,难道要把图片传到服务器生成个http地址才能预览?真机调试显示保存的临时文件是wxfile://tmp_xxxxx,为什么不能预览呢

扫一扫黑屏截个图看下

楼主最后怎么解决的啊

在开发者工具上确实encodeURI后会生成http的图片链接,但是在真机上没有效果不会变

楼主后面怎么解决啊

用downloadFile试试

预览生成的二维码:

扫一扫选择相册里面的图片:

回到顶部