基于axios的接口请求封装
在service下新建user.ts
eg:
import { request } from '@/utils/request'
export function listFile(params:any) {
return request({
url: `/v1/host/script/scriptlist?temppw=${params.temppw}`,
method: 'get',
})
}
export function account_login (params:any) {
return request({
url: '/v1/host/account/account_login',
method: 'post',
data:params
})
}
// 删除一个测试脚本
export function deleteFile(params:any) {
return request({
url: `/v1/host/script/del_scriptfile/?temppw=${params.temppw}&filename=${params.filename}`,
method: 'delete',
})
}
在utils下新建request.ts
code:
/* eslint-disable @typescript-eslint/no-explicit-any */
/* eslint-disable no-multi-spaces */
/* eslint-disable quotes */
/* eslint-disable no-trailing-spaces */
/* eslint-disable indent */
/* eslint-disable eqeqeq */
/* eslint-disable keyword-spacing */
/* eslint-disable space-before-blocks */
/* eslint-disable eol-last */
import axios from 'axios'
// import { getToken } from '@/utils/auth'
export const request = (options:any) => {
return new Promise((resolve, reject) => {
// create an axios instance
const service = axios.create({
// baseURL: process.env.BASE_API, // api 的 base_url
baseURL: '/api',
timeout: 80000 // request timeout
})
// request interceptor
service.interceptors.request.use(
(config:any) => {
const token = ''// 此处换成自己获取回来的token,通常存在在cookie或者store里面
if (token) {
// 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改
config.headers['X-Token'] = token
config.headers.Authorization = +token
}
return config
},
(error:any) => {
// Do something with request error
console.log("出错啦", error) // for debug
Promise.reject(error)
}
)
// response interceptor
service.interceptors.response.use(
(response:any) => {
return response.data
},
(error:any) => {
console.log('err' + error) // for debug
// if(error.response.status == 403){
// console.log('错了')
// }else{
// console.log('服务器请求错误,请稍后再试')
// }
return Promise.reject(error)
}
)
// 请求处理
service(options)
.then((res:any) => {
resolve(res)
})
.catch((error:any) => {
reject(error)
})
})
}
export default request

浙公网安备 33010602011771号