vue实现微信分享朋友圈,发送朋友的示例讲解


Posted in Javascript onFebruary 10, 2018

首先下载微信jssdk引入项目中,这里我就不说怎么去安装了,如果不会的可以看一下npm教程和es6的教程。

第一步,引入微信jssdk,此处我是通过下载微信jssdk,然后用webpack引入进项目的。

第二步,获取详情数据,渲染页面。

第三步,获取详情数据成功后再获取微信签名,token等配置信息。

第四步,通过api配置所想要的功能

代码:

<template>
 <div class="details">
 <player :videoUrl="details.videoUrl" :coverUrl="details.coverUrl" :videoId="details.videoId"/>
 <div class="description">
  <span class="label" :style="{backgroundColor: details.videoLabelColor}">{{details.videoLabel}}</span>
  <p class="title">{{details.videoTitle}}</p>
  <p class="info">
  <span>{{details.mtime}}</span>
  <i class="iconfont icon--"></i>
  {{details.videoPlayTimes}}
  </p>
  <p class="summary">简介</p>
  <p class="article ql-editor" v-html="details.videoDescription"></p>
 </div>
 </div>
</template>
<script>
import player from '@/components/player'
import { videoDtails, getApp } from '@/config/api'
/* eslint-disable no-undef */
export default {
 components: {
 player
 },
 data () {
 return {
  details: {},
  appId: '',
  signature: '',
  timestamp: '',
  nonceStr: ''
 }
 },
 beforeDestroy () {
 document.querySelector('.htmlTitle').text = 'title'
 },
 mounted () {
 // 获取详情数据<span class="space" style="white-space:pre;display:inline-block;text-indent:2em;line-height:inherit;">let url = window.location.href.split("#")[0]</span>
 this.$http.get(this, videoDtails, {videoId: this.$route.query.id}, res => {
  this.details = res
  document.querySelector('.htmlTitle').text = this.details.videoTitle
  this.$http.get(this, getApp, {url: url, refresh: true}, res => {
  this.appId = res.appId
  this.signature = res.signature
  this.timestamp = res.timestamp
  this.nonceStr = res.nonceStr
  this.shard(url)
  })
 })
 },
 methods: {
 shard (url) {
  wx.config({
  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  appId: this.appId, // 必填,公众号的唯一标识
  timestamp: this.timestamp, // 必填,生成签名的时间戳
  nonceStr: this.nonceStr, // 必填,生成签名的随机串
  signature: this.signature, // 必填,签名,见附录1
  jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
  })
  wx.onMenuShareTimeline({
  title: this.details.videoTitle, // 分享标题
  link: url+'#/...', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
  imgUrl: this.details.coverUrl, // 分享图标
  success () {
   alert('分享朋友圈成功')
   // 用户确认分享后执行的回调函数
  },
  cancel () {
   // 用户取消分享后执行的回调函数
  }
  })
  wx.onMenuShareAppMessage({
  title: this.details.videoTitle, // 分享标题
  desc: this.details.videoTitle, // 分享描述
  link: url+'#/...', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
  imgUrl: this.details.coverUrl, // 分享图标
  type: 'video', // 分享类型,music、video或link,不填默认为link
  dataUrl: this.details.videoUrl, // 如果type是music或video,则要提供数据链接,默认为空
  success: function () {
   alert('分享给朋友成功')
   // 用户确认分享后执行的回调函数
  },
  cancel: function () {
   // 用户取消分享后执行的回调函数
  }
  })
 }
 }
}
</script>
<style lang="less" scoped>
.details {
 overflow: hidden;
 .description {
 padding: 10px;
 .label {
  display: inline-block;
  padding:0 10px;
  height: 22px;
  line-height: 22px;
  color: #fff;
  font-size: 12px;
  text-align: center;
 }
 .title {
  line-height: 30px;
  font-size: 18px;
 }
 .info {
  line-height: 26px;
  color: #949494;
  span {
  margin-right: 15px;
  }
  .iconfont {
  font-size: 12px;
  }
 }
 .summary {
  margin-top: 20px;
  color: #4b4b4b;
  font-size: 16px;
 }
 .article {
  margin-top: 10px;
 }
 }
}
</style>

以上这篇vue实现微信分享朋友圈,发送朋友的示例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery+json 通用三级联动下拉列表
Apr 19 Javascript
ExtJs事件机制基本代码模型和流程解析
Oct 24 Javascript
Web开发者必备的12款超赞jQuery插件
Dec 03 Javascript
String.prototype实现的一些javascript函数介绍
Nov 22 Javascript
JavaScript数组迭代器实例分析
Jun 09 Javascript
JavaScript制作简单的日历效果
Mar 10 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
Apr 26 Javascript
Vue调试神器vue-devtools安装方法
Dec 12 Javascript
用jquery获取select标签中选中的option值及文本的示例
Jan 25 jQuery
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
Jul 26 Javascript
layui自己添加图片按钮并点击跳转页面的例子
Sep 14 Javascript
JS实现扫雷项目总结
May 19 Javascript
使用 vue.js 构建大型单页应用
Feb 10 #Javascript
javascript中的隐式调用
Feb 10 #Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
Feb 10 #Javascript
webpack之devtool详解
Feb 10 #Javascript
React组件refs的使用详解
Feb 09 #Javascript
详解vue-cli项目中的proxyTable跨域问题小结
Feb 09 #Javascript
使用express搭建一个简单的查询服务器的方法
Feb 09 #Javascript
You might like
WAR3重制版DOTA 5V5初体验
2020/04/09 DOTA
php rsa加密解密使用详解
2015/01/14 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
php文件读取方法实例分析
2015/06/20 PHP
laravel5.6实现数值转换
2019/10/23 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
JS代码判断IE6,IE7,IE8,IE9的函数代码
2013/08/02 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
JS简单模拟触发按钮点击功能的方法
2015/11/30 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
Mint UI 基于 Vue.js 移动端组件库
2017/11/07 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
Python实现读取json文件到excel表
2017/11/18 Python
rabbitmq(中间消息代理)在python中的使用详解
2017/12/14 Python
Python实现全排列的打印
2018/08/18 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
Python逐行读取文件中内容的简单方法
2019/02/26 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
2019/11/29 Python
Python如何实现定时器功能
2020/05/28 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
鲜花方阵解说词
2014/02/13 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
项目投资意向书
2014/04/01 职场文书
中国梦演讲稿教师篇
2014/04/23 职场文书
北京申奥口号
2014/06/19 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书
零基础学java之循环语句的使用
2022/04/10 Java/Android
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript