微信小程序实现朋友圈分享功能,以及保存图片到手机功能

本文介绍了如何在微信小程序中实现分享到朋友圈的功能,详细解析了`onShareAppMessage`方法的使用,以及如何自定义转发内容。同时,文章还展示了保存图片到手机的实现过程,包括JS和WXML的代码示例,帮助用户理解并实现这两个关键操作。
摘要由CSDN通过智能技术生成

分享到朋友圈

代码展示:

在这里插入图片描述
效果图:

在这里插入图片描述

onShareAppMessage(Object object)参数:

监听用户点击页面内转发按钮(button 组件 open-type=“share”)或右上角菜单“转发”按钮的行为,并自定义转发内容。

return的参数:

字段 类型 说明
from String 转发事件来源(button:页面内转发按钮;menu:右上角转发菜单)
target Object 如果 from 值是 button,则 target 是触发这次转发事件的 button,否则为 undefined
webViewUrl String 页面中包含web-view组件时,返回当前web-view的url
字段 说明 默认值
title 转发标题 当前小程序名称
path 转发路径 当前页面 path ,必须是以 / 开头的完整路径
imageUrl 自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4。 使用默认截图

onShareTimeline()的参数:

只有定义了此事件处理函数,右上角菜单才会显示“分享到朋友圈”按钮
自定义转发内容(暂只在 Android 平台支持,不支持自定义页面路径)

字段 说明 默认值
title 自定义标题,即朋友圈列表页上显示的标题 当前小程序名称
query 自定义页面路径中携带的参数,如 path?a=1&b=2 的 “?” 后面部分 当前页面路径携带的参数
imageUrl 自定义图片路径,可以是本地文件或者网络图片。支持 PNG 及 JPG,显示图片长宽比是 1:1。 默认使用小程序 Logo

保存图片到手机

实例代码:

js:

const app = getApp();
var api = require('../../utils/api.js');
var time = null;

 /**
   * 页面的初始数据
   * 这里的back_img,headimg是从后台接收的信息,为了有更好的效果展示直接用的image文件夹里的图片
   */
  data: {
   
    show: false,
    back_img:"../../image/1.jpg",
    headimg: "../../image/1.jpg",
    img: '',
    back_img1: "",
    headimg1: "",
    img1: '',
    goods_data: {
   name:'ps小可爱写的保存图片哦'},
    sku: {
   old_sell_price:'4.5',market_price:'4.5'},
    bg_explain: "",
    share: '',
  },
  
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
   
    // 获取分享的信息
    var that = this;
    var data = {
   
      actoken: api.封装文件的接口,
      service: '接口'
    };
    api.request(data, function(res) {
   
      console.log(res)
      if (res.data.code == 0) {
   
        that.setData({
   
          img: res.data.img,
        })
        that.downloadimg3(res.data.headimgurl);
        that.downloadimg2(res.data.img);
        that.downloadimg1(res.data.goods_img);
      }
    })
  },
  
  canvastoimg() {
   
    var that = this;
    wx.getImageInfo({
   
      src: that.data.back_img1,
      success: function(res) {
   
        console.log(res)
        var x1 = res.width;
        var y1 = res.height;
        const ctx = wx.createCanvasContext('img')
        ctx.setFillStyle('#fff')
        ctx.fillRect(0, 0, 275, 475)
        ctx.drawImage(<
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现微信小程序分享朋友圈,需要先引入微信官方提供的wx.updateTimelineShareData() API。具体步骤如下: 1. 在小程序JS文件中编写分享功能的代码,例如: ``` // 点击分享按钮时触发 onShare: function () { wx.updateTimelineShareData({ title: '分享标题', query: '分享参数', imageUrl: '图片URL', success: function () { // 分享成功 }, fail: function () { // 分享失败 } }) } ``` 2. 在wxml文件中添加一个分享按钮,例如: ``` <button bindtap="onShare">分享朋友圈</button> ``` 3. 在小程序的app.json文件中添加权限声明: ``` { "mp-weixin": { "appid": "YOUR_APPID", "permission": { "scope.userLocation": { "desc": "你的位置信息将用于小程序位置接口的效果展示" } } } } ``` 4. 在用户点击分享按钮之前,需要获取用户授权访问相册的权限: ``` wx.authorize({ scope: 'scope.writePhotosAlbum', success: function () { // 用户已经同意授权 }, fail: function () { // 用户拒绝授权 } }) ``` 5. 在用户同意授权之后,可以使用wx.downloadFile() API下载图片保存到相册中: ``` wx.downloadFile({ url: '图片URL', success: function (res) { wx.saveImageToPhotosAlbum({ filePath: res.tempFilePath, success: function () { // 图片保存成功,可以调用分享接口 }, fail: function () { // 图片保存失败 } }) }, fail: function () { // 图片下载失败 } }) ``` 以上就是实现微信小程序分享朋友圈的基本步骤。需要注意的是,用户必须先授权访问相册的权限,才能够保存分享图片。同时,分享内容需要经过微信审核才能够正常分享
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值