Skip to content

tRPC API

Ordine 通过 tRPC 提供类型安全的 API,主要用于需要实时推送的场景。

可用过程

任务

typescript
// 获取任务状态(支持实时轮询)
trpc.jobs.getById.query({ id: "job_abc123" });

// 获取任务列表
trpc.jobs.list.query({ page: 1, pageSize: 20 });

设置

typescript
// 获取应用设置
trpc.settings.get.query();

// 更新设置
trpc.settings.update.mutate({ key: "value" });

客户端用法

React

typescript
import { trpc } from "@/lib/trpc";

function JobStatus({ jobId }: { jobId: string }) {
  const { data: job } = trpc.jobs.getById.useQuery(
    { id: jobId },
    { refetchInterval: 2000 } // 每 2 秒轮询
  );

  return <div>状态:{job?.status}</div>;
}

直接调用

typescript
import { createTRPCClient } from "@trpc/client";
import type { AppRouter } from "@ordine/server";

const client = createTRPCClient<AppRouter>({
  url: "http://localhost:9433/trpc",
});

const job = await client.jobs.getById.query({ id: "job_abc123" });

Released under the MIT License.