Vue创建统一接口模式

方便拦截控制,并进行进一步的处理。
由上自下的数据流

需要用到的配置:

Axios 、 vue@cli

  1. 首先创建Axios的实例对象,并未将来的值做好入参准备
// @/utils/request.js文件下
import axios from "axios"  //引入Axios

export default function(data) {
     //在此处实例化axios,后续的自定义配置数据将以参数(data)的形式传递进来
    return axios({ 
        method: data.method || 'GET',  //设置默认值
        url: data.url,                 //这个必须自定义
        headers: {                     //header默认值
            'Content-Type': data.header || 'application/x-www-form-urlencoded',
        }
    })
}
  1. 接口进行二次封装,以方便自定义化和模块化
// @/api/index.js 文件下
import request from "@/utils/request"  //引入封装好的axios

export function getIndexData() {       
    return request({                       //这里要注意调用导入进来的request
        method: 'post',                    //在此处定义本接口的协议type
        url: "/api/v1/home/page",          //定义本接口的url
        headers: {                         
            'Content-Type': 'application/x-www-form-urlencoded',
        }
    })
}
export function aaa() { ... }
export function bbb() { ... }
export function ccc() { ... }
....可以定义多个
  1. 使用
// @/src/view/index/index.vue 文件下
<script>
import { getIndexData } from '@/api/index'     //注意这里的 {}

export default {
      mounted(){
          //调用方法,此处遵循promise写法
           getIndexData().then(resolve=>{
            
           }).catch(reject=>{
                
           })
      }
}
</script>

拦截部分尚未完善,待我再次编辑

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 基于Vue的一些资料 内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 element★...
    尝了又尝阅读 1,287评论 0 1
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    柴东啊阅读 15,963评论 2 140
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    小姜先森o0O阅读 10,130评论 0 72
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    王喂马_阅读 6,590评论 1 77
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    你猜_3214阅读 11,340评论 0 118

友情链接更多精彩内容