博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单页面路由工程使用微信分享及二次分享解决方案
阅读量:6084 次
发布时间:2019-06-20

本文共 2115 字,大约阅读时间需要 7 分钟。

wxShare 说明文档

单页面路由工程使用微信分享及二次分享解决方案

很多人在单页面工程中使用weixin jsSDK时 ,第一次调用正常, 路由切换时发现调用分享配置报错, 此时忽略了一点 ,在单页面路由的 url 发生变化时, 需要重现调用微信jsSDK分享配置;

wxShare除适用于 Vue 单页工程外, 也可以使用与其他单页工程例如 React,本示例主要展示如何在 Vue中使用;

微信 jssdk调用基本原理

1. (初始化页面,划重点)掉用 api 获取当前页面 url 授权的签名2. 配置微信分享 jssdk3. 路由切换时, 重新执行步骤2

1. 快速使用, 只需三步

示例参见 demo下 src/main.js

在工程入口文件引入 wxShare 文件

/*************** 步骤一 引入 微信 jssdk ************/let appInit=0;import wx from 'weixin-js-sdk';//配置授权apiwxShare.config.jsSDKAuth='/api/mobile/WeiXin/ecstoreSendJsSdk';
/*************** 第二步 初始化微信分享 ************/if (location.host != "localhost:8080") {  let sign_url = location.href.split("#")[0];  appInit++;  if (wx) {    wxShare.initWxShare(sign_url);  }}
/*************** 第三步 监听路由重置微信分享为默认 ************/router.afterEach(route => {  let url=location.href.split("#")[0];  if (!store) return;  if(appInit>1){    wxShare.resetWxShareConfig();  }  appInit++;})/*************** end 分割线 ************/

2. wxShare提供的方法

2.1 initWxShare()

初始化微信分享, 此时会调用内部方法 wxShareAuth, 请求 api 授权当前页面 url;

2.2 updateWxShareConfig()

更新微信分享配置内容, 例如, 在某个事件上主动调用此方法, 来更改微信分享配置的标题, 简述,链接或者封面图

2.3 resetWxShareConfig()

通常情况下, 在路由发生变化时, 希望已被更改过的分享配置, 重新重置为默认分享配置

2.4 configWXJSSDK();

调用微信jsSDK 完成分享配置

3. wxShare.config属性配置

配置名称 属性值 默认值
jsSDKAuth String ''
shareSign Object 下文shareSign
defaultWxShareConfig Object 下文defaultWxShareConfig
wxShareConfig Object 下文wxShareConfig
3.1 shareSign提供的配置
{  appid:"",  jsapi_ticket:"",  nonceStr:"",  signature:"",  timestamp:'',  url:"",}
3.2 defaultWxShareConfig
{  title: "默认分享配置title",  desc: "默认分享配置desc",  link: location.href.split("#")[0],  imgUrl: 'https://res.wx.qq.com/a/wx_fed/weixin_portal/res/static/img/dNEBuK6.png',  jsApiList:['onMenuShareTimeline', 'onMenuShareAppMessage', 'hideMenuItems', 'closeWindow'],  hideMenuList:['menuItem:editTag', 'menuItem:delete', 'menuItem:originPage', 'menuItem:readMode', 'menuItem:openWithQQBrowser', 'menuItem:openWithSafari', 'menuItem:share:email', 'menuItem:share:brand']}
3.3 wxShareConfig
wxShareConfig:{}

其他

/wxShare.js 为插件源码文件, 可根据自己需求自行更改

demo 工程只需 clone 本工程,

npm installnpm run serve

npm依赖插件

  • weixin-js-sdk
  • axios

转载地址:http://jlkwa.baihongyu.com/

你可能感兴趣的文章
jdbc报java.lang.ClassNotFoundException: com.mysql.jdbc.Drive
查看>>
从地址栏输入url到页面显示的步骤
查看>>
iOS快速集成支付宝
查看>>
深入理解编译注解(五)RetentionPolicy.SOURCE 和 RetentionPolicy.CLASS区别讨论
查看>>
nosql数据库:mongodb,redis,memcached,其优缺点和使用应用场景
查看>>
移动端 输入框 如果类型是number,用户也可以输入汉字和字母
查看>>
Security
查看>>
【排序算法】基于交换的排序算法(冒泡排序和快速排序)
查看>>
iOS 地图定位 定位
查看>>
Matplotlib 画廊
查看>>
Node.js 服务器
查看>>
Redis 高级主题之HyperLogLog
查看>>
openstack从入门到放弃
查看>>
HDU 4803 Poor Warehouse Keeper (贪心+避开精度)
查看>>
JVM
查看>>
微服务学习笔记
查看>>
UDP示例
查看>>
数据结构12-AVL树
查看>>
iOS开发之BLE(一)——理论知识
查看>>
Sql 查询锁
查看>>