关于在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 相关文章推荐
JavaScript中的isXX系列是否继续使用的分析
Apr 16 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
Jul 21 Javascript
vue.js 表格分页ajax 异步加载数据
Oct 18 Javascript
jQuery 的 ready()的纯js替代方法
Nov 20 Javascript
jQuery序列化表单成对象的简单实现
Nov 29 Javascript
node操作mysql数据库实例详解
Mar 17 Javascript
详解angularjs 关于ui-router分层使用
Jun 12 Javascript
使用clipboard.js实现复制功能的示例代码
Oct 16 Javascript
在Angular中使用JWT认证方法示例
Sep 10 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
Feb 28 jQuery
在vue-cli 3中给stylus、sass样式传入共享的全局变量
Aug 12 Javascript
详解Nuxt.js 实战集锦
Nov 19 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
咖啡磨器 如何选购一台适合家用的意式磨豆机
2021/03/05 新手入门
PHP 文件上传全攻略
2010/04/28 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
php7基于递归实现删除空文件夹的方法示例
2017/06/15 PHP
js下获取div中的数据的原理分析
2010/04/07 Javascript
来自国外的14个图片放大编辑的jQuery插件整理
2010/10/20 Javascript
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
2015/09/16 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
JS对象创建的几种方式整理
2017/02/28 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
2018/08/22 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
JS中实现浅拷贝和深拷贝的代码详解
2019/06/05 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
javascript Canvas动态粒子连线
2020/01/01 Javascript
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
Python设计模式之备忘录模式原理与用法详解
2019/01/15 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
基于PyTorch中view的用法说明
2021/03/03 Python
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
我的求职计划书
2014/01/10 职场文书
国培教师自我鉴定
2014/02/12 职场文书
国际贸易实训报告
2014/11/05 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
一文带你探究MySQL中的NULL
2021/11/11 MySQL
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL