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 相关文章推荐
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
Mar 02 Javascript
JQUBar 基于JQUERY的柱状图插件
Nov 23 Javascript
浅析javascript 定时器
Dec 23 Javascript
Javascript中使用parseInt函数需要注意的问题
Apr 02 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
May 13 Javascript
javascript弹出带文字信息的提示框效果
Jul 19 Javascript
微信小程序 页面跳转和数据传递实例详解
Jan 19 Javascript
JSON 数据格式详解
Sep 13 Javascript
JS实现点击链接切换显示隐藏内容的方法
Oct 19 Javascript
JS获取input[file]的值并显示在页面的实现方法
Mar 09 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
Jul 13 Javascript
Element Popover 弹出框的使用示例
Jul 26 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
一个php作的文本留言本的例子(二)
2006/10/09 PHP
用PHP制作静态网站的模板框架(一)
2006/10/09 PHP
mysql数据库差异比较的PHP代码
2012/02/05 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
PHP中数据库单例模式的实现代码分享
2014/08/21 PHP
golang 调用 php7详解及实例
2017/01/04 PHP
PHP实现类似于C语言的文件读取及解析功能
2017/09/01 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
pjblog修改技巧汇总
2007/03/12 Javascript
javascript add event remove event
2008/04/07 Javascript
js 目录列举函数
2008/11/06 Javascript
js倒计时小程序
2013/11/05 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
node.js中的http.response.setHeader方法使用说明
2014/12/14 Javascript
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
解决ie11 SCRIPT5011:不能执行已释放Script的代码问题
2019/05/05 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
Javascript实现打鼓效果
2021/01/29 Javascript
Python使用Mechanize模块编写爬虫的要点解析
2016/03/31 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
Python实现的堆排序算法示例
2018/04/29 Python
GDAL 矢量属性数据修改方式(python)
2020/03/10 Python
Web Service面试题:如何搭建Axis2的开发环境
2012/06/20 面试题
数据库笔试题
2013/05/09 面试题
财务会计人员岗位职责
2013/11/30 职场文书
小学教师培训感言
2014/02/11 职场文书
老公保证书范文
2014/04/29 职场文书
员工合理化建议书
2014/05/19 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
2016暑期社会实践新闻稿
2015/11/25 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
nginx处理http请求实现过程解析
2021/03/31 Servers
Python WSGI 规范简介
2021/04/11 Python
Java8中接口的新特性使用指南
2021/11/01 Java/Android