第
Vue3axios配置以及cookie的使用方法实例演示
if(responseData.status==error){
//如果触发了errorCallback函数,那么就让他切换验证码
if(config.errorCallback){
config.errorCallback()
//结尾
returnPromise.reject(responseData.info);
}else{
returnresponseData;
(error)={
if(showLoadingloading){
loading.close();
returnPromise.reject(网络异常);
在Login.vue的请求接口中使用errorCallback方法
封装的验证码地址写法如下
constapi={
checkCode:api/checkCode,
login:login
constformDataRef=ref()
constfromData=reactive({});
//切换验证码
constcheckCodeUrl=ref(api.checkCode);
constchangeCheckCode=()={
checkCodeUrl.value=api.checkCode++newDate().getTime();
constlogin=()={
//validate
formDataRef.value.validate(async(valid)={
if(!valid){
return;
letresult=awaitproxy.Request({
url:api.login,
params:{
account:fromData.account,
//这里需要通过md5进行加密
password:md5(fromData.password),
checkCode:fromData.checkCode
//触发验证码错误时切换验证码
},errorCallback:()={
changeCheckCode()
if(result){
return;
登录有两种验证方案,可以使用token验证或者用cookie验证,这里说一下Cookie验证
Cookie使用方法
安装cookie
npmivue-cookies--save
登录时可以不需要使用token去验证,cookie里已存在,这个还是根据后端用token还是cookie验证,自己写的话可以设置cookie模式
引入cookie
importVueCookiesfromvue-cookies;
存贮cookie
constloginInfo={
account:params.account,
password:params.password,
console.log(loginInfo);
//永不过期
/*如果得点击记住密码之后那么就让他的状态,也就是cookie值永不过期,直到他自己过期*/
VueCookies.set(userInfo,result.data,0);
/*如果他点击了记住我那么就让他记录七天*/
if(fromData.rememberMe){
VueCookies.set(loginInfo,loginInfo,7d)
最后得到cookie在页面加载时显示得到的账号以及密码
constinit=()={
constloginInfo=VueCookies.get(loginInfo);
if(!loginInfo){
return
/*转成对象*/
Object.assign(fromData,loginInfo)
init();
点击登录执行的完整方法:
constlogin=()={
//加载状态
loading.value=true;
//elm自带方法
formDataRef.value.validate(async(valid)={
if(!valid){
loading.value=false;
return;
//得到账号,密码以