当前位置: 首页 > news >正文

怎么创建网站app北京搜索排名优化

怎么创建网站app,北京搜索排名优化,校际凡科平台,做网站的叫云啥vue项目登录页面实现记住用户名和密码 记录一下实现的逻辑,应该分两步来理解这个逻辑 首次登录,页面没有用户的登录信息,实现逻辑如下: 用户输入用户名和密码登录,用户信息为名为form的响应式对象,v-model…

vue项目登录页面实现记住用户名和密码

记录一下实现的逻辑,应该分两步来理解这个逻辑

  • 首次登录,页面没有用户的登录信息,实现逻辑如下:

    1. 用户输入用户名和密码登录,用户信息为名为form的响应式对象,v-model分别对应两个输入框
    2. 用户点击登录实现登录功能
    3. 判断是否勾选了记住密码,v-model一个CheckBox,勾选为true,不勾选为false,默认false
      • 若勾选记住密码,则在浏览器的localstorage中写入一个名为loginInfo的对象,值为字符串后的form
      • 若没有勾选,同样在localstorage中写入一个名为loginInfo的对象,值为空

    在这里插入图片描述

  • 下次再登录,就会根据上一次的勾选状态来判断是否填充form输入框,逻辑如下

    挂载页面时,判断localstorage中是否有需要的对象

    • 如果有,就把rememberMe的值设为true,并向页面的输入框填充用户名和米面
    • 如果没有,就把rememberMe的值设为false

    因为逻辑比较简单,就不再画图了

放一下相关的代码

<template><div class="login"><el-form ref="formRef" :model="form" :rules="rules" class="login-form"><h3 class="title">登录</h3><el-form-item prop="username"><el-input v-model="form.username" placeholder="输入账号"><template #prefix><el-icon class="el-input__icon"><User /></el-icon></template></el-input></el-form-item><el-form-item prop="password"><el-input v-model="form.password" placeholder="输入密码" type="password" show-password@keyup.enter.native="doLogin"><template #prefix><el-icon><Lock /></el-icon></template></el-input></el-form-item><div class="tooltip"><el-checkbox v-model="rememberMe" label="记住我" size="large" /><div class="register" @click="toRegister">注册账号</div><!-- <a href="#">忘记密码</a> --></div><el-form-item><el-button style="width: 100%" @click="doLogin" class="input">登录</el-button></el-form-item><div class="sep"><div style="margin-top: -11px"><label>联系我们</label></div></div></el-form></div>
</template><script setup>
import { reactive, ref, onMounted } from 'vue'
import { useUserStore } from '@/stores/user';
import { useRouter } from 'vue-router'
import { ElMessage } from 'element-plus';
const userStore = useUserStore()
const router = useRouter()
import http from '@/utils/http'
// import axios from 'axios'const rememberMe = ref(false)
const formRef = ref(null)
const form = ref({username: '',password: ''
})const rules = {username: [{ required: true, message: "用户名不能为空", trigger: "blur" },{ min: 2, max: 30, message: "长度在 2 到 30 个字符", trigger: "blur" }],password: [{ required: true, message: "密码不能为空", trigger: "blur" },{ min: 3, max: 30, message: "长度在 6 到 30 个字符", trigger: "blur" }],
}const doLogin = () => {const { username, password } = form.valueconst data = { username, password }// console.log(data)formRef.value.validate(async valid => {if (valid) {try {await userStore.getUserInfo(data)// console.log('sdfdssff', userStore.userInfo)if (userStore.userInfo.Authorization) {if(rememberMe.value){localStorage.setItem('loginInfo', JSON.stringify(form.value))} else {localStorage.setItem('loginInfo', JSON.stringify({}))}router.push('/')}} catch (error) {ElMessage.error('用户名或密码错误')}}else { ElMessage.error('校验没通过') }})
}const toRegister = () => {router.push('/register')
}// 页面加载时监听是否有记住密码
onMounted(() => {// console.log(Object.keys(localStorage.getItem('loginInfoTs')))if(localStorage.getItem('loginInfo') != null && Object.keys(localStorage.getItem('loginInfo')).length > 2){rememberMe.value = trueconst loginInfo = JSON.parse(localStorage.getItem('loginInfo'))form.value.username = loginInfo.usernameform.value.password = loginInfo.password} else {rememberMe.value = false}
})
</script>核心代码是doLogin方法和onMounted中的内容
http://www.mmbaike.com/news/59974.html

相关文章:

  • 优猫券网站怎么做数据统计网站有哪些
  • 小型b2c网站建设费用舟山seo
  • 大连网站设计公司app地推接单平台
  • 美发培训职业学校企业网站如何优化
  • 山西并州建设有限公司潍坊百度关键词优化
  • 全屏响应式网站模板网站广告策划
  • 网站制作免费优化推广什么意思
  • 万州微网站建设百度推广投诉电话
  • 网页制作模板的网站代码网站优化排名推广
  • 集团网站建设服务公司上海网站营销推广
  • 网站备案填写网站名称小程序开发框架
  • 合网站 - 百度企业应该如何进行网站推广
  • 可以看男男做的视频网站百度seo价格
  • 网络网站推广首荐乐云seo网络营销师课程
  • 做二手的网站都有哪些佛山疫情最新情况
  • 网站开发学习方法seo外包是什么
  • 做公司网站的模板注册平台
  • 建手机网站的平台产品销售方案与营销策略
  • 对于网站建设提出建议百度网盘客户端
  • 北京公司网站制作公司seo外包费用
  • 如何做家具网站网络信息发布平台
  • 精美网站建设职业技能培训中心
  • 怎么把做的网站传百度开户是什么意思
  • 丹江口做网站如何选择长沙网站seo外包
  • 新手做网站什么内容比较好阿里云域名查询和注册
  • 老河口网页定制宁波企业seo推广
  • 升级网页优化手机流畅度的软件
  • 政务网站建设的重要性互联网营销推广公司
  • 深圳专业网站制作技术沈阳seo代理计费
  • 福州专业制作网站百度号码认证平台官网首页