code refactor

This commit is contained in:
MaysWind
2020-11-08 00:40:45 +08:00
parent 9bd341fb0e
commit 7e8b5710c1
12 changed files with 127 additions and 111 deletions
+2 -1
View File
@@ -41,7 +41,7 @@ axios.interceptors.response.use(response => {
&& errorCode <= 202004 // current token type is invalid
&& errorCode <= 202005 // current token requires two factor authorization
&& errorCode <= 202006) { // current token does not require two factor authorization
userState.clearToken();
userState.clearTokenAndUserInfo();
location.reload();
return Promise.reject({ processed: true });
}
@@ -100,6 +100,7 @@ export default {
if (data && data.success && data.result && data.result.newToken) {
userState.updateToken(data.result.newToken);
userState.updateUserInfo(data.result.user);
if (data.result.oldTokenId) {
axios.post('v1/tokens/revoke.json', {
+27 -33
View File
@@ -1,60 +1,54 @@
const tokenLocalStorageKey = 'lab_user_token';
const userNameLocalStorageKey = 'lab_user_name';
const userNickNameLocalStorageKey = 'lab_user_nickname';
const userInfoLocalStorageKey = 'lab_user_info';
function getToken() {
return localStorage.getItem(tokenLocalStorageKey);
}
function getUserName() {
return localStorage.getItem(userNameLocalStorageKey);
}
function getUserNickName() {
return localStorage.getItem(userNickNameLocalStorageKey);
function getUserInfo() {
const data = localStorage.getItem(userInfoLocalStorageKey);
return JSON.parse(data);
}
function isUserLogined() {
return !!getToken();
}
function updateToken(item) {
if (typeof(item) === 'string') {
return localStorage.setItem(tokenLocalStorageKey, item);
} else if (typeof(item) === 'object') {
localStorage.setItem(tokenLocalStorageKey, item.token);
localStorage.setItem(userNameLocalStorageKey, item.username);
localStorage.setItem(userNickNameLocalStorageKey, item.nickname);
return true;
} else {
return false;
function updateToken(token) {
if (typeof(token) === 'string') {
localStorage.setItem(tokenLocalStorageKey, token);
}
}
function updateUsername(value) {
localStorage.setItem(userNameLocalStorageKey, value);
function updateUserInfo(user) {
if (typeof(user) === 'object') {
localStorage.setItem(userInfoLocalStorageKey, JSON.stringify(user));
}
}
function updateUserNickname(value) {
localStorage.setItem(userNickNameLocalStorageKey, value);
function updateTokenAndUserInfo(item) {
if (typeof(item) === 'object') {
if (item.token) {
updateToken(item.token);
}
if (item.user) {
updateUserInfo(item.user);
}
}
}
function clearToken() {
function clearTokenAndUserInfo() {
localStorage.removeItem(tokenLocalStorageKey);
localStorage.removeItem(userNameLocalStorageKey);
localStorage.removeItem(userNickNameLocalStorageKey);
return true;
localStorage.removeItem(userInfoLocalStorageKey);
}
export default {
getToken,
getUserName,
getUserNickName,
getUserInfo,
isUserLogined,
updateToken,
updateUsername,
updateUserNickname,
clearToken
updateUserInfo,
updateTokenAndUserInfo,
clearTokenAndUserInfo
};
+2 -2
View File
@@ -178,7 +178,7 @@ export default {
return;
}
self.$user.updateToken(data.result);
self.$user.updateTokenAndUserInfo(data.result);
router.navigate('/');
}).catch(error => {
self.logining = false;
@@ -234,7 +234,7 @@ export default {
return;
}
self.$user.updateToken(data.result);
self.$user.updateTokenAndUserInfo(data.result);
self.show2faSheet = false;
router.navigate('/');
}).catch(error => {
+3 -2
View File
@@ -47,7 +47,8 @@ export default {
return 'v' + this.$version();
},
userNickName() {
return this.$user.getUserNickName() || this.$user.getUserName() || this.$t('User');
const userInfo = this.$user.getUserInfo() || {};
return userInfo.nickname || userInfo.username || this.$t('User');
},
currentLocale: {
get: function () {
@@ -99,7 +100,7 @@ export default {
return;
}
self.$user.clearToken();
self.$user.clearTokenAndUserInfo();
router.navigate('/');
}).catch(error => {
self.logouting = false;
+2 -2
View File
@@ -144,8 +144,8 @@ export default {
return;
}
if (typeof(data.result) === 'object') {
self.$user.updateToken(data.result);
if (typeof(data.result.token) === 'string') {
self.$user.updateTokenAndUserInfo(data.result);
}
self.$toast('You have been successfully registered');
+4 -4
View File
@@ -220,12 +220,12 @@ export default {
return;
}
if (self.nickname) {
self.$user.updateUserNickname(self.nickname);
if (typeof(data.result.newToken) === 'string') {
self.$user.updateToken(data.result.newToken);
}
if (typeof(data.result) === 'string') {
self.$user.updateToken(data.result);
if (typeof(data.result.user) === 'object') {
self.$user.updateUserInfo(data.result.user);
}
self.$toast('Your profile has been successfully updated');