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

这篇具有很好参考价值的文章主要介绍了微信小程序分享图片给微信好友(如二维码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


目录

前言

一、使用哪种api?

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

三、Windows端兼容性问题

前言

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


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

一、使用哪种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)
                   }
                 })

三、Windows端兼容性问题

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


到了这里,关于微信小程序分享图片给微信好友(如二维码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app分享小程序卡片给微信好友

    最近有这样一个需求,使用APP将一个小程序的页面分享给微信好友,起初一脸问号,APP分享小程序的页面,两个不相干的东西怎么关联分享?于是乎抱着实现不了的心态在网上看帖子,最后终于在uni-app文档和微信官方文档找到了答案。 这里需要注意的是, 这里的appid并不是

    2024年02月11日
    浏览(43)
  • (微信机器人)小程序转二维码,给微信机器人发送小程序生成二维码,打开H5页面跳转到小程序

    最早知道这个需求的时候是一个朋友说的,然后研究了一番,后来发现也没那么难,符合相关的规范就可以了。 本来就有获取微信appid和pagepath的功能了,感觉转成二维码应该不难。 主要是符合这个要求,目录 | 微信开放文档 1、在需要调用 JS 接口的页面引入如下 JS 文件:

    2024年02月14日
    浏览(36)
  • 微信小程序生成二维码海报并分享

    背景:点击图标,生成海报后,点击保存相册,可以保存 生成海报:插件wxa-plugin-canvas,此处使用页面异步生成组件方式,官网地址:wxa-plugin-canvas - npm 二维码:调用后端接口生成二维码 需要调用获取图片信息接口wx.getImageInfo(),获取到图片的宽高以做整体宽高配置 closePos

    2024年03月21日
    浏览(38)
  • 微信小程序:长按图片识别二维码

    方法一:使用小程序提供的image组件,image组件上有一个show-menu-by-longpress的属性,设置为true,当image被长按时会弹出选择菜单 方法二:当图片预览时,长按图片会弹出菜单:

    2024年02月12日
    浏览(26)
  • 微信小程序长按图片识别二维码

    设置show-menu-by-longpress=\\\"true\\\"即可,长按图片后会弹出一个菜单,若图片中包含二维码或小程序码,菜单中会有响应入口 官方说明

    2024年02月03日
    浏览(31)
  • 微信小程序生成页面分享二维码(代码亲测有效)

    说明: 获取不限制的小程序码 | 微信开放文档 以上是官网链接,可以自行查看 不懂的可以留言告诉我

    2024年02月11日
    浏览(44)
  • 如何微信小程序实现长按识别图片二维码

    如何微信小程序实现长按识别图片二维码

    2024年01月23日
    浏览(49)
  • 在H5、微信小程序中使用canvas绘制二维码、分享海报

    提示:绘制二维码的插件有很多,有些仅支持H5,有些只适用微信小程序,故读者在使用二维码插件前需要先查看插件官方文档,查看其支持的环境 H5中安装qrious插件 引入qrious canvas模板 初始化canvas 二维码绘制并渲染 微信小程序中安装weapp-qrcode插件 引入weapp-qrcode canvas模板

    2024年02月14日
    浏览(36)
  • 微信小程序 图片 相机 二维码 动画相关API(实现选择相册、拍照、录像、动画)

    本文探讨微信小程序 图片 相机 二维码 动画相关API(实现选择相册、拍照、录像、动画)功能,带有示例代码

    2024年02月04日
    浏览(38)
  • uni-app(微信小程序) 根据小程序页面路径(可带参数) 生成二维码、分享码

    微信官方文档 小程序 看文档点这里 第一个获取小程序码,就是根据你要通过二维码打开的页面路径生成一个小程序码,且这个小程序码是永久的 其实文档内也说明了,很少用到。即使需要生成这样的小程序码,可以去微信公众平台的小程序管理后台生成,还方便。 调用方

    2024年02月06日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包