uni-app 实现记住账号密码功能

11 篇文章 4 订阅

1、示例:

![在这里插入图片描述](https://img-blog.csdnimg.cn/c7ba6a6aa77d46d5ad7cee4252e4c430.png

2、代码:

只看核心代码块 其他不用管

<template>
	<view class="page">
		<view class="top-background-raduis"> </view>
		<view class="login-box">
			<view class="login-card-title">
				<view class="login-card-title-content"> 账号密码登录 </view>
			</view>
			<view class="login-card-input">
				<!-- 输入框头部图标 -->
				<uni-easyinput class="hj-input" v-model="user.userName" focus maxlength="30" :trim="true"
				 placeholder="请输入账号"></uni-easyinput>
				<!-- 输入框头部图标 -->
				<uni-easyinput class="hj-input" v-model="user.password" type="password"
					 placeholder="请输入密码"></uni-easyinput>
			</view>
			<!-- 记住密码功能 -->
			<view class="remember-psw">
				<checkbox-group>
					<checkbox type="checkbox"  :checked='rememberPsw' @click="rememberPsw = !rememberPsw" color="#09CC86"/>
					记住账号密码
				</checkbox-group>
			</view>

			<view class="login-card-loginIn">
				<view class="login-card-loginIn-btn" @click="login">
					登录
				</view>
			</view>
		</view>
		<view class="bottom-message">
			版权所有 示例
		</view>
	</view>
</template>
	import {
		login
	} from "@/pages/login/api/api.js";
	export default {
		data() {
			return {
				rememberPsw: true,//复选框状态 默认勾选
				user: {
					userName: '',//账号
					password: ''//密码
				}
			};
		},
		mounted() {
			//取出缓存中的账号、密码
			const HBusername = uni.getStorageSync('HBusername');
			const HBpassword = uni.getStorageSync('HBpassword');
			console.log("缓存的账号:",HBusername)
			console.log("缓存的密码:",HBpassword)
			//有账号、密码就赋值给文本,没有就清空
			if (HBusername && HBpassword) {
				this.user.userName = HBusername;
				this.user.password = HBpassword;
			}
		},
		methods: {
			//登录
			login() {
				if (this.auth()) {
					login(this.user).then(res => {
						if (res.code == '200') {
						   //勾选就缓存账号、密码
							if (this.rememberPsw) {
								uni.setStorageSync('HBusername', this.user.userName);
								uni.setStorageSync('HBpassword', this.user.password);
							} else {//销毁缓存中的账号、密码
								uni.removeStorageSync('HBusername');
								uni.removeStorageSync('HBpassword');
							}
							uni.showToast({icon: 'none',title: '登录成功'});
							uni.setStorageSync('Admin-Token', res.token);
							setTimeout(() => {
								uni.reLaunch({
									url: '/pages/cyjy/home', //跳转首页
								})
							}, 500);
						}else {
							uni.showToast({icon: 'none',title: '登录失败'});
						}
					}).catch(err => {
						console.log(err)
					})
				}
			},
			//校验
			auth() {
				if (this.user.userName.length < 1 || this.user.userName == '' && this.user.password.length < 1 || this.user.password == '') {
		            uni.showToast({icon: 'none',title: '请输入用户名与密码'});
					return false;
				}
				if (this.user.userName.length < 1 || this.user.userName == '') {
					uni.showToast({icon: 'none',title: '请输入用户名'});
					return false;
				}
				if (this.user.password.length < 1 || this.user.password == '') {
					uni.showToast({icon: 'none',title: '请输入密码'});
					return false;
				}
				return true;
			},
		},
}

3、步骤逻辑:

第一次登录输入账号密码默认是勾选记住账号密码的,登录会将账号密码存入进缓存。(复选框做了缓存的存入与销毁,勾选就将账号密码存入缓存,不勾选就销毁缓存。)

账号 key:HBusername
密码 key:HBpassword

第二次及往后每次登录,都会先从缓存中获取账号密码key,将账号密码填充进文本框,没有就不填充。
在这里插入图片描述

  • 11
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
uni-app中,记住密码功能是通过缓存实现的。当用户第一次登录时,可以选择勾选记住密码的选项,此时登录信息(包括账号和密码)会被存入缓存中。之后,用户再次打开登录页面时,如果缓存中存在登录信息,则自动填充账号和密码字段,实现记住密码功能。这样,用户就可以方便地登录而无需重复输入账号和密码。引用中提到,第一次登录输入账号密码默认是勾选记住账号密码的,登录会将账号密码存入缓存。同时,引用中提到,在安卓端南工认证apk中,也内置了记住账号密码功能。这些说明了uni-app记住密码实现方式。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [uni-app 实现记住账号密码功能](https://blog.csdn.net/qq_45978154/article/details/125886484)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [南京工业大学校园网登录认证APP](https://download.csdn.net/download/weixin_53590315/86824291)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

luvJie-7c

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

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

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

打赏作者

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

抵扣说明:

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

余额充值