Vue axios接口请求封装方式

简易记录一下最近用到的比较顺手的、axios接口请求的封装


  1. 新建network文件夹,其内新建request.js

    3D383DA2-F813-F70C-C042-1CAB014AA30A.png

    设置一个 baseURL ,便于为axios实例传递相对url

  2. 新建api文件夹,其内新建index.jshome.js

    index.js主要是为了便于导出可能有多个页面相关的请求

    home.js中主要封装有关home页的请求操作,这里名字随便取即可

    3851DF61-B8BC-B4EF-2725-E44F6321A63A.png

    71FF1C0A-309F-6C4B-9176-2F496ACBCB2E.png

  3. main.js中导入/api/index.js并将其挂载在vue的原型上

    A2B8BED4-47AC-9D69-5DD3-A43917878561.png

    这样 $api 在所有Vue实例中都是可用的

  4. 使用

    在需要发送网络请求的组件中:

    97CF6BCC-DF5A-1199-FD4D-CB7CF6C431C1.png


1.14 补充一下关于登陆的需要验证token的封装

之前发布的是不需要验证token的,因为当时做的时候并没有登录功能

下面用到拦截器和导航守卫

为了避免有人通过直接输入url,来访问一些需要登录后才能访问的页面,我们需要设置导航守卫

router/index.js中设置

90C90F16-678B-72AF-16D6-FD42F3BE8146.png

这里对导航守卫不做过多阐述,不理解的可以自行了解

(注意:需要给login页的路由配置name: 'login'哦)

关于request.js的封装是接着上面的继续的:

2447C495-1C13-0ABD-40FE-CCCB13FB544F.png

收藏 (0)
评论列表
正在载入评论列表...
我是有底线的