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

本文共 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://kymml.baihongyu.com/

你可能感兴趣的文章
通过git远程管理自己本地的工程
查看>>
Python 数学操作符
查看>>
scala中的下划线_
查看>>
QTreeWidget 获取被双击的子项的层次路径
查看>>
如何调整工作激情
查看>>
数据仓库专题(10)-文本事实和杂项维度
查看>>
VC6下实现remove_reference的方法。
查看>>
数据备份和还原
查看>>
Angular企业级开发(3)-Angular MVC实现
查看>>
SMS系列之一:部署SMS2003 + SP3
查看>>
查看mysql进程--show processlist
查看>>
ProtecTIER网关演绎重复数据删除的硬道理
查看>>
Android 播放Gif 动画
查看>>
Android应用程序组件Content Provider应用实例(4)
查看>>
(原创)创建windows域---深入理解域概念
查看>>
虚幻4,BP写了一个简单的三线跑酷工程
查看>>
“10亿元身价”CEO的6个密码
查看>>
C++/CLI思辨录之内部指针的两面性
查看>>
Angular学习-指令入门
查看>>
Java 如何有效地避免OOM:善于利用软引用和弱引用
查看>>