Saya mencoba untuk mengotentikasi pengguna menggunakan vuejs dan paspor laravel.
Saya tidak dapat menemukan cara mengirim beberapa parameter ke mutasi vuex melalui sebuah tindakan.
- toko -
export default new Vuex.Store({
state: {
isAuth: !!localStorage.getItem('token')
},
getters: {
isLoggedIn(state) {
return state.isAuth
}
},
mutations: {
authenticate(token, expiration) {
localStorage.setItem('token', token)
localStorage.setItem('expiration', expiration)
}
},
actions: {
authenticate: ({ commit }, token, expiration) => commit('authenticate', token, expiration)
}
})
- metode login -
login() {
var data = {
client_id: 2,
client_secret: '**************************',
grant_type: 'password',
username: this.email,
password: this.password
}
// send data
this.$http.post('oauth/token', data)
.then(response => {
// send the parameters to the action
this.$store.dispatch({
type: 'authenticate',
token: response.body.access_token,
expiration: response.body.expires_in + Date.now()
})
})
}
Saya akan sangat berterima kasih atas bantuan apa pun!
action
Secara sederhana, Anda perlu membangun payload Anda menjadi key array
Kemudian kirim payload langsung ke tindakan
Tidak ada perubahan dalam tindakan Anda
Dalam mutasi Anda, panggil nilai dengan kunci
sumber
Saya pikir ini bisa sesederhana asumsikan bahwa Anda akan memberikan beberapa parameter kepada Anda tindakan saat Anda membaca di sana tindakan hanya menerima dua parameter
context
danpayload
data mana yang ingin Anda sampaikan dalam tindakan jadi mari kita ambil contohMenyiapkan Tindakan
dari pada
melakukan
Memanggil (mengirim) Aksi
dari pada
melakukan
semoga ini bisa membantu
sumber