发表于: 2020-04-18 21:12:43

2 1939


 

今天完成的事情:

1.推进任务


明天计划的事情:

1.推进任务


遇到的问题和收获:


import axios from "axios"
import qs from 'qs'
import router from "../router";

//axios
let service = axios.create({
   timeout: 5000,  //配置 3
   responseType: 'json',  // 响应数据格式
   responseEncoding: 'utf8', // 响应数编码

});

//
service.interceptors.request.use(
   config => {
       console.log('request求成功');
       console.log(config);
       // config.method === 'post' || 'get' || 'put' ?
       config.method === 'post' ?
           config.data = qs.stringify({...config.data})
           : config.params = {...config.params}
       config.headers['Content-Type'] = 'application/x-www-form-urlencoded'

       return config;
   },
   error => {
       console.log(error);
       console.log('request求失');
       return Promise.reject();
   }
);

service.interceptors.response.use(
   response => {
       console.log('response响应成功');
       console.log(response);
       let role = sessionStorage.getItem('sid')
       if (response.data.code === 0) {
           console.log('response.status200');
           // 只有在前路由不是登录页面才跳
           if (router.currentRoute.path !== '/login' && !role) {
               alert('后再操作!')
               router.push({
                   path: '/login',
                   // query: {redirect: router.currentRoute.fullPath}
                   query: {redirect: router.currentRoute.fullPath}
               })
           }

           return response;

       } else {
           Promise.reject();
       }
   },
   error => {
       console.log('response响应');
       console.log(error);
       // switch (error.response.status) {
       //     case 401:
       //         // 返回 401 token信息到登录页
       //         // store.commit(types.LOGOUT);
       //         window.sessionStorage.removeItem('sid')
       //
       //         // 只有在前路由不是登录页面才跳
       //         router.currentRoute.path !== 'login' &&
       //         router.replace({
       //             path: 'login',
       //             query: {redirect: router.currentRoute.fullPath}
       //         })
       // }
       return Promise.reject();
   }
);
export default service;

封装axios实例和request、response拦截


import service from "./request";

//接口
export const searchData = params => {
   service({
       method: 'get',
       url: '/api/a/article/search',
       params
   })
   return service
}

引入,并封装接口


//取列表信息
async getArticleList() {
  let res=await searchData(this.queryInfo)
       console.log(res);

组件中使用


不过得出的效果貌似不是想要的数据,不能赋值给获取列表信息


再研究下



返回列表 返回列表
评论

    分享到