Skip to content
On this page

网络请求

与服务端请求使用axios网络请求库,Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js。

请求流程

封装axios后可以优雅的请求后端API,一个完整的前端交互到服务端处理流程是这样的:

  1. UI组件交互操作
  2. 通过统一管理的API对象列表
  3. 通过统一请求拦截
  4. 使用封装的请求库发送请求
  5. 等待服务端返回结果
  6. 结果处理
  7. 更新视图

统一API列表管理

为了方便管理和维护API接口地址,我们将所有的请求都放在 @/services 文件夹中,并且按照约定的对象格式编写API对象。 示例:

sh
src
├── services
    ├── account.ts
    ├── settings.ts
    └── ...

account.ts

ts
import request from "@/utils/request";

export const getMemberUserInfo = async () => {
    try {
        const res = await request.get<MemberManageLoginResponse>("/member/manage/login/reget");

        return res.code === 1000 ? res.data : null;
    } catch (error) {
        console.log("getMemberUserInfo catch error.", error);
        return null;
    }
};

统一的请求拦截

在每一次发送请求前,请求库都会有个钩子函数处理发送前的各类参数。比如在请求头部里添加Authorization。 相关配置在 @/utils/request.ts HTTP request 拦截器中。

Released under the MIT License.