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

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

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

 <AtButton circle type='secondary' onClick={this.handleGetUserProfile}>微信授权昵称头像地区性别</AtButton>
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

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

<AtButton type='primary' openType='getPhoneNumber' onGetPhoneNumber={this.getTel}>微信获取手机号</AtButton>
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

希望对你有所帮助!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容