贴一份axios封装的配置吧,希望可以帮助有需要的人
文件1: /src/service/product.js
//统一管理接口
// import requests from './axios';
import axios from 'axios';
const requests = axios.create({
timeout: 5000,
withCredentials: true
})
// 请求拦截器
requests.interceptors.request.use((config) => {
config.headers.Authorization = window.localStorage.getItem('eleToken')
return config
})
//响应拦截器
requests.interceptors.response.use(res=> {
return res
}, (error) => {
return Promise.reject(new Error('fail'))
})
//登录(示范传值为一个or多个参数)
export const login = (data) => {
return requests({
url: '/vis/user/login',
method: 'GET',
params: data
})
}
//生成视频(示范传值为一整个对象)
export const createVideo = (data) => {
return requests({
url: '/vis/video/createVideo',
method: 'POST',
data: data
})
}
//上传音频(示范传值为formdata)
export const uploadAudio = (data) => {
return requests({
url: '/vis/video/uploadAudio',
method: 'POST',
data: data
})
}
文件2:/src/view/beforelogin/index.vue
<script>
import { login, uploadAudio, createVideo } from "@/service/product";
export default {
name: "",
data() {
return {
phone: "17826660717",
code: "666666",
};
},
components: {
loginRegister,
},
methods: {
login() {
//用户点击登录,后端返回验证结果
login({
code: this.code,
phone: this.phone,
}).then((res) => {
console.log("登录返回", res);
const token = res.data.msg;
localStorage.setItem("eleToken", token);
if (res.data.code == "10000") {
this.$message({
type: "success",
message: "登录成功",
});
// 以下为vuex,不需要可以删掉
this.$store.commit("setUserName", res.data.data.userName);
this.$store.commit("setId", res.data.data.id);
this.$store.commit("setPhone", res.data.data.phone);
this.$router.push("/home");
} else {
console.log("没有返回code=10000,登录失败");
}
});
},
uploadAudio(){
let formData = new FormData();
formData.append("file", file.file);
formData.append("model_id", this.model[this.mChoiceIndex].id);
formData.append(
"generate_portrait_type",
this.model[this.mChoiceIndex].generatePortraitType
);
//上传
uploadAudio(formData).then((res) => {
this.uploadAudioSuccess(res);
});
}
},
createVideo(){
createVideo(this.submit_model).then((res) => {
console.log("提交成功:", res);
});
}//最后这些括号是在CSDN上编辑的,没有在编译器上检查,可能会有问题的,自己改一下哈
}