18910140161

微信小程序实现分享到朋友圈功能

顺晟科技

2021-06-16 10:52:31

243

截至2017年11月18日,微信小程序官方还没有开通直接与朋友圈分享的能力,但是劳动人民的智慧是伟大的。现在常见的做法是用一个小程序代码生成一个图片并保存。对于用户相册,用户自己将图片发布到朋友圈

我的套路:

请求后端API生成小程序代码(生成小程序代码需要访问令牌,方便后端生成)

画布将文本和图片绘制到画布上

当用户点击分享到朋友圈时,画布显示给用户,画布变成图片,图片保存到相册中

onShow:函数(){

that=this

//1.请求后端应用编程接口生成小程序代码

that . GetQR();

//2.画布绘制文本和图片

const CTX=wx . createcanvascontext(' MyCanvas ');

var imgPath='./././image/intro.png '

var bgImgPath='./././image/bgimgpath . png ';

ctx.drawImage(imgPath,0,0,600,520);

ctx.setFillStyle('白色')

ctx.fillRect(0,520,600,280);

ctx.drawImage(imgPath,30,550,60,60);

ctx.drawImage(bgImgPath,30,550,60,60);

ctx.drawImage(imgPath,410,610,160,160);

ctx.setFontSize(28)

ctx.setFillStyle('#6F6F6F ')

Ctx.fillText('姚耀灵',110,590)

ctx.setFontSize(30)

ctx.setFillStyle('#111111 ')

Ctx.fillText('宠物,快来看可爱宠物的美照',30,660)

(我在赵萌幼儿园,30,700)

ctx.setFontSize(24)

Ctx.fillText('长按扫描码查看详情',30,770)

ctx.draw()

},

//3.画布画布被转换成图片

wx . canvastotemfilepath({

x: 0,

y: 0,

宽度: 600,

高度: 800,

destWidth: 600,

destHeight:800,

canvasId: '我画布',

成功:功能(res) {

console . log(RES . TempFilePath);

that.setData({

shareImgSrc : RES . tempfile path

})

},

fail:function (res) {

console.log(res)

}

})

//4.当用户点击分享到朋友圈时,将图片保存到相册

wx.saveImageToPhotosAlbum({

file path : that . data . shareimgsrc,

成功(res) {

wx.showModal({

标题: '成功保存图纸',

内容: '图片已成功保存到相册,发圈已移除~ ',

showCancel:false,

确认文本: '确定',

确认颜色:'#72B9C3 ',

成功:功能(res) {

if (res.confirm) {

Console.log('用户单击确定');

}

that.hideShareImg()

}

})

}

})

画布是用px画的。比如屏幕宽度是375,画的是375的画布。保存的图片是375px。如果图片像素不够,就会烧坏,所以我改进了套路:

1.请求后端API生成小程序代码(生成小程序代码需要访问令牌,方便后端生成)

2 .画布将文本和图片绘制到画布上

画一个屏幕宽度为2倍的画布。画布必须是可见的,才能变成图片。但是,如果他又热又丑,一定不能被用户看到。然后在屏幕之外给他设置一个巨大的数字就好了。

3.画布变成了一幅画

4.当用户点击分享到朋友圈时,将图片展示给用户,并将图片保存到相册

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航