原来是每次只要到一个新页面或刷新都需要调用接口,发请求与后台验证用户信息,但是后来发现其实不需要这样,如果用户信息已经存在就不需要再去请求一次了,只是在刷新页面的时候验证一次就可以。
原始代码:
mounted(){
this.checkLogin();
},
methods:{
checkLogin(){
axios.get("/users/checkLogin").then((response)=>{
var res = response.data;
if(res.status=="0"){
//将返回值赋给全局变量 this.$store.commit("updateUserNickName",res.result.userNickName); this.$store.commit("updateUserHeadImg","http://localhost:3000/"+res.result.userHeadImg);
}
});
},
}
优化后的代码(只是多加了一个判断):
checkLogin(){
//这里做了一个优化,不是每次到新页面都要从服务器发送请求,当没有昵称和头像(即用户重新刷新页面的时候)才需要checklogin并返回用户信息,当用户已经在页面中的时候不需要checklogin,因为全局变量已经在了
if(!this.globalNickName || !this.globalHeadImg){
axios.get("/users/checkLogin").then((response)=>{
var res = response.data;
if(res.status=="0"){
//将返回值赋给全局变量
this.$store.commit("updateUserNickName",res.result.userNickName);
this.$store.commit("updateUserHeadImg","http://localhost:3000/"+res.result.userHeadImg);
}
});
}
},