当前位置:   article > 正文

vue2 封装网络请求 axios_vue2封装axios请求

vue2封装axios请求

1. 在终端输入命令:

npm install axios

2.在根目录新建一个 request 文件夹 专门存放网络请求相关的文件

# 新建一个文件:根据不同的开发环境,配置不同的请求

  1. //2.根据process.env.NODE_ENV
  2. //开发环境:development;
  3. //生产环境:production ;
  4. //测试环境:test ;
  5. let BASE_URL = ''
  6. let TIME_OUT = 10000
  7. if (process.env.NODE_ENV === 'development') {
  8. BASE_URL = '/api'
  9. } else if (process.env.NODE_ENV === 'production') {
  10. BASE_URL = 'http://jiang.org/prod'
  11. } else {
  12. BASE_URL = 'http://jiang.org/test'
  13. }
  14. //在将这两个东西导出
  15. export { BASE_URL, TIME_OUT }

3.接下来我们可以新建一个 文件servies.js 创建axios 实例

  1. import axios from "axios";
  2. // 导入loading Loading 服务
  3. import { Message } from 'element-ui'
  4. import {BASE_URL, TIME_OUT } from './config' //不同环境的请求配置
  5. export function request(config){
  6. const service =axios.create({
  7. baseURL:BASE_URL, //配置公共接口
  8. timeout:TIME_OUT //配置请求超时时间
  9. })
  10. // 请求拦截器
  11. service.interceptors.request.use(config=>{
  12. //这里可以做token 设置
  13. return config
  14. },err=>{})
  15. // 响应拦截器
  16. service.interceptors.response.use(res=>{
  17. if(res.status===200){
  18. Message({
  19. message: '请求成功',
  20. center: true
  21. })
  22. }else if (res.status===401) {
  23. Message({
  24. message: '未授权,请重新登录',
  25. center: true
  26. })
  27. }
  28. console.log(res)
  29. return res
  30. },err=>{
  31. return err
  32. })
  33. return service(config)
  34. }

4.封装post,get,patch  请求

  1. //封装post,get,patch 请求
  2. import { request } from "./servies";
  3. const jyRquest={
  4. // post 封装请求
  5. post(config){
  6. return request({...config,method:'POST'})
  7. },
  8. get(config){
  9. return request({...config,method:'GET'})
  10. },
  11. patch(config){
  12. return request({...config,method:'PATCH'})
  13. }
  14. }
  15. export default jyRquest

5.封装真正的请求

  1. import jyRequest from "../index";
  2. // 登录验证请求
  3. export function accountLoginRequest(account){
  4. return jyRequest.post({
  5. url:'/login',
  6. data:account
  7. })
  8. }

6.在页面使用封装的请求方法

  1. accountLoginRequest(account).then(res=>{
  2. const {id,name,token}=res.data
  3. })

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/1001477
推荐阅读
相关标签
  

闽ICP备14008679号