微信公众号的自定义分享和朋友圈分享

自定义微信分享链接
判断是否是微信的方法

//判断是否是微信浏览器的函数
export function isWeiXin() {
	var ua = window.navigator.userAgent.toLowerCase();
	if (
		ua.match(/MicroMessenger/i) == 'micromessenger'
		&& ua.match(/miniProgram/i)
		&& ua.match(/miniProgram/i)[0] == 'miniprogram'
	) {
		return 'xcx'
	}
	if (ua.match(/MicroMessenger/i) == 'micromessenger') {
		return true;
	} else {
		return false;
	}
}

vue混合开发

import Vue from "vue";
import debounce from "lodash/debounce";
import store from "@/store/index";
import wx from "weixin-js-sdk";//引入微信
import { isWeiXin, GetQueryByString } from "./tool";//isWeiXin 判断是否是微信浏览器的函数 GetQueryByString自己封装的获取地址栏的查询字符串

Vue.mixin({
  data() {
    return { 
      },
    };
  },
  methods: {
   setShareLink(link,desc,title,imgUrl,path,host,param) {//使用vue混合开发 在全局main.js引用  调用此方法 传递参数
    if (isWeiXin() === false) return;
      getJsPrepare().then(res => {//获取微信签名

        wx.config({
          debug:false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
          appId: res.data.appid, // 必填,公众号的唯一标识
          timestamp: res.data.timestamp, // 必填,生成签名的时间戳
          nonceStr: res.data.noncestr, // 必填,生成签名的随机串
          signature: res.data.sign, // 必填,签名
          jsApiList: ["updateAppMessageShareData", "updateTimelineShareData"] // 必填,需要使用的JS接口列表  微信好友分享 朋友圈分享
        });
        wx.error(function(res) {
          //console.log(res, "config信息验证失败会执行error函数");
          // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
        });
        wx.ready(() => {

          //如果没有link或者title,则不需要设置分享。
          if(!link || !title){
            return;
          }

          wx.updateAppMessageShareData({
            title,//分享标题
            desc,//分享描述
            link,//分享链接
            imgUrl,//分享图片
            success() {//成功回调函数
              // console.log('成功')
              //alert('分享成功')
            },
            cancel() {//失败回调函数
              // console.log('取消了')
              // alert('取消了')
            }
          });
          wx.updateTimelineShareData({
            title, // 分享标题
            link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl, // 分享图标
            success: function() {
              // alert('分享成功')
            },
            cancel() {
              // alert('取消了')
            }
          });

          if(isWeiXin()==='xcx'){//小程序分享
            //let host = 'https://wap.qd101.net'
            //host = host.replace('https','http')

            //这根据自己的需要封装吧,记住别少了问好
            //let param = '?aid=1&from_id=2&id=1&&sid=10,12,11,9,8'
            //let path='/#/classify/topicDetail'
            //注意路由模式,需要加上#号
            wx.miniProgram.postMessage({ data: {title,imgUrl,host,path,param} })
          }
        });
      }).catch(e=>{});

    }
  }

在main.js引用

import "@/assets/js/pageCommon";

在组件中直接使用

init(){
            let id=this.$route.query.id;
            planProjectLogShow(id).then(res=>{
                this.data=res;
                //分享  我是把当前获取的标题  分享语  图片  赋值给setShareLink方法
                let aid=this.$route.query.aid;
                let id=this.$route.query.id;
                let link=window.location.origin + window.location.pathname+"#/member/plan/inviteNow?id="+id+"&aid="+aid;
                let title = res.share_title;
                let desc=res.share_message;
                let imgUrl =res.project.cover_path;
                let path='/#'+this.$route.path;
                let host=window.location.origin;
                let param=getParam(this.$route.query);
                this.setShareLink(link,desc,title,imgUrl,path,host,param);
            })
        },
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要将 HTML 变成微信自定义分享,你可以使用微信 JavaScript SDK。这是微信提供的一组 JavaScript 库,可以让你在 HTML 页面中调用微信分享功能。 下面是一个简单的示例,展示了如何使用微信 JavaScript SDK 实现自定义分享: ```html <!DOCTYPE html> <html> <head> <title>微信自定义分享</title> </head> <body> <!-- 引入微信 JavaScript SDK --> <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> <script> // 配置微信分享 wx.config({ // 填写你的微信公众号 appId 和 appSecret appId: 'your-app-id', appSecret: 'your-app-secret', // 配置需要使用的分享功能 jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] }); // 配置分享内容 wx.ready(function () { wx.onMenuShareTimeline({ title: '分享标题', link: '分享链接', imgUrl: '分享图片的 URL', success: function () { // 用户分享成功时执行的回调函数 }, cancel: function () { // 用户取消分享时执行的回调函数 } }); wx.onMenuShareAppMessage({ title: '分享标题', desc: '分享描述', link: '分享链接', imgUrl: '分享图片的 URL', type: 'link', dataUrl: '', success: function () { // 用户分享成功时执行的回调函数 }, cancel: function () { // 用户取消分享时执行的回调函数 } }); }); </script> ### 回答2: 要将HTML变成微信自定义分享,首先需要在HTML文件中添加微信的JavaScript SDK,以便与微信进行交互。具体步骤如下: 1. 在HTML文件中添加微信的JavaScript SDK。 可以将以下代码插入到`<head>`标签内: ``` <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> ``` 2. 注册微信分享的配置信息。 在页面加载完毕后,通过调用微信SDK的API,使用有效的AppID和AppSecret等信息进行微信分享的配置。示例如下: ``` wx.config({ debug: false, // 是否开启调试模式 appId: '你的AppID', timestamp: '生成配置信息的时间戳', nonceStr: '生成配置信息的随机字符串', signature: '生成的签名', jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] // 需要使用的微信分享API }); ``` 3. 设置分享的内容和回调函数。 在微信配置成功后,使用`wx.ready`函数设置分享的标题、描述、链接和分享图标等信息,并设置分享的回调函数。 - 分享朋友圈: ``` wx.onMenuShareTimeline({ title: '分享标题', link: '分享链接', imgUrl: '分享图标', success: function () { // 分享成功后的回调函数 }, cancel: function () { // 用户取消分享后的回调函数 } }); ``` - 分享给朋友: ``` wx.onMenuShareAppMessage({ title: '分享标题', desc: '分享描述', link: '分享链接', imgUrl: '分享图标', success: function () { // 分享成功后的回调函数 }, cancel: function () { // 用户取消分享后的回调函数 } }); ``` 4. 最后,在HTML文件中触发微信SDK的加载: ``` <script> wx.ready(function() { // 分享的配置信息和回调函数 }); </script> ``` 通过以上步骤,可以将HTML文件中的内容转为微信自定义分享形式。在微信中打开页面时,会根据配置信息显示分享朋友圈分享给朋友的按钮。用户点击按钮后,即可进行分享操作,并触发对应的回调函数。 ### 回答3: 要将HTML变成微信自定义分享,你可以按照以下步骤进行操作。 1. 在HTML文件的头部添加如下代码,以引入微信开发者工具包: ```html <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> ``` 2. 在微信公众平台上注册并获取到你的公众号的AppID和AppSecret。 3. 在HTML文件的底部添加如下代码,用于微信分享的配置: ```html <script> wx.config({ appId: '你的AppID', timestamp: '生成签名的时间戳', nonceStr: '生成签名的随机字符串', signature: '签名', jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline'] // 需要使用的分享接口 }); wx.ready(function () { // 自定义分享的标题、描述、链接和图标 wx.onMenuShareAppMessage({ title: '分享标题', desc: '分享描述', link: '分享链接', imgUrl: '分享图标', success: function () { // 用户确认分享后的回调函数 }, cancel: function () { // 用户取消分享后的回调函数 } }); wx.onMenuShareTimeline({ title: '分享标题', link: '分享链接', imgUrl: '分享图标', success: function () { // 用户确认分享后的回调函数 }, cancel: function () { // 用户取消分享后的回调函数 } }); }); </script> ``` 4. 在`wx.config`代码块中,将`appId`替换为你的AppID,然后使用后端代码来生成其他几个参数(`timestamp`、`nonceStr`、`signature`)并填充进去。 5. 在`wx.onMenuShareAppMessage`和`wx.onMenuShareTimeline`代码块中,替换相应的分享标题、描述、链接和图标。 通过以上步骤,你可以将HTML变成微信自定义分享。当用户点击分享按钮时,自定义分享内容将在微信中显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木贝西

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值