当前位置:首页 > VUE

vue实现接口配置

2026-02-18 08:29:03VUE

Vue 中实现接口配置的方法

使用 Axios 进行 HTTP 请求

安装 Axios 依赖:

npm install axios

创建 api.js 文件配置基础请求:

import axios from 'axios'

const service = axios.create({
  baseURL: 'https://your-api-domain.com/api',
  timeout: 5000
})

service.interceptors.request.use(
  config => {
    // 请求拦截器
    config.headers['Authorization'] = 'Bearer ' + getToken()
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

service.interceptors.response.use(
  response => {
    // 响应拦截器
    return response.data
  },
  error => {
    return Promise.reject(error)
  }
)

export default service

模块化接口管理

创建 userApi.js 示例:

import request from './api'

export function login(data) {
  return request({
    url: '/user/login',
    method: 'post',
    data
  })
}

export function getUserInfo() {
  return request({
    url: '/user/info',
    method: 'get'
  })
}

全局挂载 API

main.js 中:

vue实现接口配置

import * as api from './api/userApi'
Vue.prototype.$api = api

组件中使用方式:

export default {
  methods: {
    async handleLogin() {
      try {
        const res = await this.$api.login({
          username: 'admin',
          password: '123456'
        })
        console.log(res)
      } catch (error) {
        console.error(error)
      }
    }
  }
}

环境变量配置

在项目根目录创建 .env.development

vue实现接口配置

VUE_APP_BASE_API = 'http://dev-api.example.com'

.env.production 中:

VUE_APP_BASE_API = 'https://api.example.com'

修改 api.js 配置:

baseURL: process.env.VUE_APP_BASE_API

TypeScript 支持

为接口添加类型定义:

interface UserInfo {
  id: number
  name: string
  email: string
}

export function getUserInfo(): Promise<UserInfo> {
  return request({
    url: '/user/info',
    method: 'get'
  })
}

标签: 接口vue
分享给朋友:

相关文章

vue实现横向导航

vue实现横向导航

vue实现横向导航的方法 使用Flex布局实现横向导航 在Vue中可以通过Flex布局快速实现横向导航。创建一个组件,使用display: flex和flex-direction: row属性使导航项…

vue 实现菜单

vue 实现菜单

Vue 实现菜单的方法 使用 Vue 实现菜单可以通过多种方式,以下是几种常见的方法: 使用 Vue Router 实现动态路由菜单 通过 Vue Router 可以动态生成菜单,根据路由配置自动…

vue实现图片

vue实现图片

Vue 实现图片功能的方法 静态图片引入 在 Vue 项目中,可以通过 src 属性直接引入静态图片。图片通常放在 public 或 assets 目录下。 <template> &…

vue实现表白

vue实现表白

Vue 实现表白页面 使用 Vue 可以快速创建一个动态、交互式的表白页面。以下是一个简单的实现方案: 基础结构 创建一个 Vue 项目或单文件组件,包含以下核心部分: <template&…

vue实现上传

vue实现上传

Vue 文件上传实现方法 使用 Vue 实现文件上传可以通过原生 HTML5 的 <input type="file"> 元素结合 Vue 的事件处理和数据绑定来实现。 基础实现步骤…

vue实现录像

vue实现录像

Vue 实现录像功能 在 Vue 中实现录像功能通常需要借助浏览器的 MediaDevices API 和 MediaRecorder API。以下是实现步骤: 获取用户摄像头和麦克风权限 使用 n…