Uniapp登录页面获取头像、昵称的最新方法的简单使用

前言

        写小程序写到登录页面的时候,发现官方文档中原来的wx.getUserInfo和wx.getUserProfile不太能用了,学习了相对比较新的方法,这种方法的文档链接如下:

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/userProfile.html

 下面演示它的简单使用

效果说明

        写两个页面page1和page2,达到的效果是:在pages1中点击“去登录”,跳转到page2中填写头像和昵称(可以获取微信的头像和昵称),点击登录之后,将用户信息保存在storage中,跳转到page1并显示头像和昵称,同时显示退出登录按钮,点击之后退出登录,效果如下:

代码及解释

page2的代码如下:

<template><view class="container"><!-- 官网最新登录方法 --><button class="imageButton" open-type="chooseAvatar" @chooseavatar="onChooseAvatar"><image class="image" :src="avatarUrl"></image></button> <input class="nameInput" type="nickname" v-model="username" placeholder="请输入昵称" /><!-- 确认登陆按钮 --><button class="loginButton" @click="getUser">登录</button></view>
</template><script>export default{data(){return{avatarUrl: 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0',username:''};},methods:{onChooseAvatar(e) {//打印以查看详细数据// console.log(e.detail)this.avatarUrl= e.detail.avatarUrl;},getUser(){//存储上述输入的信息wx.setStorage({key:"userinfo",data:JSON.stringify({userName:this.username,photoUrl:this.avatarUrl})})//页面跳转,回到个人中心,把其它页面关闭wx.reLaunch({url:'/pages/personal/personal'})}}}
</script><style lang="stylus">.containertext-align: center.imageButtonwidth: 100rpxheight: 100rpxpadding: 0.imagemargin: 0width: 100%height: 100%.nameInputwidth: 300rpxheight: 60rpxborder: 1rpx solid #000margin: 20rpx auto;.loginButtonwidth: 150rpxheight: 80rpxfont-size: 30rpx
</style>

其中,第一个button的open-type可以提示获取微信用户头像,输入框input的type可以提示获取微信用户的昵称,v-model是将输入框中的内容和自定义变量绑定,最后填充到storage中

page1的代码如下

<template><view class="personal"><view class="header"><!-- 登陆状态 --><template v-if="userInfo.userName"><image class="img" :src="userInfo.photoUrl" mode=""></image><text class="login">{{userInfo.userName}}</text><button class="exit" @click="exit">退出登录</button></template><!-- 未登陆状态 --><template v-else><image class="img" src="/static/images/personal/personal.png" mode=""></image><text class="login" @click="toLogin">去登录</text></template></view></view>
</template><script>export default {data(){return {userInfo:{}};},mounted() {//从本地存储中读取数据wx.getStorage({key:'userinfo',//必须用箭头函数success:(res)=>{// console.log(res);if(res.data){this.userInfo=JSON.parse(res.data);console.log(res);}	}})},methods:{toLogin(){//用relaunch:登陆之后不能再返回到未登陆的状态wx.reLaunch({url:'/pages/login/login'})},exit(){//清空用户信息wx.setStorage({key:'userinfo',data:""})//导航登录页wx.reLaunch({url:'/pages/personal/personal' })}}}
</script><style lang="stylus">.personal.headerheight: 300rpxline-height: 200rpxbackground-color: #EED785display: flex.imgwidth:100rpxheight:100rpxvertical-align: middlemargin:50rpx.exitheight: 70rpxwidth:300rpxmargin: 60rpx//让按钮内文字居中 line-height: 70rpx</style>

通过v-if判断是否登陆,从而显示不同的header

在mounted中获取storage数据,设置userInfo予以填充

点击退出登录直接清空storage再刷新page1即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/660712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

交易策略的开发:关于市场到底能不能预测的哲学思考

文章目录 为什么要判断市场能否被预测三个方面来论述这个问题耗散结构理论什么是耗散结构 为什么要判断市场能否被预测 这个问题已经争论几十年了&#xff0c;不仅在股票市场&#xff0c;期货市场&#xff0c;外汇市场, 甚至整个金融市场。至今没有人给出一个科学的论断。 如果…

上位机是什么?与下位机是什么关系

在工业自动化领域中&#xff0c;上位机是一项关键而引人注目的技术。许多人对上位机的概念感到好奇&#xff0c;想要深入了解其在工业智能中的作用。那么&#xff0c;上位机究竟是什么呢&#xff1f; 首先&#xff0c;上位机是一种用于工业控制系统的软件应用&#xff0c;通常…

配置支持 OpenAPI 的 ASP.NET Core 应用

写在前面 Swagger 是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 本文记录如何配置基于Swagger 的 ASP.NET Core 应用程序的 OpenAPI 规范。 需要从NuGet 安装 Swashbuckle.AspNetCore 包 代码实现 var builder WebApplicati…

STM32G4单片机

单片机的基本结构 CPU就是中央处理器&#xff0c;是单片机的内核 时钟电路&#xff0c;时钟源是给整个电路提供时序 其他的外设、中断以及存储器都是通过系统总线与CPU进行连接 RAM相当于电脑的内存条&#xff0c;随机存储器&#xff0c;掉电会丢失 ROM相当于电脑的硬盘&am…

vmstat 监控虚拟内存,进程,CPU

文章目录 1. 命令格式&#xff1a;2. 命令功能&#xff1a;3. 命令参数&#xff1a;4. 使用实例&#xff1a;实例1&#xff1a;显示虚拟内存使用情况实例2&#xff1a;显示活跃和非活跃内存实例3&#xff1a;查看系统已经fork了多少次实例4&#xff1a;查看内存使用的详细信息实…

美籍华裔力学和数学家林家翘

林家翘&#xff08;1916年7月7日—2013年1月13日&#xff09;&#xff0c;出生于北京&#xff0c;男&#xff0c;原籍福建福州&#xff0c;力学和数学家&#xff0c;美国艺术与科学院院士、美国国家科学院院士、中国科学院外籍院士&#xff0c;麻省理工学院荣誉退休教授 [1]。 …

初始MySQL

一 SQL的基本概述 基本概述 ▶SQL全称: Structured Query Language&#xff0c;是结构化查询语言&#xff0c;用于访问和处理数据库的标准的计算机语言。SQL语言1974年由Boyce和Chamberlin提出&#xff0c;并首先在IBM公司研制的关系数据库系统SystemR上实现。 ▶美国国家标…

【Linux】Linux基本指令

目录 1.ls指令 2.cd指令 3.touch指令 4.mkdir指令 5.rmdir指令和rm指令 5.1rmdir指令 5.2rm指令 6.man指令 7.cp指令 8.mv指令 9.cat指令 10.more指令 && less指令 10.1more指令 10.2less指令 11.head指令 && tail指令 11.1head指令 11.2tai…

第23课 使用FFmpeg将rtmp流再转推到rtmp服务器

通过上节课的学习&#xff0c;我们已经可以正常播放本地rtmp流及mp4文件&#xff0c;这节课&#xff0c;我们将在上节课的基础上实现一个常用的转推功能&#xff1a;读取rtmp流或mp4文件并转推到rtmp服务器上实现直播转发功能。 一、FFmpeg API 转码推流的一般过程 1.引入ffm…

内存泄漏调试 ---- jemalloc的heap profiling

使用jemalloc时&#xff0c;可以通过profiling机制来发现并定位内存泄漏(memory leak)。本文翻译自原文并增加了一些例子。 1、安装 这里我们编译安装jemalloc.5.10&#xff0c;注意在configure的时候添加了–enable-prof选项&#xff0c;这样才能打开profiling机制。下文中通…

Django的request.session缓存的广发用法

前言&#xff1a; 相信同学们在学习PythonWeb开发的时候和我一样会遇到许多问题&#xff0c;今天我这边举几个例子涉及到session缓存的问题&#xff0c;由于当时并没有接触session缓存的技术内容&#xff0c;所以往往头大&#xff0c;一时间不知带如何解决&#xff0c;老师也会…

2401cmake,学习cmake2

步4:安装与测试 现在开始给项目添加安装规则和支持测试. 安装规则 安装规则非常简单:对MathFunctions,想安装库和头文件,对应用,想安装可执行文件和配置头. 所以在MathFunctions/CMakeLists.txt尾添加: install(TARGETS MathFunctions DESTINATION lib) install(FILES Mat…

服务网格(Service Mesh)流行工具

在这篇博客中&#xff0c;我们将介绍微服务的最佳服务网格工具列表&#xff0c;这些工具提供安全性、金丝雀部署、遥测、负载均衡等。 用于部署和操作微服务的服务网格工具的数量不断增加。在这篇文章中&#xff0c;我们将探讨您应该用来构建自己的服务网格架构的顶级服务网格…

【Eclipse平台】2 Eclipse Workbench工作台介绍

Eclipse Workbench工作台介绍 本文介绍Eclipse工作台Workbench。 当工作台启动时&#xff0c;首先看到的是一个对话框&#xff0c;该对话框允许我们选择工作区的位置。工作区是存储工作的目录。现在&#xff0c;只需单击“确定”即可选择默认位置。 选择工作区位置后&#x…

如何访问 Oracle OKE 集群

OKE是Oracle Cloud提供的托管Kubernetes服务&#xff0c;为用户提供强大而灵活的容器编排平台。在本文中&#xff0c;我们将详细介绍如何有效地与OKE集群进行交互&#xff0c;包括访问集群的不同方式、管理访问权限以及执行常见操作的步骤。 1 安装oci命令 1.1 在Oracle Linux…

【gRPC】protoc文件转py文件

以下基于Win系统下Python的venv虚拟环境演示 《Python3笔记之venv虚拟环境》《Python笔记之pip国内镜像修改方法》 在桌面创建个test目录作为项目目录&#xff0c;初始化venv环境后&#xff0c;安装基础依赖&#xff1a; pip install grpcio grpcio-reflection grpcio-tools p…

证券开户怎么联系专属客户经理?新手必看!

证券开户联系专属客户经理的方式有很多&#xff0c;可以通过手机网上找客户经理&#xff0c;现在这种方式是最多的&#xff0c;比如咱们网站都是各大券商专业的客户经理&#xff0c;在线联系就可以帮您安排。您自己也可以挑选自己觉得好的券商和客户经理&#xff0c;然后再沟通…

Backtrader 文档学习- Broker - Trade

Backtrader 文档学习- Broker - Trade 1. 概述 交易的定义&#xff1a; 通过操作持仓从0变为大小为X时&#xff08;可能为正/负&#xff0c;对于多头/空头头寸&#xff09;&#xff0c;则交易处于开放状态。当持仓从X变为0时&#xff0c;交易关闭。 以下两个操作&#xff1a…

使用Server-Sent Events实现后端主动向前端进行通信

目录 概述 使用 Server-Sent Events (SSE) 示例 1.创建SpringBoot项目添加web依赖&#xff0c;并编写以下代码 2.创建Vue项目并在项目的.vue文件中编写以下代码 效果说明 使用触发的方式向前端传递数据 总结 概述 在典型的前后端分离架构中&#xff0c;前端通过发起 H…

静态HTML引入vue封装组件

在对历史原生html代码使用vue重构项目时&#xff0c;可以利用vue相关组件进行项目优化、实现统一管理&#xff0c;本文结束htmlvue的构建方式&#xff0c;欢迎大家阅读交流。 1、 下载vue.js 可自行到官网下载所需版本或者使用cdn资源 2、封装通用组件 2.1 封装通用实例化m…