背景

在vue中使用jssdk微信分享

weixin-js-sdk mint-ui需要安装npm install weixin-js-sdk mint-ui --save

mixins/wechat.js


  1. //weixin-js-sdk应用
  2. const wx = require('weixin-js-sdk')
  3. import { Toast } from 'mint-ui'
  4. export default {
  5. methods: {
  6. wechatShare(info) {
  7. // 判断苹果手机
  8. let _url = ''
  9. if (window.__wxjs_is_wkwebview === true) {
  10. _url = window.location.href.split('#')[0] || window.location.href
  11. } else {
  12. _url = window.location.href
  13. }
  14. // 访问后台接口获取微信参数
  15. this.$store
  16. .dispatch('GetWxParam', { url: encodeURIComponent(_url) })
  17. .then(res => {
  18. wx.config({
  19. debug: false,
  20. appId: res.data.appId, // 必填,公众号的唯一标识
  21. timestamp: res.data.timestamp, // 必填,生成签名的时间戳
  22. nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
  23. signature: res.data.signature, // 必填,签名,见附录1
  24. jsApiList: [
  25. 'previewImage',
  26. 'hideAllNonBaseMenuItem',
  27. 'showMenuItems',
  28. 'onMenuShareTimeline',
  29. 'onMenuShareAppMessage',
  30. 'chooseWXPay'
  31. ] // 必填,需要使用的 JS 接口列表,所有JS接口列表见附录2
  32. })
  33. })
  34. .catch(err => {
  35. console.log(err)
  36. })
  37. wx.ready(() => {
  38. const share_title = info.title
  39. const share_desc = info.desc
  40. const share_link = info.link
  41. const share_img = info.img
  42. wx.showOptionMenu()
  43. wx.onMenuShareTimeline({
  44. title: share_title, // 分享标题
  45. link: share_link, // 分享链接
  46. imgUrl: share_img, // 分享图标
  47. success: function() {
  48. Toast('已成功分享到朋友圈')
  49. },
  50. cancel: function() {
  51. Toast('已取消分享')
  52. }
  53. })
  54. wx.onMenuShareAppMessage({
  55. title: share_title, // 分享标题
  56. desc: share_desc, // 分享描述
  57. link: share_link, // 分享链接
  58. imgUrl: share_img, // 分享图标
  59. success: function() {
  60. Toast('已成功分享给您的朋友')
  61. },
  62. cancel: function() {
  63. Toast('已取消分享')
  64. }
  65. })
  66. })
  67. }
  68. }
  69. }

使用方法
import wxShare from '@/mixins/wechat' //引用
export default {


  1. mixins: [wxShare], //
  2. methods: {
  3. setShare() {
  4. const shareInfo = {
  5. title: `羽绒服低至199元!`,
  6. desc: `7月26日-8月3日,年中限时特惠,售完即止`,
  7. link: window.location.href,
  8. img: '.../logo.jpg'
  9. }
  10. // mixins
  11. this.wechatShare(shareInfo)
  12. },
  13. },
  14. created(){
  15. // 设置
  16. this.setShare()
  17. }
  18. }

来源:https://segmentfault.com/a/1190000015999815

vue 使用jssdk分享的更多相关文章

  1. vue实现微信分享朋友圈和朋友功能

    vue实现微信分享朋友圈和朋友功能 A-A+ haibao  2018-10-25  11  21  6.2 k  百度已收录  前端开发 温馨提示:本文共3536个字,读完预计9分钟. 这两天在开发 ...

  2. Vue微信自定义分享时安卓系统config:ok,ios系统config:invalid signature签名错误,或者安卓和ios二次分享时均config:ok但是分享无效的解决办法

    简述需求:要求指定页面可以进行微信自定义分享(自定义标题,描述,图片,链接),剩下的页面隐藏所有基础接口.二次分享依然可以正常使用,切换至其他页面也可以正常进行自定义分享. 这两天在做微信自定义分享的 ...

  3. 微信JS-SDK“分享信息设置”API及数字签名生成方法(NodeJS版本)

    原文:微信JS-SDK"分享信息设置"API及数字签名生成方法(NodeJS版本) 先上测试地址以示成功: 用微信打开下面地址测试 http://game.4gshu.com/de ...

  4. 微信jssdk分享链接给好友,图标只能自己看到,对方看不到!

    问题描述:调用微信jssdk分享接口时,所有参数均正常的情况下(排除参数错误的情况),分享给好友后,其中的小图标自己看得到,接收到分享的好友看不到小图标! (如上图所示!) 出现上述问题的原因:本人猜 ...

  5. 微信jssdk分享功能,jssdk成功调用,分享内容自定义失败

    前提:调用微信jssdk分享功能,通过微信开发者工具调试,调用正常,无任何报错信息. 问题:调用成功,且开发者工具正常显示,但是通过真机调试,分享出去后,自定义内容失效,为微信自动获取的默认内容!截止 ...

  6. 微信JSSDK分享朋友圈微信自定义分享接口

    服务项目 新手技术咨询 企业技术咨询 定制开发 服务说明 QQ有问必答 QQ.微信.电话 微信开发.php开发,网站开发,系统定制,小程序开发 价格说明 200元/月 1000/月 商议       ...

  7. 企业微信jssdk分享接口管理系统

    服务项目 新手技术咨询 企业技术咨询 定制开发 服务说明 QQ有问必答 QQ.微信.电话 微信开发.php开发,网站开发,系统定制,小程序开发 价格说明 200元/月 1000/月 商议       ...

  8. 微信JSSDK分享功能详解

    本文以微信分享到朋友圈,分享给微信好友为例为参考,进行调用测试,想添加其他的功能,自行查看开发人员文档即可 工欲善其事,必先利其器,好好利用下边的帮助工具,都是腾讯给开发人员的工具 1.微信开发者说明 ...

  9. jquery jssdk分享报错解决方法

    jssdk分享报错解决方法 一般都是参数传错了

随机推荐

  1. 【NOIP2015模拟11.3】IOIOI卡片占卜

    题目 K理事长很喜欢占卜,经常用各种各样的方式进行占卜.今天,他准备使用正面写着"I",反面写着"O"的卡片为今年IOI的日本代表队占卜最终的成绩. 占卜的方法 ...

  2. 弹性盒子FlexBox简介(二)

    弹性盒子属性 一.align-content属性 属性作用:用于修改flex-wrap属性行为.类似于justify-content,但它不是设置弹性子元素的对齐,而是设置各个行的对齐. 属性值: f ...

  3. 陨石坑之webapi 使用filter中如何结束请求流

    先看下正常的结束asp.net 请求流怎么写的 System.Web.HttpContext.Current.Response.Write(“end”); System.Web.HttpContext ...

  4. C. Almost Equal

    C. Almost Equal n个数字全排成一个圈,满足任意相邻n个之和之间最大最小值之差不超过1 n为偶数时 不存在 n为奇数,构造 #include<bits/stdc++.h> u ...

  5. MyISAM、InnoDB、Memory这3个常用引擎支持的索引类型

    表格对比了MyISAM.InnoDB.Memory这3个常用引擎支持的索引类型: 索引 MyISAM引擎 InnoDB引擎 Memory引擎 B-Tree索引 支持 支持 支持 HASH索引 不支持 ...

  6. (转)IDataGridViewEditingControl 接口 作用

    本文转载自:http://blog.csdn.net/zx13525079024/article/details/4814575 IDataGridViewEditingControl 接口 定义承载 ...

  7. 二十三、python中的time和datetime模块

    A.time模块   1. sleep():强制等待 import timeimport datetime print("start to sleep.....")time.sle ...

  8. C printf格式化输出 的跨平台

    printf()在不同的系统上,占位符的可能有不同的写法,如: %ld:long int, 32位平台4 bytes %lld: long long int, 32位平台8 bytes 可以考虑使用  ...

  9. if else 更优雅的写法(转)

    https://www.cnblogs.com/y896926473/articles/9675819.html

  10. 如何减小VMware虚拟机硬盘空间

    VMware是微软出品的目前最好的虚拟机件,利用虚拟机可轻松实现多系统同时运行.特别需要多个系统来完成不同功能的者更是需要,VMware是最好的选择,在这里介绍一些VMware虚拟机使用的小技巧,本文 ...