mirror of
https://github.com/jackwener/OpenCLI.git
synced 2026-09-14 18:25:42 +08:00
6364934423
* feat(xiaoe): add 小鹅通 (Xiaoe-tech) student platform adapter Add 5 YAML adapters for 小鹅通 (xiaoe-tech.com), the leading Chinese online education platform: - courses: list purchased courses with URLs and shop names - detail: course info (name, price, user count, shop) - catalog: full course outline supporting normal courses (type 50), columns (type 6), and big columns (type 8) - play-url: get M3U8 play URL via direct API for video courses, and Vue component tree search + Performance API polling for live replay courses - content: extract rich-text page content as plain text Technical notes: - Strategy: cookie (reuses Chrome login session) - Framework: Vue 2 + Vuex Store (SPA) - Video courses use a two-step API chain: detail_info.get → play_sign → getPlayUrl → M3U8 - Live replays use Performance API + Vue data tree polling - Catalog expands chapters via Vue component method getSecitonList() - Supports multiple stores (cross-domain cookie sharing via study.xiaoe-tech.com) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * review: stop truncating xiaoe content --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: jackwener <jakevingoo@gmail.com>
45 lines
1.8 KiB
Markdown
45 lines
1.8 KiB
Markdown
# Xiaoe (小鹅通)
|
|
|
|
**Mode**: 🔐 Browser · **Domain**: `study.xiaoe-tech.com` / `*.h5.xet.citv.cn`
|
|
|
|
## Commands
|
|
|
|
| Command | Description |
|
|
|---------|-------------|
|
|
| `opencli xiaoe courses` | List purchased courses with course URLs and shop names |
|
|
| `opencli xiaoe detail <url>` | Read course metadata such as title, price, student count, and shop |
|
|
| `opencli xiaoe catalog <url>` | Read the full course outline for normal courses, columns, and big columns |
|
|
| `opencli xiaoe play-url <url>` | Resolve the M3U8 playback URL for video lessons or live replays |
|
|
| `opencli xiaoe content <url>` | Extract rich-text lesson or page content as plain text |
|
|
|
|
## Usage Examples
|
|
|
|
```bash
|
|
# List purchased courses
|
|
opencli xiaoe courses --limit 10
|
|
|
|
# Read course metadata
|
|
opencli xiaoe detail "https://appxxxx.h5.xet.citv.cn/p/course/ecourse/v_xxxxx"
|
|
|
|
# Read the course outline
|
|
opencli xiaoe catalog "https://appxxxx.h5.xet.citv.cn/p/course/ecourse/v_xxxxx"
|
|
|
|
# Resolve a lesson M3U8 URL
|
|
opencli xiaoe play-url "https://appxxxx.h5.xet.citv.cn/v1/course/video/v_xxxxx?product_id=p_xxxxx" -f json
|
|
|
|
# Extract page content
|
|
opencli xiaoe content "https://appxxxx.h5.xet.citv.cn/v1/course/text/t_xxxxx"
|
|
```
|
|
|
|
## Prerequisites
|
|
|
|
- Chrome running and **logged into** the target Xiaoe shop
|
|
- [Browser Bridge extension](/guide/browser-bridge) installed
|
|
|
|
## Notes
|
|
|
|
- `courses` starts from `study.xiaoe-tech.com` and matches purchased course cards back to Vue data to recover shop names and course URLs
|
|
- `catalog` supports normal courses, columns, and big columns by reading Vuex / Vue component state after the course page loads
|
|
- `play-url` uses a direct API path for video lessons and falls back to runtime resource inspection for live replays
|
|
- Cross-shop course URLs are preserved, so you can take a URL from `courses` and pass it directly into `detail`, `catalog`, `play-url`, or `content`
|