Install
npx skillscat add tencentblueking/bk-bcs/axios Install via the SkillsCat registry.
SKILL.md
统一网络请求封装 (Axios)
蓝鲸体系处于 HTTP 协议升级过渡期,本封装自动兼容 旧版协议 和 新版协议。
⚠️ 核心规则
- 统一导出: 所有请求必须通过
src/api/http.ts的实例发起 - 自动剥壳: 响应拦截器自动提取
data字段 - 自动登录: 401 自动跳转登录页
- 统一错误: 错误信息统一通过 Message 提示
快速开始
// src/api/http.ts
import axios from 'axios';
import { Message } from 'bkui-vue';
const http = axios.create({ baseURL: '/api', timeout: 60000 });
http.interceptors.response.use(
(res) => {
const { data } = res;
// 旧版协议(有 code 字段)
if (data.code !== undefined) {
if (data.code !== 0) {
Message({ theme: 'error', message: data.message });
return Promise.reject(new Error(data.message));
}
return data.data;
}
return data.data ?? data;
},
(error) => {
if (error.response?.status === 401) window.location.href = '/login';
Message({ theme: 'error', message: error.message });
return Promise.reject(error);
}
);
export default http;常见错误
| 错误 | 解决 |
|---|---|
| 401 循环跳转 | 登录页排除拦截器 |
| 数据双层嵌套 | 删除多余的 .data |
📦 按需加载资源
| 资源 | URI |
|---|---|
| 完整实现 | skill://api-standard/references/full-implementation.md |
| 协议迁移 | skill://api-standard/references/protocol-migration.md |
📦 可用资源
skill://api-standard/references/full-implementation.mdskill://api-standard/references/protocol-migration.mdskill://api-standard/assets/http.ts
根据 SKILL.md 中的 IF-THEN 规则判断是否需要加载