- Theme: momentry (custom theme with REST API routes) - Plugins: code-snippets (contains all API proxies) - Languages: zh_TW translations - Excludes: cache, backups, uploads, logs
109 lines
3.7 KiB
Markdown
109 lines
3.7 KiB
Markdown
# Momentry API Demo Pages
|
|
|
|
## 頁面分類
|
|
|
|
Momentry Portal 提供四個 API 示範頁面,涵蓋查詢、展示、操作、應用四大類別:
|
|
|
|
| 頁面 | Template Name | 用途 |
|
|
|------|---------------|------|
|
|
| 查詢 | `API Demo - 查詢` | 檔案查詢、身份查詢、處理狀態、遷移歷史、語義搜尋 |
|
|
| 展示 | `API Demo - 展示` | 檔案詳情儀表板、身份視覺化、片段展示、分類結果 |
|
|
| 操作 | `API Demo - 操作` | 檔案註冊、身份綁定、處理觸發、身份合併、處理器重試 |
|
|
| 應用 | `API Demo - 應用` | 完整工作流程、身份追蹤、遷移示範、批次處理、語義搜尋工作流 |
|
|
|
|
## 設定步驟
|
|
|
|
### 1. 確認 Theme 檔案已部署
|
|
|
|
以下檔案位於 `/Users/accusys/wordpress/web/wp-content/themes/momentry/`:
|
|
|
|
```
|
|
page-api-demo-query.php # 查詢頁面
|
|
page-api-demo-display.php # 展示頁面
|
|
page-api-demo-operation.php # 操作頁面
|
|
page-api-demo-application.php # 應用頁面
|
|
style.css # 已更新共用樣式
|
|
```
|
|
|
|
### 2. 在 WordPress 建立頁面
|
|
|
|
1. 進入 WordPress 後台 (`http://localhost/wp-admin`)
|
|
2. 點擊 **Pages > Add New**
|
|
3. 建立以下四個頁面:
|
|
|
|
| 頁面標題 | URL Slug | Template |
|
|
|----------|----------|----------|
|
|
| API Demo - 查詢 | `api-demo-query` | API Demo - 查詢 |
|
|
| API Demo - 展示 | `api-demo-display` | API Demo - 展示 |
|
|
| API Demo - 操作 | `api-demo-operation` | API Demo - 操作 |
|
|
| API Demo - 應用 | `api-demo-application` | API Demo - 應用 |
|
|
|
|
4. 建立時,在右側 **Page Attributes** 選擇對應的 **Template**
|
|
5. 點擊 **Publish**
|
|
|
|
### 3. 啟動 Momentry Playground Server
|
|
|
|
API 示範頁面需要連線到 Momentry Playground API server (port 3003):
|
|
|
|
```bash
|
|
cargo run --bin momentry_playground -- server --host 0.0.0.0 --port 3003
|
|
```
|
|
|
|
### 4. 訪問示範頁面
|
|
|
|
- 查詢: `http://localhost/api-demo-query/`
|
|
- 展示: `http://localhost/api-demo-display/`
|
|
- 操作: `http://localhost/api-demo-operation/`
|
|
- 應用: `http://localhost/api-demo-application/`
|
|
|
|
## API 端點說明
|
|
|
|
### 查詢類 API
|
|
|
|
| 端點 | 方法 | 說明 |
|
|
|------|------|------|
|
|
| `/api/v1/files/:uuid` | GET | 查詢檔案詳細資訊 |
|
|
| `/api/v1/files` | GET | 查詢檔案列表 |
|
|
| `/api/v1/identities/:uuid` | GET | 查詢身份資訊 |
|
|
| `/api/v1/jobs/:uuid/status` | GET | 查詢處理狀態 |
|
|
| `/api/v1/files/:uuid/history` | GET | 查詢遷移歷史 |
|
|
| `/api/v1/search` | POST | 語義搜尋 |
|
|
|
|
### 操作類 API
|
|
|
|
| 端點 | 方法 | 說明 |
|
|
|------|------|------|
|
|
| `/api/v1/register` | POST | 註冊檔案 |
|
|
| `/api/v1/identities/bind` | POST | 綁定身份 |
|
|
| `/api/v1/files/:uuid/process` | POST | 觸發處理 |
|
|
| `/api/v1/identities/merge` | POST | 合併身份 |
|
|
| `/api/v1/jobs/:uuid/retry` | POST | 重試處理器 |
|
|
|
|
## 工作流程示範
|
|
|
|
### 完整工作流程 (應用頁面)
|
|
|
|
1. **註冊檔案**: 輸入影片路徑,呼叫 `/register`
|
|
2. **查詢處理狀態**: 定期檢查 `/jobs/:uuid/status` 直到完成
|
|
3. **查詢檢測結果**: 取得身份和片段資訊
|
|
4. **搜尋身份**: 展示檔案中檢測到的身份列表
|
|
|
|
### 檔案遷移示範 (應用頁面)
|
|
|
|
1. **原始註冊**: 註冊原始路徑的檔案
|
|
2. **模擬移動**: 使用新路徑重新註冊,系統產生新的 file_uuid
|
|
3. **查詢歷史**: 透過 `/files/:uuid/history` 查看遷移鏈
|
|
|
|
### 批次處理 (應用頁面)
|
|
|
|
1. 輸入多個檔案路徑 (每行一個)
|
|
2. 批次呼叫 `/register`
|
|
3. 顯示進度條和每個檔案的註冊結果
|
|
|
|
## 注意事項
|
|
|
|
- API base URL 預設為 `http://localhost:3003/api/v1`
|
|
- 如需更改,請修改各頁面的 `const API_BASE = '...'` 設定
|
|
- 確保 Playground server 已啟動且 CORS 設定允許來自 WordPress 的請求
|
|
- 部分 API 端點可能需要實作後才能正常使用
|