返回顶部
首页 > 资讯 > 前端开发 > node.js >vue做微信自定义分享的问题有哪些
  • 792
分享到

vue做微信自定义分享的问题有哪些

2024-04-02 19:04:59 792人浏览 八月长安
摘要

这篇文章主要为大家展示了“Vue做微信自定义分享的问题有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue做微信自定义分享的问题有哪些”这篇文章吧。问题及

这篇文章主要为大家展示了“Vue微信自定义分享的问题有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue做微信自定义分享的问题有哪些”这篇文章吧。

问题及解决方式

hash模式

在微信的官方文档中,提到关于jsapi_ticket的签名算法中,生成签名的时候,当前网页的URL,不包含#及其后面的部分;而且自定义分享出去的链接,微信也会主动往链接的后面拼接一些参数,比如from之类的;这也就造成了一些问题,比如要么签名不正确,要么分析那个出去的链接,二次分享又回出问题。

那么我这里的解决方式就是直接不用hash模式了,问题又多,链接也不好看,直接使用mode: 'history'。

切换页面签名失效

这个在网上也有很多解决方案。由于我这里的项目里不需要细致到每个页面都必须做自定义分享,只需要在触发某些条件的时候触发自定义分享,所以是这么做的。

在main.js文件中编写自定义分享的函数逻辑;

// 微信自定义分享
Vue.prototype.wxShare = async function ({title , desc , link = window.location.href,imgUrl ,success}) {
  let that = this;
  // 当前页面地址
  let url = window.location.href;
  // 调用后端服务获取微信签名内容
  let {data: wxCfg} = await that.ajax({api: that.api.wechatGetWxSdk, data: {url: url}})
  if (!wx || !wxCfg) return;
  wx.config({
    debug: false,
    appId: wxCfg.appId,
    timestamp: wxCfg.timestamp,
    nonceStr: wxCfg.nonceStr,
    signature: wxCfg.signature,
    jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareTimeline', 'onMenuShareAppMessage']
  });
  wx.ready(function () {
    wx.updateAppMessageShareData({
      title: title, desc: desc, link: link, imgUrl: imgUrl,
      success: function () {
        success ? success() : ''
      }
    })
    wx.updateTimelineShareData({
      title: title, link: link, imgUrl: imgUrl,
      success: function () {
        success ? success() : ''
      }
    })
    wx.onMenuShareTimeline({
      title: title, link: link, imgUrl: imgUrl,
      success: function () {
        success ? success() : ''
      }
    })
    wx.onMenuShareAppMessage({
      title: title, desc: desc, link: link, imgUrl: imgUrl,
      success: function () {
        success ? success() : ''
      }
    })
  })
  wx.error(function (res) {
    that.$toast('请刷新当前页面后重试')
  });
}

在需要调用自定义分享的时候,就这样调用

await this.wxShare({
  title: '分享的标题', 
  desc: '分享的摘要',
  link: '分享出去的链接地址',
  imgUrl: '分享的封面图',
  success: function(){
    // 调用成功的回调
  }
})

IOS路由跳转之后依然签名失效

上面的问题解决之后,项目上线了,很多iOS的用户反馈个别页面还是无法成功调用自定义分享,前期的解决方案很暴力...怼用户,让用户刷新一下当前页面,诶不成想,就好了!

后来越来越多的反馈..没办法了,必须得想想辙解决一下...

就开始找原因,发现Android一点问题没有。

但是在ios上,无论路由跳转多少次,复制出来的链接都是首次进入的页面的链接,于是改造一下上面的调用函数。
首先记录首次进入页面的url

Vue.prototype.firstUrl = window.location.href;

然后在wxShare函数中加了一个判断。

大致意思就是判断当前设备是不是ios,如果是,签名用的url就使用firstUrl,如果不是,就使用window.location.href

然后上线,发现就没有再出过问题咯。

以上是“vue做微信自定义分享的问题有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网node.js频道!

--结束END--

本文标题: vue做微信自定义分享的问题有哪些

本文链接: https://lsjlt.com/news/76382.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue做微信自定义分享的问题有哪些
    这篇文章主要为大家展示了“vue做微信自定义分享的问题有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue做微信自定义分享的问题有哪些”这篇文章吧。问题及...
    99+
    2024-04-02
  • vue做移动端微信公众号遇到的问题有哪些
    小编给大家分享一下vue做移动端微信公众号遇到的问题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第一坑:微信分享导致安卓...
    99+
    2024-04-02
  • vue中有哪些自定义指令
    这篇文章主要介绍“vue中有哪些自定义指令”,在日常操作中,相信很多人在vue中有哪些自定义指令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中有哪些自定义指令”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-22
  • ThinkPHP5集成JS-SDK实现微信自定义分享功能
    微信链接分享给好友时能够自定义标题、简介和logo,现将ThinkPHP5集成JS-SDK实现微信自定义分享功能的过程整理成文。 Jssdk类库 1、文件名及位置 名字:Jssdk....
    99+
    2023-03-11
    ThinkPHP5集成JS-SDK实现微信自定义分享功能 微信自定义分享功能
  • vue自定义指令的方法有哪些
    在vue中自定义指令的方法有:语法:Vue.directive(id, definition);1.自定义全局指令;2.自定义私有指令;在vue中自定义指令的方法有以下两种vue自定义指令语法:Vue.directive(id, ...
    99+
    2024-04-02
  • Vue实用的自定义指令有哪些
    这篇文章主要讲解了“Vue实用的自定义指令有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue实用的自定义指令有哪些”吧!前言:Vue自定义指令有全局注册和局部注册两种方式。先来看看注...
    99+
    2023-06-29
  • 关于微信小程序自定义tabbar问题详析
    目录1、首先按照官方组件在app.json中定义tabbar2、在项目根目录创建自定义tabbar组件3、组件内容如下:4、在pages下的各个页面组件引入tabbar总结1、首先按...
    99+
    2024-04-02
  • 微信小程序自定义tabbar问题怎么解决
    这篇文章主要介绍“微信小程序自定义tabbar问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序自定义tabbar问题怎么解决”文章能帮助大家解决问题。1、首先按照官方组件在app...
    99+
    2023-06-29
  • Vue中有哪些常用的自定义指令
    Vue中有哪些常用的自定义指令,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在 Vue,除了核心功能默认内置的指令 ( v-model 和...
    99+
    2024-04-02
  • Vue 非常实用的自定义指令分享
    目录1.v-copy2.v-longpress3.v-debounce4.v-emoji5.v-LazyLoad6.v-permission7.vue-waterMarker8.v-...
    99+
    2024-04-02
  • 微信JS-SDK中updateAppMessageShareData安卓不能自定义分享怎么办
    这篇文章主要介绍了微信JS-SDK中updateAppMessageShareData安卓不能自定义分享怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大...
    99+
    2024-04-02
  • ThinkPHP5怎么集成JS-SDK实现微信自定义分享功能
    今天小编给大家分享一下ThinkPHP5怎么集成JS-SDK实现微信自定义分享功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-07-05
  • 微信小程序常见问题有哪些
    这篇文章主要介绍了微信小程序常见问题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信小程序 常见问题:一:项目结构微信小程序项目结构...
    99+
    2024-04-02
  • vue自定义keepalive组件的问题解析
    目录vue自定义keepalive组件为什么会出现这种情况呢如何解决这个问题呢问题知道了怎么解决呢思路有了撸代码如何使用主题说完了,整点其他的vue自定义keepalive组件 前一...
    99+
    2024-04-02
  • vue自定义组件的注册方式有哪些
    这篇文章主要介绍“vue自定义组件的注册方式有哪些”,在日常操作中,相信很多人在vue自定义组件的注册方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue自定义组件的注册方式有哪些”的疑惑有所帮助!...
    99+
    2023-07-04
  • Vue自定义指令directive的使用方法分享
    1. 一个指令定义对象可以提供如下几个钩子函数(均为可选) bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。 inserted:被绑定元素插入父节...
    99+
    2023-05-15
    Vue自定义指令directive使用 Vue自定义指令directive Vue directive
  • 微信小程序做二级分销的用途有哪些
    这篇文章的内容主要围绕微信小程序做二级分销的用途有哪些进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!  现如今,小程序也成为目前各个商家运用的产品,...
    99+
    2023-06-26
  • css定义声明的做法有哪些
    这篇文章主要介绍了css定义声明的做法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 假定要界说不止一个申明,则需要用分号将每一个...
    99+
    2024-04-02
  • 解决Discuz微信分享无法显示的问题
    标题:解决Discuz微信分享无法显示的问题,需要具体代码示例 随着移动互联网的发展,微信成为了人们日常生活中不可或缺的一部分。在网站开发中,为了提升用户体验和扩大网站的曝光度,很多站...
    99+
    2024-03-09
    微信 分享 discuz
  • Java自定义equals产生的问题分析
    目录Java自定义equals注意事项logback.xml配置maxFileSize单位问题SpringCloud gateway项目引入druidShell编写脚本Java自定义...
    99+
    2023-01-30
    Java自定义equals Java equals
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作