uniapp分享微信好友或朋友圈

本文介绍了如何在微信小程序中创建一个封装的share.js文件,实现在页面按钮点击和右上角菜单分享时自定义全局分享内容,包括标题、路径和图片等。
摘要由CSDN通过智能技术生成

 页面按钮

<!-- 必须,button按钮 data-name="shareBtn" open-type="share" ,data-obj分享参数 -->
<button data-name="shareBtn" open-type="share" :data-obj="goodDetail">
<view class="function_text">分享</view>
</button>

封装share.js(在项目文件夹下创建utils文件夹,创建share.js文件)

export default {
  data() {
    return {
      // 默认的全局分享内容
      share: {
        title: '古蜀笔记',
        path: '/pages/index',    // 全局分享的路径,比如 首页
        // imageUrl: 'https://s3.dova.link:3001/test/20231225/c74c4f34e7bf48d3b56fb27c368e7180.jpg',    // 全局分享的图片(可本地可网络)
      }
    }
  },
  // 定义全局分享
  // 1.发送给朋友
  onShareAppMessage(res) {
    console.log(res, '获取到的参数');
    let obj = {
      title: this.share.title,
      path: this.share.path,
      // imageUrl: this.share.imageUrl,
    }

    if (res.from == "button") {// 判断是按钮发起的分享(button)还是右上角小程序胶囊发起的分享(menu)
      let pageInfo = res.target.dataset.obj // 页面传过来的参数(goodDetail)
      var pages = getCurrentPages() // 获取栈实例
      let currentPage = pages[pages.length - 1]['$page']['fullPath'] //当前页面路径(带参数)
      obj.title = pageInfo.name
      obj.path = currentPage
      obj.imageUrl = pageInfo.homePhoto
    }
    return obj
  },
  //2.分享到朋友圈
  onShareTimeline(res) {
    return {
      title: this.share.title,
      path: this.share.path,
      // imageUrl: this.share.imageUrl,
    }
  },
}

main.js引入

// 导入并挂载全局的分享方法
import share from '@/utils/share.js'
Vue.mixin(share)

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值