Skip to content

公有云开放 API

CatPull 公有云提供了一套基于 app_id + app_key 验证的开放 API,允许第三方应用(如管理台)通过密钥认证来操作项目数据。

认证方式

所有开放 API 均使用 AppKey 认证,需要在请求中携带 app_idapp_key 参数:

  • GET 请求:通过 URL Query 参数传递 app_idapp_key
  • POST 请求:通过请求体 JSON 传递 app_idapp_key

获取凭证

app_idapp_key 在用户注册时自动生成,可在管理台的「控制台 → AppID / AppKey」区域查看。

安全提示

app_key 是敏感凭证,非必要时请勿在前端代码中暴露或提交到版本控制系统。建议通过后端代理调用开放 API。

项目管理

获取项目列表

获取当前用户的项目列表(含页面数量),支持分页和状态过滤。

curl 示例

bash
curl -G "https://api.catpull.com/api/open/project/list" \
  --data-urlencode "app_id=6001a07e84ab801351143019b1c07049" \
  --data-urlencode "app_key=cp_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6" \
  --data-urlencode "status=1" \
  --data-urlencode "page=1" \
  --data-urlencode "pageSize=12"

参数

参数类型必填说明
app_idstring应用ID
app_keystring应用密钥
statusnumber项目状态:1=正常(默认),0=回收站
pagenumber页码,默认 1
pageSizenumber每页数量,默认 12

响应

json
{
  "status": 200,
  "message": "success",
  "data": {
    "rows": [
      {
        "app_uid": "app_a1b2c3d4",
        "user_id": 10001,
        "app_name": "我的项目",
        "app_description": "项目描述",
        "app_logo_color": "#1476ff",
        "app_category": "ecommerce",
        "app_platform": "uniapp",
        "app_status": 1,
        "delete_time": 0,
        "page_count": 5,
        "create_time": "2026-04-10 13:04:56",
        "update_time": "2026-04-11 09:30:00"
      }
    ],
    "total": 15,
    "page": 1,
    "pageSize": 12
  }
}

创建项目

创建一个新项目。

curl 示例

bash
curl -X POST "https://api.catpull.com/api/open/project/create" \
  -H "Content-Type: application/json" \
  -d '{
    "app_id": "6001a07e84ab801351143019b1c07049",
    "app_key": "cp_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6",
    "app_name": "我的新项目",
    "app_description": "项目描述信息",
    "app_logo_color": "#1476ff",
    "app_category": "ecommerce",
    "app_platform": "uniapp"
  }'

参数

参数类型必填说明
app_idstring应用ID
app_keystring应用密钥
app_namestring项目名称(至少3个字符,不含空格)
app_descriptionstring项目描述
app_logo_colorstringLogo配色,默认 #1476ff
app_categorystring项目类型,默认 other
app_platformstring平台类型,默认 uniapp

app_category 可选值

说明
ecommerce电商
website企业官网
admin管理系统
marketing营销活动
social社交/社区
tool工具/效率
other其他

app_platform 可选值

说明
uniappuni-app(默认)
h5H5
webWeb

响应

json
{
  "status": 200,
  "message": "success",
  "data": {
    "app_uid": "app_e5f6g7h8",
    "app_name": "新项目",
    "app_platform": "uniapp",
    "app_status": 1,
    "page_count": 0,
    "create_time": "2026-04-11 10:00:00",
    "update_time": "2026-04-11 10:00:00"
  }
}

删除项目(移入回收站)

将项目移入回收站,7天后自动清除。

curl 示例

bash
curl -X POST "https://api.catpull.com/api/open/project/delete" \
  -H "Content-Type: application/json" \
  -d '{
    "app_id": "6001a07e84ab801351143019b1c07049",
    "app_key": "cp_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6",
    "app_uid": "app_a1b2c3d4"
  }'

参数

参数类型必填说明
app_idstring应用ID
app_keystring应用密钥
app_uidstring项目UID

响应

json
{
  "status": 200,
  "message": "项目已移入回收站",
  "data": {}
}

还原项目

从回收站恢复项目到正常状态。

curl 示例

bash
curl -X POST "https://api.catpull.com/api/open/project/restore" \
  -H "Content-Type: application/json" \
  -d '{
    "app_id": "6001a07e84ab801351143019b1c07049",
    "app_key": "cp_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6",
    "app_uid": "app_a1b2c3d4"
  }'

参数

参数类型必填说明
app_idstring应用ID
app_keystring应用密钥
app_uidstring项目UID

响应

json
{
  "status": 200,
  "message": "项目已还原",
  "data": {}
}

彻底删除项目

永久删除项目及其所有页面数据,不可恢复。

curl 示例

bash
curl -X POST "https://api.catpull.com/api/open/project/destroy" \
  -H "Content-Type: application/json" \
  -d '{
    "app_id": "6001a07e84ab801351143019b1c07049",
    "app_key": "cp_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6",
    "app_uid": "app_a1b2c3d4"
  }'

参数

参数类型必填说明
app_idstring应用ID
app_keystring应用密钥
app_uidstring项目UID

响应

json
{
  "status": 200,
  "message": "项目已彻底删除",
  "data": {}
}

设计器接入

获取设计器访问地址

获取指定项目的设计器访问 URL,URL 中包含认证参数,可直接在新窗口打开。

curl 示例

bash
curl -X POST "https://api.catpull.com/api/open/project/designerUrl" \
  -H "Content-Type: application/json" \
  -d '{
    "app_id": "6001a07e84ab801351143019b1c07049",
    "app_key": "cp_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6",
    "app_uid": "app_a1b2c3d4"
  }'

参数

参数类型必填说明
app_idstring应用ID
app_keystring应用密钥
app_uidstring项目UID

响应

json
{
  "status": 200,
  "message": "success",
  "data": {
    "url": "http://localhost:5173/?app_id=xxx&app_platform=uniapp&sign=eyJhbGciOiJIUzI1NiIs..."
  }
}

使用方式

获取到 URL 后,可通过 window.open(url, '_blank') 在新标签页打开设计器。URL 中的 sign 参数为 JWT 令牌,有效期 2 天。

存储空间

获取存储空间信息

获取当前用户的存储空间使用情况,已使用量从 COS 实时查询。

curl 示例

bash
curl -G "https://api.catpull.com/api/open/storageInfo" \
  --data-urlencode "app_id=6001a07e84ab801351143019b1c07049" \
  --data-urlencode "app_key=cp_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6"

参数

参数类型必填说明
app_idstring应用ID
app_keystring应用密钥

响应

json
{
  "status": 200,
  "message": "success",
  "data": {
    "used": 1048576,
    "total": 1073741824
  }
}
字段说明
used已使用字节数
total总额度字节数(默认 256MB = 268435456)

错误码

状态码说明
200请求成功
401认证失败(缺少参数、密钥无效)
403权限不足(密钥未启用)
500服务器内部错误

错误响应格式

json
{
  "status": 401,
  "message": "应用密钥无效",
  "data": {}
}