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