前言:
多问!但是不要问简单问题,实在找不到,整理一下逻辑再去问
配置路由
在view新建项目文件夹
————————————————————————————
在router的.ts文件中的index.ts配置你的项目路由
选择在这个常量路由下
项目运行之后的菜单界面就有你配置的路由了,之后就开始写页面
在写页面时遇到的问题:
因为是在本地,所以需要自己重新封装axios和api
// 二次封装axios
import axios from 'axios'
import { ElMessage } from 'element-plus'
let ask= axios.create({
baseURL: import.meta.env.VITE_APP_BASE_API,
timeout: 5000,
})
ask.interceptors.response.use(
(response) => {
if (response.status === 200) {
return Promise.resolve(response.data)
} else {
return Promise.reject(response.data)
}
},
(error) => {
let message = ''
let status = error.response.status
switch (status) {
// 401: 未登录
// 未登录则跳转登录页面,并携带当前页面的路径
// 在登录成功后返回当前页面,这一步需要在登录页操作。
case 401:
message = '未登录'
break
// 403 token过期
// 登录过期对用户进行提示
// 清除本地token和清空vuex中token对象
// 跳转登录页面
case 403:
message = '登录过期,请重新登录'
break
case 404:
message = '网络请求不存在'
break
case 500:
message = '服务器出现问题'
break
default:
message = error.response.data.message
break
}
ElMessage({
type: 'error',
message,
})
return Promise.reject(error)
},
)
export default ask
//项目api封装
import ask from "./ask";
enum API {
MATERIAL_URL='/material',//查询,获取物料信息
MATERIALINFO_URL='/material/'
}
export const askMaterial=(data:any)=>
ask.get<any,any>(API.MATERIAL_URL,data)
export const askMaterialInfo=(id:string)=>
ask.get<any,any>(API.MATERIALINFO_URL+id)