uniapp获取用户信息

可以根据返回值传给后台用于登录,相当于账号密码

<template>
  <view>
    <button type="primary" @click="login">微信登录</button>
  </view>
</template>

<script setup lang="ts">
const login = async () => {
  const res = await uni.getUserProfile({
    desc: '获取您的用户信息用于登录'
  })
  console.log('获取用户加密的信息', res);

}
</script>

  • 获取code

async onLoad () {
  // 1. 获取微信用户登录凭证
  try {
    const codeData = await uni.login()
    // 把成功获取的用户登录凭证存到this上
    this.code = codeData.code
  } catch (error) {
    console.log(error)
  }
},
  • 传入用户信息和code登录

// 调用接口登录·
async login (user) {
  // 登录所需参数
  const { encryptedData, iv, rawData, signature } = user
  // 微信用户登录凭证=》code
  // const codeData = await uni.login()
  let { msg, data } = await this.request({
    url: "/api/public/v1/users/wxlogin",
    method: "post",
    data: {
      encryptedData,
      iv,
      rawData,
      signature,
      code: this.code
    }
  })
  // 存储token,返回上次访问页面
  uni.setStorageSync("token", data.token)
  uni.navigateBack()

}

猜你喜欢

转载自blog.csdn.net/qq_43319351/article/details/131342378