0
点赞
收藏
分享

微信扫一扫

vue3的一些

自由情感小屋 2023-12-05 阅读 35
前端

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)

举报

相关推荐

0 条评论