88API88API
使用指南AI 應用API 文件幫助支援

系統初始化模組

功能說明

功能介面字首統一為 http(s)://<your-domain>

生產環境應使用 HTTPS 以保證認證令牌。 HTTP 僅建議用於開發環境。

系統初始化模組負責首次部署配置和執行狀態監控 。支援 SQLite、MySQL、PostgreSQL 資料庫,包含 Root 使用者建立和系統引數初始化。狀態介面提供實時系統資訊,包括 OAuth 配置、功能開關等 。

🔐 無需鑑權

獲取系統初始化狀態

  • 介面名稱:獲取系統初始化狀態
  • HTTP 方法:GET
  • 路徑/api/setup
  • 鑑權要求:公開
  • 功能簡介:檢查系統是否已完成初始化,獲取資料庫型別和 Root 使用者狀態

💡 請求示例:

const response = await fetch('/api/setup', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json'
  }
});
const data = await response.json();

✅ 成功響應示例:

{
  "success": true,
  "data": {
    "status": false,
    "root_init": true,
    "database_type": "sqlite"
  }
}

❗ 失敗響應示例:

{
  "success": false,
  "message": "系統錯誤"
}

🧾 欄位說明:

  • status(布林型): 系統是否已完成初始化
  • root_init(布林型): Root 使用者是否已存在
  • database_type(字串): 資料庫型別,可選值:"mysql"、"postgres"、"sqlite"

完成首次安裝嚮導

  • 介面名稱:完成首次安裝嚮導
  • HTTP 方法:POST
  • 路徑/api/setup
  • 鑑權要求:公開
  • 功能簡介:建立 Root 管理員賬戶並完成系統初始化配置

💡 請求示例:

const response = await fetch('/api/setup', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    username: "admin",
    password: "password123",
    confirmPassword: "password123",
    SelfUseModeEnabled: false,
    DemoSiteEnabled: false
  })
});
const data = await response.json();

✅ 成功響應示例:

{
  "success": true,
  "message": "系統初始化完成"
}

❗ 失敗響應示例:

{
  "success": false,
  "message": "使用者名稱長度不能超過12個字元"
}

🧾 欄位說明:

  • username (字串): 管理員使用者名稱,最大長度 12 個字元
  • password (字串): 管理員密碼,最少 8 個字元
  • confirmPassword (字串): 確認密碼,必須與 password 一致
  • SelfUseModeEnabled (布林型): 是否啟用自用模式
  • DemoSiteEnabled (布林型): 是否啟用演示站點模式

獲取執行狀態摘要

  • 介面名稱:獲取執行狀態摘要
  • HTTP 方法:GET
  • 路徑/api/status
  • 鑑權要求:公開
  • 功能簡介:獲取系統執行狀態、配置資訊和功能開關狀態

💡 請求示例:

const response = await fetch('/api/status', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json'
  }
});
const data = await response.json();

✅ 成功響應示例:

{
  "success": true,
  "message": "",
  "data": {
    "version": "v1.0.0",
    "start_time": 1640995200,
    "email_verification": false,
    "github_oauth": true,
    "github_client_id": "your_client_id",
    "system_name": "88API",
    "quota_per_unit": 500000,
    "display_in_currency": true,
    "enable_drawing": true,
    "enable_task": true,
    "setup": true
  }
}

❗ 失敗響應示例:

{
  "success": false,
  "message": "獲取狀態失敗"
}

🧾 欄位說明:

  • version (字串): 系統版本號
  • start_time (數字): 系統啟動時間戳
  • email_verification (布林型): 是否啟用郵箱驗證
  • github_oauth (布林型): 是否啟用 GitHub OAuth 登入
  • github_client_id (字串): GitHub OAuth 客戶端 ID
  • system_name (字串): 系統名稱
  • quota_per_unit (數字): 每單位配額數量
  • display_in_currency (布林型): 是否以貨幣形式顯示
  • enable_drawing (布林型): 是否啟用繪圖功能
  • enable_task (布林型): 是否啟用任務功能
  • setup (布林型): 系統是否已完成初始化

Uptime-Kuma 相容狀態探針

  • 介面名稱:Uptime-Kuma 相容狀態探針
  • HTTP 方法:GET
  • 路徑/api/uptime/status
  • 鑑權要求:公開
  • 功能簡介:提供與 Uptime-Kuma 監控系統相容的狀態檢查介面

💡 請求示例:

const response = await fetch('/api/uptime/status', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json'
  }
});
const data = await response.json();

✅ 成功響應示例:

{
  "success": true,
  "data": [
    {
      "categoryName": "OpenAI服務",
      "monitors": [
        {
          "name": "GPT-4",
          "group": "OpenAI",
          "status": 1,
          "uptime": 99.5
        }
      ]
    }
  ]
}

❗ 失敗響應示例:

{
  "success": false,
  "message": "獲取監控資料失敗"
}

🧾 欄位說明:

  • categoryName (字串): 監控分類名稱
  • monitors (陣列): 監控項列表
    • name (字串): 監控項名稱
    • group (字串): 監控組名
    • status (數字): 狀態碼,1=正常,0=異常
    • uptime (數字): 可用率百分比

🔐 管理員鑑權

測試後端與依賴元件

  • 介面名稱:測試後端與依賴元件
  • HTTP 方法:GET
  • 路徑/api/status/test
  • 鑑權要求:管理員
  • 功能簡介:測試系統各元件連線狀態和健康度

💡 請求示例:

const response = await fetch('/api/status/test', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_admin_token',
    'New-Api-User': 'your_user_id'
  }
});
const data = await response.json();

✅ 成功響應示例:

{
  "success": true,
  "message": "所有元件測試透過",
  "data": {
    "database": "connected",
    "redis": "connected",
    "external_apis": "healthy"
  }
}

❗ 失敗響應示例:

{
  "success": false,
  "message": "資料庫連線失敗"
}

🧾 欄位說明:

  • database (字串): 資料庫連線狀態
  • redis (字串): Redis 連線狀態
  • external_apis (字串): 外部 API 健康狀態