一、保存图片

   微信小程序中使用得比较多的就是分享功能,基本上都会用到,尤其是对二维码图片,保存在本地或者将小程序分享给朋友,好在微信小程序提供的api中已经告诉了该怎么使用,下面就将所用到的分享出来。
   首先是通过请求后端接口获取图片地址,当然也可以不用请求直接将地址写死。

 wx.request({url: getApp().data.serviceUrl +'/wechat/searchdata/proqrcode',//请求地址data: {//发送给后台的数据openid: that.data.openid},header: {//请求头"Content-Type": "application/json;charset=UTF-8;"},method: "POST",//get为默认方法/POSTsuccess: function (res) {var imageurl = res.data.contentthat.setData({shareImgSrc: getApp().data.qrServiceUrl + imageurl})wx.getImageInfo({src: that.data.shareImgSrc,//服务器返回的带参数的小程序码地址success: function (res) {//res.path是网络图片的本地地址var qrCodePath = res.path;//2. canvas绘制文字和图片const ctx = wx.createCanvasContext('myCanvas');// var imgPath = that.data.localImageUrl;ctx.drawImage(qrCodePath, 0, 0, 200, 200);ctx.setFillStyle('white')ctx.fillRect(0, 520, 600, 280);ctx.draw()// that.setData({//   localImageUrl: qrCodePath// })},fail: function (res) {//失败回调}});},fail: function (err) { },//请求失败})

   经过上面一步已经图片展示出来了,接下来是将图片保存下来。这里通过按钮点击实现:

savedate: function (e) {var that = this;wx.canvasToTempFilePath({x: 0,y: 0,width: 200,height: 200,destWidth: 400,destHeight: 400,canvasId: 'myCanvas',success: function (res) {that.setData({saveImgSrc: res.tempFilePath})},fail: function (res) {console.log(res)}}) //4. 将图片保存到相册wx.saveImageToPhotosAlbum({filePath: that.data.saveImgSrc,success(res) {wx.showModal({title: '存图成功',content: '图片成功保存到相册了,去发圈噻~',showCancel: false,confirmText: '好哒',confirmColor: '#72B9C3',success: function (res) {if (res.confirm) {console.log('用户点击确定');}// that.hideShareImg()}})}})},

二、分享小程序

   分享小程序需要在button中设置open-type,如下

<button class='sendfriend' bindtap = 'sendfriend' open-type="share">发送给微信好友</button>

   通过onShareAppMessage方法实现发送给好友:

onShareAppMessage: function (ops) {if (ops.from === 'button') {// 来自页面内转发按钮console.log(ops.target)}var that = thisreturn {title: '分享给好友',path: 'pages/index/index?scene='+that.data.openid,//点击分享消息是打开的页面imageUrl: that.data.saveImgSrc,success: function (res) {// 转发成功console.log("转发成功:" + JSON.stringify(res));var shareTickets = res.shareTickets;},fail: function (res) {// 转发失败console.log("转发失败:" + JSON.stringify(res));}}},

微信小程序保存图片以及分享给朋友相关推荐

  1. 微信小程序将支持分享到朋友圈;美团入局社区团购;Kotlin 1.4-M3 发布 | 极客头条

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 一分钟 ...

  2. html 调用weixinsharetimeline,微信小程序使用onShareTimeline分享到朋友圈的方法

    最近微信小程序终于公测了一个分享到朋友圈的功能,这对营销来说可是一个很重要的功能啊.如何使用这个功能呢?这里详细介绍一下. 使用到的函数onShareTimeline()与onShareAppMess ...

  3. 微信小程序如何支持分享给朋友和分享到朋友圈?如何解决分享朋友圈灰色问题

    微信小程序分享给朋友和分享到朋友圈,都需要在小程序编写代码实现. 目录 1.官方文档 2.分享给朋友,即转发 3.分享到朋友圈 4.常见问题 4.1.分享朋友圈灰色 4.2.如何测试分享给朋友 4.3 ...

  4. 微信小程序开放「分享到朋友圈」功能

    2020年7月7日(据说是6日深夜),一个很特别的日子,微信低调地放开了一个功能:微信小程序"分享到到朋友圈",这个看似微小的变化,对微信小程序来说意义重大. 用fenng大的话说 ...

  5. 微信小程序如何直接分享到朋友圈?

    近日微信终于公开了小程序分享到朋友圈,下面就分享一下技术上如何将小程序分享到朋友圈吧. 官方技术文档如下: 分享到朋友圈(Beta) 从基础库 2.11.3 开始支持 此功能为beta版,暂仅在And ...

  6. uniapp实现微信小程序点亮分享到朋友圈权限

    在可分享的页面文件里写: onShareAppMessage(){return {from:"menu"} }, onShareTimeline(){}, 微信官方文档: 效果:

  7. 微信小程序实现转发分享功能(好友朋友圈)

    微信小程序分享 微信小程序已经支持分享到好友和朋友圈功能(安卓),用户在朋友圈打开分享的小程序页面,并不会真正的打开小程序,而是进入一个"小程序单页面模式"的页面: 微信小程序文档 ...

  8. uniapp实现微信小程序全局【发送给朋友】、【分享到朋友圈】、【复制链接】

    在开发微信小程序的时候,发现[发送给朋友].[分享到朋友圈].[复制链接]功能,灰色不可用. 很常见的功能,但是这几个功能,并不是你项目建起来了就有的. 1.[发送给朋友]使用 onShareAppM ...

  9. 微信小程序 非webview分享给好友及生成分享海报

    微信小程序 非webview分享给好友及分享海报 UI展示 点击分享显示分享sheet: 点击生成海报,展示海报预览图片: 组件目录结构: 代码 works文件 woks.json中引入: " ...

最新文章

  1. 技术实践:大规模知识图谱预训练及电商应用
  2. SpringSecurity权限管理相关对象介绍
  3. 与狼共舞·美女与野兽
  4. android多个水波球,android球形水波百分比控件代码
  5. matlab中右三角形方向,《有限元基础教程》_【MATLAB算例】4.7.1(2) 基于3节点三角形单元的矩形薄板分析(Triangle2D3Node)...
  6. 善解人意,改善您的在线关系
  7. [论文泛读] Dynamic placement of virtual machines for managing sla violations (IM, 2007)
  8. 【linux】IP最大可传65535而以太网最大只能传1500问题解析
  9. Unity3D内容加密保护
  10. wmi服务怎么关?wmi服务关闭有影响吗?
  11. git命令将项目克隆到本地
  12. 2021年在线教育发展趋势
  13. 路透社:韩国游戏巨头Nexon欲出售控股权 腾讯将扮演关键角色
  14. Windows删除文件的打开方式
  15. 缓存为王:老码农眼中的分布式缓存
  16. [词语辨析] Try, Attempt, Endeavour “尝试” 的用法
  17. Skimming, Locating, then Perusing: A Human-Like Framework for Natural Language Video Localization
  18. 【软件质量】软件互操作性
  19. amd建议超频吗_amd建议超频吗_科普|聊聊AMD新品和最近热议的“老批次CPU”超频问题...
  20. ML之PFI(eli5):基于mpg汽车油耗数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序

热门文章

  1. inverted dropout(反向随机失活)正则化
  2. php怎么使用sendcloud,请教大牛们 PHPHub 使用 sendcloud 发送邮件需要怎么配置?
  3. mysql8 update语句 where块的in方法内子查询不报错
  4. 使用flex让父盒子内子盒子自适应宽度
  5. MySQL基础(一)---数据库的诱惑
  6. UE4蓝图(很经典) 间隔1秒就执行一次,间隔循环执行
  7. 1.广电、电信、联通、移动、无线覆盖、物联网络、校园入网统一认证问题痛点分析
  8. amcharts的使用
  9. amCharts取消LOGO
  10. sin^k(x)的积分