poprawienie paska na zaloguj/wyloguj

This commit is contained in:
pawlaczyk 2019-01-13 02:41:27 +01:00
parent bae651c4e3
commit 10d5ce809a
3 changed files with 53 additions and 17 deletions

View File

@ -240,6 +240,7 @@ func updateLogoutUserView(c *gin.Context) {
var logoutUser User //login zalogowane uzytkownika var logoutUser User //login zalogowane uzytkownika
c.Bind(&logoutUser) c.Bind(&logoutUser)
_login := logoutUser.Login _login := logoutUser.Login
fmt.Println("Wylogowano uzytkownika: %s", _login)
err := updateLogoutUser(_login) err := updateLogoutUser(_login)
if err != nil { if err != nil {
c.JSON(http.StatusOK, "[updateLoggedUserView] Nie udalo sie zaktualizowac wylogowanego uzytkownika") c.JSON(http.StatusOK, "[updateLoggedUserView] Nie udalo sie zaktualizowac wylogowanego uzytkownika")

View File

@ -55,9 +55,11 @@
</v-menu> </v-menu>
<v-btn flat color="grey" @click="userAction"> <v-btn flat color="grey" @click="userAction">
<span v-if="isLogged">Wyloguj <span v-if="!snackbarLogout">Wyloguj
<!-- jeśli jest zalogowany to pokazuj "wyloguj" -->
</span> </span>
<span v-if="!isLogged">Zaloguj</span> <span v-if="snackbarLogout">Zaloguj</span>
<!-- jeśli się wylogował to pokazuj "zaloguj" -->
<v-icon right>exit_to_app</v-icon> <v-icon right>exit_to_app</v-icon>
</v-btn> </v-btn>
</v-toolbar> </v-toolbar>
@ -102,7 +104,7 @@ export default {
drawer: false, //niepokazywac na poczatku drawer: false, //niepokazywac na poczatku
snackbar: false, snackbar: false,
snackbarLogout: false, snackbarLogout: false,
isLogged: true, isLogged: null,
snackbarLogin: false, snackbarLogin: false,
snackbarLoginRequred: false, snackbarLoginRequred: false,
} }
@ -114,22 +116,51 @@ export default {
}, },
methods:{ methods:{
userAction(){ userAction(){
if(this.isLogged){ this.checkIsUserLogged()
this.snackbarLogout = true
this.isLogged = false
this.$store.dispatch('removeLoggedUser', localStorage.getItem('user'))
console.log("wylogowano") if(this.isLogged){// jesli jest zalogowany to wyloguj
localStorage.setItem('token',null); console.log("Procedura wylogowania wylogowania")
localStorage.setItem('user', null); this.snackbarLogout = true
this.$router.push('/')
this.$store.dispatch('removeLoggedUser', localStorage.getItem('user'))
localStorage.setItem('token',null);
localStorage.setItem('user', null);
this.isLogged = false
// this.checkIsUserLogged()
this.$router.push('/') //Czy sie zaloguje czy wyloguje to i tak do logowania ma wrócić
} }
else{ else{
this.snackbarLogout = false // this.checkIsUserLogged()
this.snackbarLogin = true this.$router.push('/')
this.isLogged = true
console.log("zalogowano") }
},
checkIsUserLogged(){
if (localStorage.getItem('token') === "null"){ //brak tokenu jest wylogowany
this.isLogged = false
console.log("NIEZALOGOWANY")
return
} }
if(localStorage.getItem('token') === null){//brak tokenu
this.isLogged = false
console.log("NIEZALOGOWANY")
return
}
console.log("JEST ZALOGOWANY")
this.isLogged = true
}
},
watch:{
changeStatus(){
this.checkIsUserLogged()
} }
} }

View File

@ -63,7 +63,8 @@ export default {
login(){ login(){
if (this.$refs.form.validate()){ //valinnaj JS if (this.$refs.form.validate()){ //valinnaj JS
axios.post("http://127.0.0.1:3000/api/loginUserView" , axios.post("http://127.0.0.1:3000/api/loginUserView",
{"login": this.userLogin, "password": this.userPassword}, //DANE DO LOGOWANIA
{ crossdomain: true }) { crossdomain: true })
.then(response=>{ .then(response=>{
console.log("Response data: ", response.data); //printuje Tokena console.log("Response data: ", response.data); //printuje Tokena
@ -76,11 +77,14 @@ export default {
var local = localStorage.getItem('token'); var local = localStorage.getItem('token');
console.log("______________________________TOKEN_____________________________")
console.log(localStorage.getItem('token'))
var localU = localStorage.getItem('user'); var localU = localStorage.getItem('user');
//dodanie loginu do listy wszystkich zalogowanych użytkowników //dodanie loginu do listy wszystkich zalogowanych użytkowników
this.$store.dispatch('addLoggedUser', localStorage.getItem('user')) this.$store.dispatch('addLoggedUser', localStorage.getItem('user'))
axios.post("http://127.0.0.1:3000/api/updateLoggedUserView", {"login": this.userLogin} , //aktualizacja stanu uzytkownika w bazie mysql axios.post("http://127.0.0.1:3000/api/updateLoggedUserView", {"login": this.userLogin} , //aktualizacja stanu uzytkownika w bazie mysql
{ crossdomain: true }) { crossdomain: true })
.then(response=>{ .then(response=>{