抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

1. axios

  • axios 是用来网络请求的

2. 安装

1
npm install --save axios

3. 使用axios / 封装

  • request.ts
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    // request.ts

    // 导入
    import axios from "axios";
    // import * as tools from './tools';

    // 创建实例
    const request = axios.create({
    // baseURL: '/api',
    baseURL: 'https://localhost:6001',
    timeout: 5000
    });

    // 请求拦截器
    request.interceptors.request.use((config) => {
    config.headers["x-requestid"] = tools.Random(99999, 9999999);
    return config;
    }, (error) => {
    return Promise.reject(error);
    });

    // 返回拦截器
    request.interceptors.response.use((response) => {
    if (response.status == 200) {
    // todo
    }
    return response;
    }, (error) => {
    return Promise.reject(error);
    });

    // 导出接口方法
    export function LogDotaGetDeviceList() {
    return request({
    url: "/LogDota/GetDeviceList",
    method: "GET"
    })
    }
  • tools.ts (非必要)
    1
    2
    3
    4
    5
    // tools.ts

    export function Random(min: number, max: number ) {
    return Math.floor(Math.random() * (max - min)) + min;
    }

4.使用 request.ts

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script lang="ts">

import { defineComponent } from 'vue';
import * as request from "@/assets/common/request";

export default defineComponent({
created() {
request.LogDotaGetDeviceList()
.then(res => {
console.log(res);
})
.catch(err => {
console.error(err);
})
}
})

</script>