微信小程序 - 获取用户信息的几种方式

1. 老接口(上线使用-测试用button先获取用户信息)

 1   // 登录
 2     wx.login({
 3       success: res => {
 4         // 发送 res.code 到后台换取 openId, sessionKey, unionId
 5         // 也就是发送到后端,后端通过接口发送到前端,前端接收用户信息等....
 6         wx.setStorageSync(‘code‘, res.code);
 7         console.log(wx.getStorageSync(‘code‘))
 8
 9         // 获取用户信息
10         wx.getSetting({
11           success: res => {
12             if (res.authSetting[‘scope.userInfo‘]) {
13               // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
14               wx.getUserInfo({
15                 success: res => {
16                   // 可以将 res 发送给后台解码出 unionId
17                   this.globalData.userInfo = res.userInfo
18
19                   // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
20                   // 所以此处加入 callback 以防止这种情况
21                   if (this.userInfoReadyCallback) {
22                     this.userInfoReadyCallback(res)
23                   }
24                 }
25               })
26             }
27           }
28         })
29       }
30     })

2. button - 官方示例

wxml

 1 <!--index.wxml-->
 2 <view class="container">
 3   <view class="userinfo">
 4     <block wx:if="{{!hasUserInfo && canIUse}}" class=‘show-author‘>
 5       <button open-type="getUserInfo" class=‘show-author‘ bindgetuserinfo="getUserInfo">
 6
 7       <!--随意定制 -->
 8         <view class=‘get-userinfo‘>获取用户信息</view>
 9       </button>
10     </block>
11     <block wx:else>
12       <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
13       <text class="userinfo-nickname">{{userInfo.nickName}}</text>
14     </block>
15   </view>
16 </view>

wxss

 1 .show-author {
 2   position: absolute;
 3   top: 0;
 4   bottom: 0;
 5   left: 0;
 6   right: 0;
 7   z-index: 99;
 8   background: #000;
 9   opacity: 0.8;
10 }
11
12 .show-author>.get-userinfo {
13   color: #fff;
14   background-color: #f00;
15   border-radius: 10rpx;
16   top: 50%;
17   margin-top: 70%;
18 }

后面的app.js和index.js均是官方示例(或者直接点击拉取Github示例,哈哈)

3. 当然是发送code到后端,我们接收用户信息就OK了

原文地址:https://www.cnblogs.com/cisum/p/9458692.html

时间: 2024-09-30 17:51:17

微信小程序 - 获取用户信息的几种方式的相关文章

微信小程序-获取用户信息和openid,session_key,

1:微信小程序获取用户信息:比如常用的 avatarUrl (用户头像),nickName (用户名称) 等等, (1):获取用户信息调用 wx.getUserInfo 代码如下: 直接请求接口就可以了,随后把数据存放到storage中,下次直接取 就不用再请求接口,, 2:获取 openid (1):请求wx.login 接口,代码如下: url:是微信提供的 appid:是小程序的appid secret:是小程序开发设置的 AppSecret 只要获取到这两项,用户信息可以用于页面,ope

微信小程序 获取用户信息 encryptData解密 C#版本

最近学习小程序开发,需要对encryptData解密,获取用户信息,官方源码没有C#版本,网上的资料比较杂,有的使用还有问题,下面贴一下自己亲试可以使用的一个源码 1.code 换取 session_key 前端先调 wx.login 得到code传输到后端,后端通过接口 https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authoriza

微信小程序获取用户信息流程

获取用户信息与其他授权不太一样,其他授权会自动弹出对话框,请求获取用户授权,但获取用户信息不回,需要引导用户点击授权按钮同意授权获取用户基本信息 1.前端页面要有授权登录按钮 <button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo" > 授权登录 </button> <view wx:else>请升

微信小程序获取用户信息及手机号 进行微信登录

一.wxml页面 <view wx:if="{{config.tipsshow1}}" class='dialog-container'> <view class='dialog-mask'></view> <view class='dialog-info'> <view class='dialog-title'>login prompt</view> <view class='dialog-content'

26.OpenIdConnect获取用户信息的两种方式

openId在OAuth基础之上,在下面这红框内拿到Authorization Code之后还可以返回IdToken. IdToken和AccessToken一起返回.IdToken就会包括了用户的信息Claims .通过我们的ProfileService返回回去. 也就是这里 设置为True了 ,就会把新用户的信息都包含在IdToken里面返回给用户,第三方拿到IdToken就可以用了不需要再去获取AccessToken,这是一种方式 另外一种方式是IdToken里面不包含用户的信息.它会有一

微信小程序~获取位置信息

微信小程序提供的getlocation来获取用户的定位,能够得到用户的经纬度信息 (注:getloaction需要用户授权scope.userLocation)结合map组件能够得到用户的详细定位 <map id="map" longitude="{{longitude}}" latitude="{{latitude}}" scale="14" show-location style="width: 100%;

小程序获取用户信息的方式

一.在此之前,小程序获取微信的用户信息,用的都是wx.getUserInfo //例如 onLoad() { var that = this; wx.getUserInfo({ this.setData({ thumb: res.userInfo.avatarUrl, nickname: res.userInfo.nickName }) }) } 二.自从微信接口有了新的调整之后 wx.getUserInfo()便不再出现授权弹窗了(PS:但仍能用于获取已授权用户数据),需要使用button做引

微信小程序 获取用户openid

1,可以在小程序app.js入口文件中放入登录代码 wx.login({ success: res => { // 登录注册接口 if (res.code) { // 调用服务端登录接口,发送 res.code 到服务器端换取 openId, sessionKey, unionId并存入数据库中 } else { console.log('登录失败!' + res.errMsg) } } }); 2,服务端PHP,小程序获取openid接口 // 获取openid function getOpe

微信小程序获取用户手机号详解

最近在做一款微信小程序,需要获取用户手机号,具体步骤如下: 流程图: 1.首先,客户端调用wx.login,回调数据了包含jscode,用于获取openid(用户唯一标识)和sessionkey(会话密钥). 2.拿到jscode后,将其发送给服务端,服务端拿它与微信服务端做交互获取openid和sessionkey.具体获取方法如下: (1)需要写一个HttpUrlConnection工具类: <span style="font-size:18px;">public cl