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

今天介绍两种微信小程序获取用户信息的方法

第一中直接授权获取(在同一页面之中):

首先在微信程序一个页面的WXML文件写入获取用户信息的按钮

<!-- bindTap用于绑定事件 -->
<button type="default"  bindtap="getUserInfor"> 登录</button>
<!-- 展示获取到的用户信息 -->
<image  src="{{userinfor.avatarUrl}}" />
<view> {{userinfor.nickName}}</view>

然后是在js页面写具体点击事件的逻辑结构

 data: {
        userinfor:{},//用户存放获取到的用户信息
    },
    getUserInfor(e){
       wx.getUserProfile({
         desc: '用来完善用户个人信息',//展示的消息
         success:(res)=>{
             console.log(res.userInfo)//将用户信息打印至控制台
            this.setData({ userinfor:res.userInfo})//将信息保存到定义的容器里
         }
       })
    }

第二种方式可以实现不同页面获取用户信息:

第二中的主要思想就是将用户信息先获取到,然后将其存放在缓存中,然后再跳转到其他页面对缓存中的数据进行获取

首先我们要从A页面进入到B页面

A页面WXML代码

<button bindtap="goto" > 进入登录页面</button>
<!-- 展示用户信息 -->
<image  src="{{userinfor.avatarUrl}}" />
<view> {{userinfor.nickName}}</view>

A页面JS页面代码

//
    data: {
        userinfor:{},
    },

   goto(){
       wx.navigateTo({
         url: '../text/text',
       })
   }

B页面WXML页面代码

<button type="default"  bindtap="getUserInfor"> 登录</button>

B页面JS页面代码

   data: {

    },
    getUserInfor(e){
       wx.getUserProfile({
         desc: '用于获取用户信息',
         success:(res)=>{
            const userinfor = res.userInfo
            //将用户数据写入缓存
           wx.setStorageSync('UserInfo', userinfor);
           //跳回前一个页面
           wx.navigateBack({
               delta:1
           })
         }
       })
    }

当我们点击B页面登录按钮并且允许获取用户信息时,我们可以发现控制台缓存页面会跳出一个KEY值为UserInfo的键值,这就说明我们已经把用户的信息存放入缓存之中,接下来就是如何将缓存中的信息取出来,接下来我们就来到A页面编写获取缓存中数据的方法,

A页面JS页面中添加onShow方法,或者在原有的onShow方法里添加下列方法中的代码

 data: {
      userinfor:{},
 },
 onShow(){
       const userinfor = wx.getStorageSync('UserInfo')
       this.setData({ userinfor })
    }

这时就成功将用户数据写入缓存在从其他页面读取数据

总结

其实两种获取方式都是一样的,都是用wx.getUserProfile方法进行获取,但是只是采取了不同的数据处理方式,让开发更加的便捷

到此这篇关于微信小程序开发之获取用户信息的文章就介绍到这了,更多相关微信小程序获取用户信息内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 微信小程序如何获取用户信息

    最近在研究微信小程序怎么玩的.接触后发现好多的坑. 比如在浏览器中我们可以通过document.getElementById 获取到页面的DOM对象.而在微信小程序中是获取不到DOM对象的.document.getElementById() 直接报错 getElementById not function 我也是醉了.不支持这个好多有趣的功能不能实现了. 言归正传,我谈下获取用户信息的感想. 有两种获取用户信息的方案. 1.不包含敏感信息openId 的json对象(包含:nickname.av

  • 微信小程序判断用户是否需要再次授权获取个人信息

    一.index.js设置如下 //获取用户的授权信息,放到本地缓存中 wx.getSetting({ success: (res) => { if(res.authSetting['scope.userInfo']) { wx.setStorage({ key: 'can_getuserinfo', data: 1, }) } else { wx.setStorage({ key: 'can_getuserinfo', data: 0, }) } } }), //1:从本地缓存中获取数据,如果获

  • 微信小程序获取用户信息并保存登录状态详解

    前言 微信小程序的运行环境不是在浏览器下运行的.所以不能以cookie来维护登录态.下面我就来说说我根据官方给出的方法来写出的维护登录态的方法吧. 一.登录态维护 官方的文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxloginobject 通过 wx.login() 获取到用户登录态之后,需要维护登录态.开发者要注意不应该直接把 session_key.openid 等字段作为用户的标识或者 session

  • 微信小程序如何同时获取用户信息和用户手机号

    今天在写登陆页面的时候,由于需要的个人信息和手机号的授权,但是如果在页面上直接放2个按钮,岂不是很呆??? 索性就写了一个mask层,去引导用户授权手机号. 1. 当我点击快捷登录的 微信登录时,首先触发的是 微信原生的 获取用户信息userInfo 的方法,再它的 success 回调里面去打开 mask 层..... 2. mask 层里面 有一个按钮,这个按钮是去触发 微信原生的 获取用户手机号的 getPhoneNumber 的方法,接下来就不用我多说了吧.... 直接甩代码 <!--快

  • 微信小程序授权获取用户详细信息openid的实例详解

    小程序获取用户的头像昵称openid之类 第一种使用wx.getUserInfo直接获取微信头像,昵称 wx.getUserInfo({ success: function (res) { that.setData({ nickName: res.userInfo.nickName, avatarUrl: res.userInfo.avatarUrl, }) }, }) 第二种 我们在使用小程序wx.login API进行登录的时候,直接使用wx.getUserInfo是不能获取更多的信息的,如

  • 微信小程序实现获取用户信息并存入数据库操作示例

    本文实例讲述了微信小程序实现获取用户信息并存入数据库操作.分享给大家供大家参考,具体如下: 微信小程序获取用户信息简单,但是在存入自己服务器数据库的过程中研究了一天多的时间,并且网上搜索不到该资源,故发出来供大家参考. index.js Page({ data: { nickName: "微信账号登录", avatarUrl:"./user-unlogin.png", }, onLoad: function () { var that = this; var nic

  • 微信小程序开发之获取用户信息的两种方法

    今天介绍两种微信小程序获取用户信息的方法 第一中直接授权获取(在同一页面之中): 首先在微信程序一个页面的WXML文件写入获取用户信息的按钮 <!-- bindTap用于绑定事件 --> <button type="default" bindtap="getUserInfor"> 登录</button> <!-- 展示获取到的用户信息 --> <image src="{{userinfor.avatar

  • 微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析

    本文实例讲述了微信小程序获取用户信息的两种方法wx.getUserInfo与open-data.分享给大家供大家参考,具体如下: 在此之前,小程序获取微信的头像,昵称之类的用户信息,我用的都是wx.getUserInfo,例如: onLoad: function (options) { var that = this; //获取用户信息 wx.getUserInfo({ success: function (res) { console.log(res); that.data.userInfo

  • 微信小程序开发之获取用户手机号码(php接口解密)

    后边要做一个微信小程序,并要能获取用户微信绑定的手机号码.而小程序开发文档上边提供的获取手机号码的接口(getPhoneNumber())返回的是密文,需要服务器端进行解密,但是官方提供的开发文档一如既往的乱,如果没有对小程序开发文档有一个整体的了解,搞懂解密流程还是有点难的.这里把小程序从请求用户授权获取手机号码直至获取到手机号码明文的整个流程串了起来,方便迅速了解,如下: 一. 前端相关操作: 1. 请求用户授权获取手机号码: 因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 AP

  • 微信小程序实现带参数的分享功能(两种方法)

    微信小程序分享功能的实现方法有两种: 第一种 在page.js中实现onShareAppMessage,便可在小程序右上角选择分享该页面 onShareAppMessage: function () { return { title: '弹出分享时显示的分享标题', desc: '分享页面的内容', path: '/page/user?id=123' // 路径,传递参数到指定页面. } } 第二种 自定义按钮实现分享,在page中添加一个带有open-type='share'的button标签

  • 小程序获取用户信息的两种方法详解(getUserProfile和头像昵称填写)

    目录 第一种使用 getUserProfile 第二种使用 头像昵称填写 总结 相信大家之前也经常使用open-data获取用户的头像和昵称吧,但微信的这个改编意味着我们要使用新的方法获取信息了.在讨论区引发了很大的讨论,接下来我们一起尝试两种获取信息的方法. 第一种使用 getUserProfile 我们可以查看一下官方文档 wx.getUserProfile(Object object),获取用户信息.页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用,每次请求都

  • C#微信小程序服务端获取用户解密信息实例代码

     C#微信小程序服务端获取用户解密信息实例代码 实现代码: using AIOWeb.Models; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; namespace AIOWe

  • 微信小程序如何再次获取用户授权的方法

    现在在做一个小程序有地图的功能,通过点击按钮打开地图.调用wx.getlocation()这个接口是需要用户的授权.如果他授权了,返回一个success当然最好啦,就什么问题都没有了.如果他点了取消,返回一个fail,我就使用预设的经纬度打开一个定位.但是如果用户点击返回以后,再次点击按钮进入地图就会没有反应(如果一开始有授权的话就可以再次重新打开地图). 有什么方法可以解决呢,或者怎样可以重新获取用户授权.毕竟叫他们删了重来的话,这样的体验好像不大好... 方法:A:单击隐藏图章wx.open

  • 微信小程序开发一键登录 获取session_key和openid实例

    微信小程序开发一键登录 获取session_key和openid实例 思来想去不愿自己的微信小程序是个单机版本.自己又不会写后台.现在借助leancloud可以实现微信小程序一键登录功能.尝试后,做笔记. 第一步:下载av-weapp.js,放到utils下. 第二步:使用 const AV = require('../../utils/av-weapp.js');路径根据具体情况而定. 第三步:做初始化. AV.init({ appId: 'EJx0NSfY********-gzGzoHsz'

  • 详解微信小程序开发用户授权登陆

    本篇将帮助读者实现基于 微信开发者工具 & C#环境 下的用户在小程序上的授权登陆. 准备: 微信开发者工具下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 微信小程序开发文档:https://developers.weixin.qq.com/miniprogram/dev/index.html 开发: 在开发之初,我们需要先明确微信方已经制定好的授权登陆流程,参看 官方API - 登陆接口.

随机推荐