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 11 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
Dec 18 Javascript
Bootstrap php制作动态分页标签
Dec 23 Javascript
jQuery Masonry瀑布流插件使用方法详解
Jan 18 Javascript
详解angular笔记路由之angular-router
Sep 12 Javascript
Js利用console计算代码运行时间的方法示例
Sep 24 Javascript
vue中keep-alive的用法及问题描述
May 15 Javascript
Vuejs+vue-router打包+Nginx配置的实例
Sep 20 Javascript
利用原生的JavaScript实现简单拼图游戏
Nov 18 Javascript
JavaScript变量基本使用方法实例分析
Nov 15 Javascript
JS call()及apply()方法使用实例汇总
Jul 11 Javascript
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
Apr 30 Vue.js
对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记录日志的实现代码
2011/08/08 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
各种常用的JS函数整理
2013/10/25 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
Javascript实现检测客户端类型代码封包
2015/12/03 Javascript
学习JavaScript设计模式之装饰者模式
2016/01/19 Javascript
jQuery 3 中的新增功能汇总介绍
2016/06/12 Javascript
激动人心的 Angular HttpClient的源码解析
2017/07/10 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
video.js 一个页面同时播放多个视频的实例代码
2018/11/27 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
使用70行Python代码实现一个递归下降解析器的教程
2015/04/17 Python
Python中特殊函数集锦
2015/07/27 Python
解决python3中解压zip文件是文件名乱码的问题
2018/03/22 Python
Python 新建文件夹与复制文件夹内所有内容的方法
2018/10/27 Python
python学习开发mock接口
2019/04/28 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
python 实现任务管理清单案例
2020/04/25 Python
Python dict的常用方法示例代码
2020/06/23 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
家用个人磨皮机:Trophy Skin
2017/03/30 全球购物
美国半成品食材配送服务商:Home Chef
2018/01/25 全球购物
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
database面试题
2013/03/28 面试题
会计毕业生自荐信
2013/11/21 职场文书
保密工作目标责任书
2014/07/28 职场文书
2015年度对口支援工作总结
2015/07/22 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python
Python OpenCV超详细讲解基本功能
2022/04/02 Python