uniapp获取用户信息

该文描述了一个使用uni-app进行微信登录的过程,包括获取用户基本信息,调用uni.login获取登录凭证,以及将加密数据和code发送到后台完成登录验证。成功后,存储token并返回上一页面。
摘要由CSDN通过智能技术生成

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

<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()

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值