千家信息网

微信小程序怎么授权获取用户详细信息

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"微信小程序怎么授权获取用户详细信息"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"微信小程序怎么授权获取用户详细信息"文章能帮助大家解决问题。
千家信息网最后更新 2026年11月04日微信小程序怎么授权获取用户详细信息

这篇文章主要介绍"微信小程序怎么授权获取用户详细信息"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"微信小程序怎么授权获取用户详细信息"文章能帮助大家解决问题。

小程序获取用户的头像昵称openid之类

第一种使用wx.getUserInfo直接获取微信头像,昵称

wx.getUserInfo({   success: function (res) {   that.setData({     nickName: res.userInfo.nickName,     avatarUrl: res.userInfo.avatarUrl,   })   },})

第二种

我们在使用小程序wx.login API进行登录的时候,直接使用wx.getUserInfo是不能获取更多的信息的,如微信用户的openid。
官方提示,需要发送获取到的code进行请求到微信的后端API,进行用户解密之类的操作才可以获取,

根据文档,只需要进行一个get请求到如下地址即可:

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_codeappid和secret在微信小程序后台可以看到,js_code为使用wx.login登录时获取到的code参数数据,grant_type这个不用改动。

js文件

var openId = (wx.getStorageSync('openId'))    if (openId) {     wx.getUserInfo({      success: function (res) {       that.setData({        nickName: res.userInfo.nickName,        avatarUrl: res.userInfo.avatarUrl,       })      },      fail: function () {       // fail       console.log("获取失败!")      },      complete: function () {       // complete       console.log("获取用户信息完成!")      }     })    } else {     wx.login({      success: function (res) {       console.log(res.code)       if (res.code) {        wx.getUserInfo({         withCredentials: true,         success: function (res_user) {          wx.request({           //后台接口地址           url: 'https://....com/wx/login',           data: {            code: res.code,            encryptedData: res_user.encryptedData,            iv: res_user.iv           },           method: 'GET',           header: {            'content-type': 'application/json'           },           success: function (res) {            // this.globalData.userInfo = JSON.parse(res.data);            that.setData({             nickName: res.data.nickName,             avatarUrl: res.data.avatarUrl,            })            wx.setStorageSync('openId', res.data.openId);           }          })         }, fail: function () {          wx.showModal({           title: '警告通知',           content: '您点击了拒绝授权,将无法正常显示个人信息,点击确定重新获取授权。',           success: function (res) {            if (res.confirm) {             wx.openSetting({              success: (res) => {               if (res.authSetting["scope.userInfo"]) {////如果用户重新同意了授权登录                wx.login({                 success: function (res_login) {                  if (res_login.code) {                   wx.getUserInfo({                    withCredentials: true,                    success: function (res_user) {                     wx.request({                      url: 'https://....com/wx/login',                      data: {                       code: res_login.code,                       encryptedData: res_user.encryptedData,                       iv: res_user.iv                      },                      method: 'GET',                      header: {                       'content-type': 'application/json'                      },                      success: function (res) {                       that.setData({                        nickName: res.data.nickName,                        avatarUrl: res.data.avatarUrl,                       })                       wx.setStorageSync('openId', res.data.openId);                      }                     })                    }                   })                  }                 }                });               }              }, fail: function (res) {              }             })            }           }          })         }, complete: function (res) {         }        })       }      }     })    } }, globalData: {    userInfo: null }

后台是php 框架是laravel5.4版本

官方文档:

https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html

微信官方提供了多种编程语言的示例代码(点击下载)。每种语言类型的接口名字均一致。调用方式可以参照示例。

下载之后在php文件中引入:

get('code');    $encryptedData  =  $request->get('encryptedData');    $iv  =  $request->get('iv');    $appid = "***" ;    $secret =  "***";    $URL = "https://api.weixin.qq.com/sns/jscode2session?appid=$appid&secret=$secret&js_code=$code&grant_type=authorization_code";    $apiData=file_get_contents($URL);    // var_dump($code,'wwwwwwww',$apiData['errscode']);    //   $ch = curl_init();    //   curl_setopt($ch, CURLOPT_URL, $URL);    //   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    //   curl_setopt($ch, CURLOPT_HEADER, 0);    //   $output = curl_exec($ch);    //   curl_close($ch)    if(!isset($apiData['errcode'])){      $sessionKey = json_decode($apiData)->session_key;      $userifo = new \WXBizDataCrypt($appid, $sessionKey);      $errCode = $userifo->decryptData($encryptedData, $iv, $data );      if ($errCode == 0) {        return ($data . "\n");      } else {        return false;      }    }  }

官方文档的登录流程图,整个登录流程基本如下图所示:

关于"微信小程序怎么授权获取用户详细信息"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

用户 信息 程序 登录 官方 后台 文档 知识 地址 头像 接口 文件 昵称 更多 流程 示例 行业 语言 不同 实用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技企业 百单网互联网科技有限公司 科技创新与互联网经济 互联网和科技创新 智能科技公司是互联网公司吗 科技类互联网 北京互联网科技公司 中国 科技 互联网 喔噻互联网科技 苏州互联网科技贷款公司 海南购全球互联网科技 农村开互联网科技讲堂 互联网公司黑科技创始人 互联网在线教育科技创业 广州互联网高科技取餐柜 全球科技与互联网公司市值变化 上海万顺科技互联网有限公司招聘 张家口科技产业互联网平台 互联网科技创业计划的风险分析 北京瑞云互联网科技有限公司 百单网互联网科技有限公司 河南真二互联网科技有限公司 互联网为科技 哈尔滨秒房互联网科技有限公司 常德市电业局互联网科技部 河南住房之家互联网科技 卓翼科技产业互联网合作 互联网相关科技技术 上海创道互联网络科技有限公司 银川新华互联网科技学校是国营吗
0