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 相关文章推荐
用javascript实现页面打印的三种方法
Mar 05 Javascript
再谈javascript 动态添加样式规则 W3C校检
Dec 25 Javascript
Jquery对象和Dom对象的区别分析
Nov 20 Javascript
jquery 插件实现多行文本框[textarea]自动高度
Mar 04 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
Oct 10 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
Nov 03 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
Jan 04 Javascript
Javascript 实现计算器时间功能详解及实例(二)
Jan 08 Javascript
bootstrap轮播图示例代码分享
May 17 Javascript
手动用webpack搭建第一个ReactApp的示例
Apr 11 Javascript
vue中的mvvm模式讲解
Jan 31 Javascript
Vue + Node.js + MongoDB图片上传组件实现图片预览和删除功能详解
Apr 29 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
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
jQuery调用WebService的实现代码
2011/06/19 Javascript
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
JQuery 图片滚动轮播示例代码
2014/03/24 Javascript
使用focus方法让光标默认停留在INPUT框
2014/07/29 Javascript
js遍历map javaScript遍历map的简单实现
2016/08/26 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
2018/05/15 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
深入了解响应式React Native Echarts组件
2019/05/29 Javascript
vue store之状态管理模式的详细介绍
2019/06/13 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
vue 需求 data中的数据之间的调用操作
2020/08/05 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
Vue如何跨组件传递Slot的实现
2020/12/14 Vue.js
python 捕获shell脚本的输出结果实例
2017/01/04 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
学python最电脑配置有要求么
2020/07/05 Python
python3中数组逆序输出方法
2020/12/01 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
意大利时尚奢侈品店:D’Aniello Boutique
2021/01/19 全球购物
采购内勤岗位职责
2013/12/10 职场文书
求职信写作要突出重点
2014/01/01 职场文书
党员培训思想汇报
2014/01/07 职场文书
证婚人搞笑证婚词
2014/01/10 职场文书
摄影助理岗位职责
2014/02/07 职场文书
公司经理任命书
2014/06/05 职场文书
励志演讲稿200字
2014/08/21 职场文书
学术研讨会主持词
2015/07/04 职场文书
周一早安温馨问候祝福语!
2019/07/15 职场文书