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 DOM 学习第五章 表单简介
Feb 19 Javascript
实现变速回到顶部的JavaScript代码
May 09 Javascript
JS图片切换的具体方法(带缩略图版)
Nov 12 Javascript
Jquery实现textarea根据文本内容自适应高度
Apr 03 Javascript
JavaScript中的对象与JSON
Jul 03 Javascript
深入学习JavaScript中的Rest参数和参数默认值
Jul 28 Javascript
详解Angularjs中的依赖注入
Mar 11 Javascript
BootStrap 附加导航组件
Jul 22 Javascript
jQuery中ajax错误调试分析
Dec 01 Javascript
React学习之事件绑定的几种方法对比
Sep 24 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
Nov 13 Javascript
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
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
咖啡语言
2021/03/03 咖啡文化
PHP日期时间函数的高级应用技巧
2009/05/16 PHP
PHP OPCode缓存 APC详细介绍
2010/10/12 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
2014/04/10 PHP
PHP+MySQL存储数据常见中文乱码问题小结
2016/06/13 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
PHP获取当前时间不准确问题解决方案
2020/08/14 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
JavaScript Sort 表格排序
2009/10/31 Javascript
javascript制作坦克大战全纪录(2)
2014/11/27 Javascript
node.js中的buffer.copy方法使用说明
2014/12/14 Javascript
JavaScript脚本库编写的方法
2015/12/09 Javascript
JS函数的几种定义方式分析
2015/12/17 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
基于node下的http小爬虫的示例代码
2018/01/11 Javascript
Vue中this.$router.push参数获取方法
2018/02/27 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
2019/11/07 Javascript
[18:32]DOTA2 HEROS教学视频教你分分钟做大人-谜团
2014/06/12 DOTA
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
python hbase读取数据发送kafka的方法
2018/12/27 Python
Python一行代码实现快速排序的方法
2019/04/30 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
浅析Python 引号、注释、字符串
2019/07/25 Python
Python银行系统实战源码
2019/10/25 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
深入理解Python变量的数据类型和存储
2021/02/01 Python
html5 http的轮询和Websocket原理
2018/10/19 HTML / CSS
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
护士找工作求职信
2014/07/02 职场文书
python实现局部图像放大
2021/11/17 Python
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL