微信小程序获取用户信息流程

要在微信小程序中获取用户信息,通常需要经过以下流程:

此外,还需要在小程序的 app.json 文件中配置 scope.userInfo 以确保可以请求用户信息授权。例如:

需要注意的是,从微信 7.0.0 开始,用户信息授权不再是全量授权,而是分为两部分:基本信息和用户敏感信息。基本信息(如头像、昵称)可以在用户未授权的情况下获取,但用户敏感信息(如手机号码、地理位置)需要用户明确授权。因此,在获取用户信息时,需要根据实际需求来选择获取哪些信息,以及如何处理用户未授权的情况。

引导用户授权: 首先,你需要在小程序中创建一个按钮或其他触发用户授权的交互元素,以便用户点击后授权获取其信息。例如,可以在按钮上添加一个点击事件,当用户点击时触发获取用户信息的操作。

示例代码:
 

// 页面的 WXML 文件
<button bindtap="getUserInfo">获取用户信息</button>

获取用户授权: 在点击事件的处理函数中,调用 wx.getUserInfo 方法来获取用户信息,并请求用户授权。如果用户未授权,会弹出授权弹窗让用户确认是否授权。

示例代码:

// 页面的 JS 文件
Page({
  getUserInfo: function(e) {
    wx.getUserInfo({
      success: function(res) {
        // 用户授权成功,可以获取用户信息
        var userInfo = res.userInfo;
        console.log(userInfo);
      },
      fail: function(res) {
        // 用户拒绝授权或其他错误情况
        console.log('获取用户信息失败', res);
      }
    });
  }
});

处理用户授权结果: 在 wx.getUserInfo 的回调函数中,根据用户的授权结果进行处理。如果用户同意授权,可以获取到用户的基本信息,包括头像、昵称等,这些信息将存储在 res.userInfo 中。

使用用户信息: 一旦获取到用户信息,你可以将其用于小程序的业务逻辑,例如显示用户头像和昵称,或者将用户信息上传到服务器进行进一步处理。
 

//页面json中
 
{
  "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序定位"
    },
    "scope.userInfo": {
      "desc": "你的基本信息将用于小程序展示"
    }
  }
}

以上是在微信小程序中获取用户信息的基本流程。根据具体业务需求,你可能还需要进行其他授权,如获取用户地理位置等。