liujun

2626 经验值

最近用了tymon/jwt-auth的插件来做spa的登录注册,发现用户的登录和注册信息都是通过查询字符串传过去的,不知道这样安不安全?

隐藏提示框应该可以直接commit把,不用再次通过dispatch经过action吧

感觉不用dispatch,直接在methods里面axios就可以了吧。
修改密码的话还是先验证一下原密码感觉更严谨一点。

jelly应该是讲了两种方法,两种分开用就行。要么catch要么created里面执行refresh

localstorage和js-cookie有什么区别?

我也是这个问题。看视频里面也没有写auth:api啊

我也是这个问题。看视频里面也没有写auth:api啊

个人愚见--->
再写了一个action和mutation,用window.localstorage.getItem()来判断用户是否登录(用户登录的时候把name,email也存到storage里面),如下:
App组件:


created(){
      if(Cookie.getToken()) this.$store.dispatch('loginRefresh')
    }

store:

mutations:{
    login(state,payload){
        state.authenticated=true;
        state.name=payload.name;
        state.email=payload.email;
    },
    loginRefresh(state){
        state.authenticated=true;
        state.name=window.localStorage.getItem('name');
        state.email=window.localStorage.getItem('email');
    }
},
actions:{
    login({commit},payload){
        axios.post(`http://vue-spa/api/login`,payload)
            .then(response=>{

                Cookie.setToken(response.data.access_token);
                window.localStorage.setItem('name',response.data.name);
                window.localStorage.setItem('email',payload.email);

                commit('login',{name:response.data.name,email:payload.email})
            })
    },
    loginRefresh({commit}){
        commit('loginRefresh')
    }
}

我在后端proxy里面加了name一并返回,其他什么都不用做。