import Router from '@koa/router'; import { execute_action_and_record } from '../services/task_executor.js'; export const crawl_router = new Router(); crawl_router.post('/api/crawl/run_action', async (ctx) => { const { action_name, action_payload } = ctx.request.body || {}; if (!action_name) { ctx.status = 400; ctx.body = { ok: false, error: '缺少 action_name' }; return; } try { const data = await execute_action_and_record({ action_name, action_payload: action_payload || {}, source: 'api' }); ctx.body = { ok: true, data }; } catch (err) { ctx.status = 500; ctx.body = { ok: false, error: (err && err.message) || String(err) }; } });