Taro+Vue3开发微信小程序的分享好友功能

1、背景:使用taro框架和vue3框架开发小程序,实现一个把pdf文件直接分享给微信好友。

一开始看taro文档理解有偏差,导致分享出去的文件是个app的小程序连接。如下图

 实现代码如下:

  onShareAppMessage: function () {
    Taro.showShareMenu({
      withShareTicket: true
      // 用户点击右上角分享给好友,要先在分享好友这里设置menus的两个参数,才可以分享朋友圈
      // menus: ['shareAppMessage', 'shareTimeline']  
    });
  },

js:
       <nut-button
          shape="square"
          class="bg-primary button mb-md"
          style="padding: 24rpx 146rpx"
          open-type="share"  // 增加这个属性才能转发
          >分享至微信聊天</nut-button
        >

后续仔细查看taro文档, Taro 文档,发现这种写法是个页面组件,转发出去的是个小程序,无法单独将文件转发。

2、实现文件单独转发给好友:微信小程序下载文件和转发文件给好友总结_海海呐的博客-CSDN博客_小程序分享文件到微信

代码实现:


<nut-button
          shape="square"
          class="bg-primary button mb-md"
          style="padding: 24rpx 146rpx"
          @tap="shareFile"
          :class="{ 'button-disable': isShare }"
          >分享至微信聊天</nut-button
        >

shareFile() {
      if (this.isShare) {
        return false;
      }
      this.isShare = true;
      let that = this;
      const params = {
        startDateId: this.userValue.project.startDateId,
        endDateId: this.userValue.project.endDateId,
        fileType: 'pdf'
      };
      Taro.downloadFile({ // 先进行下载,接口返回后再分享文件
        filePath: Taro.env.USER_DATA_PATH + `/${that.projectName}`,
        url: `${config.serverUrl[getAppEnv()]}/watson/report/generateReport/${
          this.userValue.project.enterpriseId
        }?${queryToString(params)}`,
        header: {
          'content-type': 'application/json',
          cookie: Taro.getStorageSync('cookieKey')
        },
        success(res) {
          if (res.statusCode === 200) {
            that.isShare = false;
            Taro.shareFileMessage({
              filePath: res.filePath,
              fileName: that.projectName,
              fail() {
                showToast('分享失败');
              }
            });
          }
        },
        fail() {
          showToast('分享失败');
        }
      });
    },

效果如下:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值