vue实现微信获取用户信息的方法


Posted in Javascript onMarch 21, 2019

本次项目做到一个点赞功能,即分享出去一个页面给微信好友,微信好友点开并点赞,需要将点赞用户的微信昵称,微信头像以及微信openid,微信unionid(这个需要关注公众号才会有该字段)传给后端,记录点赞人的相关信息

代码如下

// created 周期
if(this.$route.query.from) { // 判断链接中是否有from参数,下面的studentId,activityId项目需要
 let _nowUrl = window.location.href.split('?')[0] + `?resource=1&studentId=${this.$route.query.studentId}&activityId=${this.$route.query.activityId}`
 let _shareUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${encodeURIComponent(_nowUrl)}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect`
 window.location.href = _shareUrl
 return
}
// 处理微信用户信息
 handleWechatMsg(code) {
  // 调取 获取微信用户信息的接口(后端参考微信官方文档进行封装)  code--参数
  api.getWechatInfo(code).then((res)=>{
   if(res.data.code == 200) {
    // 返回的是json字符串
    let _data = res.data.content
    let _personMsg = JSON.parse(_data)
    this.wechatMsg = _personMsg
    // 本地存储微信用户信息,防止页面被刷新,code失效
    window.localStorage.setItem('wechatMesssage', _data)
   } else if (res.data.code == 400) { // 400-code失效,400是后端返回,具体看后端返回哪个码
    let msgs = window.localStorage.getItem('wechatMesssage')
    this.wechatMsg = JSON.parse(msgs)    
   } else {
    this.$Message.message(res.data.message);
   }

  })
 },

如果需要获取微信unionid,则需要引导用户关注公众号,可以在返回的用户信息中判断是否含有unionid,如果没有,可以展示微信公众号的二维码,供用户识别关注

⚠️--------------------

  1. 当前页面的域名,需要在公众号后台配置添加(详见官网)
  2. 如果页面存在#,可能会出问题,可以使用nginx进行配置

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

Javascript 相关文章推荐
运用jquery实现table单双行不同显示并能单行选中
Jul 25 Javascript
jQuery 树形结构的选择器
Feb 15 Javascript
JavaScript DOM 学习第三章 内容表格
Feb 19 Javascript
jQuery 技巧小结
Apr 02 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
Sep 14 Javascript
JavaScript中最简洁的编码html字符串的方法
Oct 11 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
Mar 29 Javascript
JavaScript操作文件_动力节点Java学院整理
Jun 30 Javascript
vue iview实现动态路由和权限验证功能
Apr 17 Javascript
centos 上快速搭建ghost博客方法分享
May 23 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
Jun 18 Javascript
JS中封装axios来管控api的2种方式
Sep 11 Javascript
vue里如何主动销毁keep-alive缓存的组件
Mar 21 #Javascript
基于node简单实现RSA加解密的方法步骤
Mar 21 #Javascript
详解React项目如何修改打包地址(编译输出文件地址)
Mar 21 #Javascript
js实现unicode码字符串与utf8字节数据互转详解
Mar 21 #Javascript
详解JS取出两个数组中的不同或相同元素
Mar 20 #Javascript
详解vue中axios的使用与封装
Mar 20 #Javascript
javascript数组去重方法总结(推荐)
Mar 20 #Javascript
You might like
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
php变量范围介绍
2012/10/15 PHP
PHP Class&Object -- PHP 自排序二叉树的深入解析
2013/06/25 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
AJAX的跨域与JSONP(为文章自动添加短址的功能)
2010/01/17 Javascript
一个背景云变换js特效 鼠标移动背景云变化
2012/12/28 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
javascript实现跨域的方法汇总
2015/06/25 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
js实现文本框支持加减运算的方法
2015/08/19 Javascript
jQuery添加和删除输入文本框标签代码
2016/05/20 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
2019/06/19 Javascript
JavaScript:ES2019 的新特性(译)
2019/08/08 Javascript
layui 实现table翻页滚动条位置保持不变的例子
2019/09/05 Javascript
js实现点击上传图片并设为模糊背景
2020/08/02 Javascript
python实现AES加密与解密
2019/03/28 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
3种适用于Python的疯狂秘密武器及原因解析
2020/04/29 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
阿姆斯特丹城市卡:Amsterdam Pass
2019/12/01 全球购物
劳动实践课感言
2014/02/01 职场文书
亚运会口号
2014/06/20 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
幼儿园小班家长评语
2014/12/30 职场文书
党校个人总结
2015/03/04 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
小学运动会开幕词
2016/03/04 职场文书