当前位置:首页 > VUE

vue实现接口

2026-01-12 23:34:00VUE

Vue 实现接口请求的方法

在 Vue 中实现接口请求通常使用 axiosfetch,以下是具体实现方式:

安装 axios

通过 npm 或 yarn 安装 axios:

npm install axios
# 或
yarn add axios

基本请求封装

src 目录下创建 api 文件夹,并新建 request.js 文件封装 axios:

vue实现接口

import axios from 'axios'

const service = axios.create({
  baseURL: 'https://your-api-domain.com', // 接口基础地址
  timeout: 5000 // 请求超时时间
})

// 请求拦截器
service.interceptors.request.use(
  config => {
    // 可在此处添加 token 等请求头
    config.headers['Authorization'] = 'Bearer token'
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

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

export default service

接口模块化

api 文件夹下创建模块文件(如 user.js):

import request from './request'

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

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

组件中使用接口

在 Vue 组件中调用接口:

vue实现接口

import { login, getUserInfo } from '@/api/user'

export default {
  methods: {
    async handleLogin() {
      try {
        const res = await login({ username: 'admin', password: '123456' })
        console.log('登录成功', res)
      } catch (error) {
        console.error('登录失败', error)
      }
    }
  },
  async created() {
    const userInfo = await getUserInfo()
    console.log('用户信息', userInfo)
  }
}

环境变量配置

在项目根目录创建 .env.development.env.production 文件:

# .env.development
VUE_APP_BASE_API = 'https://dev-api.example.com'

# .env.production
VUE_APP_BASE_API = 'https://api.example.com'

修改 request.js 中的 baseURL

baseURL: process.env.VUE_APP_BASE_API

使用 fetch 的替代方案

如果不使用 axios,可以用原生 fetch:

async function fetchData(url, options = {}) {
  const response = await fetch(url, {
    headers: {
      'Content-Type': 'application/json',
      ...options.headers
    },
    ...options
  })
  return response.json()
}

注意事项

  • 跨域问题需在后端配置 CORS 或前端配置代理
  • 生产环境应使用 HTTPS 协议
  • 敏感信息(如 token)应避免硬编码,建议从环境变量或安全存储中获取

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

相关文章

vue实现发送值接受值

vue实现发送值接受值

Vue 实现父子组件传值 父组件向子组件传值(props) 父组件通过 v-bind 或简写 : 向子组件传递数据。子组件通过 props 接收数据。 父组件代码: <template&g…

vue实现排序

vue实现排序

Vue 实现排序的方法 在 Vue 中实现排序可以通过多种方式完成,以下是一些常见的方法: 使用计算属性排序数组 计算属性非常适合对数据进行排序,因为它会在依赖的数据变化时自动更新。以下是一个示例:…

vue实现ios

vue实现ios

Vue 实现 iOS 风格应用 使用 Vue 实现 iOS 风格的应用,可以通过结合 UI 框架和自定义样式来达成目标。以下是具体方法和步骤: 选择 iOS 风格的 UI 框架 Vue 生态中有多…

vue实现换页

vue实现换页

Vue实现页面切换的方法 在Vue中实现页面切换通常可以通过Vue Router来完成。Vue Router是Vue.js官方的路由管理器,用于构建单页面应用(SPA)。以下是几种常见的实现方式:…

vue实现 弹窗

vue实现 弹窗

Vue 实现弹窗的基本方法 使用 Vue 实现弹窗可以通过多种方式,包括组件化、指令、插件等。以下是几种常见的实现方法。 组件化实现弹窗 创建一个独立的弹窗组件,通过 props 控制显示与隐藏。…

vue实现追加

vue实现追加

追加数据到数组或列表 在Vue中追加数据到数组或列表,可以通过push方法或concat方法实现。以下是几种常见的实现方式: 方法一:使用push方法 this.items.push(newIte…