vue 項目中,因為需要一個功能:登錄后 進入首頁並判斷當前密碼是否是弱密碼,如果是要彈出修改密碼框,必須修改密碼。
最開始,想要通過在login 頁面添加彈框,判斷密碼是否是弱密碼,但是發現,跳轉到首頁后 彈框並不顯示。
然后 想要在全局定義一個變量 作為 密碼的標識。
在登錄頁引用這個變量,判斷密碼是否為弱密碼,如果為弱密碼則修改標識。
然后在首頁也引用 這個變量,判斷這個變量 如果這個變量為 true 彈出修改密碼的彈框。
但是發現這里的全局變量(isPassword) 是只讀 不能修改.
現在的方法是:
在main.js里注冊一個全局變量
,就可以在登錄頁引入后 進行判斷和修改
在main.js定義一個全局變量后,刷新會有問題,登錄時如果為弱密碼 修改標識符后,再次刷新頁面后,標識符會重新加載為原來main.js定義的false。
后來 選擇 在本地 localStorage存儲一個變量,
const validPassw = this.entity.password;
const reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/; // 如果當前密碼為強密碼(不為弱密碼) if (validPassw.length < 6 || !validPassw.match(reg)) { window.localStorage.setItem("x",1); }
在進入首頁時 判斷 localStorage 的值
if (window.localStorage.getItem("x") == 1) { this.modifyPassword.show = true; this.warning("當前密碼為弱密碼,請及時修改密碼!"); }
存入 localStorage 仍有問題,后來存入數據庫中,
getPassWord() { if (!this.adminInfo.isStrong) { //adminInfo 是在登錄時保存下來的數據 this.modifyPassword.show = true; this.warning("當前密碼為弱密碼,請及時修改密碼!"); } },