1、elementui使用"element-plus": “^1.2.0-beta.3”
但是该版本不显示icon
处理办法:安装npm install @element-plus/icons
在需要的地方引入对应的icon
<el-icon><VideoCamera /></el-icon>
import {VideoCamera} from '@element-plus/icons'
2、不能写res.result的报错Property ‘result’ does not exist on type ‘AxiosResponse<any, any>’
解决办法在http.ts里增加declare module “axios” 加完之后需要重启项目生效
import axios from "axios";
import { getToken } from "@/http/auth";
declare module "axios" {
interface AxiosResponse<T = any> {
result: null;
//追加属性
}
export function create(config?: AxiosRequestConfig): AxiosInstance;
}
// create an axios instance
const request = axios.create({
timeout: 60000,
});
const TOKEN = getToken(); // 获取token
// 请求拦截器
request.interceptors.request.use(
(config: any) => {
if (TOKEN) {
config.headers["Authorization"] = TOKEN;
}
return config;
},
(error) => {
// do something with request error
return Promise.reject(error);
}
);
// 响应拦截器
request.interceptors.response.use(
(response) => {
return response.data;
},
(error) => {
const data = error.response.data;
const status = error.response.status;
// 对不同状态码进行管理
if (status === 401) {
console.log("登录已过期");
} else if (status === 500) {
console.log("服务器错误");
} else {
console.log("请求错误状态码:", status);
}
return Promise.reject(data.error);
}
);
export default request;
//请求接口
export const getWeatherCityId = (name: any) => {
return axios.get(
Service.WeatherId +
`/v2/city/lookup?location=${name}&key=c9ababc26a504434b6fc709c2005e503`
);
};
3、引入antd
“ant-design-vue”: “^3.2.20”,
“@ant-design/colors”: “^7.0.0”,
“@ant-design/icons-vue”: “^6.1.0”,
import Antd from ‘ant-design-vue’;
import ‘ant-design-vue/dist/antd.css’;
.use(Antd)
4、图片预览插件
5、echarts定义label(https://blog.csdn.net/qq_42294095/article/details/134229128)