当前位置:首页 > VUE

vue登录业务的实现

2026-01-12 03:03:19VUE

登录业务实现步骤

1. 创建登录表单组件
使用Vue的单文件组件(SFC)结构,结合<template><script><style>实现表单UI。

<template>
  <form @submit.prevent="handleSubmit">
    <input v-model="form.username" placeholder="用户名" />
    <input v-model="form.password" type="password" placeholder="密码" />
    <button type="submit">登录</button>
  </form>
</template>

<script>
export default {
  data() {
    return {
      form: {
        username: '',
        password: ''
      }
    }
  }
}
</script>

2. 表单验证
通过计算属性或第三方库(如VeeValidate)校验输入。

computed: {
  isValid() {
    return this.form.username.length > 0 && this.form.password.length >= 6
  }
}

3. 提交逻辑与API调用
使用Axios或Fetch发送登录请求,处理响应结果。

methods: {
  async handleSubmit() {
    if (!this.isValid) return
    try {
      const res = await axios.post('/api/login', this.form)
      localStorage.setItem('token', res.data.token)
      this.$router.push('/dashboard')
    } catch (error) {
      console.error('登录失败:', error)
    }
  }
}

4. 状态管理(可选)
若项目使用Vuex或Pinia,可将用户状态存入全局Store。

// Pinia示例
import { useAuthStore } from '@/stores/auth'
const authStore = useAuthStore()
authStore.login(res.data.user)

5. 路由守卫
通过Vue Router的导航守卫保护需认证的路由。

vue登录业务的实现

router.beforeEach((to) => {
  if (to.meta.requiresAuth && !localStorage.getItem('token')) {
    return '/login'
  }
})

关键注意事项

  • 安全性:密码传输需HTTPS,服务端应哈希存储密码。
  • Token管理:建议使用HttpOnly Cookie或Secure LocalStorage存储令牌。
  • 错误反馈:前端需展示服务端返回的错误信息(如“用户名不存在”)。

扩展功能

  • 添加“记住我”选项,延长Token有效期。
  • 集成第三方登录(OAuth2.0)。
  • 实现登录加载状态与按钮防重提交。

标签: 业务vue
分享给朋友:

相关文章

vue实现导航栏切图

vue实现导航栏切图

Vue 实现导航栏切图 使用 Vue Router 实现基础导航 在 Vue 项目中,可以通过 Vue Router 实现导航栏的路由切换。创建一个导航栏组件,并在其中使用 <router-li…

vue 动画 实现

vue 动画 实现

vue 动画实现方法 Vue 提供了多种方式实现动画效果,主要包括过渡动画和动态动画两类。 使用 <transition> 组件实现基础过渡 通过 Vue 内置的 <transit…

vue实现toast

vue实现toast

Vue 实现 Toast 的方法 使用第三方库(推荐) 对于快速实现 Toast 功能,推荐使用成熟的第三方库如 vue-toastification 或 vant 的 Toast 组件。 安装 v…

vue实现flvvideo

vue实现flvvideo

vue-flv-player 实现 FLV 视频播放 安装依赖包 npm install flv.js vue-flv-player 基础组件引入 <template> <v…

vue实现快手

vue实现快手

Vue 实现类似快手的功能 Vue.js 是一个渐进式 JavaScript 框架,适合构建复杂的单页应用。要实现类似快手的功能,可以结合 Vue 和相关技术栈进行开发。 核心功能模块 视频流展示…

vue实现字幕

vue实现字幕

Vue 实现字幕功能 在 Vue 中实现字幕功能可以通过动态绑定数据和 CSS 动画来实现。以下是具体实现方法: 1. 基础字幕组件 创建一个字幕组件,通过 v-model 或 props 接收字…