村先遊--省二競賽專案vue重構
重構前的(前端+後台):
重構前的(前端):v2
筆記:1.避免元件樣式汙染
功能:登陸頁@/pages/login/login:
1.登陸頁驗證手機號碼
2.登陸頁是否顯示密碼
3.跨域獲取驗證碼,將base64編碼過的進行顯示
4.導航欄登陸狀態判斷,如果登陸則顯示不同的導航欄
5.跨域驗證:手機號,密碼和驗證碼
坑點:一開始我想通過action-->mutation-->getter來進行對賬號密碼驗證碼的驗證,但是執行順序action執行完resolve以後,getter還沒有執行,所以用getter獲取的userinfo變數為空,點選登陸顯示驗證碼輸入錯誤,然後由於頁面沒有重新整理,並且getter的輔助函式檢測到userinfo改變,驗證碼儲存到status,再次點選登陸以後登陸成功。
總結一下就是:驗證的時候直接呼叫action並且回傳狀態給變數,不要用getter獲取state。
6.手機號碼正則判斷驗證是否為11位,是,則登陸按鈕變色
7.對賬號密碼進行狀態管理,儲存到status並且將user_id儲存到localstore中
8.前端登陸攔截(鉤子函式)
原思路如下:
1.token:與cookie進行驗證相比更加安全
組成:header payload 簽名
生成形式:header和payload進行base64加密,將密文用句號鏈結起來傳送給伺服器端,服務端用金鑰進行hs256加密生成簽名,返回給客戶端形成token
校驗:伺服器端對header payload進行base64解密,知道用了hs256演算法加密,對伺服器端金鑰進行hs256加密與簽名進行比對。
2.用router的鉤子函式對需要token的身份認證進行判斷,並且用axios對所有的請求響應進行攔截,如果需要token,則在header首部加入: config.headers.authorization = `token $`;
但是這個專案主要是對前端的東西用vue進行重構,後端不打算動它先,token沒有生成,所以對token判斷改為是否登陸的login進行判斷,所以只呼叫了router的鉤子函式對router進行判斷攔截,簡化了一些流程。
9.導航欄點選以後的樣式顯示
使用 .router-link-active
10.退出登入並且回到登陸頁
1.@click 子元件傳給父元件無效解決方案
在vue學習中遇到給router-link 標籤新增事件@click 、@mouseover等無效的情況
根據vue2.0官方文件關於父子元件通訊的原則,父元件通過prop傳遞資料給子元件,子元件觸發事件給父元件。但父元件想在子元件上監聽自己的click的話,需要加上native修飾符。
所以如果在想要在router-link上新增事件的話需要@click.native這樣寫
2.把使用者id從localstore中刪除,並且login置為false
登陸頁:
11.vue-cli npm引入bootstrap,並且進行相應的配置
12.輪播圖元件化
新增bootstrap4 bootstrap-vue,bootstrap-loader
13.小banner引用問題,需要把放在static中而不是asset中。
坑點:如果放在assets中src=「」可以顯示,而onmouseover="this.src=''"顯示錯誤
14.新增知乎api,獲取介面資料
15.時間過濾器-20180401-->2023年04月02日
16.敬語元件化,並且傳值判斷
17.修改footer樣式
18.解決顯示的403問題。狀態碼403
但有時我們會發現 引入的外部鏈結也是可以正常展示的,那是因為先訪問了外部鏈結展示過後,被瀏覽器快取了下來,並未正常引用。
找個專門快取的**,去掉的https://,加到後面進行快取
載入速度有點慢,點選更多的時候要等一下才能載入出來
getimage(url)
/*console.log("test");*/}
19.把swiper小輪播圖改為bootstrap小輪播圖
20.修改子元件style 去除bootstrap小輪播圖藍色邊框,以及indicators樣式
全域性樣式可以修改子元件的樣式只能修改該元件的樣式,用於避免樣式的汙染
21.旅遊頁完成。
22.旅遊交通頁點選title,返回乙個judge值,用於判斷顯示兩個不同的頁面
23.租車排行榜完成
我用axios在自己的專案上試了一下,是可以的,**如下:
axios.get('/api3/hello').then(res=>console.log("res.data:"+res.data))
.catch(err => console.log(err))
別把自己變成了「二等公民」
上週參加乙個 審查會,在會上發現了設計上的乙個很嚴重的錯誤。於是,我提了好幾個問題,想知道為什麼會出現這一錯誤。但是,我的同事告訴我這都是印度團隊做的設計。需要提供的乙個背景資訊是,這個專案是我所在的研發中心與印度的研發中心協同開發的。對於同事的這種回答,我能想到的是 可能同事將自己當做 二等公民 ...
別把自己變成了「二等公民」
上週參加乙個 審查會,在會上發現了設計上的乙個很嚴重的錯誤。於是,我提了好幾個問題,想知道為什麼會出現這一錯誤。但是,我的同事告訴我這都是印度團隊做的設計。需要提供的乙個背景資訊是,這個專案是我所在的研發中心與印度的研發中心協同開發的。對於同事的這種回答,我能想到的是 可能同事將自己當做 二等公民 ...
別把自己變成了「二等公民」
上週參加乙個 審查會,在會上發現了設計上的乙個很嚴重的錯誤。於是,我提了好幾個問題,想知道為什麼會出現這一錯誤。但是,我的同事告訴我這都是印度團隊做的設計。需要提供的乙個背景資訊是,這個專案是我所在的研發中心與印度的研發中心協同開發的。對於同事的這種回答,我能想到的是 可能同事將自己當做 二等公民 ...