中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue如何實現登錄功能

發布時間:2021-09-24 10:53:34 來源:億速云 閱讀:488 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關Vue如何實現登錄功能,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

登錄概述

登錄業務流程

1.在登錄頁面輸入用戶名和密碼

2.調用后臺接口進行驗證

3.通過驗證之后,根據后臺得響應狀態跳轉到項目主頁

登錄業務的相關技術點

http是無狀態的通過cookie在客戶端記錄狀態通過session在服務器端記錄狀態通過token方式維持狀態

這里要清楚哦!

登錄—token原理分析

1.登錄頁面輸入用戶名和密碼進行登錄

2.服務器驗證通過之后生成該用戶的token并返回

3.客戶端存儲該token

4.后續所有的請求都攜帶該token發送請求

5.服務器端驗證token是否通過

登錄功能實現

登錄頁面的布局

通過Element-UI組件實現布局

  • el-form

  • el-form-item

  • el-input

  • el-button

  • 字體圖標

在vscode打開終端ctrl+~

git status 查看當前git狀態
git checkout -b login 創建一個新的分支叫login
git branch 切換分支

Vue如何實現登錄功能

在vue ui中啟動!

Vue如何實現登錄功能

終端指令npm run serve也可以運行!

在components文件下創建一個vue文件

import Vue from 'vue'
import VueRouter from 'vue-router'
import login from './components/login.vue'
Vue.use(VueRouter)

const routes = [
      {path:'/login',component:login}
]

const router = new VueRouter({
  routes
})

export default router

配置路由(并添加路由重定向)

const router = new VueRouter({
  routes: [
    {
      path: '/',
      redirect: '/login'
    },
    {
      path: '/login',
      component: login
    }
  ]
})

一定要注意空格,不然會報錯,可惡啊!

頁面編寫

先給一個全局樣式表

/* 全局樣式表 */
html,
body,
#app{
    height: 100%;
    margin: 0;
    padding: 0;
}

并在main.js中導入

import './assets/css/global.css'

完成登錄框居中

注意:translate 進行移動,完成真正的居中

.login_box{
    width: 450px;
    height: 300px;
    background-color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

Vue如何實現登錄功能

添加一個登錄圖標

   .avatar_box{
        height: 130px;
        width: 130px;
        border: 1px solid #eee;
        border-radius: 50%;
        padding: 10px;
        box-shadow: 0px 0px 10px #ddd;
        position: absolute;
        left: 50%;
        transform: translate(-50%,-50%);
        background-color: #fff;
        img{
            width: 100%;
            height: 100%;
            border-radius: 50%;
            background-color: #eee;
        }
    }

Vue如何實現登錄功能

登錄表單的布局

通過Element-UI組件實現布局

  • el-form

  • el-form-item

  • el-input

  • el-button

  • 字體圖標

elements組件庫網頁
在網站里面可以找到一些可以使用的基礎模板代碼

導入組件

import Vue from 'vue'
import { Button, Form, FormItem, Input } from 'element-ui'//分開import會報錯

Vue.use(Button)
Vue.use(Form)
Vue.use(FormItem)
Vue.use(Input)

中間form和button都是直接到上面的組件庫里面去找的

中間一些代碼不貼了,比較枯燥呀

特別地,我們的小圖標是從阿里的icon庫里面下載的

具體用法見以前寫得一篇博客
阿里巴巴icon圖標盡在掌握(前端如何引入icon庫,美麗圖標隨你處置T.T)

Vue如何實現登錄功能

登錄表單的數據綁定

1.:model=“loginForm” 綁定一個表單

2.在form-item中用v-model雙向綁定數據對象

3.在export default中data() return表單數據

登錄表單的驗證規則

1.:rules="ruleForm"綁定一個規則

2.在form-item中用prop屬性設置為需要校驗的字段名

  // 這是表單的驗證規則對象
      loginFormRules: {
        // 驗證用戶名是否合法
        username: [
          { required: true, message: '請輸入登錄名稱', trigger: 'blur' },
          { min: 3, max: 10, message: '長度在 3 到 10 個字符', trigger: 'blur' }
        ],
        // 驗證密碼是否合法
        password: [
          { required: true, message: '請輸入登錄密碼', trigger: 'blur' },
          { min: 6, max: 15, message: '長度在 6 到 15 個字符', trigger: 'blur' }
        ]

      }

Vue如何實現登錄功能

登錄表單的重置

1.在el-form中添加ref引用名稱,以便獲取表單

2.在方法中添加方法,用this.$refs.loginFormRef.resetFields()來重置表單,注意表單的值會變為data里面設置的初值

登錄預驗證

1.同樣的this.$refs.loginFormRef.validate()

2.配置axios

import axios from 'axios'
// 配置請求的根路徑
axios.defaults.baseURL = 'https://127.0.0.1:8888/api/private/v1/'
Vue.prototype.$http = axios

3.如下獲取查詢的結果
使用async 和await要獲取返回結果

  this.$refs.loginFormRef.validate(async valid => {
        if (!valid) return
        const { data: res } = await this.$http.post('login', this.loginForm)
        console.log(res)
        if (res.meta.status !== 200) return console.log('登錄失敗')
        console.log('登錄成功')
      })

登錄組件配置彈窗提示

 1.在element.js中引入message并掛載到vue上

Vue.prototype.$message = Message // 掛載到了Vue上

2.直接調用this.$message.error(‘登錄失敗!')

Vue如何實現登錄功能 

登錄成功后的行為

1.將登錄之后的token,保存到客戶端的sessionStorage中

1.項目中除了登錄之外的其他API接口,必須在登錄之后才能訪問

2.token只應在當前網站打開期間生效,所以將token保存在sessionStorage中

將這個token存儲到了會話存儲中

Vue如何實現登錄功能 

2.通過編程式導航跳轉到后臺主頁,路由地址是/home

window.sessionStorage.setItem('token', 'res.data.token')//保存token 這里是亂保存的固定值
        this.$router.push('/home') //跳轉路由,進入下一個頁面

關于“Vue如何實現登錄功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

孝感市| 齐河县| 梁山县| 连州市| 新兴县| 惠来县| 普宁市| 金华市| 彭泽县| 睢宁县| 定兴县| 武陟县| 依安县| 瓮安县| 平乡县| 樟树市| 景洪市| 邢台县| 库伦旗| 上高县| 洞头县| 韶关市| 辰溪县| 水城县| 澄江县| 青铜峡市| 同仁县| 海淀区| 象山县| 吉水县| 峡江县| 三河市| 从江县| 夏邑县| 阳高县| 宣武区| 沅陵县| 静乐县| 惠州市| 苗栗市| 亳州市|