The applet obtains the user's nickname login (wx.getUserProfile) access for versions lower than 2.27.1

Used in WeChat developer tools

home.wxml

<view class="box">
<view class="top" wx:if="{
   
   {userInfo.avatarUrl}}">
  <image src="{
   
   {userInfo.avatarUrl}}"></image>
<view class="name">{
   
   {userInfo.nickName}}</view>
<button bindtap="outLogin">退出登录</button>
</view>
<view class="login" wx:else><button type="primary" bindtap="getUser">获取用户信息</button></view>
</view>

home.js

// pages/home/home.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: {}
  },
  getUser() {
    // 获取用户信息
    wx.getUserProfile({
      desc: 'desc',
      success: (res) => {
        this.setData({
          userInfo: res.userInfo
        });
        // 将获取到的信息存储到Storage
        wx.setStorage({
          key: 'info',
          data: res.userInfo
        });
        // 登录
        this.login()
      }
    });

  },
  login() {
    wx.login({
      success: (res) => {
        // 获取码之后发起网络请求
        if (res.code) {
          //发起网络请求
          wx.request({
            url: 'https://api.weixin.qq.com/sns/jscode2session',
            data: {
              js_code: res.code,
              secret: '57993283b09d259209867a1b5c49ef1d',
              appid: 'wx8e599842ea889b19'
            },
            success: (res) => {
              console.log(res);
            }
          })
        } else {
          console.log('登录失败!' + res.errMsg)
        }

      },
    })
  },
  // 退出登录
  outLogin() {
    wx.removeStorage({
      key: 'info',
      success(res) {
        wx.navigateTo({
          url: '/pages/home/home',
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 讲storge中的值存储到data的userInfo中
    wx.getStorage({
      key: 'info',
      success: (res) => {
        // console.log(res)
        this.setData({
          userInfo: res.data
        })
      }
    })
  },


})

Guess you like

Origin blog.csdn.net/qq_46376192/article/details/129276446