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设置按钮停顿3秒不可用
Mar 07 Javascript
jQuery选择器源码解读(八):addCombinator函数
Mar 31 Javascript
jQuery实现右下角可缩放大小的层完整实例
Jun 20 Javascript
JS模拟实现方法重载示例
Aug 03 Javascript
jquery实现多次上传同一张图片
Jan 09 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
Sep 30 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
Nov 17 Javascript
JS实现520 表白简单代码
May 21 Javascript
js常用正则表达式集锦
May 17 Javascript
JavaScript实现美化滑块效果
May 17 Javascript
vue2.0 实现富文本编辑器功能
May 26 Javascript
vue-cli —— 如何局部修改Element样式
Oct 22 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
海贼王:最美的悬赏令!
2020/03/02 日漫
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
2014/06/12 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
php实现数字补零的方法总结
2018/09/12 PHP
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
JavaScript执行环境及作用域链实例分析
2018/08/01 Javascript
浅谈Vue组件及组件的注册方法
2018/08/24 Javascript
原生JS实现弹幕效果的简单操作指南
2020/11/10 Javascript
基于ajax实现上传图片代码示例解析
2020/12/03 Javascript
[01:34:42]NAVI vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
在IIS服务器上以CGI方式运行Python脚本的教程
2015/04/25 Python
python动态加载包的方法小结
2016/04/18 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
python中的闭包函数
2018/02/09 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
2019/01/02 Python
在Python中关于使用os模块遍历目录的实现方法
2019/01/03 Python
Python利用heapq实现一个优先级队列的方法
2019/02/03 Python
python导入pandas具体步骤方法
2019/06/23 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
消防器材管理制度
2014/01/28 职场文书
大学校务公开实施方案
2014/03/31 职场文书
幼儿园家长评语大全
2014/04/16 职场文书
作文评语大全
2014/04/23 职场文书
五一口号
2014/06/19 职场文书
违章停车检讨书
2014/10/21 职场文书
2014年财务个人工作总结
2014/12/08 职场文书
家庭经济困难证明
2015/06/23 职场文书
python用字节处理文件实例讲解
2021/04/13 Python
Golang 字符串的常见操作
2022/04/19 Golang
教你nginx跳转配置的四种方式
2022/07/07 Servers