Vue js封装接口

天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/

1.安装axios

复制代码
npm install axios -g

2.在src下新建一个Api文件夹,再创建一个js文件

复制代码
import axios from 'axios'
let configuration = {
	url:"http://localhost:9090"
}
/**
 * 请求项目数据的请求体
 */
async function http({ url, method, param }) {
	const httpUrl = configuration.url + url
	if (method === 'GET') {
		httpUrl + jsonToGetParams(param)
	}
	const { data } = await axios({
		url: httpUrl,
		method: method ? method : 'GET',
		data: method === 'GET' ? {} : param,
		headers: {
			'content-type': 'application/json',
			token: localStorage.getItem('token') || ''
		}
	})
	return data
}
async function ask(e) {
	return http({
		url: e[0],
		method: e[1],
		param: e[2]
	})
}
export { ask }

/**
 * GET参数转字符串
 * @param jsonObj
 * @returns {string}
 */
function jsonToGetParams(jsonObj) {
	const params = Object.entries(jsonObj)
		.map(([key, value]) => `${key}=${value}`)
		.join('&')
	if (params.length >= 1) {
		return '?' + params
	} else {
		return params
	}
}

3.在src下新建一个Interface文件夹,里面单独存放接口,用户接口就创建UserApi.js文件,文件接口就创建FileApi.js

复制代码
import {ask} from "../Api/requestBody";

/**
 * 查询用户接口
 */
export function getQueryUser(param){
    return ask(['/user/queryUser','GET',param]);
}

4.来到vue页面调用

复制代码
 getQueryUserFun(){
      getQueryUser({
        id:"2222"
      }).then(res=>{
        console.log(res)
      })
    }
相关推荐
daols883 分钟前
vue 甘特图 vxe-gantt table 连接线的用法详解
vue.js·甘特图·vxe-table
Liu.7745 分钟前
vue3组件之间传输数据
前端·javascript·vue.js
|晴 天|5 分钟前
前端闭包:从概念到实战,解锁JavaScript高级技能
开发语言·前端·javascript
开发者小天7 分钟前
react的拖拽组件库dnd-kit
前端·react.js·前端框架
用户44455436542616 分钟前
在Android开发中阅读源码的指导思路
前端
用户542778485154018 分钟前
ESM 模块(ECMAScript Module)详解
前端
全栈前端老曹34 分钟前
【ReactNative】核心组件与 JSX 语法
前端·javascript·react native·react.js·跨平台·jsx·移动端开发
用户542778485154041 分钟前
JavaScript 闭包详解:由浅入深掌握作用域与内存管理的艺术
前端
小小黑00741 分钟前
快手小程序-实现插屏广告的功能
前端·javascript·小程序
用户542778485154042 分钟前
闭包在 Vue 项目中的应用
前端