Wylogowanie dziala ladnie

This commit is contained in:
pawlaczyk 2019-01-13 03:58:27 +01:00
parent 10d5ce809a
commit 0822d51a30
4 changed files with 41 additions and 29 deletions

View File

@ -239,7 +239,8 @@ func updateLogoutUser(_login string) error {
} }
updateLogout := fmt.Sprintf(`UPDATE users SET isLogged=false WHERE login='%s' ;`, _login) updateLogout := fmt.Sprintf(`UPDATE users SET isLogged=false WHERE login='%s' ;`, _login)
_, err = db.Query(updateLogout) result, err := db.Query(updateLogout)
fmt.Println("RESULT: ", result)
if err != nil { if err != nil {
panic(err.Error()) panic(err.Error())
fmt.Println("[getAllLoggedUsers] [Error] Nie udalo sie zaktulizowac wylogowanego uzytkownika") fmt.Println("[getAllLoggedUsers] [Error] Nie udalo sie zaktulizowac wylogowanego uzytkownika")

View File

@ -241,7 +241,9 @@ func updateLogoutUserView(c *gin.Context) {
c.Bind(&logoutUser) c.Bind(&logoutUser)
_login := logoutUser.Login _login := logoutUser.Login
fmt.Println("Wylogowano uzytkownika: %s", _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")
return return

View File

@ -54,12 +54,9 @@
</v-list> </v-list>
</v-menu> </v-menu>
<v-btn flat color="grey" @click="userAction"> <v-btn flat color="grey" @click="logout">
<span v-if="!snackbarLogout">Wyloguj <!-- wylogowanie -->
<!-- jeśli jest zalogowany to pokazuj "wyloguj" --> <span>Wyloguj</span>
</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>
@ -96,6 +93,7 @@
</template> </template>
<script> <script>
import axios from 'axios'
import Popup from './Popup' import Popup from './Popup'
export default { export default {
components: { Popup }, components: { Popup },
@ -104,7 +102,7 @@ export default {
drawer: false, //niepokazywac na poczatku drawer: false, //niepokazywac na poczatku
snackbar: false, snackbar: false,
snackbarLogout: false, snackbarLogout: false,
isLogged: null, isLogged: false,
snackbarLogin: false, snackbarLogin: false,
snackbarLoginRequred: false, snackbarLoginRequred: false,
} }
@ -115,30 +113,42 @@ export default {
} }
}, },
methods:{ methods:{
userAction(){ logout(){
this.checkIsUserLogged()
if(this.isLogged){// jesli jest zalogowany to wyloguj
console.log("Procedura wylogowania wylogowania") console.log("Procedura wylogowania wylogowania")
this.snackbarLogout = true var userLogin = localStorage.getItem('user')
if (userLogin !== "" && userLogin !== "null"){
console.log("Mozna wylogowac: ", userLogin)
this.$store.dispatch('removeLoggedUser', localStorage.getItem('user')) var myPromise = new Promise(function (resolve, reject){
localStorage.setItem('token',null); var GoReturn = axios.post("http://127.0.0.1:3000/api/updateLogoutUserView", {"login": "a"} , //aktualizacja stanu uzytkownika w bazie mysql
localStorage.setItem('user', null); { crossdomain: true })
this.isLogged = false .then(response=>{
console.log("Aktualizowanie stanu uzytkownika w mysql ", response.data); //printuje Tokena
return response.data
}).catch(error=>{
// this.checkIsUserLogged() console.log("ERROR: ", error.response.data)
return null
this.$router.push('/') //Czy sie zaloguje czy wyloguje to i tak do logowania ma wrócić });
if (GoReturn){
resolve(GoReturn)
}else{
reject(GoReturn)
} }
else{ })
// this.checkIsUserLogged()
myPromise.then(function(fromResolve){
console.log("Promise koniec: ", fromResolve)
}).catch(function(fromReject){
console.log("No jakis bld przy wylogowaniu")
})
}
// this.isLogged = false
this.$router.push('/') this.$router.push('/')
}
}, },
@ -158,10 +168,9 @@ export default {
} }
}, },
watch:{ created(){
changeStatus(){ console.log(this.isLogged)
this.checkIsUserLogged() // this.checkIsUserLogged()
}
} }
} }