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 事件执行检测代码
Dec 09 Javascript
jQuery1.6 类型判断实现代码
Sep 01 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
Jan 11 Javascript
jquery入门必备的基本认识及实例(整理)
Jun 24 Javascript
JavaScript中setInterval的用法总结
Nov 20 Javascript
JavaScript实现16进制颜色值转RGB的方法
Feb 09 Javascript
jQuery Dialog对话框事件用法实例分析
May 10 Javascript
使用3D引擎threeJS实现星空粒子移动效果
Sep 13 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
May 29 Javascript
封装一下vue中的axios示例代码详解
Feb 16 Javascript
Vue基于iview table展示图片实现点击放大
Aug 05 Javascript
vue实现图书管理系统
Dec 29 Vue.js
使用 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
BBS(php &amp; mysql)完整版(四)
2006/10/09 PHP
PHP三层结构(上) 简单三层结构
2010/07/04 PHP
解析PHP中$_FILES的使用以及注意事项
2013/07/05 PHP
php图片缩放实现方法
2014/02/20 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
WordPress伪静态规则设置代码实例
2020/12/10 PHP
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
js变换显示图片的实例
2013/04/16 Javascript
jquery得到font-size属性值实现代码
2013/09/30 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
node.js中的path.basename方法使用说明
2014/12/09 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
2015/04/07 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
Auto.js自动收取自己和好友蚂蚁森林能量脚本
2018/06/28 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
小程序实现留言板
2018/11/02 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
[46:00]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第一局
2016/03/03 DOTA
机器学习python实战之决策树
2017/11/01 Python
python数据处理 根据颜色对图片进行分类的方法
2018/12/08 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
介绍一下gcc特性
2012/01/20 面试题
恐龙的灭绝教学反思
2014/02/12 职场文书
人事专员职责
2014/02/22 职场文书
危爆物品安全大检查大整治工作方案
2014/05/03 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
2015年大学班级工作总结
2015/04/28 职场文书
超强台风观后感
2015/06/09 职场文书
生产车间管理制度
2015/08/04 职场文书
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL