vue.js3:分享到微信好友/朋友圈(卡片形式/图片文字形式)(vue@3.2.33 / weixin-js-sdk@1.6.0)

一,安装微信分享用到库:

liuhongdi@lhdpc:/data/vue/guotou$ npm i  weixin-js-sdk --save
 
added 1 package in 3s
liuhongdi@lhdpc:/data/vue/guotou$ npm i --save axios
 
added 5 packages in 6s

二,js代码:

1,引入库:

import axios from 'axios'
import wx from 'weixin-js-sdk’;

2,在mounted中调用:

setup() {
    onMounted(() => {
     //get weixin sdk
      getWxSdk();
    });

 //微信分享的功能
const getWxSdk = () => {
            let wxUrl = location.href.split('#')[0];
            let url = 'https://www.yourdomain.com/guotouapi/wx.php';
 
      let postData = new FormData()
      postData.append('url', wxUrl);
 
            axios({
              method:"post",
              url:url,
              data:postData,
              headers:{'Content-Type': 'multipart/form-data'},
            }).then((res) => {
                  console.log(res.data);
              console.log("appId:"+res.data.appId);
              console.log("signature:"+res.data.signature);
              console.log("nonceStr:"+res.data.nonceStr);
              console.log("timestamp:"+res.data.timestamp);
 
              wx.config({
                debug: true, // 开启调试模式,
                appId: res.data.appId, // 必填,企业号的唯一标识,此处填写企业号corpid
                timestamp: res.data.timestamp, // 必填,生成签名的时间戳
                nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
                signature: res.data.signature,// 必填,签名,见附录1
                jsApiList: [
                  "checkJsApi",
                  "updateAppMessageShareData",
                  "updateTimelineShareData",
                  "onMenuShareTimeline",
                  "onMenuShareAppMessage",
                  "onMenuShareQQ",
                  "onMenuShareQZone",
                  "onMenuShareWeibo",
                ] // 必填,需要使用的js接口列表,所有js接口列表见附录2
              });
 
                  wx.ready(function () {
                    wx.updateAppMessageShareData({
                      title: "国投",   // 分享时的标题
                      desc: '以投资创造更美好的未来', // 分享描述
                      link: wxUrl,     // 分享时的链接
                      imgUrl: 'https://www.yourdomain.com/guotou2/static/image/logo.png', // 分享图标
                      success: function () {
                        console.log("分享成功");
                      },
                      cancel: function () {
                        console.log("取消分享");
                      }
                    });
 
                    wx.updateTimelineShareData({
                      title: '国投——以投资创造更美好的未来',
                      link: wxUrl,
                      imgUrl:  'https://www.yourdomain.com/guotou2/static/image/logo.png',
                      success: function () {
                      }
                    });
                  });
                }
            );
    }

三,接口的php代码:

<?php
  define("MBLOG_LOCAL_PATH”,"/web/webroot");
 
   require_once MBLOG_LOCAL_PATH."/html/guotouapi/jssdk.php"; //表示主机根目录下jssdk文件夹内jssdk.php文件
 
  if (isset($_POST['url']) && $_POST['url'] != "") {
     $url = $_POST['url'];
  } else {
    $url = '';
  }
  $jssdk = new JSSDK("wxf12a3bcd4e56789", “1f2gh3456i7j89k01lmno2opq34rstu5");//填写开发者中心你的开发者ID,
  $signPackage = $jssdk->GetSignPackage($url);
  echo json_encode($signPackage);
  exit;
?>

说明:刘宏缔的架构森林—专注it技术的博客,
网址:https://imgtouch.com
本文: https://blog.imgtouch.com/index.php/2023/06/01/vue-js3-fen-xiang-dao-wei-xin-hao-you-peng-you-quan-ka-pian/
代码: https://github.com/liuhongdi/https://gitee.com/liuhongdi
说明:作者:刘宏缔 邮箱: 371125307@qq.com

四,查看效果

1,分享到朋友圈的界面

2,发送给朋友或群里的效果:

五,查看vue的版本:

liuhongdi@lhdpc:/data/vue/guotou2$ npm list vue
guotou@0.1.0 /data/vue/guotou2
├─┬ @vue/cli-plugin-babel@5.0.4
│ └─┬ @vue/babel-preset-app@5.0.4
│   └── vue@3.2.33 deduped
├─┬ @vueuse/core@8.3.1
│ ├─┬ @vueuse/shared@8.3.1
│ │ └── vue@3.2.33 deduped
│ ├─┬ vue-demi@0.12.5
│ │ └── vue@3.2.33 deduped
│ └── vue@3.2.33 deduped
└─┬ vue@3.2.33
  └─┬ @vue/server-renderer@3.2.33
    └── vue@3.2.33 deduped

查看weixin-js-sdk的版本:

liuhongdi@lhdpc:/data/vue/guotou2$ npm list weixin-js-sdk
guotou@0.1.0 /data/vue/guotou2
└── weixin-js-sdk@1.6.0 
QR:vue.js3:分享到微信好友/朋友圈(卡片形式/图片文字形式)(vue@3.2.33 / weixin-js-sdk@1.6.0)

vue.js3:分享到微信好友/朋友圈(卡片形式/图片文字形式)(vue@3.2.33 / weixin-js-sdk@1.6.0)》有1条评论

发表回复