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

 更新时间:2018年08月28日 09:31:55   作者:Aimee芊  
今天小编就为大家分享一篇Vue 应用中结合vux使用微信 jssdk的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue+axios+promise实际开发用法详解

    vue+axios+promise实际开发用法详解

    这篇文章主要介绍了vue+axios+promise实际开发用法详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • Vue源码解析之Template转化为AST的实现方法

    Vue源码解析之Template转化为AST的实现方法

    这篇文章主要介绍了Vue源码解析之Template转化为AST的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • vue滚动固定顶部及修改样式的实例代码

    vue滚动固定顶部及修改样式的实例代码

    这篇文章主要介绍了vue滚动固定顶部及修改样式,本文给大家提到了滚动固定位置有多种方法,感兴趣的朋友跟随小编一起看看吧
    2019-05-05
  • vue中使用ts配置的具体步骤

    vue中使用ts配置的具体步骤

    这篇文章主要介绍了vue中使用ts配置的具体步骤,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Vue 打包的静态文件不能直接运行的原因及解决办法

    Vue 打包的静态文件不能直接运行的原因及解决办法

    这篇文章主要介绍了Vue 打包的静态文件不能直接运行的原因及解决办法,帮助大家更好的理解和学习vue框架,感兴趣的朋友可以了解下
    2020-11-11
  • 基于Vue3实现图片拖拽上传功能

    基于Vue3实现图片拖拽上传功能

    前端开发中,用户体验是至关重要的,图像上传是许多 web 应用中经常需要的功能之一,为了提升用户的交互体验,拖拽上传功能可以减少用户的操作步骤,本文将介绍如何使用 Vue 3实现一个简单的图片拖拽上传功能,需要的朋友可以参考下
    2024-08-08
  • Vue MVVM模型超详细讲解

    Vue MVVM模型超详细讲解

    MVVM是Model-View-ViewModel的缩写,MVVM是一种设计思想,这篇文章主要介绍了Vue生命周期和MVVM框架,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-11-11
  • 详解windows下vue-cli及webpack 构建网站(四) 路由vue-router的使用

    详解windows下vue-cli及webpack 构建网站(四) 路由vue-router的使用

    本篇文章主要介绍了windows下vue-cli及webpack 构建网站(四) 路由vue-router的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • element table跨分页多选及回显的实现示例

    element table跨分页多选及回显的实现示例

    本文主要介绍了element table跨分页多选及回显的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • vue递归实现三级菜单

    vue递归实现三级菜单

    这篇文章主要为大家详细介绍了vue递归实现三级菜单,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05

最新评论