7.登录页面跳转

登录页面的跳转

methods:{
            submitLogin(){
                this.$refs.loginForm.validate((valid) => {
                    if(valid){
                        this.postKeyValueRequest('/doLogin',this.loginForm).then(resp=>{
                            //resp:从服务端拿到的数据  用户的数据要保存到哪里? 保存在sessionStorage  打开就没了
                            if(resp){
                                //不能直接写resp.obj,这是一个js对象,我们要把它转成字符串。
                                window.sessionStorage.setItem("user",JSON.stringify(resp.obj));
                                //页面跳转  replace:替换  用push的话,可以使用后退按钮回到登录页,用replace不可以回到登录页
                                this.$router.replace('/home') //replace替换 push压入
                            }
                        }) //then里面的参数就是服务器返回的参数
                    }else{
                        this.$message.error('请输入所有字段')
                        return false;
                    }
                })
            }
        }

把登录的用户名和密码保存到sessionStorage里面,然后进行跳转,使用this.$router.replace('/home')进行页面跳转到home页,我们并没有home页,所有要重新写一个home页

<template>
    <div>欢迎来到home</div>
</template>

<script>
    export default {
        name: "Home"
    }
</script>

<style scoped>

</style>

加上路由

在浏览器的登录页输入正确的用户名和密码之后,点击登录,就直接跳到了home页

前端请求方法的封装

在api.js文件里面把其他的请求方法封装一下,想要引入这些封装好的登录方法直接在methods方法里面使用this.方法就行。

//请求方法的封装
export const postRequest=(url,params)=>{
    return axios({
        method:'post',
        url:`${base}${url}`,
        data:params
    })
}
export const putRequest=(url,params)=>{
    return axios({
        method:'put',
        url:`${base}${url}`,
        data:params
    })
}
export const getRequest=(url,params)=>{
    return axios({
        method:'get',
        url:`${base}${url}`,
        data:params
    })
}
export const deleteRequest=(url,params)=>{
    return axios({
        method:'delete',
        url:`${base}${url}`,
        data:params
    })
}

在main.js中制作插件

import {postKeyValueRequest} from "./utils/api";
import {putRequest} from "./utils/api";
import {postRequest} from "./utils/api";
import {deleteRequest} from "./utils/api";
import {getRequest} from "./utils/api";

Vue.prototype.postKeyValueRequest = postKeyValueRequest;
Vue.prototype.postRequest = postRequest;
Vue.prototype.putRequest = putRequest;
Vue.prototype.deleteRequest = deleteRequest;
Vue.prototype.getRequest = getRequest;
posted @ 2020-08-06 19:14  柒丶月  阅读(445)  评论(0编辑  收藏  举报