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对象。
exportdefault{ created(){ this.$wechat.onMenuShareTimeline({ title:'helloVUX' }) } }
我所使用的是组件外定义,组件内调用
引入对应的文件
importVuefrom'vue' import{WechatPlugin}from'vux' Vue.use(WechatPlugin)//使用微信插件
//微信分享 constwxShare=(obj,callback)=>{ //console.log(obj,callback); functiongetUrl(){ varurl=window.location.href; varlocationurl=url.split('#')[0]; //console.log(locationurl); returnlocationurl; } if(obj){ vartitle=obj.title==undefined||obj.title==null?'泉水系统':obj.title; varlink=obj.link==undefined||obj.link==null?window.location.href:obj.link; vardesc=obj.desc==undefined||obj.desc==null?'泉水系统':obj.desc; varimgUrl=obj.imgUrl==undefined||obj.imgUrl==null?'src/img/share.png':obj.imgUrl; vardebug=obj.debug==true?true:false; }else{ alert('请传分享参数'); } //微信分享 Vue.http.get("http://获取wx_token地址").then(response=>response.json()).then(data=>{ //console.log('微信微信',data) varwxdata=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路径' exportdefault{ name:'Home', data(){//选项/数import{ViewBox}from'vux' exportdefault{ name:'Home', data(){//选项/数据 return{ } }, methods:{//事件处理器 }, components:{//定义组件 }, created(){//生命周期函数 wxShare({ title:'分享标题',//分享标题 desc:'分享描述',//分享描述 link:window.location.href,//分享链接 imgUrl:'http://图片地址share.png',//分享图标 //debug:true },function(){//分享成功后的回调函数 }); } }
以上这篇Vue应用中结合vux使用微信jssdk的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。