vue 封装propmise 第二种

Posted fengshaopu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 封装propmise 第二种相关的知识,希望对你有一定的参考价值。

一、目录

1.下载
2.放到src目录下
3.main导入
4.使用

1.下载
去我的git上去下载utils
https://gitee.com/fengshaopu2001/p7/tree/master/d/src
2.放到src目录下
下载完放到 vue的src下面
在这里插入图片描述

//1. 先导入axios对象
import axios from 'axios';
import store from '../store'
import jsonBig from 'json-bigint'

//2. 创建axios的对象
const Server = axios.create({
    baseURL: "http://ttapi.research.itcast.cn/app/", //基础url地址
    **//解决大数字问题**
  //  transformResponse: [function (data) {
    //      try {
            // 如果转换成功则返回转换的数据结果
     //         return jsonBig.parse(data)
     //     } catch (err) {
            // 如果转换失败,则包装为统一数据格式并返回
         //     return {
         //         data
            }
        }
    }],
    // http://toutiao.m.lipengzhou.com/
    timeout: 8000,//超时时间
});

//3. 请求拦截器配置
Server.interceptors.request.use((config) => {
 //解决header携带token问题
   // let { user } = store.state
    //console.log(user);
    //if (user && user.token) {
    //    config.headers.Authorization = `Bearer ${user.token}`
    //}
    // let token = sessionStorage.getItem("token-for-the-kin");

    //  if(store.state.token.length>0){
    //     config.headers['Authorization'] = store.state.token;

    //  }

    return config;
}, (error) => {
    return Promise.reject(error);
});

//4. 相应拦截器
Server.interceptors.response.use((response) => {
    console.log(response);
    //过滤返回的data值
    if (response.status == 200) {
        return response.data;
    }

    return response;
}, (error) => {
    return Promise.reject(error);
});



//5. 抛出对象接口
export default Server;

3.main导入


import axios from './utils/request.js'
Vue.prototype.$axios = axios

这里导入了还不能使用还得用命令行下载个插件

npm install json-bigint --save

4.使用

   this.$axios.get("v1_0/user/followings").then(res => {
        //关注
        console.log(res);
        this.list = res.data.results;
        console.log(this.list);
      });

以上是关于vue 封装propmise 第二种的主要内容,如果未能解决你的问题,请参考以下文章

VUE的第二种封装接口、查询删除用户功能

uni-app封装Propmise

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

vue项目使用cookie储存并封装