Vue 应用中结合vux使用微信 jssdk的方法


Posted in Javascript onAugust 28, 2018

vux微信分享说明

分享接口只有认证公众号才能使用,域名必须备案且在微信后台设置。

先确认已经满足使用jssdk的要求再进行开发。

引入

在 main.js 中全局引入:

import { WechatPlugin } from 'vux'
Vue.use(WechatPlugin)

console.log(Vue.wechat) // 可以直接访问 wx 对象。

组件外使用

考虑到你需要在引入插件后调用config方法进行配置,你可以通过 Vue.wechat 在组件外部访问wx对象。

jssdk需要请求签名配置接口,你可以直接使用 VUX 基于 Axios 封装的 AjaxPlugin

import { WechatPlugin, AjaxPlugin } from 'vux'
Vue.use(WechatPlugin)
Vue.use(AjaxPlugin)

Vue.http.get('/api', ({data}) => {
 Vue.wechat.config(data.data)
})

组件中使用

那么之后任何组件中都可以通过 this.$wechat 访问到 wx 对象。

export default {
 created () {
 this.$wechat.onMenuShareTimeline({
  title: 'hello VUX'
 })
 }
}

我所使用的是组件外定义,组件内调用

引入对应的文件

import Vue from 'vue'
import { WechatPlugin } from 'vux'
Vue.use(WechatPlugin)//使用微信插件
//微信分享
const wxShare = (obj,callback)=>{
 // console.log(obj,callback);
 function getUrl(){
  var url = window.location.href;
  var locationurl = url.split('#')[0];
  //console.log(locationurl);

  return locationurl;
 }
 if(obj){
  var title = obj.title==undefined||obj.title==null?'泉水系统':obj.title;
  var link = obj.link==undefined||obj.link==null?window.location.href:obj.link;
  var desc = obj.desc==undefined||obj.desc==null?'泉水系统':obj.desc;
  var imgUrl = obj.imgUrl==undefined||obj.imgUrl==null?'src/img/share.png':obj.imgUrl;
  var debug = obj.debug==true?true:false;
 }else{
  alert('请传分享参数');
 }
 //微信分享
 Vue.http.get("http://获取wx_token地址").then(response => response.json()).then(data => {
  // console.log('微信微信',data)
  var wxdata = data;
  wxdata.debug = debug;
  wxdata.jsApiList= [
   // 所有要调用的 API 都要加到这个列表中
   'onMenuShareTimeline',//分享到朋友圈
   'onMenuShareAppMessage',//分享给朋友
   'onMenuShareQQ',//分享到QQ
   'onMenuShareQZone',//分享到QQ空间
   'onMenuShareWeibo'//分享到腾讯微博
  ];
  Vue.wechat.config(wxdata);


  Vue.wechat.ready(function () {
   //分享到朋友圈
   Vue.wechat.onMenuShareTimeline({
    title:title, // 分享标题
    link: link, // 分享链接
    desc: desc, // 分享描述
    imgUrl:imgUrl, // 分享图标
    success: function () {
     callback && callback();
     // 用户确认分享后执行的回调函数
    },
    cancel: function () {
     // 用户取消分享后执行的回调函数
    }
   });
   //分享到朋友
   Vue.wechat.onMenuShareAppMessage({
    title: title, // 分享标题
    desc: desc, // 分享描述
    link: link, // 分享链接
    imgUrl: imgUrl, // 分享图标
    type: '', // 分享类型,music、video或link,不填默认为link
    dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
    success: function () {
     // 用户确认分享后执行的回调函数
     callback && callback();
    },
    cancel: function () {
     // 用户取消分享后执行的回调函数
    }
   });
   //分享到QQ
   Vue.wechat.onMenuShareQQ({
    title: title, // 分享标题
    desc: desc, // 分享描述
    link: link, // 分享链接
    imgUrl: imgUrl, // 分享图标
    success: function () {
     // 用户确认分享后执行的回调函数
     callback && callback();
    },
    cancel: function () {
     // 用户取消分享后执行的回调函数
    }
   });

   //分享到QQ空间
   Vue.wechat.onMenuShareQZone({
    title: title, // 分享标题
    desc: desc, // 分享描述
    link: link, // 分享链接
    imgUrl: imgUrl, // 分享图标
    success: function () {
     // 用户确认分享后执行的回调函数
     callback && callback();
    },
    cancel: function () {
     // 用户取消分享后执行的回调函数
    }
   });

   //分享到腾讯微博
   Vue.wechat.onMenuShareWeibo({
    title: title, // 分享标题
    desc: desc, // 分享描述
    link: link, // 分享链接
    imgUrl: imgUrl, // 分享图标
    success: function () {
     // 用户确认分享后执行的回调函数
     callback && callback();
    },
    cancel: function () {
     // 用户取消分享后执行的回调函数
    }
   });
  })
 })
}

输出

export {wxShare}

组件内调用

import { wxShare } from '封装wxShare函数的js路径'
 export default {
  name:'Home',
  data() { //选项 / 数import { ViewBox } from 'vux'
 export default {
  name:'Home',
  data() { //选项 / 数据
   return {

   }
  },
  methods: { //事件处理器

  },
  components: { //定义组件

  },
  created() { //生命周期函数
   wxShare({
    title: '分享标题', // 分享标题
    desc: '分享描述', // 分享描述
    link: window.location.href, // 分享链接
    imgUrl: 'http://图片地址share.png', // 分享图标
   // debug:true
   },function(){//分享成功后的回调函数

   });
  }

 }

以上这篇Vue 应用中结合vux使用微信 jssdk的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 事件绑定问题
Jan 01 Javascript
JS 两个字符串时间的天数差计算
Aug 25 Javascript
深入浅出理解javaScript原型链
May 09 Javascript
JavaScript中的pow()方法使用详解
Jun 15 Javascript
js实现商城星星评分的效果
Dec 29 Javascript
BootStrap3中模态对话框的使用
Jan 06 Javascript
js实现文字无缝向上滚动
Feb 16 Javascript
JavaScript事件方法(实例讲解)
Jun 27 Javascript
javascript填充默认头像方法
Feb 22 Javascript
vue路由懒加载的实现方法
Mar 12 Javascript
vue点击按钮动态创建与删除组件功能
Dec 29 Javascript
使用 Vue-TCB 快速在 Vue 应用中接入云开发的方法
Feb 10 Javascript
对vux点击事件的优化详解
Aug 28 #Javascript
使用D3.js构建实时图形的示例代码
Aug 28 #Javascript
微信小程序手机号码验证功能的实例代码
Aug 28 #Javascript
AngularJS 事件发布机制
Aug 28 #Javascript
vue.js 添加 fastclick的支持方法
Aug 28 #Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
Aug 28 #Javascript
对vue事件的延迟执行实例讲解
Aug 28 #Javascript
You might like
PHP安装全攻略:APACHE
2006/10/09 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
php去除换行(回车换行)的三种方法
2014/03/26 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
2020/08/11 PHP
document.designMode的功能与使用方法介绍
2007/11/22 Javascript
Javascript 学习笔记 错误处理
2009/07/30 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
jQuery实现径向动画菜单效果
2015/07/17 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
2015/08/28 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
详解angular中通过$location获取路径(参数)的写法
2017/03/21 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
[00:59]DOTA2荣耀之路1:Doom is back!weapon X!
2018/05/22 DOTA
python实现在windows下操作word的方法
2015/04/28 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
详解Java中一维、二维数组在内存中的结构
2021/02/11 Python
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
瑞典度假品牌:OAS
2019/05/28 全球购物
2015年安全生产月活动总结
2015/03/26 职场文书
表彰大会新闻稿
2015/07/17 职场文书
JavaScript原型链详解
2021/11/07 Javascript
python playwrigh框架入门安装使用
2022/07/23 Python