目錄
前言
一、使用哪種api?
二、對圖片的處理需要轉(zhuǎn)化為臨時路徑
三、Windows端兼容性問題
前言
最近在公司開發(fā)一個微信小程序項目,用到的uniapp技術(shù),在分享圖片時,查看了uniapp的技術(shù)文檔,寫的還是很粗糙的,說得不太清楚,在我看了一個下午得出了一個結(jié)論,uniapp并沒有封裝可以轉(zhuǎn)發(fā)圖片到微信好友中的api。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、使用哪種api?
1. 分享圖片功能, 使用的是 wx.showShareImageMenu() 而不是uniapp的uni.share() 。
wx.showShareImageMenu({ //分享給朋友
path: qrimg.value,
success: (res) => {
console.log("分享成功:", res);
},
fail: (err) => {
console.log("分享取消:", err);
},
})
二、對圖片的處理需要轉(zhuǎn)化為臨時路徑
2. 分享的圖片,如果是后端直接返回路徑,需將路徑轉(zhuǎn)換為臨時路徑傳入; 如果是前端生成圖片,直接通過 wx.createCanvasContext() 畫一個, 然后通過 canvasToTempFilePath 轉(zhuǎn)成圖片臨時路徑。文章來源:http://www.zghlxwxcb.cn/news/detail-510536.html
uni.canvasToTempFilePath({
destWidth: 100,
destHeight: 100,
canvasId: 'qrcode',
success: function(res) {
// 在H5平臺下,tempFilePath 為 base64
// qrimg.value=res.tempFilePath
resolve(res.tempFilePath)
},
fail: function(error) {
wx.showToast({
title: "保存圖片失敗",
duration: 2000
})
if (error.errMsg === "saveImageToPhotosAlbum:fail:auth denied" ||
error.errMsg === "saveImageToPhotosAlbum:fail auth deny" ||
error.errMsg === "saveImageToPhotosAlbum:fail authorize no response"
) {
// 這邊微信做過調(diào)整,必須要在按鈕中觸發(fā),因此需要在彈框回調(diào)中進行調(diào)用
wx.showModal({
title: '提示',
content: '需要您授權(quán)保存相冊',
showCancel: false,
success: modalSuccess => {
wx.openSetting({
success(settingdata) {
console.log("settingdata", settingdata)
if (settingdata.authSetting['scope.writePhotosAlbum']) {
wx.showModal({
title: '提示',
content: '獲取權(quán)限成功',
showCancel: false,
})
} else {
wx.showModal({
title: '提示',
content: '獲取權(quán)限失敗,將無法保存到相冊哦~',
showCancel: false,
})
}
},
})
}
})
reject(error)
}
reject(error)
}
})
三、Windows端兼容性問題
3. 用Windows電腦端微信,打開當前小程序,會發(fā)現(xiàn),調(diào)用 wx.showShareImageMenu() 無反應(yīng)( success、fail 方法都沒執(zhí)行),經(jīng)咨詢,showShareImageMenu方法不支持在Windows上使用, 因此需要提前判斷是否是Windows系統(tǒng)(通過判斷 getSystemInfoSync().platform 是否等于 windows ),如果是Windows系統(tǒng),要么隱藏入口,要么toast給提示,來避開此問題文章來源地址http://www.zghlxwxcb.cn/news/detail-510536.html
到了這里,關(guān)于微信小程序分享圖片給微信好友(如二維碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!