Skip to content
Back to skills

Data Warehouse Api Codegen

ASecurity

提供标准化的数仓 HTTP 查询接口调用能力。当用户需要从数据仓库获取数据时,根据接口规范生成正确的前端调用代码。⚠️严格限制:数仓接口只能在前端页面(浏览器端)中调用,严禁在任何后端代码(Node.js、Python、Go、Java等后端服务)中调用,因为后端环境没有用户的SSO身份信息,调用会报错。使用场景:1.用户需要在前端页面调用数据仓库接口查询数据。2.用户需要生成前端访问数仓的 HTTP 请求代码。3.用户需要在前端编写数据获取逻辑。4.用户提到"查数据"、"调接口"、"获取数据"、"数据仓库"等关键词

  • 417 stars
  • 0 votes
  • 0 copies
  • 7 views
  • Added September 8, 2026
developmentjavascripttypescriptpythongojavasqlreactvuenodeapi

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add infometa/workbuddyskills --skill data-warehouse-api-codegen --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Data Warehouse Api Codegen?

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

Security grade badge for Data Warehouse Api Codegen
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/infometa-data-warehouse-api-codegen/badge)](https://www.skillsdirectory.com/skills/infometa-data-warehouse-api-codegen)

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
---
name: data-warehouse-api-codegen
description: 提供标准化的数仓 HTTP 查询接口调用能力。当用户需要从数据仓库获取数据时,根据接口规范生成正确的前端调用代码。⚠️严格限制:数仓接口只能在前端页面(浏览器端)中调用,严禁在任何后端代码(Node.js、Python、Go、Java等后端服务)中调用,因为后端环境没有用户的SSO身份信息,调用会报错。使用场景:1.用户需要在前端页面调用数据仓库接口查询数据。2.用户需要生成前端访问数仓的 HTTP 请求代码。3.用户需要在前端编写数据获取逻辑。4.用户提到"查数据"、"调接口"、"获取数据"、"数据仓库"等关键词
---

## 接口规范

> ⚠️ 本 Skill 遵循 `hr-datawarehouse-api-constraint` 规则(仅限前端调用、必须携带跨域凭证)。仅允许SELECT、建议加LIMIT。

### 基本信息

| 项目       | 说明                                       |
| ---------- | ------------------------------------------ |
| 请求地址   | `POST https://dos-dataview-mcp.woa.com/api/query` |
| 请求格式   | `application/json`                         |
| 响应格式   | `application/json`                         |
| 跨域支持   | 已启用(CORS)                             |
| 凭证携带   | **必须**设置 `credentials: 'include'`(见 `hr-datawarehouse-api-constraint` 规则) |

### 请求体

```json
{
  "sql": "SELECT column1, column2 FROM table_name WHERE condition LIMIT 1000"
}
```

- `sql`(string,必填):SQL 查询语句,**仅允许 SELECT 查询**,禁止 INSERT、UPDATE、DELETE、DDL 等写操作。

### 响应结构

```json
{
  "code": 0,
  "message": "success",
  "data": [...]
}
```

| 字段      | 类型       | 说明                                         |
| --------- | ---------- | -------------------------------------------- |
| `code`    | int        | 状态码。`0` 表示成功,非 `0` 表示失败          |
| `message` | string     | 状态描述信息                                   |
| `data`    | array/null | 查询结果数据。成功时为数组,失败时为 null       |

### 错误码

| code | HTTP 状态码 | 说明                                   |
| ---- | ----------- | -------------------------------------- |
| 0    | 200         | 成功                                   |
| 400  | 400         | 请求参数错误(SQL 为空、包含写操作等)    |
| 500  | 500         | 服务端内部错误                          |

## 代码生成工作流

### Step 1: 确定调用上下文

分析用户需求,确定以下信息:

1. **目标语言/框架**:JavaScript (fetch/axios)、TypeScript、React、Vue 等**前端**技术栈
2. **运行环境**:必须是**浏览器端**(前端页面)。⚠️ 如果用户要求在后端环境中调用,**必须拒绝**(见 `hr-datawarehouse-api-constraint` 规则)
3. **SQL 语句**:用户需要执行的查询
4. **是否需要错误处理**:默认包含完整的错误处理逻辑
5. **是否需要封装**:是直接调用还是封装为可复用的工具函数

### Step 2: 生成代码

根据上下文生成代码时,遵循以下规则:

1. **API 地址**:默认使用 `https://dos-dataview-mcp.woa.com/api/query`,如用户指定了其他地址则使用用户指定的
2. **请求方法**:必须使用 POST
3. **Content-Type**:必须设置为 `application/json`
4. **⚠️ 携带凭证(强制)**:见 `hr-datawarehouse-api-constraint` 规则。`fetch` 用 `credentials: 'include'`;`axios` 用 `withCredentials: true`
5. **SQL 安全**:仅生成 SELECT 查询,如果用户的 SQL 包含写操作关键字(INSERT、UPDATE、DELETE、DROP、ALTER、TRUNCATE、CREATE、GRANT、REVOKE、RENAME、REPLACE),提示并拒绝
6. **LIMIT 建议**:SQL 中建议加上 `LIMIT` 子句
7. **错误处理**:代码中必须包含对 `code !== 0` 情况的处理
8. **类型定义**:TypeScript 项目中为响应数据提供类型定义

### Step 3: 代码模板参考

以下为各语言/框架的标准代码模板,生成代码时参考 `references/code_templates.md` 中的完整模板。

**关键模板列表:**
- JavaScript fetch
- JavaScript axios
- TypeScript fetch(含类型定义)
- 封装为通用查询函数(前端)
- React Hook 封装
- Vue 3 Composable 封装

> ⚠️ 不提供后端语言的代码模板(见 `hr-datawarehouse-api-constraint` 规则)。

### Step 4: 输出代码

将生成的代码直接写入用户项目中的目标文件,或以代码块形式展示给用户。

## 注意事项

1. **⚠️ 仅限前端页面调用**:见 `hr-datawarehouse-api-constraint` 规则
2. **SQL优先**:统计类逻辑优先在SQL层面完成
3. **仅支持只读查询**:禁止写操作关键字列表:INSERT、UPDATE、DELETE、DROP、ALTER、TRUNCATE、CREATE、GRANT、REVOKE、RENAME、REPLACE
4. **建议加 LIMIT**
5. **⚠️ 跨域凭证携带**:见 `hr-datawarehouse-api-constraint` 规则
6. 生成代码时,优先参考 `references/code_templates.md` 中的模板,确保代码风格统一和最佳实践
7. **⚠️ 数据脱敏处理**:见 `hr-data-desensitization` 规则。生成前端代码时,应考虑对返回数据进行脱敏检测,在展示数据时对疑似脱敏值给出适当的UI提示。**注意**:开发阶段对于用户当前无权限的字段,**仍按业务字段名正常处理**,不要在代码里绕开或硬编码替换;脱敏是服务端运行时行为,后续用户拿到权限后无需改代码即可正常显示。

## 编写SQL语句的注意事项
使用`hr-data-sql-builder`SKILL编写数仓查询SQL,并在写完SQL后使用hr_data_service_v1执行查询确定SQL无语法错误,并能获取到正确的数据

Files in this skill

  • SKILL.md5.7 KB
  • references/code_templates.md8.6 KB

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.

View all in development →

Comments

Loading comments…

Newsletter

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