vue+h5+js-sdk 实现分享的功能(分享至好友/朋友圈)

本文详细介绍了如何在Vue项目中的H5页面实现微信好友和朋友圈的卡片式分享功能,包括配置微信JS-SDK、使用config接口、生成签名以及注意事项,以确保分享链接以卡片形式而非链接形式出现。
摘要由CSDN通过智能技术生成

需求:

用户在h5 页面中实现微信的分享至好友、分享至朋友圈的功能、且实现的方式为卡片的形式,(一个h5界面要求点击右上角三个点后点击微信好友分享带标题和图片给好友。vue项目中,分享携带头部标题、简介和缩略图等信息)。

效果图:

在这里插入图片描述

分享后的展现形式:

在这里插入图片描述
在这里插入图片描述

注明几点踩过的坑

要想分享出去是卡片的形式,而不是链接的方式,需要通过如下几种方式:

  • 以扫码的方式进入,后进行分享
  • 将链接收藏,从收藏中点击进入,后进行分享
  • 在微信公众号的菜单栏中进行配置链接,用户在微信公众号中点击,后进行分享
    注: 如果是点击链接进入,则分享出去还是链接的形式。

实现方式

在微信公众号中进行配置

在这里插入图片描述

将域名的ip进行配置

在这里插入图片描述

代码实现方式

安装weixin-js-sdk
npm install weixin-js-sdk

通过 config 接口注入权限验证配置

wx.config({
  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  appId: '', // 必填,公众号的唯一标识
  timestamp: , // 必填,生成签名的时间戳
  nonceStr: '', // 必填,生成签名的随机串
  signature: '',// 必填,签名
  jsApiList: [] // 必填,需要使用的JS接口列表
});
引入代码中并使用

代码字段解释 :

  • winUrl :这个必须是前端传递给后端
  • signature 必须是后端返回的,如果返回错误,则一直配置失败
  • 自己写的按钮,是不能唤起微信右上角三个点进行分享的,可以通过给用户提示,进行引导。
<script>
import wx from "weixin-js-sdk";
export default {
  created() {
  	this.getShareInfo();
  },
  methods: {
    getShareInfo() {
      var that = this;
      var winUrl = window.location.href.split("#")[0];
      // 配置分享, 以下两个参数是我自己生成,传给后端的
      var timestamp = Date.parse(new Date()) / 1000;
      var nonceStr = that.createNonceStr();
      toTranscript(encodeURIComponent(winUrl), nonceStr, timestamp).then(
        (msg) => {
          wx.config({
            debug: false,
            appId: "", // 必填,公众号的唯一标识
            timestamp: timestamp, // 必填,生成签名的时间戳
            nonceStr: nonceStr, // 必填,生成签名的随机串
            signature: msg.data.signature, // 必填,签名,见附录1
            jsApiList: ["updateTimelineShareData", "updateAppMessageShareData"], // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
          });
          wx.ready(function () {
            //分享到朋友圈  需在用户可能点击分享按钮前就先调用
            wx.updateTimelineShareData({
              title: that.activeObj.ac_title, // 分享时的标题
              desc: that.activeObj.share_desc, // 分享描述
              link: that.activeObj.share_url, // 分享时的链接
              imgUrl: that.activeObj.share_image, // 分享图标
              success: function () {
                // 设置成功
                console.log("分享到朋友圈成功");
              },
              cancel: function () {
                // 取消设置
                console.log("分享到朋友圈取消");
              },
              fail: function () {
                console.log("分享朋友圈失败");
              },
            });
            // 分享给朋友的设置
            wx.updateAppMessageShareData({
              title: that.activeObj.ac_title, // 分享时的标题
              desc: that.activeObj.share_desc, // 分享描述
              link: that.activeObj.share_url, // 分享时的链接
              imgUrl: that.activeObj.share_image, // 分享图标
              success: function () {
                // 设置成功
                console.log("分享给朋友成功");
              },
              cancel: function () {
                // 设置失败
                console.log("分享给朋友失败");
              },
              fail: function () {
                console.log("分享朋友圈失败");
              },
            });
          });
        }
      );
    },
    createNonceStr: function () {
      return Math.random().toString(36).substr(2, 15);
    },
  },
}
</script>

可参考官方网址:微信网页开发,分享的功能

在这里插入图片描述

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现Spring Boot Vue Element UI Mybatis-Plus的文件分享,可以按照以下步骤进行: 1. 首先,需要搭建一个基于Spring Boot的后端应用程序。使用Mybatis-Plus来操作数据库,设计合适的实体类和数据库表,用于存储文件的相关信息,例如文件名、路径、大小等。 2. 在后端应用程序中创建一个文件上传的接口,用于接收前端传递的文件。可以使用Spring Boot内置的MultipartFile类来处理文件上传,将文件保存到指定的目录中,并将文件相关信息保存到数据库中。 3. 创建一个文件下载的接口,用于访问和下载已上传的文件。通过接口可以获取文件的相关信息,包括文件的路径和文件名。使用Java的File类或者相关的工具类来读取文件,并将文件以流的形式返回给前端。 4. 在前端应用程序中使用Vue和Element UI来实现文件分享页面。可以设计一个文件列表的组件,展示已上传的文件信息,例如文件名、大小、上传时间等。使用Element UI的Table组件可以方便地展示数据。 5. 在文件列表组件中,为每个文件增加下载功能的按钮或链接。按钮或链接的点击事件调用后端提供的文件下载接口,将文件下载到用户本地。 6. 可以考虑增加文件的搜索和排序功能,方便用户查找和管理文件。可以使用Element UI的Input组件和Table组件的排序功能实现。 7. 为了提高用户体验,可以加入文件预览的功能。可以使用第三方插件,如Viewer.js,来实现文件的在线预览。 总结来说,实现Spring Boot Vue Element UI Mybatis-Plus的文件分享需要搭建一个后端应用程序来处理文件的上传和下载,使用数据库存储文件相关信息;在前端应用程序中使用Vue和Element UI来展示和管理文件,实现文件的搜索、排序和预览功能
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值