vc++6.0获取磁盘基本信息_微信小程序——常用功能2:微信小程序用户登录,申请用户授权并获取用户基本信息...
微信小程序——常用功能2:申请用户授权并获取用户基本信息
为了更好的用户体验,很多时候我们想要获取用户的基本信息,从而实现将信息呈现到用户界面、给用户划分地域、给用户分类等功能。
但是要想获取用户信息的前提,就是我们需要先向用户申请授权。
当用户第一次进入小程序时,微信会自动申请用户授权,之后就进行申请。所以我们在需要授权操作的时候需要主动向用户申请授权。
所以今天的主要内容有两个:1.申请用户授权。2.获取用户基本信息。
如何新建小程序页面?查看往期文章微信小程序云开发——常用功能1:使用云函数获取用户openid,并1.加载到视图层 和2.缓存到本地
1.申请用户授权
微信调用接口:
1.wx.getSetting()
查看用户是否授权
2.用户授权
跳转申请用户授权页面
2.获取用户基本信息
微信调用接口:wx.getUserInfo()
js:
// 必须是在用户已经授权的情况下调用wx.getUserInfo({wx.getUserInfo({ success: function(res) {var userInfo = res.userInfo //获取所有用户信息 console.log('获取用户基本信息数据成功',userInfo) //显示获取结果到调试器var nickName = userInfo.nickName //获取用户昵称var avatarUrl = userInfo.avatarUrl //获取用户头像链接var gender = userInfo.gender //获取用户性别 0:未知、1:男、2:女var province = userInfo.province //获取用户省var city = userInfo.city //获取用户市var country = userInfo.country //获取用户国家}
开始融合两个功能进行讲解:
逻辑:
因为只要点击跳转按钮就会跳转到用户授权页面,所以我们要增加一个方法,当用户已授权就不会跳转到用户授权页面,当用户没有授权时再跳转到有用户授权按钮的页面。
需要的页面:
1.我们的当前操作页面(pages/first/first)。查询用户是否已授权,如果已授权,直接进入首页,如果没有授权,跳转到授权页面 page/first/shouquan。
2.授权页面(pages/first/shouquan)。请求让用户开启授权。
方法(所有代码+讲解,大家可以直接复制到微信开发者工具进行研究):
使用代码之前先将我们的授权方式改成“不适用我的用户信息”,开发者工具里边的样式不太好看,但大家可以用手机真机调试一下,可以看到正常的页面,挺好看的窝窝头一块钱四个嘿嘿
wxml(pages/first/first):
<view wx:if="{{!loginOK}}" style="width:350px;text-align: center;"><image class="touxiang" src="{{touxiang}}">image><view class="yonghuming">{{yonghuming}}view><view class="suozaidi">{{suozaidi}}view><button type="primary" bindtap="login">用户授权button><button type="primary" open-type="openSetting">用户授权button>view><view wx:else> 欢迎来到我的小程序:)view>
wxml(page/first/shouquan):
<button type="primary" open-type="openSetting">用户授权button>
css(pages/first/first)
/* pages/first/first.wxss */.touxiang{width: 100px;height: 100px;border-radius: 500px;background: red;
margin-top: 140px;}.yonghuming{font-size: 14px;margin-top: 20px;margin-bottom: 20px;}.suozaidi{font-size: 14px;margin-top: 10px;margin-bottom: 60px;}
js(pages/first/first)
// pages/first/first.jsPage({
/** * 页面的初始数据 */ data: { yonghuming: '用户名', touxiang: '', suozaidi: '微信显示所在地区', loginOK: false,},
login(){ //点击按钮调用该方法let that = this //将当前页面全局数据this放到当前login方法的that变量中
//查询用户登录状态接口的调用 wx.getSetting({ success(res){ console.log("查询用户登录状态成功",res) //打印调用接口结果//在调试器console中找到结果,打开后发现在res中authSetting数组下的scope.userInfo是用户登录状态
if(res.authSetting['scope.userInfo']){ //如果res.authSetting['scope.userInfo']为true console.log("用户已授权") that.setData({ //使用that变量 loginOK:true //将用户登录状态设置为true,默认为false})
//用户授权成功后,查询用户信息 wx.getUserInfo({ success: function(res) {var userInfo = res.userInfo //获取所有用户信息 console.log('获取用户基本信息数据成功',userInfo) //显示获取结果到调试器
//将获取到的内容缓存到本地storage,方便日后在其他页面调用查询 wx.setStorage({ data: { nickName: userInfo.nickName, //获取用户昵称 avatarUrl: userInfo.avatarUrl, //获取用户头像链接 gender: userInfo.gender, //获取用户性别 0:未知、1:男、2:女 province: userInfo.province, //获取用户省 city: userInfo.city, //获取用户市 country: userInfo.country, //获取用户国家}, key: 'userInfo',})
}})
}else{ //如果res.authSetting['scope.userInfo']为false console.log("用户未授权") wx.navigateTo({ url: '../first/shouquan', //跳转到授权页面})}}})
},
})
setData()方法如何使用:查看往期文章
setStorage()方法如何使用:查看往期文章微信小程序云开发——常用功能1:使用云函数获取用户openid,并1.加载到视图层 和2.缓存到本地
wx:if显示用户登录状态逻辑如何使用:查看往期文章微信小程序——常用功能1:使用wx:if逻辑,根据data视图层在相同页面显示不同数据
登录页面:
用户授权页面就一个按钮:
还看什么呢,赶紧试试吧!记得打开调试器随时查看变化。
我不是专业程序工作者,在这里是把我的小程序设计经验分享给大家。
如果其中有用词不当的地方,请大家留言指正,我们共同学习。
更多设计、功能的学习经验,大家也可以去我的公众号查看!
————
vc++6.0获取磁盘基本信息_微信小程序——常用功能2:微信小程序用户登录,申请用户授权并获取用户基本信息...相关推荐
- php 微信打赏功能,微信打赏是什么功能?微信怎么打赏?
大家都知道现在微信开通了打赏功能,很多人都想利用打赏功能来获得收益,那么这个微信打赏是什么功能,微信打赏功能是什么,微信打赏功能怎么用很多人却是不知道的,那下面小编就给大家具体说说这个步骤,记得来看看 ...
- 在微信中朋友圈功能对于微信的价值是什么?
在微信中朋友圈功能对于微信的价值是什么? 微信的定位就是一款社交产品,包含三大模块:聊天.朋友圈.公众号 1.对于社交来说,朋友圈是一种高效快捷的社交方式 了解朋友动态 点赞评论简单的互动形式,还能表 ...
- 猜歌小游戏多功能组合微信小程序源码下载
这是一款多功能游戏组合的一款小程序 比如猜歌,摇骰子,真心话大冒险等等 php7.2 mysql5.6 1.上微擎框架 2.将后台两个压缩包上传到addons目录下解压 创建小程序应用 3.后台设置一 ...
- 【微信小程序系列:二】小程序常用功能:跳转地图、扫一扫、人脸识别、拍照、拨打电话、调整屏幕亮度、文字可复制、监听截屏...
一.先言: (- ̄▽ ̄)-,hello,微信小程序系列第二篇,介绍下小程序里的前端常用功能api,可以快速copy使用~ 二.文字可复制: 小程序页面里的文字默认是没有长按复制功能的,需要套个标签来实 ...
- 微信小程序常用功能总结(持续更新中~)
分享我在商城类微信小程序项目中用到的功能~(uniapp) 1. 分享小程序某个页面到微信好友或群聊 onShareAppMessage() {let imagePath = 'https://tid ...
- 10行代码实现微信小程序支付功能,使用小程序云开发实现小程序支付功能(含源码
前面给大家讲过一个借助小程序云开发实现微信支付的,但是那个操作稍微有点繁琐,并且还会经常出现问题,今天就给大家讲一个简单的,并且借助官方支付api实现小程序支付功能. 传送门 借助小程序云开发实现小程 ...
- node 压缩图片_推荐10个常用的图片处理小帮手(下)「值得收藏」
作者: semlinker 转发链接:https://mp.weixin.qq.com/s/i3ynTtPJOECoAYfqHFoo3Q 前言 本文给小伙伴们隆重介绍用于图片处理的十个 「" ...
- ASP.NET 2.0关于用户登录限制问题实例:防止同一用户同时登陆
要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在.在这里使用一个cache存放已经登陆的用户名,但是还有一个问题就是要知道用户是什么时候离开 ...
- 达梦数据库操作记录_达梦数据库常用功能及命令记录 -- 持续更新
达梦数据库常用功能及命令记录 -- 持续更新 达梦数据库常用功能及命令记录 达梦数据库语句的使用总体来说跟 oracle 很接近的, 这篇文章主要是把常用的情况和语句做了记录, 并且后续还会不断的持续 ...
最新文章
- 「完结」12篇文章带你逛遍主流分割网络
- 表中重复记录的一些常用脚本
- have sb do / have sb doing / have sth dong 区别
- 读债务危机0824:随笔
- 三款ActiveX图表控件对比评测 TeeChart VS ProEssentials…
- Word/Excel文档伪装病毒-kspoold.exe分析
- linux下查看无线网卡的命令,lspci命令可看无线网卡 ifconfig看不到 如何操作
- 一句话木马绕过linux安全模式,一句话木马(webshell)是如何执行命令的
- 深度学习(参数选择)
- visual studio 设计器不显示_设计模式 | Iterator设计模式
- 下单送奖励金的实现思路
- powershell自动化操作AD域、Exchange邮箱系列(9)—导出AD内所有计算机到数据库
- 思维改变生活:不需要经历也能明白
- gridview中手工排序
- 【版本控制】如何从github 上获取源码
- 你真的懂JavaScript基础类型吗
- 小说全自动采集详细过程-支持各大开源小说CMS采集
- IP 协议报文格式 【IPv4】
- 物业为什么要用微小区SaaS系统进行管理
- PreparedStatement防止SQL注入