Taro小程序获取用户信息/手机号

微信小程序中获取用户信息接口有变,自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的(空的)用户个人信息
需要调用getUserProfile才可以授权获取用户信息
下面是关于在Taro框架中获取权限的方法,供大家参考:

获取用户信息(昵称/头像/地区/性别)

 微信授权昵称头像地区性别
handleGetUserProfile = () => {

    Taro.getUserProfile({
      lang: 'zh_CN',
      desc: "获取你的昵称、头像、地区及性别",
      success: response => {
        console.log(response);
        const wxUserInfo = response.userInfo;
        // const { openId } = this.state;
        console.log('getUserProfile', wxUserInfo);
        Taro.setStorageSync(
          "UserInfo", {
          wxUserInfo: wxUserInfo,
          name: 123
        })
        Taro.getStorage({
          key: 'UserInfo',
          success (res) {
            console.log(' 我是缓存数据', res);
          }
        })
      },
      fail: () => {
        //拒绝授权
        console.error("您拒绝了请求");
        return;
      }
    })
  };
image.png

获取用户手机号(微信授权)

微信获取手机号
getTel = (e) => {
    console.log(e.detail);
    this.setState({ isNum: true })
    let { encryptedData, iv } = e.detail
    Taro.checkSession({
      success: function () {
        console.log('有session,已登陆');
        //session_key 未过期,并且在本生命周期一直有效
      },
      fail: function () {
        // session_key 已经失效,需要重新执行登录流程
        console.log('未登陆');
        //重新登录
        Taro.login({
          success (res) {
            console.log(res);
            let code = res.code
            Taro.request({
              url: 'url',//后端url
              method: 'GET',
              data: {
                // appi,//账号
                // secret,//账号
                code,//login获取到的code
                encryptedData,
                iv
              },
              success (phoneNumber) {
                console.log(phoneNumber)

              }
            })
          }
        })
      }
    })
  }
image.png

希望对你有所帮助!

你可能感兴趣的:(Taro小程序获取用户信息/手机号)