欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue封装api

程序员文章站 2022-03-21 18:44:20
**在src目录下,新建api文件夹,在api文件夹下创建http.js和api.js。**1、api.js。主要用来统一管理项目所有api请求。如下:/** * api接口统一管理 */import { get, post} from './http'export const getTokenApi = p => get('/wkhome/login/tokenApi', p); //时间戳&&令牌export const shareSDK = p =&...

**

在src目录下,新建api文件夹,在api文件夹下创建http.js和api.js。

**

1、api.js。主要用来统一管理项目所有api请求。如下:

/** 
 * api接口统一管理
 */
import {
  get,
  post
} from './http'
export const getTokenApi = p => get('/wkhome/login/tokenApi', p); //时间戳&&令牌
export const shareSDK = p => post('/wkhome/download/share', p); //获取分享配置

2、http.js。主要用来输出api,供外部引入。如下:

// 在http.js中引入axios
import axios from 'axios'; // 引入axios
import QS from 'qs'; // 引入qs模块,用来序列化post类型的数据
// 环境的切换  (这段自己改一下)
if (location.hostname === 'localhost') {
  axios.defaults.baseURL = 'http://cs.ht'
} else if (location.hostname === 'cs.mt.') {
  axios.defaults.baseURL = 'http://cs.ht.'
} else if (location.hostname === 'mt.' || location.hostname === 'www.' || location.hostname === '') {
  axios.defaults.baseURL = 'http://api.'
}
/* */

axios.defaults.timeout = 10000;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
/**
 * get方法,对应get请求
 * @param {String} url [请求的url地址]
 * @param {Object} params [请求时携带的参数]
 */
export function get(url, params) {
  return new Promise((resolve, reject) => {
    axios.get(url, {
      params: params
    }).then(res => {
      resolve(res.data);
    }).catch(err => {
      reject(err.data)
    })
  });
}

2.在组件中调用api接口。例如:

/**
引入api.js文件
 */
 import {
  getTokenApi,shareSDK 
} from "@/assets/request/api";

/**
调用
 */
  getTokenApi({//不带参数
  }).then(res => { 
  //成功时执行
  }).catch(error => {
   //失败后执行
  })
  
   shareSDK ({ //带参数
          userPid: infoUserPid //参数
        }).then(res => {
        //成功时执行
        }).catch(error =>{
        //失败后执行
        })

本文地址:https://blog.csdn.net/weixin_43301427/article/details/107542190

相关标签: vue