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——表单应用范例
Feb 20 Javascript
定义select的边框颜色
Apr 28 Javascript
理解Javascript_05_原型继承原理
Oct 13 Javascript
EASYUI TREEGRID异步加载数据实现方法
Aug 22 Javascript
JS实现仿QQ聊天窗口抖动特效
May 10 Javascript
JS获取下拉框显示值和判断单选按钮的方法
Jul 09 Javascript
jQuery页面刷新(局部、全部)问题分析
Jan 09 Javascript
利用js获取下拉框中所选的值
Dec 01 Javascript
JavaScript实现动态增删表格的方法
Mar 09 Javascript
深入浅析angular和vue还有jquery的区别
Aug 13 jQuery
在vue项目中引入highcharts图表的方法
Jan 21 Javascript
JS实现横向轮播图(中级版)
Jan 18 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
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
php 数组随机取值的简单实例
2016/05/23 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
jQuery中extend函数的实现原理详解
2015/02/03 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
Bootstrap一款超好用的前端框架
2017/09/25 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
2017/10/20 jQuery
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
layer弹出子iframe层父子页面传值的实现方法
2018/11/22 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
举例详解Python中threading模块的几个常用方法
2015/06/18 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
python 爬虫如何实现百度翻译
2020/11/16 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
意大利团购网站:Groupon意大利
2016/10/11 全球购物
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
如何填写个人简历自我评价
2013/12/10 职场文书
2014政务公开实施方案
2014/02/19 职场文书
倡议书格式范文
2014/04/14 职场文书
承租经营合作者协议书
2014/10/01 职场文书
商业用房租赁协议书
2014/10/13 职场文书
2015年全国科普日活动总结
2015/03/23 职场文书
我们的节日中秋节活动总结
2015/03/23 职场文书
运动会5000米加油稿
2015/07/21 职场文书
决心书格式范文
2015/09/23 职场文书
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android