目录

前言

一、使用哪种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.tempFilePathresolve(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给提示,来避开此问题


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

  1. 微信小程序分享生成海报(自带二维码)+头像+昵称

    前言: 我的分享海报是弹框,可根据自己要求写成页面,原理都是一样的,背景图是前期测试的,效果是OK的,真机测试手机也是显示的. 效果图: wxml: <!-- 生成海报 --><vi ...

  2. 微信小程序Megalo开发踩坑计-普通二维码绑定

    原文首发于http://blog.yumengtao.top 首先简单说一下普通二维码绑定功能作用: 兼容线下已有的二维码 能同时支持微信.支付宝小程序 小程序启动传参 微信小程序普通二维码资料 支付 ...

  3. 微信小程序绘制自定义海报,可带二维码,头像,文字等

    1.资源准备 ①海报背景图(建议放在不要放在本地). ②头像(需要授权). ③带参二维码. ④需要自定义展示的文字.小的icon图片 2.工具类,及方法 ①兼容屏幕大小的rpx转px的方法(手机屏幕有 ...

  4. 【小程序开发原创】小程序裁剪图片上传头像,二维码源码

    微信小程序 图片裁剪工具,简单易用 项目需求 在做微信小程序的时候有个图片上传之前裁剪的需求,找过一些github中的项目,都不太理想,主要是没有办法自定义宽高,于是自己研究了一下,做了一个简单的图片 ...

  5. 微信小程序分享图片给微信好友

    wx.showShareImageMenu(Object object) | 微信开放文档 <button class="share-item" bindtap=" ...

  6. 微信小程序 分享图片大小处理

    1.在分享的page 添加 canvas 标签 <canvas canvas-id="canvas"style="position: absolute; top: ...

  7. uni-app 关于微信小程序分享,app微信聊天界面和朋友圈分享

    前端小白的uni-app艰难学习之路 微信小程序分享 实现微信小程序分享和app内微信分享 小程序分享很简单,我们通过button的open-type属性 <!-- #ifdef MP-WEIX ...

  8. 实现微信小程序分享朋友圈及好友

    显示分享按钮 首先需要通过wx.showShareMenu实现在当前页面显示分享按钮.如不实现该代码,分享按钮为灰色不可用状态.showShareMenu微信小程序API文档链接 注意事项 显示&qu ...

  9. 微信小程序分享图片给朋友

    //分享share() {returnuni.showLoading({title: '加载中'});wx.downloadFile({url: this.$http.getHost() + this ...

最新文章

  1. 漫话:如何给女朋友解释什么是缓存穿透、缓存击穿、缓存雪崩?
  2. 服务器怎么可以维修荒野行动,荒野行动PC版 设置单独服务器让你尽情畅玩
  3. namecheap教程
  4. js数组如何按照固定的下标去重_js数组去重方法总结
  5. python 多次匹配_Python学习记录14
  6. 【干货】玩转PyCharm
  7. cad2020打印样式放在哪个文件夹_老师傅不会告诉你的CAD打印设置技巧
  8. ks检验正态分布结果_看SPSS如何检验数据是否服从正态分布
  9. WPS标题编号级别,根据上一级自动编号
  10. Laravel文档 翻译合集
  11. 老瞎眼 pk 小鲜肉
  12. SpringCloud熔断机制大概什么意思
  13. 学习C语言:自幂数最通俗讲解
  14. 用对线阶段数据分析和预测《英雄联盟》的游戏结果
  15. 鸿蒙圣墟如何升级快,鸿蒙圣墟华为版
  16. java 如何计算时间段_Java程序来计算两个时间段之间的时差
  17. 页面间大量数据参数传递
  18. 如何看待中国制造2025?
  19. 异常:getReader() has already been called for this request
  20. 国内三大人才招聘网站 前程无忧CEO自称唯一盈利

热门文章

  1. 自动化测试:基础篇自动化测试selenium分享-打开浏览器(1)
  2. 单细胞论文记录(part27)--Method of the Year: spatially resolved transcriptomics
  3. 2006年十二生肖运程运势 目录
  4. 疫情过后,旅游行业采用什么方式获客引流?
  5. 云客Drupal源码分析之插件系统(下)
  6. ENVI_计算土地利用变化转移矩阵
  7. 网上阅卷源码有要的吗
  8. ps钢笔工具/路径/钢笔抠图/字体工具
  9. 微信小程序坑点杂谈(五)1000比200小?光速解决小程序数值大小判断错误的问题
  10. 关于Android透明状态栏的使用以及与软键盘冲突(导致SrollView不能滑动)的解决办法