首页/默认分类/正文
微信小程序开发:同一页面直接授权获取用户信息的方法解析

 2025年09月07日  阅读 3

摘要:微信小程序获取用户信息的两种方法1.直接授权获取方式WXML页面设置在小程序页面的WXML文件中,需要添加一个按钮用于触发获取用户信息的操作:<buttonbindtap="getUserInfo"open-type=...

微信小程序获取用户信息的两种方法

1. 直接授权获取方式

WXML页面设置

在小程序页面的WXML文件中,需要添加一个按钮用于触发获取用户信息的操作:


<button bindtap="getUserInfo" open-type="getUserInfo">获取用户信息</button>
<view wx:if="{{userInfo}}">
  <image src="{{userInfo.avatarUrl}}"></image>
  <text>{{userInfo.nickName}}</text>
</view>
<b>JS逻辑实现</b>
在对应的JS文件中,需要设置userInfo数据对象和事件处理函数:
Page({
  data: {
    userInfo: {}
  },
  getUserInfo(res) {
    console.log(res.userInfo);  // 打印用户信息到控制台
    this.setData({userInfo: res.userInfo});  // 将信息保存到data中
})

2. 跨页面获取方式

页面A结构

页面A负责显示用户信息和跳转到授权页面:

直接授权获取用户信息_微信小程序开发获取用户授权_微信小程序获取用户信息方法

{{userInfo.nickName}}

页面A跳转逻辑

// 页面A JS

Page({

data: {userInfo: {}},

goto() {

wx.navigateTo({

url: '../login/login',

})

}

})


<b>页面B授权处理</b>
页面B负责获取用户信息并存入缓存:
<!-- 页面B WXML -->
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo">登录</button>
// 页面B JS
Page({
  getUserInfo(res) {
    const userInfo = res.userInfo;
    // 将用户数据写入缓存
    wx.setStorageSync('userInfo', userInfo);
    // 返回上一页
    wx.navigateBack();
  }
})

页面A获取缓存数据

页面A需要在onShow生命周期中获取缓存数据:

// 页面A JS

Page({

onShow() {

const userInfo = wx.getStorageSync('userInfo');

this.setData({userInfo});

}

})

`

两种方法比较

1. 直接授权方式适合单页面应用,操作简单直接

2. 跨页面方式适合多页面共享用户信息,通过缓存实现数据传递

3. 两种方式都需要用户主动点击按钮触发授权流程

4. 实际开发中可以根据业务需求选择合适的方式或组合使用

注意事项

1. 必须使用button组件并设置open-type="getUserInfo"才能触发授权

2. 用户拒绝授权后需要妥善处理,提供重新授权的方式

3. 用户信息包含敏感数据,使用时需遵循相关隐私政策

4. 微信基础库版本不同可能导致API行为差异,需做好兼容处理

版权声明:本文为 “博览广文网” 原创文章,转载请附上原文出处链接及本声明;

原文链接:http://wen.bjhwtx.com/post/38666.html

标签:

博览广文网

博览广文网为所有文学爱好者、新闻爱好者、关注生活多方面内容的观众朋友提供多方位的内容呈现、提升阅读空间、填充碎片时间,开阔读者的视野、增长见识、了解民生、一个让您不出户尽知天下事的网站平台!
热门标签
关于我们
广文舒阅网—让天下读者有家可归!这里汇聚了各类优质文化信息,无论是全球热点、历史故事,还是实用百科、趣味探索,您都能轻松获取。我们希望用阅读点亮您的世界,让每一次浏览都充满收获和乐趣。
导航栏A标题
广文舒阅网
扫码关注
联系方式
全国服务热线:0755-88186625
Q Q:8705332
Email:admin@lanyu.com
地址:深圳市福田区海雅缤纷国际大厦5层501
Copyright 深圳市蓝宇科技有限公司 版权所有 备案号:京ICP备20013102号-1