一、授权登录:wx.getUserProfile

1、使用wx.getUserProfile实现登录

1、javascript:
  login(){
wx.getUserProfile({
desc: '用于完善信息资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: res => {
let user=res.userInfo
console.log('内部的this',user)
this.setData({
nickName: user.nickName,
touxiang: user.avatarUrl
})
},
fail:res=>{
console.log('失败',res)
}
})
}

2、使得头像美观,头像和名字居中对齐

1、html:
<button bindtap="login">授权登录</button>
<view class="user">
<image class="touxiang" src="{{touxiang}}"></image>
<view class="name">{{nickName}}</view>
</view>
2、css:
.user{
display: flex;
flex-direction: column;
align-items: center;
}
.touxiang{
width: 200rpx;
height: 200rpx;
border-radius: 50%;
margin-top: 30rpx;
margin-bottom: 30rpx;
}

二、授权登录后使得授权按钮自动隐藏

1、第一种方式

1、html:
<button bindtap="login" wx:if="{{NoLogin}}">授权登录</button>
<view class="user" wx:else>
<image class="touxiang" src="{{touxiang}}"></image>
<view class="name">{{nickName}}</view>
</view>
2、javascript:
  /**
* 页面的初始数据
*/
data: { NoLogin:true,
nickName:''
},
login(){
wx.getUserProfile({
desc: '用于完善信息资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: res => {
let user=res.userInfo
console.log('内部的this',user)
this.setData({
nickName: user.nickName,
touxiang: user.avatarUrl,
NoLogin:false
})
},
fail:res=>{
console.log('失败',res)
}
})
}

2、第二种方式(推荐:代码量少)

1、html:
<button bindtap="login" wx:if="{{!userInfo}}">授权登录</button>
<view class="user" wx:else>
<image class="touxiang" src="{{userInfo.avatarUrl}}"></image>
<view class="name">{{userInfo.nickName}}</view>
</view>
2、javascript:
 /**
* 页面的初始数据
*/
data: {
userInfo:'',
nickName:''
},
login(){
wx.getUserProfile({
desc: '用于完善信息资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: res => {
let user=res.userInfo
console.log('内部的this',user)
this.setData({
userInfo:user
})
},
fail:res=>{
console.log('失败',res)
}
})
}

三、退出功能

使用上文的授权判断{{!userInfo}}语句,授权是把res.userInfo的信息交给user使得判断语句为假,而退出的让判断语句为真,所以代码可以写成:

1、javascript:
  // 退出登录
loginOut(){ this.setData({
userInfo:''
})
}

小程序的登录授权与退出功能(wx.getUserProfile)的更多相关文章

  1. 微信小程序之登录连接django,以及用户的信息授权认证

    小结: 1 如何自定义组件 - 组件和页面一样,也是由四个文件组成,所以我们自定义组件的时候,模拟pages文件夹,把所有的所有的组件都放在一个文件夹中,每个组件又由一个文件夹包裹,方便管理,在对应目 ...

  2. 小程序版好友对战实战-wss部署与小程序用户登录时序

    上一篇文章是对需求的分析,本次将逐渐进入代码阶段.本次主要的内容包括服务端wss的部署以及小程序端用户授权的时序及逻辑. wss的配置与部署 微信小程序出于安全考虑,要求所有涉及到网络的操作,必须使用 ...

  3. 微信小程序获取登录手机号

    小程序获取登录用户手机号. 因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 <button> 组件的点击来触发. 首先,放置一个 button 按钮,将 ...

  4. 他们最先开发微信小程序,为何现在又退出了?

    1.当前现状 这几天大家又被微信小程序刷屏了,"得到"退出了小程序,"今日头条"暂停了服务,各种股票交易类的小程序也在证监会的要求下纷纷暂停服务.如果大家还不知 ...

  5. 微信小程序开发——点击按钮退出小程序的实现

    微信小程序官方是没有提供退出的API的,但是在navigator这个组件中,是有退出这个功能的:详情参考官方文档:navigator.示例代码:1 navigator open-type=" ...

  6. 微信小程序开发 - 用户授权登陆

    准备:微信开发者工具下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 微信小程序开发文档:htt ...

  7. 使用uni-app开发微信小程序之登录模块

    从微信小程序官方发布的公告中我们可获知:小程序体验版.开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败,需使用 <button open-type=" ...

  8. 使用Shiro+JWT完成的微信小程序的登录(含讲解)

    使用Shiro+JWT完成的微信小程序的登录 源码地址https://github.com/Jirath-Liu/shiro-jwt-wx 微信小程序用户登陆,完整流程可参考下面官方地址,本例中是按此 ...

  9. 微信小程序之登录态维护(十一)

    [未经作者本人同意,请勿以任何形式转载] >什么是登录态? 所谓登录态,就是程序在运行时,能够识别当前用户,能够证明自己的唯一性且合法. 我们知道,WEB服务器通过浏览器携带的cookie获取s ...

  10. 微信小程序0.11.122100版本新功能解析

    微信小程序0.11.122100版本新功能解析   新版本就不再吐槽了,整的自己跟个愤青似的.人老了,喷不动了,把机会留给年轻人吧.下午随着新版本开放,微信居然破天荒的开放了开发者论坛.我很是担心官方 ...

随机推荐

  1. Redis专题-队列

    Redis专题-队列 首先,想一想 Redis 适合做消息队列吗? 1.消息队列的消息存取需求是什么?redis中的解决方案是什么? 无非就是下面这几点: 0.数据可以顺序读取 1.支持阻塞等待拉取消 ...

  2. ChatGPT大师班 从入门到精通 视频教程 完整版

    本内容收集于:AIGC从入门到精通教程汇总 课程截图 课程目录 01.先导课:工具篇----ChatGPT平替解决方案及汉化教程.mp4 02.第1课:AIGC时代的到来.mp4 03.第2课:认识C ...

  3. Linux 内核设备树时钟绑定

    这种绑定依然处于开发中,并且基于 benh[1] 的一些实验性工作. 时钟信号源可以由设备树中的任何节点表示.这些节点被指定为时钟提供者.时钟消费者节点使用 phandle 和时钟指示符对将时钟提供者 ...

  4. Python+Flask接口实现简单的ToKen功能

    话不多说,上代码 from flask import request, jsonify from functools import wraps class TokenRequired: @classm ...

  5. 使用antd-mobile遇到的坑

    在使用antd-mobile中的组件的时候,遇到了一些比较棘手的问题,经过查找相关资料和网上的帮助,在此整理出了问题以及解决办法: 在引入antd-mobile的时候,根据官网提供的文档: 1,首先安 ...

  6. .NET C#基础(9):资源释放 - 需要介入的资源管理

    1. 什么是IDisposable?   IDisposable接口是一个用于约定可进行释放资源操作的接口,一个类实现该接口则意味着可以使用接口约定的方法Dispose来释放资源.其定义如下: pub ...

  7. 300PLC转以太网作为RTU主站连接智能电表

    300PLC转以太网作为RTU主站连接智能电表 现场介绍: 西门子300PLC转以太网通过兴达易控MPI-ETH-XD1.0PLUS PLC转以太网模块把安科瑞的智能电表接入到300PLC里,读取电表 ...

  8. Blazor前后端框架Known-V1.2.16

    V1.2.16 Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行. Gitee: https://gitee.com/known/Known Git ...

  9. Python并发编程——操作系统发展史、多道技术、进程理论、开启进程、join方法、进程间的数据隔离

    文章目录 必备知识回顾 今日内容详细 操作系统发展史 多道技术 必备知识点 多道技术图解 多道技术重点知识 进程理论 必备知识点 进程调度 进程运行的三状态图 两对重要概念 开启进程的两种方式 joi ...

  10. linux常用命令(八) tar 打包、压缩、解包、解压缩

    Linux 常用的压缩与解压缩命令有:tar.gzip.gunzip.bzip2.bunzip2.compress .uncompress. zip. unzip.rar.unrar 等. 首先要弄清 ...