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 相关文章推荐
对象的类型:本地对象(1)
Dec 29 Javascript
jQuery判断元素是否是隐藏的代码
Apr 24 Javascript
javascript中定义私有方法说明(private method)
Jan 27 Javascript
JS实现n秒后自动跳转的两种方法
Nov 30 Javascript
微信小程序 wxapp内容组件 progress详细介绍
Oct 31 Javascript
jQuery图片轮播实现并封装(一)
Dec 03 Javascript
canvas滤镜效果实现代码
Feb 06 Javascript
原生js实现倒计时--2018
Feb 21 Javascript
EasyUI创建人员树的实例代码
Sep 15 Javascript
axios的拦截请求与响应方法
Aug 11 Javascript
微信小程序swiper实现文字纵向轮播提示效果
Jan 21 Javascript
JS实现简单打字测试
Jun 24 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
main.php
2006/12/09 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
laravel框架模板之公共模板、继承、包含实现方法分析
2019/08/30 PHP
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
jQuery插件实现控制网页元素动态居中显示
2015/03/24 Javascript
基于Javascript实现倒计时功能
2016/02/22 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
JS作用域深度解析
2016/12/29 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
bootstrap警告框示例代码分享
2017/05/17 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
2018/09/22 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
Python实现多线程抓取妹子图
2015/08/08 Python
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
Python Socket传输文件示例
2017/01/16 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
python回调函数中使用多线程的方法
2017/12/25 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
基于pycharm 项目和项目文件命名规则的介绍
2021/01/15 Python
Dower & Hall官网:英国小众轻奢珠宝品牌
2019/01/31 全球购物
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
应届生法律求职信
2013/10/22 职场文书
班组长岗位职责范本
2014/01/05 职场文书
大堂副理的岗位职责范文
2014/02/17 职场文书
2014年父亲节活动方案
2014/03/06 职场文书
财务科科长岗位职责
2014/03/10 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
goland设置颜色和字体的操作
2021/05/05 Golang