【uni-app】使用uni-app实现简单的登录注册功能


前言

大家好,今天和大家分享一下如何在uni-app中实现简单的登录注册功能。
首先你需要掌握一下知识点:
1.网络请求 uni.request
2.页面跳转,页面传参 uni.navigateTo
3.本地缓存 uni.setStorageSync, uni.getStorageSync
我们要使用到登录和注册接口,所以要知道如何进行网络请求。
因为还需要进行注册,所以要进行跳转页面,跳转到注册页面所以要使用到页面跳转。
本地缓存就是当你登录之后要把你当前这个账号的用户信息进行存储,存储到本地,所以要使用本地存储。
下面我们就来看看具体的实现流程吧!

一、页面布局

这是登录页面的基本布局,有两个输入框,一个是账户,一个是密码,下面是一个登录按钮,按钮下面是a链接,点击注册账号就会跳转到注册页面进行账号注册。
在这里插入图片描述

下面是注册页面的基本布局,有三个输入框,分别是账号,密码和邮箱,如果接口的请求参数不是邮箱的话可以换成其他的,输入框下面是注册按钮,点击注册按钮注册成功的话进行提示,提示后返回登录页面。
在这里插入图片描述

二、注册页面

1.注册接口使用

代码如下(示例):

uni.request({
	url: '',
	method: 'POST',
	data: {
	Username:this.account,
	Password:this.password,
	Email:this.email
	},
	success: res => {
	
	},
	fail: () => {
	
	},
});

2.注册成功提示

代码如下(示例):

uni.showToast({
	title:"注册成功",
	duration:2000,
	success() {
							
	}
});

3.注册成功页面跳转

代码如下(示例):

setTimeout(function () {
	uni.navigateTo({
	 url: '../login/index',
	});
}, 1000);

这里我们使用了定时器,原因是当你注册成功的时候开始执行成功回调内的代码,如果不加定时器的话,会出现注册成功提示还没有出现就进行了页面跳转,所以我们这个加了一个定时器,让跳转时间在特定的时间后执行,这样在跳转页面没有执行的这段时间内提示就可以显示了。

4.完整代码

代码如下(示例):

methods: {
	btnReg(){
		uni.request({
			url: '',
			method: 'POST',
			data: {
				UserName:this.account,
				Password:this.password,
				Email:this.email
			},
				success: res => {
					uni.showToast({
					title:"注册成功",
					duration:2000,
					success() {
					setTimeout(function () {
					uni.navigateTo({
						 url: '../login/index',
					});
					}, 1000);
					}
					});
					},
			fail: () => {
					
			},
		});
	}
}

三、登录页面

1.登录接口使用

代码如下(示例):

uni.request({
	url: '',
	method: 'GET',
	data: {
		username : this.account,
		password : this.password
	},
	success: res => {
					
	},
	fail: () => {
						
	},
	});

2.本地存储使用

代码如下(示例):

uni.setStorage({
	key: 'username',
	data: this.account,
	success:function(){
		console.log("存储成功!");
	}
})

我之前写过一篇关于本地存储的文章,想要了解的可以去看一下,根据自己的需要来选择使用同步还是异步。

3.完整代码

代码如下(示例):

methods: {
	uni.request({
		url: '',
		method: 'GET',
		data: {
			username : this.account,
			password : this.password
		},
		success: res => {
			console.log(res);
			if(res.code== 0){
				uni.showToast({
					icon: 'none',
					title: '密码或用户名错误',
				});
			} else {
				uni.showToast({
				icon: 'none',
				title: '登录成功',
				});
				uni.setStorage({
					key: 'username',
					data: this.account,
						success:function(){
							console.log("存储成功!");
						}
				})
				uni.reLaunch({
					url:'../index/index',
				})
			}
		},
		fail: () => {
						
		},
	});
}

里面有一个判断,这个判断是看看是否登录成功,登录失败就提示登录失败的信息,如果登录成功的话就提示登录成功并跳转到首页。

总结

以上就是本章的全部内容,希望能够帮助到您。

  • 12
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萝卜头不吃萝卜头

您的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值