微信小程序获取用户信息(附代码、流程图)

这篇具有很好参考价值的文章主要介绍了微信小程序获取用户信息(附代码、流程图)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序获取用户信息(附代码、流程图)

本篇文章主要总结了微信小程序开发,获取用户信息的整个流程步骤。补充了网上很多碎片化的代码,本人梳理了思路写下了这篇文章。

 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家

跳转到教程

 

思路

1、在js文件中,设置userinfo、hasUserinfo、canIUseGetUserProfile数据

2、先判断本地缓存( wx.getStorageSync() )是否含有用户的数据,如果有就用缓存里的数据,没有就进行第三步

3、在界面添加登录按钮,用户点击按钮调用wx.getUserProfile()函数来提示用户授权登录,授权成功后,把用户头像数据和名称数据保存到缓存区里,并且改变全局变量的值

流程图

自己大概画了一下大概的流程,但希望对您有帮助!

微信小程序获取用户信息(附代码、流程图)

考虑到一些新手,我将完整代码发给大家,大家按照代码对应写入对应位置即可!

wxml

<view class="banner">
    <view class="topContainer">
        <view catchtap="showBcgImgArea">
            <image class="userinfo-avatar" mode="aspectFill" src="{{userinfo.avatarUrl}}"></image>
        </view>
        <view>
            <text class="userinfo-nickname">{{userinfo.nickName}}</text>
        </view>
    </view>
    <button wx:if="{{!hasUserInfo && canIUseGetUserProfile}}" open-type="getUserInfo" bindtap="getUserProfile" class="userLogin">
        点击登录
    </button>
</view>

js

注意:avatarUrl:'../../images/ckbg1.png'

这行代码意思是当没有获取到用户信息时,页面展示头像的路径,自己要先准备好一张图片(放在images文件夹下),并填好头像路径!

data: {
        //用户基本信息(头像、昵称)
        userinfo: {
            avatarUrl:'../../images/ckbg1.png',
            nickName:'未授权'
        },
        //是否已经获取用户信息
        hasUserInfo: false,
        //是否可以调用获取信息得函数
        canIUseGetUserProfile: false,
        
    },
 //第一次获取用户信息
getUserProfile : function(e){
        wx.getUserProfile({
          desc: '获取您的微信个人信息',
          success:(res)=>{
              this.setData({
                userinfo:res.userInfo,
                hasUserInfo:true
              })
              wx.setStorageSync('userinfo', res.userInfo)
          },
          fail:function(e){
              wx.showToast({
                title: '你选择了取消',
                icon: "none",
                duration: 1500,
                mask: true
              })
          }
        })
},
 onLoad: function(n) {
    this.setData({
        canIUseGetUserProfile : true
    })

},
onShow: function() {
        //获取用户的本地缓存数据,userinfo信息是在用户授权登录时保存的
        var n = wx.getStorageSync("userinfo");
        //当本地缓存的用户名称不为""或者null时,设置userinfo信息
        if(n.nickName != '' && n.nickName != null){
            this.setData({
                userinfo: n,
                hasUserInfo:true,
                canIUseGetUserProfile:true
            })
            // 通过wx.login获取登录凭证(code),然后通过code去获取我们用户的openid
            wx.login({
              success:(res)=>{
                  console.log(res);
              },
            })
        }
        //清空缓存信息,测试使用
        // wx.removeStorage({
        //     key: 'userinfo',
        // });
},

在这里有必要讲解几处代码:

        1、当页面加载完毕时(onLoad函数),我们将canIUseGetUserProfile数据设置ture,代表可以使用使用getUserProfile了,避免页面没有加载完毕就去获取用户信息

        2、当页面即将展示时(onShow函数),调用wx.getStorageSync获取本地缓存数据,来控制按钮的显示与否

wxss

.banner {
    border-radius: 10rpx;
    border: none;
    box-sizing: content-box;
    padding: 20rpx 0;
    width: 90%;
    height: 370rpx;
    margin: 20rpx auto;
    background:linear-gradient(109.6deg, rgb(204, 228, 247) 11.2%, rgb(237, 246, 250) 100.2%);
    /* background-image:image("../../images/cloudbg.jpg"); */
    text-align: center;
}

.topContainer {
    width: 100%;
    height: 260rpx;
    background-size: 100%;
    border-radius: 9px;
}
.userinfo-nickname {
    color:black;
}
.userLogin{
    width: 50%;
    box-sizing: none;
    font-size: medium;
}
.userinfo-avatar {
    width: 150rpx;
    height: 150rpx;
    margin-bottom: 10rpx;
    border-radius: 50%;
}

当缓存里没有记录用户信息时,显示的页面会出现登录按钮:

微信小程序获取用户信息(附代码、流程图)

点击按钮后,弹出授权信息

微信小程序获取用户信息(附代码、流程图)

点击允许后,会出现微信头像和微信名称

微信小程序获取用户信息(附代码、流程图)

 效果展示:

微信小程序获取用户信息(附代码、流程图)

创作不易,希望可以给个赞💖或收藏⭐,鼓励一下!谢谢

也欢迎大家关注公众号名片,获取更多优质文章!文章来源地址https://www.toymoban.com/news/detail-485985.html

到了这里,关于微信小程序获取用户信息(附代码、流程图)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序—获取用户位置信息

    代码: 结果示例: 接下来我们需要经度(longitude)和纬度(latitude)两个属性

    2024年02月08日
    浏览(62)
  • 微信小程序获取用户信息nickname为“微信用户”

    最近两天小程序用户登录获取到的用户微信名称都变成了\\\"微信用户\\\",在网上找到的问题原因是getUserProfile API被收回微信社区 头像昵称填写能力可以获取用户头像和昵称直接上代码,如果有更好的方案请留言!!!!!!!!

    2024年02月12日
    浏览(39)
  • 微信小程序-获取用户信息【梳理历史】

    有一个迭代的过程,时间很近 大概分为4个内容 1.2021年4月15日  简述:回收了一个接口,新增了一个接口 小程序登录、用户信息相关接口调整说明 | 微信开放社区 (qq.com) 通过wx.login接口获取的登录凭证可直接换取unionID 回收wx.getUserInfo接口可获取用户个人信息能力 新增getUse

    2024年02月11日
    浏览(47)
  • 微信小程序-获取用户头像信息以及修改用户头像

    这里主要用到 button的open-type 功能,官网已有说明: 给 button 设置 open-type=\\\"chooseAvatar\\\" ,来使 bindchooseavatar 方法生效,在 bindchooseavatar 指定的函数中获取用户的头像信息 该方法触发后会自动弹出提示框,让用户选择头像,用户选择的头像会在 bindchooseavatar 指定的函数内获取,

    2024年02月11日
    浏览(80)
  • 微信小程序:获取用户信息(昵称和头像)

    微信小程序获取用户信息的接口几经变更,建议直接使用方式四: wx.getUserProfile 获取 组件功能调整为优化用户体验,平台将于2022年2月21日24时起回收通过展示个人信息的能力。 如有使用该技术服务,请开发者及时对小程序进行调整,避免影响服务流程。查看详情: https://de

    2023年04月08日
    浏览(57)
  • 微信小程序登录,解决无法获取用户信息方法

    在上面的代码中,首先定义了应用的AppID和AppSecret。然后,实现了获取微信用户access_token的方法getAccessToken()和获取微信用户信息的方法getUserInfo()。其中,getAccessToken()方法需要传入微信小程序登录时获取的code,会返回一个包含access_token和openid的Map;getUserInfo()方法需要传入用户

    2024年02月11日
    浏览(66)
  • 【微信小程序】使用微信API获取用户信息实现登录

    实现步骤 1. 通过定义button按钮点击事件,点击登录后触发事件 2. 通过 wx.getUserProfile API 调用用户信息 3. 获取成功就将数据存储到本地存储中,使用 wx.setStorageSync(\\\'user\\\', user) 4. 存储完获取本地数据 wx.getStorageSync(\\\'user\\\') 5. 页面渲染数据 实现登录 wxml页面 js页面  wxss页面

    2024年02月05日
    浏览(51)
  • java对接微信小程序(登录&获取用户信息)

    用户通过小程序登录,进入到平台系统,进行各功能操作; 解决方案: 首先通过对接小程序,用户通过小程序登录及授权获取用户信息,后端调用接口获取微信用户信息,进行保存到数据库,然后返回token给前端(实际在这里相当于用户的一个注册及登录),前端使用该to

    2024年02月15日
    浏览(45)
  • 微信小程序个人订单,微信头像用户名信息获取页面

    这里先做一个简单的展示,这个页面是我参加比赛做的小程序,分享给大家,不是很好看哈哈哈哈 话不多说,先上代码。首先是前端页面 .wxml   接下来是美化一下页面.wxss 最后就是js页面啦,这里涉及到微信头像昵称的获取,还有一些button的实现,我这里其他页面没有附着,

    2024年02月11日
    浏览(50)
  • 企业微信小程序用户信息获取以及JSSDK使用

    海马汇与企业微信小程序 企业微信小程序访问的是在线子应用(即可直接通过浏览器访问),因此只需将海马汇打包部署到服务器上即可。 海马汇子应用目前使用过两种模式: 纯原生海马汇框架开发 该模式所有子应用/页面都需要自己开发,不存在标准子应用,因此开发工

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包