CRM项目在Axios响应阶段验证信息并在请求头内提交Token保证在前后端分离的项目中的会话状态------CRM项目

import { ElMessage } from 'element-plus';

// 消息提示工具类
export function messageTip(msg,type){
    ElMessage({
        showClose:true,//消息提示是否可以关闭
        center:true,//文字居中
        message:msg,
        type:type,
    });
}

export function getTokenName(){
    return "crmSystem";
}

export function removeToken(){
    window.sessionStorage.removeItem(getTokenName());
    window.localStorage.removeItem(getTokenName());
}

import { ElMessage } from 'element-plus';

// 消息提示工具类

export function messageTip(msg,type){

    ElMessage({

        showClose:true,//消息提示是否可以关闭

        center:true,//文字居中

        message:msg,

        type:type,

    });

}

export function getTokenName(){

    return "crmSystem";

}

export function removeToken(){

    window.sessionStorage.removeItem(getTokenName());

    window.localStorage.removeItem(getTokenName());

}

import axios from "axios";
import { getTokenName, messageTip } from "../util/util";

axios.defaults.baseURL = "http://localhost:8089"

export function doGet(url,params){
    return axios({
        method:"get",
        url:url,
        params:params,
        dataType:"json"
    });
}

export function doPost(url,data){
    return  axios({
        method:"post",
        url:url,
        data:data,
        dataType:"json"
    });
}

export function doPut(url,data){
    return axios({
        method:"put",
        url:url,
        data:data,
        dataType:"json"
    });
}

export function doDelete(url,params){
    return axios({
        method:"delete",
        url:url,
        params:params,
        dataType:"json"
    });
}

// 对axios发送请求做设置
axios.interceptors.request.use((config)  => {
	//在请求头中放置一个Token
	let token = window.sessionStorage.getItem(getTokenName());
    if(!token){
        token = window.localStorage.getItem(getTokenName());
    }
    config.headers['Authorization'] = token;
	return config;
},(error) => {
    return Promise.reject(error); 
});

// 对axios接受数据做设置
axios.interceptors.response.use((response) => {
    // 对响应数据做处理,拦截token相应的结果,进行对应的处理
    if(response.data.code > 900){
        // code大于900说明是token验证未通过
        ElMessageBox.confirm(
            // 提示信息
            response.data.msg+'是否重新登录',
            'Warning',
            {
              confirmButtonText: '确定',
              cancelButtonText: '取消',
              type: 'warning',
            }
          ).then(() => {
            // 点击确定按钮
            messageTip('success','即将跳转到登录页');
              window.location.href="/";
            })
            .catch(() => {
            // 点击取消按钮
            messageTip("已取消",'warning');
        });
    }
	return response;
},function (error){
    return Promise.reject(error);
});

import axios from "axios";

import { getTokenName, messageTip } from "../util/util";

axios.defaults.baseURL = "http://localhost:8089"

export function doGet(url,params){

    return axios({

        method:"get",

        url:url,

        params:params,

        dataType:"json"

    });

}

export function doPost(url,data){

    return  axios({

        method:"post",

        url:url,

        data:data,

        dataType:"json"

    });

}

export function doPut(url,data){

    return axios({

        method:"put",

        url:url,

        data:data,

        dataType:"json"

    });

}

export function doDelete(url,params){

    return axios({

        method:"delete",

        url:url,

        params:params,

        dataType:"json"

    });

}

// 对axios发送请求做设置

axios.interceptors.request.use((config)  => {

    //在请求头中放置一个Token

    let token = window.sessionStorage.getItem(getTokenName());

    if(!token){

        token = window.localStorage.getItem(getTokenName());

    }

    config.headers['Authorization'] = token;

    return config;

},(error) => {

    return Promise.reject(error);

});

// 对axios接受数据做设置

axios.interceptors.response.use((response) => {

    // 对响应数据做处理,拦截token相应的结果,进行对应的处理

    if(response.data.code > 900){

        // code大于900说明是token验证未通过

        ElMessageBox.confirm(

            // 提示信息

            response.data.msg+'是否重新登录',

            'Warning',

            {

              confirmButtonText: '确定',

              cancelButtonText: '取消',

              type: 'warning',

            }

          ).then(() => {

            // 点击确定按钮

            messageTip('success','即将跳转到登录页');

              window.location.href="/";

            })

            .catch(() => {

            // 点击取消按钮

            messageTip("已取消",'warning');

        });

    }

    return response;

},function (error){

    return Promise.reject(error);

});









你可能感兴趣的:(CRM项目,前端,#,VUE框架,前端,js,vue,vue.js,ajax,前端框架,javascript)