微信小程序-最新获取用户基本信息方案
如果只是单纯的展示用户信息,那么最简单的方案就是
文档中组件:

<open-data type="groupName" open-gid="xxxxxx"></open-data>
<open-data type="userAvatarUrl"></open-data>
<open-data type="userGender" lang="zh_CN"></open-data>
如果是需要将用户信息通过接口传递到后台,那么需要强制授权:
小程序目前在测试版和体验版限制通过wx.getUserInfo({})获取弹出授权框。
支持通过按钮点击获取授权的方式:
//注意:wx.authorize({scope: "scope.userInfo"}),无法弹出授权窗口
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
小程序目前不支持,打开时就弹出授权窗,只能使用按钮触发,按钮触发授权方案:
//此处时拒绝授权的警告窗口,如果用户点击拒绝,则会弹出这个窗口,确定按钮再次绑定授权弹窗事件。
<view class="authorize-warning" hidden="{{!isShowAhturoizeWarning}}">
<view class="box">
<view class="title">警告</view>
<view class="content">拒绝授权后,将无法通知您。。。。。点击“取消”拒绝提醒,点击“确定”再次尝试授权?</view>
<view class="footer">
<button bindtap="cancelAuthroize">取消</button>
<button open-type="getUserInfo" bindgetuserinfo="getAuthorize">确定</button>
</view>
</view>
</view>
getUserInfo(){//同意授权,获取用户信息,encryptedData是加密字符串,里面包含unionid和openid信息
wx.getUserInfo({
withCredentials: true,//此处设为true,才会返回encryptedData等敏感信息
success: res => {
// 可以将 res 发送给后台解码出 unionId
app.globalData.userInfo = res.userInfo;
app.globalData.encryptedData = res.encryptedData;
app.globalData.iv = res.iv;
this.saveUserInfo();
console.log(res)
}
})
},
getAuthorize(){//弹出授权窗函数
if(this.data.acceptAuthorize) {//判断是否已经授权过
// 获取用户信息
wx.getSetting({
success: res => {
if (res.authSetting['scope.userInfo']) {
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
this.getUserInfo();
this.setData({
isShowAhturoizeWarning: false
})
} else {
this.setData({
isShowAhturoizeWarning:true
})
}
}
})
} else {//如果已经授权过直接登录
this.saveUserInfo()
},
cancelAuthroize(){
this.setData({
isShowAhturoizeWarning: false,
acceptAuthorize:false
});
app.globalData.unionid=null;
this.saveUserInfo();
}
微信小程序-最新获取用户基本信息方案的更多相关文章
- 【微信小程序】获取用户地理位置权限,二次请求授权,逆解析获取地址
摘要:微信小程序内获取用户地理位置信息授权,被拒绝后二次获取,获取权限后逆解析得到用户所在省市区等.. 场景:商城类小程序,在首页时需展示附近门店,即用户刚进入小程序时就需要获取到用户位置信息 ste ...
- nodejs+koa+uniapp实现微信小程序登陆获取用户手机号及openId
nodejs+koa+uniapp实现微信小程序登陆获取用户手机号及openId 前言: 我准备用nodejs+koa+uniapp实现一款餐饮点单小程序,以及nodejs+koa+vue实现后端管理 ...
- 微信小程序后台获取用户的opeid
1.微信小程序后台获取登录用户的openid,首先微信小程序将code传给后台服务器 wx.login({ success: function (res) { var code = res.code ...
- 微信小程序授权获取用户详细信息openid
小程序获取用户的头像昵称openid之类 第一种使用wx.getUserInfo直接获取微信头像,昵称 wx.getUserInfo({ success: function (res) { that. ...
- 微信小程序之获取用户位置权限(拒绝后提醒)
微信小程序获取用户当前位置有三个方式: 1. wx.getLocation(多与wx.openLocation一起用) 获取当前的精度.纬度.速度.不需要授权.当type设置为gcj02 返回可用于w ...
- 微信小程序怎么获取用户输入
能够获取用户输入的组件,需要使用组件的属性bindchange将用户的输入内容同步到 AppService. <input id="myInput" bindchange=& ...
- 微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。
在这里给大家分享下我的心得,1.写代码前一定要对整个流程有个了解.我就是因为在先不了解整个过程中去ctrl+c+v他人的博客代码,花费很多无用的时间去处理还不知道能不能跑的起来的代码. 2.本人比较喜 ...
- 微信小程序—如何获取用户输入文本框的值
我们就拿简单常用的登录来举例子吧,先看最终效果图片
- 微信小程序 如何获取用户code
1.首先需要获取code 使用 wx.login({ success: function(res) { console.log(res);//这里的返回值里面便包含code }, fail: func ...
随机推荐
- Spring AOP理解
Spring的核心思想的IOC和AOP.最近学习AOP,对切面的学习有了进一步的认识. Spring用代理类包裹切面,把他们织入到Spring管理的bean中.也就是说代理类伪装成目标类,它会截取对目 ...
- Findbugs分析工具介绍
Findbugs是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.Findbugs自带检测器,其中有60余种Bad practice,80余种Correct ...
- 『转』The Beginning of your Design Career
想想,如果明天我开始学日语,坚持到毕业,其实也可以日语入门了.所以机会都是抓住,当初,也就是去年的时候,我那个时候就开始坚持日语入门,想想现在应该可以开始N2了吧-所以...过去不去理会,现在开始继续 ...
- LightOJ 1422 Halloween Costumes 【 区间dp 】
区间dp的第一题----- 看题解看了好多~~终于看懂了---55555 dp[i][j] 表示第i天到第j天至少需要多少件衣服 那么第i件衣服只被第i天占用的话, dp[i][j] = dp[i+1 ...
- (转)Bootstrap 之 Metronic 模板的学习之路 - (7)GULP 前端自动化工具
https://segmentfault.com/a/1190000006738327 初步了解 Metronic 的结构和应用后,我们就可以在项目中应用起来了.考虑到实际项目应用时,会有很多文件需要 ...
- iframe子页面调用父页面js函数
window.parent.document.getElementById("test").value; jQuery方法为: $(window.parent.document). ...
- php 单例模式与常驻服务
运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收.也就是 说,PHP在语言级别上没有办法让某个对象常驻内存.在PHP中,所有的变量都是页面级的,无论是全局变量,还是类的静态成员,都会在 ...
- jQuery样式操作
获取样式和设置样式 <p class='myClass' title='this is p'>this is p</p> 样式其实就是class属性所以设置和获取样式都能用a ...
- Project Euler 26 Reciprocal cycles( 分数循环节 )
题意: 单位分数指分子为1的分数.分母为2至10的单位分数的十进制表示如下所示: 1/2 = 0.5 1/3 = 0.(3) 1/4 = 0.25 1/5 = 0.2 1/6 = 0.1(6 ...
- web.xml 中context-param元素
context-param元素含有一对参数名和参数值,用作应用的ServletContext上下文初始化参数.参数名在整个Web应用中必须是惟一的 param-name 子元素包含有参数名,而para ...