|
|
1 kuukausi sitten | |
|---|---|---|
| src | 1 kuukausi sitten | |
| .dev.vars.example | 1 kuukausi sitten | |
| .gitignore | 1 kuukausi sitten | |
| README.md | 1 kuukausi sitten | |
| package-lock.json | 1 kuukausi sitten | |
| package.json | 1 kuukausi sitten | |
| tsconfig.json | 1 kuukausi sitten | |
| wrangler.toml | 1 kuukausi sitten |
Cloudflare Stream API 后端服务,基于 Hono + Cloudflare Workers。
npm install
# 复制配置文件
cp .dev.vars.example .dev.vars
# 编辑配置,填入 Cloudflare 凭证
vim .dev.vars
需要配置:
CF_ACCOUNT_ID - Cloudflare Account IDCF_API_TOKEN - Cloudflare API Token(需要 Stream:Edit 权限)CUSTOMER_SUBDOMAIN - 播放域名子域名npm run dev
服务将在 http://localhost:8787 启动。
# 设置 secrets(首次部署前)
npx wrangler secret put CF_ACCOUNT_ID
npx wrangler secret put CF_API_TOKEN
npx wrangler secret put CUSTOMER_SUBDOMAIN
# 部署
npm run deploy
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/stream/video/list |
获取视频列表 |
| GET | /api/stream/video/:videoId |
获取视频详情 |
| DELETE | /api/stream/video/:videoId |
删除视频 |
| POST | /api/stream/video/import |
从 URL 导入视频 |
| POST | /api/stream/video/upload-url |
获取上传 URL |
| GET | /api/stream/video/:videoId/playback |
获取播放信息 |
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/stream/live/list |
获取直播列表 |
| POST | /api/stream/live |
创建直播 |
| GET | /api/stream/live/:liveInputId |
获取直播详情 |
| PUT | /api/stream/live/:liveInputId |
更新直播 |
| DELETE | /api/stream/live/:liveInputId |
删除直播 |
| GET | /api/stream/live/:liveInputId/playback |
获取播放信息 |
| GET | /api/stream/live/:liveInputId/recordings |
获取录像列表 |
所有接口返回统一格式:
{
"code": 200,
"msg": "success",
"data": { ... }
}
修改 tg-live-game-web/vite.config.ts:
proxy: {
'/api': {
target: 'http://localhost:8787',
changeOrigin: true
}
}
部署后修改为 Workers 地址:
proxy: {
'/api': {
target: 'https://tg-live-game-api.your-subdomain.workers.dev',
changeOrigin: true
}
}
tg-live-game-hono/
├── src/
│ ├── index.ts # 入口
│ ├── routes/
│ │ └── stream.ts # Stream API 路由
│ ├── services/
│ │ └── cloudflare.ts # Cloudflare API 服务
│ └── types/
│ └── index.ts # 类型定义
├── wrangler.toml # Workers 配置
├── tsconfig.json # TypeScript 配置
├── package.json
└── README.md