import axios from "axios";
axios.defaults.headers["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8;multipart/form-data"
if (import.meta.env.VITE_ENV == 'development') {//开发环境
axios.defaults.baseURL = '/api';
} else if (import.meta.env.VITE_ENV == 'production') {//生产环境
axios.defaults.baseURL = '后端接口';
}
const $axios = axios.create({
timeout: 0,
withCredentials: true//开启
});
//请求拦截器
$axios.interceptors.request.use(config => {
return config;
}, err => {
return Promise.reject(err)
})
//响应拦截器
$axios.interceptors.response.use(result => {
return result.data;
}, err => {
return Promise.reject(err)
})
export default $axios;
//事件代理解决跨域
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()],
// envPrefix:"VITE_",
server:{
host:true,
proxy:{
'/api':{
target:"后端接口", //跨域地址
changeOrigin:true, //支持跨域
rewrite:(path) => path.replace(/^\/api/, "")//重写路径,替换/api
}
}
},
})
//创建.env.development页面 内容:VITE_ENV="development"
//创建.env.production页面 内容:VITE_ENV="production"
//引入封装好的接口
import request from "../packaging";
interface ad {
code: number
message: string
body: {
desc: string
edit_time: string
title: string
}
}
export function get_contact(): Promise<ad> {
return request({
url: '/get_contact',
method: 'get'
})
}
interface edit_footer {
desc: string
}
interface bc{
code: number
message: string
}
export function edit_contact(data: edit_footer): Promise<bc> {
return request({
url: `/user/edit_contact?token=${sessionStorage.getItem('token')}`,
method: 'post',
data: data
})
}
//从登录返回token
interface AdminLoginData {
password: string
username: string
captcha: string
}
interface AdminLoginRes {
code: number;
token: string;
message: string;
}
export const login = (data: AdminLoginData): Promise<AdminLoginRes> => request.post('/user/login', data)