微信小程序實現(xiàn)分享到朋友圈功能
截止到2017年11月18號,微信小程序官方還尚未開放直接分享到朋友圈的能力,但是勞動人民的智慧是偉大的,現(xiàn)在普遍的做法是,生成一張帶有小程序碼的圖片,保存到用戶相冊,用戶自行發(fā)布圖片到朋友圈
我的套路:
- 請求后端API生成小程序碼(生成小程序碼需要access token,后端生成比較方便)
- canvas繪制文字和圖片到畫布
- 當用戶點擊分享到朋友圈時,給用戶展示畫布,畫布轉成圖片,并將圖片保存到相冊
onShow: function () {
var that = this;
//1. 請求后端API生成小程序碼
that.getQr();
//2. canvas繪制文字和圖片
const ctx = wx.createCanvasContext('myCanvas');
var imgPath = '../../../image/intro.png'
var bgImgPath = '../../../image/bgImgPath.png';
ctx.drawImage(imgPath, 0, 0, 600, 520);
ctx.setFillStyle('white')
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)
ctx.fillText('我在萌爪幼稚園', 30, 700)
ctx.setFontSize(24)
ctx.fillText('長按掃碼查看詳情', 30, 770)
ctx.draw()
},
// 3. canvas畫布轉成圖片
wx.canvasToTempFilePath({
x: 0,
y: 0,
width: 600,
height: 800,
destWidth: 600,
destHeight:800,
canvasId: 'myCanvas',
success: function(res) {
console.log(res.tempFilePath);
that.setData({
shareImgSrc : res.tempFilePath
})
},
fail:function (res) {
console.log(res)
}
})
//4. 當用戶點擊分享到朋友圈時,將圖片保存到相冊
wx.saveImageToPhotosAlbum({
filePath:that.data.shareImgSrc,
success(res) {
wx.showModal({
title: '存圖成功',
content: '圖片成功保存到相冊了,去發(fā)圈噻~',
showCancel:false,
confirmText:'好噠',
confirmColor:'#72B9C3',
success: function(res) {
if (res.confirm) {
console.log('用戶點擊確定');
}
that.hideShareImg()
}
})
}
})
canvas繪制單位為px,舉個例子,屏幕寬375,繪制375的畫布,保存的圖片就是375px,圖片像素度不夠會糊掉,所以我改進了一下套路:
1.請求后端API生成小程序碼(生成小程序碼需要access token,后端生成比較方便)
2.canvas繪制文字和圖片到畫布
繪制2倍屏幕寬度的canvas畫布,canvas畫布必須是可見狀態(tài)下,才可以被轉成圖片,可是他辣么大辣么丑肯定不能給用戶看見,那就給他定位定個巨大的數(shù)字超出屏幕就好了
3.畫布轉成圖片
4.當用戶點擊分享到朋友圈時,給用戶展示圖片,并將圖片保存到相冊

為大家推薦現(xiàn)在關注度比較高的微信小程序教程一篇:《微信小程序開發(fā)教程》小編為大家精心整理的,希望喜歡。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
深入理解JavaScript系列(13) This? Yes,this!
在這篇文章里,我們將討論跟執(zhí)行上下文直接相關的更多細節(jié)。討論的主題就是this關鍵字。實踐證明,這個主題很難,在不同執(zhí)行上下文中this的確定經(jīng)常會發(fā)生問題2012-01-01
JavaScript實現(xiàn)仿新浪微博大廳和騰訊微博首頁滾動特效源碼
最近看到朋友用JavaScript實現(xiàn)仿新浪微博大廳和未登錄騰訊微博首頁滾動效果,朋友使用jquery實現(xiàn)的,在網(wǎng)上看到有用js制作的也比較好,于是把我的內容整理分享給大家,具體詳解請看本文2015-09-09
選擇指定數(shù)量后checkbox不可選(變灰)javascript代碼
選擇指定數(shù)量后checkbox不可選(變灰)javascript代碼2009-06-06
回車直接實現(xiàn)點擊某按鈕的效果即觸發(fā)單擊事件
這篇文章主要介紹了回車直接實現(xiàn)點擊某按鈕的效果即觸發(fā)單擊事件,需要的朋友可以參考下2014-02-02

