Skip to content
Back to skills

Api Standard

ASecurity

蓝鲸双协议兼容的 Axios 封装,自动处理旧版和新版 HTTP 协议

  • 840 stars
  • 0 votes
  • 0 copies
  • 6 views
  • Added February 7, 2026
devopstypescriptgovueapi

Works with

  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add TencentBlueKing/bk-bcs --skill api-standard --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Api Standard?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Api Standard
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tencentblueking-api-standard/badge)](https://www.skillsdirectory.com/skills/tencentblueking-api-standard)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
id: eng-api-standard
name: 统一网络请求封装 (Axios)
category: engineering
description: 蓝鲸双协议兼容的 Axios 封装,自动处理旧版和新版 HTTP 协议
tags: [axios, http, api, request, blueking]
updated_at: 2026-01-16
---

# 统一网络请求封装 (Axios)

蓝鲸体系处于 HTTP 协议升级过渡期,本封装自动兼容 **旧版协议** 和 **新版协议**。

## ⚠️ 核心规则

1. **统一导出**: 所有请求必须通过 `src/api/http.ts` 的实例发起
2. **自动剥壳**: 响应拦截器自动提取 `data` 字段
3. **自动登录**: 401 自动跳转登录页
4. **统一错误**: 错误信息统一通过 Message 提示

## 快速开始

```typescript
// 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.md`
- `skill://api-standard/references/protocol-migration.md`
- `skill://api-standard/assets/http.ts`

> 根据 SKILL.md 中的 IF-THEN 规则判断是否需要加载

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.