在线音乐播放网站模板网站排版策划
在线音乐播放网站模板,网站排版策划,打开百度首页,广告营销axios二次封装
import axios from axios
导入element-plus的信息弹窗
imort {elMessage} from element-plus//利用axios的create方法创建实例#xff0c;配置默认请求头和请求超时时间
const request axios.create({url:/api,可以使用已经配置好的环境变量import.meta.env.V…axios二次封装
import axios from axios
导入element-plus的信息弹窗
imort {elMessage} from element-plus//利用axios的create方法创建实例配置默认请求头和请求超时时间
const request axios.create({url:/api,可以使用已经配置好的环境变量import.meta.env.VITE_APP_BASE_APItimeout:4000,
})//配置axios的请求拦截器和响应拦截器
request.interceptors.request((config){
//可以利用config配置请求头return config
})
//配置axios响应拦截器
request.interceptors.response((response){
//简化响应数据
return response.data
},(error){//配置错误返回导入element-plus的信息弹窗let messagelet statuserror.response.statusswitch(){case 401:message token过期breakcase 403:message 没有权限breakcase 404:message 请求地址错误breakcase 500:message 服务器问题breakdefault:message 网络错误break
}
elMessage({
type: error,message,
})
return Promise.reject(error)
})//向外暴露
export default request
使用
import request from request.ts
import {onMounted} from vue
onMounted((){request({url:/user/login,method:post,data:{username:password:
}
}).then((res){
cl(res)
})
})
API接口统一管理
src/api/user/index.ts
// 引入二次封装的axios
import request from /utils/request
// 引入ts接口
import type { loginForm, loginResponseData, userResponseData } from ./type
// 统一管理API URL的枚举
enum API {LOGIN_URL /user/login,USERINFO_URL /user/info,
}
//暴露请求函数
//登录接口
export const reLogin (data: loginForm) request.postany, loginResponseData(API.LOGIN_URL, data)
//获取用户信息
export const reUserInfo () request.getany, userResponseData(API.USERINFO_URL)配置当前文件下的type接口
//登录请求接口数据
export interface loginForm {username: stringpassword: string
}
interface dataType {token: string
}
//登录返回接口数据
export interface loginResponseData {code: numberdata: dataType
}
//用户信息接口数据
interface userinfo {userId: numberavatar: stringusername: stringpassword: stringdesc: stringroles: string[]buttons: string[]routes: string[]token: string
}
interface user {checkUser: userinfo
}
export interface userResponseData {code: numberdata: user
}使用
imp {reLogin} from api/user/indexreLogin({username:,password:}).then((res){ cl(res)})
配置路由初始化........
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/88609.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!