vue中的登录注册功能

点击登录按钮进行以下步骤:

1.表单预验证

根据输入的用户名和密码进行表单预验证

 表单预验证通过后

2.路由守卫

login() {
      // 表单预验证
      this.$refs.loginFormRef.validate(async (valid) => {
        //如果预验证不通过则什么也不执行
        if (!valid) return;
        //反之 则请求后台登录接口 将输入的用户名和密码与数据库中已注册用户名和密码进行对比
        //验证成功 即可放行!
        const { data: res } = await this.$http.post("login", this.formList);
        if (res.meta.status != 200) return this.$message.error("登陆失败");
        this.$message.success("登陆成功");
        // 将登陆成功的token保存至sessionStorage中
        window.sessionStorage.setItem("token", res.data.token);
        // 编程式导航 跳转至后台主页/home页面
        this.$router.push("/home");
        // 路由守卫 只有登陆成功返回token才可以跳转 通过修改url不能跳转
        router.beforeEach((to, from, next) => {
          // 如果访问的是登录页直接放行
          if (to.path === "/login") return next();
          //反之则从sessionstorage中获取保存的token值 进行判断
          const tokenStr = window.sessionStorage.getItem("token");
          // 没有token 强制让其返回到登录页
          if (!tokenStr) return next("/login");
          // 有token 直接放行到用户任意想去的地方
          next();
        });
      });
    },

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现登录注册功能,你需要在Vue使用组件来创建表单,使用Vue Router来处理路由和页面导航,以及使用Vuex来管理应用程序状态。 下面是一个简单的示例,演示如何使用Vue实现登录注册功能: 1. 创建注册组件和登录组件 在Vue,可以使用组件来创建用户界面。为了实现登录注册功能,你需要创建两个组件:一个用于用户注册,另一个用于用户登录。 ``` <template> <div> <h1>注册</h1> <form> <input type="text" placeholder="用户名" v-model="username"> <input type="password" placeholder="密码" v-model="password"> <button type="submit" @click.prevent="register">注册</button> </form> </div> </template> <script> export default { data() { return { username: '', password: '' } }, methods: { register() { // 实现注册逻辑 } } } </script> ``` ``` <template> <div> <h1>登录</h1> <form> <input type="text" placeholder="用户名" v-model="username"> <input type="password" placeholder="密码" v-model="password"> <button type="submit" @click.prevent="login">登录</button> </form> </div> </template> <script> export default { data() { return { username: '', password: '' } }, methods: { login() { // 实现登录逻辑 } } } </script> ``` 2. 创建路由和导航 使用Vue Router来处理路由和页面导航。你需要定义两个路由:一个用于用户注册,另一个用于用户登录。 ``` import Vue from 'vue' import Router from 'vue-router' import Register from '@/components/Register' import Login from '@/components/Login' Vue.use(Router) export default new Router({ routes: [ { path: '/register', name: 'Register', component: Register }, { path: '/login', name: 'Login', component: Login } ] }) ``` 3. 创建Vuex store 使用Vuex来管理应用程序状态。你需要创建一个store,用于存储用户信息和登录状态。 ``` import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Store({ state: { user: null, isLoggedIn: false }, mutations: { setUser(state, user) { state.user = user state.isLoggedIn = true }, clearUser(state) { state.user = null state.isLoggedIn = false } }, actions: { login({ commit }, user) { // 实现登录逻辑 commit('setUser', user) }, logout({ commit }) { // 实现登出逻辑 commit('clearUser') } } }) ``` 4. 在应用程序使用组件、路由和Vuex store 最后,在应用程序使用组件、路由和Vuex store来实现完整的登录注册功能。 ``` <template> <div> <h1>我的应用程序</h1> <nav> <router-link to="/register">注册</router-link> <router-link to="/login">登录</router-link> </nav> <router-view></router-view> </div> </template> <script> export default { name: 'App' } </script> ``` 完整的示例代码可以在GitHub上找到:https://github.com/vuejs/vue-router/tree/dev/examples/auth-flow

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值