vue 项目如何使用微信分享接口

news/2025/6/8 1:20:32

首先做微信网页都要接入微信sdk;

安装sdk

 npm install weixin-js-sdk --save

具体可以查看微信公众平台技术文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

引入sdk

vue是单页面项目,比如你想要接入微信分享功能,分享功能在每个路由地址都要有,因为每个路由的url是不一样的,就需要在每个路由地址都引入一遍。

import wx from 'weixin-js-sdk'

在组建的生命周期creatd()和mounted()里面放代码

//通过config接口注入权限验证配置  只要调后端接口就可以了。后端会把那些信息处理好,然后通过一个接口返给你这些参数

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

//通过error接口处理失败验证
wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
});
//通过ready接口处理成功验证
wx.ready(function () {   //需在用户可能点击分享按钮前就先调用
wx.updateAppMessageShareData({
    title: '', // 分享标题
    desc: '', // 分享描述
    link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
    imgUrl: '', // 分享图标
success: function () {
// 设置成功
    }
});

坑点:url这里要注意的就是url的问题,如果url没有正确传递,后端也会返回信息,但是签名信息会是错误的。上面提到的完整url指的是:’http(s)://’部分,以及’?’后面的GET参数部分,

但不包括’#’hash后面的部分。可以通过location.href来获取。

注意: 如果你的vue项目,路由没有开启history 模式,也就是你的url上面包含“#”,这个时候要从后端正确获取签名,就需要去掉url上#后面的字符。(url去掉’#’hash部分,可用encodeURIComponent(location.href.split('#')[0]),先编码再传递)

封装调用

因为每个页面都要注入sdk,代码量巨大,建议封装全局变量。

转载于:https://www.cnblogs.com/songhongye/p/10107720.html

文章来源:https://blog.csdn.net/weixin_30740295/article/details/96866587
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://dhexx.cn/news/show-3058697.html

相关文章

PHP生成海报 文字描边,海报字体 怎么为海报字体添加描边样式?海报文字描边怎么做?海报字体描边样式制作...

今天是十月的最后一天啦,转眼2019年只剩下两个月了,这时间啊,走得真快,还没好好感受呢,都快要2020年了。而小编倒好,还觉得现在是2018年呢~哈哈。好啦,不说废话了,还是来看看今天的教…

Oracle的sessions和processes的数计算公式

Oracle的sessions和processes的数计算公式 原作者链接地址:http://blog.csdn.net/zengmuansha/article/details/7581771 Oracle的sessions和processes的关系是 sessions1.1*processes 5-----实验部分----Microsoft Windows [版本 5.2.3790](C) 版权所有 1985-2003 …

VMware 8.0下安装Gentoo Linux

VMware 8.0下安装Gentoo Linux首先,秀一下我的VMware配置1、CPU配置是单个双核2、内存配置是1024M3、显卡声卡是标准配置4、硬盘是20G SCSI硬盘(如果仅仅是安装Gentoo,标准8G就可以了,我后面需要安装一些应用,所以硬盘…

springboot 启动配置文件配置

使用spring.profiles.active来分区配置,比如dev、test、prod等环境 (1) 在application.properties中加入 spring.profiles.activedev (2) 通过命令行参数 java -jar app.jar --spring.profiles.activedev

php制作js文件下载,用JS在浏览器中创建下载文件_javascript技巧

但受限于浏览器,很多情况下我们都只能给出个链接,让用户点击打开-》另存为。如下面这个链接:用户点击这个链接的时候,浏览器会打开并显示链接指向的文件内容,显然,这并没有实现我们的需求。HTML5中给a标签增…

说唱天王 Eminem 自传《The Way I am》2

第四章 在我开始Rap之前,我就一直用话语"攻击"别人。 这要退回到我初中和高中时。8年级和我度过3年宝贵时光的9年级。我必须在"班级小丑"和腼腆的,总是被欺负的那个小孩之间做出选择。因此无论何时,只要我做出选择&#…

爬虫-概念普及篇

爬虫介绍引入 我们都知道,当前我们所处的时代是大数据的时代,在大数据时代,要进行数据分析,首先要有数据源,而学习爬虫,可以让我们获取更多的数据源,并且这些数据源可以按我们的目的进行采集。 …

idea中 在接口中如何直接跳转到该接口的是实现类中?

例如,我想跳转到UserInfoDao 这个接口的实现类中,操作如下: 把鼠标放到这个接口UserInfoDao 上面,右键,选择 GO To ,然后选择 Implementations,就可以直接跳转到 接口实现类中,或者直接把鼠标放…

蒜头君的排序

蒜头君的排序 题目大意 蒜头君是一个爱思考的好孩子,这一天他学习了冒泡排序,于是他就想,把一个乱序排列通过冒泡排序排至升序需要多少次交换,这当然难不倒他,于是他想来点刺激的,给定一个 1 \ldots n1…n …

git 命令详细

git是代码管理工具 github是基于git实现的代码管理平台 git --version 查看git版本 git remote -v 查看clone地址 git init 初始化git //全局设置 git config --global user.name sttan git config --global user.email 994518961qq.com git status 查看当前文件状态 需要添加…