文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

微信小程序分享图片给微信好友(如二维码)

2023-09-02 20:45

关注


目录

前言

一、使用哪种api?

二、对图片的处理需要转化为临时路径

三、Windows端兼容性问题

最近在公司开发一个微信小程序项目,用到的uniapp技术,在分享图片时,查看了uniapp的技术文档,写的还是很粗糙的,说得不太清楚,在我看了一个下午得出了一个结论,uniapp并没有封装可以转发图片到微信好友中的api。


提示:以下是本篇文章正文内容,下面案例可供参考

1. 分享图片功能, 使用的是 wx.showShareImageMenu() 而不是uniapp的uni.share() 。

wx.showShareImageMenu({  //分享给朋友                     path: qrimg.value,                     success: (res) => {                         console.log("分享成功:", res);                     },                     fail: (err) => {                         console.log("分享取消:", err);                     },                 })

2. 分享的图片,如果是后端直接返回路径,需将路径转换为临时路径传入; 如果是前端生成图片,直接通过 wx.createCanvasContext() 画一个, 然后通过 canvasToTempFilePath 转成图片临时路径。

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"                         ) { // 这边微信做过调整,必须要在按钮中触发,因此需要在弹框回调中进行调用 wx.showModal({     title: '提示',     content: '需要您授权保存相册',     showCancel: false,     success: modalSuccess => {         wx.openSetting({             success(settingdata) {                 console.log("settingdata", settingdata)                 if (settingdata.authSetting['scope.writePhotosAlbum']) {                     wx.showModal({                         title: '提示',                         content: '获取权限成功',                         showCancel: false,                     })                 } else {                     wx.showModal({                         title: '提示',                         content: '获取权限失败,将无法保存到相册哦~',                         showCancel: false,                     })                 }             },         })     } }) reject(error)                         }                         reject(error)                   }                 })

3. 用Windows电脑端微信,打开当前小程序,会发现,调用 wx.showShareImageMenu() 无反应( success、fail 方法都没执行),经咨询,showShareImageMenu方法不支持在Windows上使用, 因此需要提前判断是否是Windows系统(通过判断 getSystemInfoSync().platform 是否等于 windows ),如果是Windows系统,要么隐藏入口,要么toast给提示,来避开此问题


来源地址:https://blog.csdn.net/weixin_54079103/article/details/129149328

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯