微信小程序之分享朋友圈

2019-01-31  本文已影响0人  tigerlx

有朋自远方来,不亦悦乎

近日接到大佬任务,要在小程序中新加分享朋友圈功能,可是微信小程序官方是禁止分享朋友圈的,并且程序中有分享朋友圈相关文字都过不了审。

既然没有直接的api,那咱们就迂回一下,目前通用的小程序分享朋友圈功能,都是生成一张带有小程序二维码的图片保存到相册,提示用户使用改图片发朋友圈

所以问题来了,如何保存一张带有小程序二维码的图片保存到相册呢

// wxml
  <button bindtap="getAuthSetting" open-type="{{openType}}"]>保存截图</button>

// js
  getAuthSetting() {
        let that = this
        wx.getSetting({
            success(res) {
                // 有则直接保存
                if (res.authSetting['scope.writePhotosAlbum']) {
                    that.saveImage()
                } else {
                    // 如果没有则获取授权
                    wx.authorize({
                        scope: 'scope.writePhotosAlbum',
                        success() {
                            that.saveImage()
                        },
                        fail() {
                            // 如果用户拒绝过或没有授权,则再次打开授权窗口
                            // (ps:微信api又改了现在只能通过button才能打开授权设置,以前通过openSet就可打开)
                            that.setData({
                                openType: 'openSetting'
                            })
                        }
                    })
                }
            }
        })
    },
// 导出echart图
let child = this.selectComponent('#mychart-dom-bar')

wx.canvasToTempFilePath({
    x: 0,
    y: 0,
    width: 345,
    height: 800,
    destWidth: 690, // 像素宽度,一般是canvas宽的2或4倍,保存出来的图片才不会模糊
    destHeight: 1600, // 像素高度,一般是canvas高的2或4倍,保存出来的图片才不会模糊
    canvasId: 'mychart',
    success: function (res) {
        let tempFilePath = res.tempFilePath
        wx.saveImageToPhotosAlbum({
            filePath: tempFilePath,
            success() {
                wx.showToast({
                    title: '保存成功'
                })
            },
            fail() {
                wx.showToast({
                    title: '保存失败',
                    icon: 'none'
                })
            }
        })
        wx.hideToast()
    },
    fail: function (err) {
        console.log(err)
    }
}, child)

OK,大功告成
奉上微信小程序api一份,供君参考
https://developers.weixin.qq.com/miniprogram/dev/api/

愿君奔跑千里,归来依旧少年


上一篇下一篇

猜你喜欢

热点阅读