微信小程序学习笔记之登录API与获取用户信息操作图文详解

下面是对这篇攻略的详细讲解。

微信小程序学习笔记之登录API与获取用户信息操作图文详解

1. 登录API

1.1. 发起登录请求

当用户进入小程序后,需要登录才能进行后续的操作。在微信小程序中,可以使用wx.login来发起登录请求。代码示例:

wx.login({
  success(res) {
    if (res.code) {
      console.log('登录成功!' + res.code)
    } else {
      console.log('登录失败!' + res.errMsg)
    }
  }
})

1.2. 通过登录凭证获取session_key和openid

登录成功后,可以通过调用小程序服务端提供的接口,用登录凭证code换取session_key和openid。代码示例:

wx.request({
  url: 'https://api.weixin.qq.com/sns/jscode2session',
  data: {
    appid: '你的小程序appid',
    secret: '你的小程序secret',
    js_code: res.code,
    grant_type: 'authorization_code'
  },
  success(res) {
    console.log('session_key:' + res.data.session_key)
    console.log('openid:' + res.data.openid)
  }
})

2. 获取用户信息

2.1. 用户授权获取用户信息

在小程序中,需要用户授权才能获取用户信息。用户信息包括昵称、头像、性别等。当用户允许授权后,可以通过wx.getUserInfo接口获取用户信息。代码示例:

wx.getUserInfo({
  success(res) {
    console.log(res.userInfo)
  },
  fail() {
    console.log('用户拒绝授权!')
  }
})

2.2. 加密数据解密

通过wx.getUserInfo获取的用户信息是加密的,需要进行解密才能得到真正的用户信息。需要使用微信提供的开放数据解密接口进行解密操作。代码示例:

const encryptedData = res.encryptedData
const iv = res.iv
const sessionKey = wx.getStorageSync('session_key')  // 从本地缓存中获取session_key

const pc = new WXBizDataCrypt(appId, sessionKey)

const data = pc.decryptData(encryptedData, iv)
console.log(data)

总结

本文详细讲解了微信小程序中的登录API和获取用户信息操作,并提供了代码示例进行说明。希望对小程序开发者有所帮助。

本文链接:https://my.lmcjl.com/post/15508.html

展开阅读全文

4 评论

留下您的评论.