微信小程序——如何实现账号的注册、登录?

用到的数据库表:

用户表:chat-user,用于存放用户的基本信息,比如账号、密码、头像等等

用户的注册

1.先获取用户信息

使用wx.getUserProfile接口,获取用户的基本信息

功能描述获取用户信息。页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用,每次请求都会弹出授权窗口,用户同意后返回 userInfo。该接口用于替换 wx.getUserInfo,详见 用户信息接口调整说明。

可以与一个事件进行绑定。

2.用户输入账号密码,把基本信息添加到数据库chat-user中

 wx.cloud.database().collection("chat-user").add({data:{number:Date.now(),//账号pas:that.data.pas1,//密码touxiang:that.data.userInfo.avatarUrl,//头像name:that.data.userInfo.nickName,//用户微信名admin:that.data.zh//用户},

完成这一步,用户的基本信息就上传到数据库中了。

同时为了之后更好的调用程序,可以将获取到的值赋值给本页的data和全局的globalData。

注意:

2.1.账号为了防止重复,我们使用data.now时间函数生成。

2.2.在用户进行输入的时候,我们有两个框让让他们进行输入,一个是昵称,另外一个是密码。为了防止用户密码出现失误,可以让用户输入两次密码一致后才注册成功。

2.3.灵活的使用 wx.showToast,弹出窗口进行提示是否成功。

3.页面跳转

调用组件wx.switchTab,直接跳转到tabar页面。

进行登录

1.获取用户的账号和密码

使用input组件就就可以实现。

以获取密码为例

  getpassword(e){//获取输入框密码console.log(e.detail.value)this.setData({pas1:e.detail.value})},

在js页面中,把获取到的信息负责给此页面中的data,为了下一步的数据中查询用户账号信息做准备。

2.根据获取到的账号密码,对数据库进行查询,获取查询到的结果。

注意:res._id是已经获取到的用户输入的账号。

         //查询数据库获取这个数据 wx.cloud.database().collection("chat-user").doc(res._id).get({success(res1){app.globalData.userInfo=res1.data//赋值给全局wx.switchTab({url: '/pages/message/message',})wx.showToast({title: '登录成功!',})}})

查询成功后,把返回的值赋值给全局data和本页面的data,以便进行接下来的操作。

综合使用

1.用户点击登录进入界面,可以选择直接登录或者注册。

2.若直接登录,则执行登录逻辑。

3.如果用户进行注册,则执行注册逻辑。

 

首先跳转到注册页面,之后判断获取用户是否获取微信信息,若没有获取,可以加一个提升窗口。

如果已经获取用户信息,则执行注册逻辑。

4.每一次获取数据库表中的内容之后,都需要将内容赋值给本页的data和全局的data。

5.注册或者登录成功后,跳转到页面首页。

 注意事项:success函数有两种写法,一种是箭头函数(不用进行that与this区分)写法是:success:(res)=>{}.

另外一种是之前版本的success,需要进行that与this区分。写法:success(){}.

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

java对接企业微信

java对接企业微信 一、注册企业微信 1.1 简介 企业微信与微信具有一样的体验,通过企业内部与外部客户的管理,构建出社群生态。企业微信提供丰富的api进行调用获取数据管理,也提供各种回调事件。 1.2 注册 登录官网,一键注册即可…

微信 JSAPI 支付流程

微信支付,开发文档地址: https://pay.weixin.qq.com/wiki/doc/api/index.html JSAPI支付文档地址: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter9_2 微信支付分为5种: Jsapi支付,二维码支付&#xf…

android 仿微信demo————注册功能完善添加头像功能(移动端)

android 仿微信demo————微信启动界面实现 android 仿微信demo————注册功能实现(移动端) android 仿微信demo————注册功能实现(服务端) android 仿微信demo————登录功能实现(移动端) an…

微信支付APIv3

文章目录 微信支付之前我的密钥啥的都是放到配置文件里面以后可以再写一个文件基础支付APIv3介绍获取验签和HttpClientAPIv3证书与密钥使用说明 微信支付的SDK工具Native支付流程我们程序运行时的日志也可以使用log.debug在方法堆栈里面查看我们程序执行的方法调用顺序内网穿透…

在线支付系列【8】微信支付之注册商户号

有道无术,术尚可求,有术无道,止于术。 文章目录 前言注册商户号1. 微信扫码登录2. 创建申请单2.1 基本信息2.2 主体身份2.3 法人信息及受益人信息2.4 经营与行业信息2.5 结算账户2.6 补充信息2.7 查看申请单 签约方式一:手机签约方…

Scala函数

1.基本语法 解析main方法 def main(args: Array[String]): Unit {函数体}*def 关键字,声明一个函数 * main 方法名 * args 参数名称 * Array[String] 参数的类型 * Unit 返回值类型,相当于Java中的void,没有返回值 * {} 函数体函数省略规则 …

微信公众号注册时提示该主体注册数量已超过上限怎么办?

很多用户在注册或认证微信公众号时,遇到“该主体注册数量已超过上限”的问题,这是怎么回事呢? 原因是2018年11月16日微信官方对公众号注册数量做了调整: 1.个人主体注册公众号数量上限由2个调整为1个; 2.企业类主体注…

开通微信公众号流程所需资料及时间

2019独角兽企业重金招聘Python工程师标准>>> 序号 阶段 所需资料 所需时间 一、(企业)注册公众平台 使用未注册过微信公众号的邮箱注册、验证激活 即时二、 选择帐号类型 详情查看服务号、订阅号、企业号区别后选择类型 即时三、信息登记 选择…

支付宝、微信注册时间,轻松查看!

早几天分享过与微信年度报告查询微信使用多少天,朋友圈传播非常火爆,今天教大家一招如何查询支付宝使用多少天。 看到上图还能回想到当时的激动吗? 马上进入正题,不啰嗦,查看支付宝注册日期的方法,也超级简…

车载ECU休眠唤醒-TJA1145

前言 首先,请教大家几个小小问题,你清楚: 什么是TJA1145吗?你知道休眠唤醒控制基本逻辑是怎么样的吗?TJA1145又是如何控制ECU进行休眠唤醒的呢?使用TJA1145时有哪些注意事项呢? 今天&#xff…

oppor15x支持html吗,oppor15x配置参数详情 r15和17的亲儿子

oppor15x虽然看上去和oppor15这款手机比较相似,但是实际上,作为oppo的最新款手机,oppor15x的发布时间是在oppor17之后的,不仅如此,在外观方面,oppor15x和oppor17会更为相似,在配置方面却更偏向o…

oppo r15 android 8,OPPO R15体验:基于安卓8.1,ColorOS 5.0更好用

当目前智能手机硬件性能普遍过剩,越来越多的人们开始逐渐意识到,参数并不等于体验,反而是依附于硬件之上的操作系统很大程度上直接决定了一款智能手机的使用体验。 在当前智能手机市场,虽然说安卓系统占据了绝大部分市场份额&…

android 汇编 参数,安卓ARM汇编基础知识

ARM 是 Advanced RISC Machine 的缩写,可以理解为一种处理器的架构,还可以将它作为一套完整的处理器指令集。RISC(Reduced Instruction Set Computing) 精简指令集计算机:一种执行较少类型计算机指令的微处理器。 处理器指令集: 计算机处理命…

linux x64 寄存器 传参,Linux X86架构参数传递规则

背景 突然好奇x86架构下函数参数怎么传递的,之前只是听别人说过通过寄存器,但是怎么传,什么顺序都没有仔细研究过,也没有实际测试过,因此就想着用实践来检验一下咯。 传参顺序 在32位和64位机器上,寄存器名称不同,64位机器为rxx,32位机器为exx。传参顺序如下, 64位系统…

linux控制协程参数,Linux高性能网络:协程系列06-协程实现之切换-Go语言中文社区...

目录 6.协程实现之切换 问题:协程的上下文如何切换?切换代码如何实现? 首先来回顾一下x86_64寄存器的相关知识。x86_64 的寄存器有16个64位寄存器,分别是:%rax, %rbx, %rcx, %esi, %edi, %rbp, %rsp, %r8, %r9, %r10, …

陶瓷气体放电管参数含义详解

​很多客户反应,不太明白陶瓷气体放电管产品手册中的参数含义。不可否认,电路保护器件产品规格书手册用的语言大部分都是英文,没有一定的英文基础,还真消化不了。有时候,就算能看得懂,但是面对枯燥无味的参…

ARM寄存器及功能介绍/R0-R15寄存器

1、ARM 寄存器组介绍 ARM 处理器一般共有 37 个寄存器,其中包括: (1) 31 个通用寄存器,包括 PC(程序计数器)在内,都是 32 位的寄存器。 (2) 6 个状态寄存器…

x64 汇编 参数传递

参数传递在不同的系统上是不一样的 称作 calling convention 调用约定 windows rcx,rdx,r8,r9 用来存储整数或指针参数,按照从左到右的顺序 xmm0,1,2,3 用来存储浮点参数 其余参数会压入栈中。 linux 当参数在 6 个以内,参数从左到右依次放入寄存器:…

汇编和c语言函数的参数,C函数与汇编函数之间参数及返回值传递方法

AAPCS对ARM结构的一些标准做了定义,在这里我们只重点介绍函数调用部分,如图8所示,AAPCS为ARM的R0~R15寄存器做了定义,明确了它们在函数中的职责: 图 8 AAPCS关于ARM寄存器的定义 一、函数调用时的规则如下: 1、 父函数与子函数间的入口参数依次通过R0~R3这4个寄存器传递。…

台式计算机配置参数,整机配置参数以及性能测试_台式电脑评测-中关村在线

我们首先来看一看同方E500的硬件配置情况。 根据AIDA64所示,同方E500搭载了i5-7400处理器、8GB内存、128GB建兴固态硬盘以及1TB西部数据机械硬盘。这个配置对于商务办公机来讲是非常合理的,在性能与成本之间得到了最佳的平衡。那么具体性能表现又是如何呢?我们来继续往下看。…