92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

[Vue項目實戰]登錄功能實現

2021-9-22    前端達人

寫在前面

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 ui中啟動!
在這里插入圖片描述


終端指令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 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

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

const router = new VueRouter({ routes: [ { path: '/', redirect: '/login' }, { path: '/login', component: login } ] }) 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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

頁面編寫

先給一個全局樣式表

/* 全局樣式表 */ html, body, #app{ height: 100%; margin: 0; padding: 0; } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

并在main.js中導入

import './assets/css/global.css' 
  • 1

完成登錄框居中

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

.login_box{ width: 450px; height: 300px; background-color: #fff; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在這里插入圖片描述

添加一個登錄圖標
 .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; } } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

在這里插入圖片描述

登錄表單的布局

通過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) 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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

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

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

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

登錄表單的數據綁定
  • 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' } ] } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在這里插入圖片描述

登錄表單的重置
  • 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 
  • 1
  • 2
  • 3
  • 4
  • 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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
登錄組件配置彈窗提示
  • 1.在element.js中引入message并掛載到vue上
Vue.prototype.$message = Message // 掛載到了Vue上 
  • 1
  • 2.直接調用this.$message.error(‘登錄失??!’)
    在這里插入圖片描述
登錄成功后的行為
1.將登錄之后的token,保存到客戶端的sessionStorage中
  • 1.項目中除了登錄之外的其他API接口,必須在登錄之后才能訪問
  • 2.token只應在當前網站打開期間生效,所以將token保存在sessionStorage中
    將這個token存儲到了會話存儲
    在這里插入圖片描述

藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。

分享此文一切功德,皆悉回向給文章原作者及眾讀者.

轉自:csdn
免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。

藍藍設計m.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務



日歷

鏈接

個人資料

藍藍設計的小編 http://m.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
日韩精品在线网站| 中文字幕中文字幕在线十八区| 尤物99国产成人精品视频| 草草视频在线| 色妞欧美日韩在线| 日韩欧美国产三级| 日韩一级特黄| 7777kkk亚洲综合欧美网站| 亚洲女人天堂视频| 蜜桃视频在线一区| 欧美一级淫片videoshd| 亚洲精品在线观看网站| 美女高潮在线观看| 午夜免费播放观看在线视频| 亚洲国产精品免费| 麻豆精品一区二区综合av| 在线亚洲观看| 欧美黄色激情| 国产精东传媒成人av电影| 国产欧美自拍| 欧美视频一二三| 亚洲成人午夜电影| 国产黄在线观看免费观看不卡| 亚洲精品影院| 韩国成人av| 国产aⅴ精品一区二区四区| 久久99精品久久久久久久久久久久| 人人玩人人添人人澡欧美| 成人免费视频在线观看超级碰| bt在线麻豆视频| 国产午夜精品久久久久久久| 国内不卡的一区二区三区中文字幕| 国产一区二区色噜噜| 国产精品资源网| 国产伦精品一区二区三区照片91| 免费一级欧美在线大片| 亚洲伦理一区二区| 亚洲天堂偷拍| 66m—66摸成人免费视频| 久久久99久久| 岛国一区二区三区高清视频| 欧美网站大全在线观看| 亚洲一区日本| 牛牛精品在线| 欧美日韩日日骚| 先锋影音在线资源站91| 97久久夜色精品国产| 国产精品密蕾丝视频下载| 国产成人精品免费看| 老司机成人影院| 国产精品黑丝在线播放| 亚洲欧美日韩天堂一区二区| 久久国产精品久久久久久久久久| 亚洲精品免费在线看| 国产欧美一区二区精品性色超碰| 奇米影视首页 狠狠色丁香婷婷久久综合| 久久综合色鬼综合色| 最近免费中文字幕视频2019| 中文av字幕一区| 99精品桃花视频在线观看| 丝袜美腿玉足3d专区一区| 国产色婷婷亚洲99精品小说| 欧美久久久久久一卡四| 欧美亚洲另类在线一区二区三区| 日韩精品综合一本久道在线视频| 日韩激情一二三区| 美女脱光内衣内裤视频久久网站| 国产传媒欧美日韩成人| 国产精品xnxxcom| 精品一区二区三区四区五区| 亚洲一区二区三区免费| 国产亚洲人成网站| 中文字幕中文字幕一区| 在线国产精品播放| 久久精品日产第一区二区三区| 欧美影院视频| 免费看欧美女人艹b| 天天综合91| 国产精品一区二区在线观看| 国产亚洲一区| 国产经典自拍视频在线观看| sm捆绑调教国产免费网站在线观看| 亚洲国产精品av| 国产亚洲一卡2卡3卡4卡新区| 欧美一级二级三级| 日韩中文视频免费在线观看| 国产亚洲综合精品| 国产成人免费观看| 丰满少妇久久久久久久| 亚洲成avwww人| 91麻豆产精品久久久久久| 久久久久久国产精品| 欧美做受高潮电影o| 欧美三级电影一区| 激情久久久久久久久久久久久久久久| 国产精品网址| 欧美日韩在线播放一区二区| 国产日产高清欧美一区二区三区| а√天堂中文在线资源bt在线| 亚洲美女屁股眼交3| 欧美一级网站| 日韩国产欧美在线观看| zzijzzij亚洲日本少妇熟睡| www在线看| 日韩精品福利网| 91精品国产综合久久小美女| 亚洲免费视频一区二区| 亚洲乱码国产乱码精品精98午夜| 精品夜夜嗨av一区二区三区| 国产精品女主播在线观看| 国产综合精品一区| 97**国产露脸精品国产| 国产69精品久久久久9999apgf| 国产综合视频| 久久一区二区三区超碰国产精品| 亚洲乱码电影| 成人超碰在线| 国产91在线精品| 久久精品中文字幕一区二区三区| 亚洲二区视频| 婷婷国产在线综合| 激情亚洲小说| 中文字幕一区日韩精品| 亚洲美女精品成人在线视频| 亚洲精品ww久久久久久p站| 精品国产91久久久久久| 色综合久久久久综合体| 欧美不卡高清一区二区三区| 中文字幕中文字幕一区二区| 久久婷婷成人综合色| 亚洲人午夜精品天堂一二香蕉| 欧美伊人久久久久久久久影院| 国产一区二区免费视频| 欧美情侣性视频| 免费日韩成人| 成年人午夜久久久| av电影在线地址| 欧美高清你懂得| 久久精品ww人人做人人爽| 久久久久久美女| 欧美中文字幕视频在线观看| 亚洲伦理一区二区| www.日韩在线| 亚洲午夜精品在线| 欧美日韩中文字幕一区| 久久亚洲道色| 午夜精品999| 欧洲一区在线| 精品精品国产国产自在线| 国产欧美日韩一区| 中文字幕av一区二区三区免费看| 粉嫩欧美一区二区三区高清影视| 91超碰中文字幕久久精品| 欧美精品v日韩精品v韩国精品v| 黄色91在线观看| 久久久久久精| 国产成人精品av| 成人高潮a毛片免费观看网站| 亚洲黄色精品| av片在线免费观看| 日韩国产高清视频在线| 日本久久一区二区三区| 爱高潮www亚洲精品| 欧美在线观看网站|