使用uni-app的uni.setStorageSync()
和uni.getStorageSync()
方法来存储和读取密码
- 在登录页中添加一个记住密码的
u-checkbox
选项,并在data里面添加一个rememberPwd
的布尔值,在每次点击记住密码change
的时候来记录用户的选择
<u-checkbox-group placement="column"><u-checkboxv-model="rememberPwd"@change="rememberChange":checked="rememberPwd"label="记住密码"name="yes"></u-checkbox></u-checkbox-group>
data() {return {loginForm: {username: "",password: "",},rememberPwd: false,};},methods: {rememberChange(i) {this.rememberPwd = i;},}
- 在点击登录按钮执行的事件中,使用
uni.setStorageSync()
方法将【用户名、密码、记住密码】存储在本地缓存中
// 登录逻辑后if (this.rememberPwd) {uni.setStorageSync("HBremember", this.rememberPwd);uni.setStorageSync("HBusername", this.loginForm.username);uni.setStorageSync("HBpassword", this.loginForm.password);} else {// 销毁缓存中的账号、密码uni.removeStorageSync("HBremember");uni.removeStorageSync("HBusername");uni.removeStorageSync("HBpassword");}// 再进行跳转等动作
- 在登录页的
onLoad
事件中,使用uni.getStorageSync()
方法检查本地缓存中是否存储了rememberPwd的值,如果存储了,则将它赋值给rememberPwd的属性,再取和赋值用户名和密码
onLoad() {//取出缓存中的账号、密码const HBremember = uni.getStorageSync("HBremember");const HBusername = uni.getStorageSync("HBusername");const HBpassword = uni.getStorageSync("HBpassword");if (HBremember && HBusername && HBpassword) {this.loginForm.username = HBusername;this.loginForm.password = HBpassword;this.rememberPwd = HBremember;}},