关于在vue-cli中使用微信自动登录和分享的实例


Posted in Javascript onJune 22, 2017

(以下所有接口由后台提供)

一、微信自动登录

//定义事件
 methods:{
   //判断是否微信登陆 是不是微信浏览器
  isWeiXin() {
   let ua = window.navigator.userAgent.toLowerCase();
   console.log(ua);//mozilla/5.0 (iphone; cpu iphone os 9_1 like mac os x) applewebkit/601.1.46 (khtml, like gecko)version/9.0 mobile/13b143 safari/601.1
   if (ua.match(/MicroMessenger/i) == 'micromessenger') {
   return true;
   } else {
   return false;
   }
  },
  test(){
    if(this.isWeiXin()){
    //微信登录,接口由后台定义
     this.$http.get('/wx/index/login/type/2').then((res) => {  
      if(res.data.code==0){  //微信登录成功跳转个人中心
        this.$router.push({
          name:'UserHome',
        })
      }else{        //微信登录失败,使用填写信息登录
        this.$router.push({
          name:'Login',
        })
      }
     })
  }
//页面加载后执行
 mounted(){
   if(this.isWeiXin()){  //是来自微信内置浏览器
    // 获取微信信息,如果之前没有使用微信登陆过,将进行授权登录
    this.$http.get(this.$root.api+"/index/index/wx_info").then((res) => {
     if(res.data.code!=0){
       location.href='/wx/index/wxAutoLogin';
     }
    })
   }
 }

 二、微信分享

methods:{
  //判断是否微信登陆
  isWeiXin() {
   let ua = window.navigator.userAgent.toLowerCase();
   console.log(ua);//mozilla/5.0 (iphone; cpu iphone os 9_1 like mac os x) applewebkit/601.1.46 (khtml, like gecko)version/9.0 mobile/13b143 safari/601.1
   if (ua.match(/MicroMessenger/i) == 'micromessenger') {
   return true;
   } else {
   return false;
   }
  },
  //微信分享使用方法
  wxInit(sd){
   let links='http://www.kspxzx.com/index/index/wxshare_choiceOk/identity/Student/courseID/'+this.courseID+'/appointment_code/'+this.appointment_code;  //分享出去的链接
   let title='学车训练课程分享';  //分享的标题
   let desc=' 教练名字:'+this.codeName+' 所在驾校:'+this.drive+' 训练日期:'+this.date+' 训练项目:'+this.proje; //分享的详情介绍
     wx.config({
       debug: false,
       appId: sd.appId,
       timestamp: sd.timestamp,
       nonceStr: sd.nonceStr,
       signature: sd.signature,
       jsApiList: [
         'onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo'
       ]
     }); 
     wx.ready(function () {
      // alert("done")
      // alert(title)
      wx.onMenuShareTimeline({
        title: title, // 分享标题
        link:links, // 分享链接'
        imgUrl: sd.cover, // 分享图标
        success: function () {
          // 分享纪录
          shareRecord();
          alert("分享到朋友圈成功")
        },
        cancel: function () {
          alert("分享失败,您取消了分享!")
        }
      });
      // wx.onMenuShareAppMessage({
      //   title: title, // 分享标题
      //   desc: description, // 分享描述
      //   link: link, // 分享链接
      //   imgUrl: cover, // 分享图标
      //   success: function () {
      //     alert("成功分享给朋友")
      //   },
      //   cancel: function () {
      //     alert("分享失败,您取消了分享!")
      //   }
      // });

      //微信分享菜单测试
      wx.onMenuShareAppMessage({
        title:title, // 分享标题
        desc: desc, // 分享描述
        link: links, // 分享链接
        imgUrl: sd.cover, // 分享图标
        success: function () {
          // 分享纪录
          shareRecord();
          alert("成功分享给朋友")
        },
        cancel: function () {
          alert("分享失败,您取消了分享!")
        }
      });

      wx.onMenuShareQQ({
        title:title, // 分享标题
        desc: desc, // 分享描述
        link:links, // 分享链接
        imgUrl: sd.cover, // 分享图标
        success: function () {
          // 分享纪录
          shareRecord();
          alert("成功分享给QQ")
        },
        cancel: function () {
          alert("分享失败,您取消了分享!")
        }
      });
      wx.onMenuShareWeibo({
        title:title, // 分享标题
        desc: desc, // 分享描述
        link: links, // 分享链接
        imgUrl: sd.cover, // 分享图标
        success: function () {
          // 分享纪录
          shareRecord();
          alert("成功分享给朋友")
        },
        cancel: function () {
          alert("分享失败,您取消了分享!")
        }
      });
     });
     wx.error(function(res){
       // alert("error")
       // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
     });
  },

 },
mounted(){// 微信分享  'http://www.kspxzx.com/'
    let old_this=this;
    if(this.isWeiXin()){
      var url = "/Index/index/wxShare";  //后台接口
      var data = {url:'http://www.kspxzx.com/'}   //当前网页链接,必须跟当前页面链接一样,单页面则以首页链接为准
      $.post(url,data,function(res){
        if(res.code == 0){
          // 调用微信分享
          old_this.wxInit(res.data);
        }
      });
    }
   };

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
在网页中屏蔽快捷键
Sep 06 Javascript
JQuery EasyUI 对话框的使用方法
Oct 24 Javascript
判断客户浏览器是否支持cookie的示例代码
Dec 23 Javascript
JS替换文本域内的回车示例
Feb 18 Javascript
javascript事件冒泡详解和捕获、阻止方法
Apr 12 Javascript
jQuery修改CSS伪元素属性的方法
Jul 30 Javascript
JavaScript动态创建link标签到head里的方法
Dec 22 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
Apr 15 Javascript
基于vue2实现上拉加载功能
Nov 28 Javascript
微信小程序实现传参数的几种方法示例
Jan 10 Javascript
vue接入腾讯防水墙代码
May 07 Javascript
js实现淘宝首页的banner栏效果
Nov 26 Javascript
详解vue 配合vue-resource调用接口获取数据
Jun 22 #Javascript
vue使用stompjs实现mqtt消息推送通知
Jun 22 #Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
Jun 22 #Javascript
详解用webpack2搭建angular2的项目
Jun 22 #Javascript
vue2.0实现分页组件的实例代码
Jun 22 #Javascript
纯JS实现只能输入数字的简单代码
Jun 21 #Javascript
详解ElementUI之表单验证、数据绑定、路由跳转
Jun 21 #Javascript
You might like
E路文章系统PHP
2006/12/11 PHP
DedeCMS dede_channeltype表字段注释
2010/04/07 PHP
php HtmlReplace输入过滤安全函数
2010/07/03 PHP
AJAX架构之Dojo篇
2007/04/10 Javascript
javascript AutoScroller 函数类
2009/05/29 Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
2014/03/20 Javascript
基于jquery插件实现拖拽删除图片功能
2020/08/27 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
JS留言功能的简单实现案例(推荐)
2016/06/23 Javascript
AngularJS ng-blur 指令详解及简单实例
2016/07/30 Javascript
利用JS判断客户端类型你应该知道的四种方法
2017/12/22 Javascript
vuejs实现递归树型菜单组件
2018/01/13 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
JavaScript原生数组函数实例汇总
2020/10/14 Javascript
Python编码爬坑指南(必看)
2016/06/10 Python
Python自动化测试ConfigParser模块读写配置文件
2016/08/15 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
python对一个数向上取整的实例方法
2020/06/18 Python
python3访问字典里的值实例方法
2020/11/18 Python
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
什么是JNDI的上下文?如何初始化JNDI上下文
2012/03/10 面试题
护理专业毕业生推荐信
2013/10/31 职场文书
大学生军训感想
2014/02/16 职场文书
拔河比赛口号
2014/06/10 职场文书
小学校园广播稿(3篇)
2014/09/19 职场文书
机器人瓦力观后感
2015/06/12 职场文书
防溺水安全教育主题班会
2015/08/12 职场文书
九年级化学教学反思
2016/02/22 职场文书
劳动合同变更协议书范本
2019/04/18 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
Python装饰器详细介绍
2022/03/25 Python