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

<template>
	<view class="content">
		<view class="login-image-content">
			<image class="login-bg" src="../../static/login-bg.jpg"></image>
			<view class="login-container">
				<view class="login-box">
					<image class="login-logo" src="../../static/logo.png"></image>
					<view class="inp phone-num">
						<view class="youqige-iconfont icon-gerenzhongxin login-icon"></view>
						<input class="user-name-inp" type="text" placeholder-style="color: #c1c1c1;" placeholder="输入用户名或手机号" v-model="user.loginname" />
					</view>
					<view class="inp password">
						<view class="youqige-iconfont icon-mima login-icon"></view>
						<input type="text" password="true" placeholder-style="color: #c1c1c1;" placeholder="输入密码" v-model="user.password"/>
					</view>
					<!-- <image class="login-btn" src="../../static/login-btn.png" @tap="trunToIndex"></image> -->
					<button type="primary" hover-class="button-hover" class="login-btn" @tap="trunToIndex">登录</button>
					<!-- 记住密码 -->
					<view class="remember-psw">
						<checkbox-group>
							<label><checkbox value="psw" :checked='rememberPsw' @tap="rememberPsw =! rememberPsw" color="#09CC86"/>记住账号密码</label>
						</checkbox-group>
					</view>
					<view class="login-tip">
						<text @tap="turnToForget">忘记密码</text><text>|</text><text @tap="turnToRegister">立即注册</text>
					</view>
				</view>
			</view>
		</view>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				user: {
					loginname: '',
					password: ''
				},
				rememberPsw: true
			}
		},
		mounted() {
			let that = this;
			//页面加载完成,获取本地存储的用户名及密码
			const userName = uni.getStorageSync('userName');
			const userPsw = uni.getStorageSync('userPsw');
			if(userName && userPsw){
				that.user.loginname = userName;
				that.user.password = userPsw;
			}else{
				that.user.loginname = "";
				that.user.password = "";
			}
			
		},
		methods: {
			//跳转到忘记密码
			turnToForget() {
				uni.navigateTo({url: '../forget/forget'});
			},
			//跳转到注册
			turnToRegister() {
				uni.navigateTo({url: '../register/register'});
			},
			trunToIndex(){
				const that = this;
				 
				uni.showLoading({title:'努力登录中...', mask:true});
				that.$api.login(that.user, (msg)=>{
					if(msg){
						uni.showToast({title: msg, icon:'none'});
					} else {
						//登录成功获取用户信息
						that.$api.getUserInfo(function(msg){
							uni.hideLoading();
							if(msg){
								uni.showToast({title: msg, icon: 'none'});
							} else {
								uni.redirectTo({url: '../index/index'});
							}
						});
						
						//登录成功将用户名密码存储到用户本地
						if(that.rememberPsw){//用户勾选“记住密码”
							uni.setStorageSync('userName', that.user.loginname);
							uni.setStorageSync('userPsw',  that.user.password);
						}else{//用户没有勾选“记住密码”
							uni.removeStorageSync('userName');
							uni.removeStorageSync('userPsw');
							that.user.loginname = "";
							that.user.password = "";
						}
					}
				})
			}
		}
	}
</script>

实现的效果是:当我们勾选“记住用户名密码”的时候,登录之后,就会在本地存储用户名密码,如果登录的时候没有勾选“记住用户名密码”,就会清除之前本地存储的用户名及密码,并且页面用户名和密码置空

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