# RPC 调用规范 ## 核心原则 1. **类型安全**: - 所有RPC调用必须基于OpenAPI定义的类型 - 客户端和服务端类型必须严格匹配 2. **一致性**: - RPC调用路径必须与OpenAPI路由定义一致 - 错误处理格式必须统一 3. **api版本**: - 所有RPC调用必须基于OpenAPI定义的版本 - 版本号必须与OpenAPI版本号一致 目前仅支持v1版本 示例: ```typescript import { client } from '@/client/editor/api'; client.api.v1 ## 客户端规范 ### 1. 客户端初始化 ```typescript import { hc } from 'hono/client' import ApiRoutes from '@/server/api'; export const client = hc('/', { fetch: axiosFetch, }); ``` ### 2. 方法调用 - 必须使用解构方式组织RPC方法 - 方法命名必须与OpenAPI路由定义一致 - 示例: ```typescript const res = await client.api.v1.workspaces.templates.blank[':templateType'].$get({ param: { templateType } }); if (res.status !== 200) { throw new Error(res.message); } const templateInfo = await res.json(); ```