From 8a141210f3beaf64435f40d0ee9b29f114477af6 Mon Sep 17 00:00:00 2001 From: wjx0820 <1989wjx@gmail.com> Date: Sat, 3 Jul 2021 19:06:11 +0800 Subject: [PATCH 1/2] i18n config --- docusaurus.config.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docusaurus.config.js b/docusaurus.config.js index d94f5b7..9d34b5f 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -9,6 +9,10 @@ module.exports = { favicon: 'img/favicon.ico', organizationName: 'k8w', // Usually your GitHub org/user name. projectName: 'tsrpc', // Usually your repo name. + i18n: { + defaultLocale: 'zh-cn', + locales: ['en', 'zh-cn'], + }, themeConfig: { colorMode: { defaultMode: 'light', @@ -41,6 +45,10 @@ module.exports = { label: '示例', }, // { to: '/blog', label: 'Blog', position: 'left' }, + { + type: 'localeDropdown', + position: 'right', + }, { label: 'v3.0.4', // by default, show active/latest version label position: 'right' From 89c74f5b23d04750340c993bafa653e06a229bc7 Mon Sep 17 00:00:00 2001 From: wjx0820 <1989wjx@gmail.com> Date: Sat, 3 Jul 2021 22:30:02 +0800 Subject: [PATCH 2/2] [WIP] English docs --- docs/docs/get-started/realtime-service.md | 78 +++-- docusaurus.config.js | 25 +- .../current/api/http-client.md | 67 ++++ .../current/api/index.md | 9 + .../current/api/ws-client.md | 45 +++ .../current/cookbook/index.md | 5 + .../current/docs/client/_category_.json | 4 + .../docs/client/supported-platforms.md | 73 ++++ .../current/docs/client/use-client.md | 187 ++++++++++ .../current/docs/client/websocket.md | 100 ++++++ .../current/docs/deployment/_category_.json | 4 + .../current/docs/deployment/docker.md | 11 + .../current/docs/deployment/graceful-stop.md | 9 + .../current/docs/deployment/kubernetes.md | 12 + .../current/docs/deployment/pm2.md | 9 + .../current/docs/flow/_category_.json | 4 + .../docs/flow/assets/after-encrypt.png | Bin 0 -> 33987 bytes .../docs/flow/assets/before-encrypt.png | Bin 0 -> 38139 bytes .../docs/flow/assets/custom-get-res.png | Bin 0 -> 10294 bytes .../docs/flow/assets/custom-get-test.png | Bin 0 -> 45602 bytes .../current/docs/flow/assets/flow.svg | 44 +++ .../current/docs/flow/assets/server-flows.png | Bin 0 -> 179282 bytes .../current/docs/flow/custom-http-response.md | 91 +++++ .../current/docs/flow/flow.md | 231 +++++++++++++ .../current/docs/flow/mock.md | 134 ++++++++ .../current/docs/flow/session-and-cookie.md | 77 +++++ .../current/docs/flow/transfer-encryption.md | 98 ++++++ .../current/docs/flow/user-authentication.md | 101 ++++++ .../current/docs/full-stack/_category_.json | 4 + .../current/docs/full-stack/assets/log.png | Bin 0 -> 4614 bytes .../docs/full-stack/common-questions.md | 9 + .../docs/full-stack/data-driven-dev.md | 9 + .../current/docs/full-stack/logger.md | 171 ++++++++++ .../current/docs/full-stack/share-codes.md | 9 + .../current/docs/full-stack/tsrpc-cli.md | 59 ++++ .../current/docs/get-started/_category_.json | 5 + .../docs/get-started/assets/code-hint.gif | Bin 0 -> 198441 bytes .../get-started/assets/create-tsrpc-app.gif | Bin 0 -> 43514 bytes .../docs/get-started/assets/type-check.gif | Bin 0 -> 19524 bytes .../docs/get-started/create-tsrpc-app.md | 81 +++++ .../docs/get-started/realtime-service.md | 176 ++++++++++ .../current/docs/get-started/the-first-api.md | 319 ++++++++++++++++++ .../current/docs/get-started/upload.md | 82 +++++ .../current/docs/introduction.md | 151 +++++++++ .../current/docs/server/_category_.json | 4 + .../current/docs/server/api-service.md | 269 +++++++++++++++ .../docs/server/assets/global-collection.gif | Bin 0 -> 302397 bytes .../current/docs/server/assets/log.png | Bin 0 -> 4614 bytes .../current/docs/server/assets/structure.svg | 11 + .../docs/server/assets/throw-new-error.svg | 24 ++ .../current/docs/server/message-service.md | 211 ++++++++++++ .../current/docs/server/service-proto.md | 74 ++++ .../current/docs/server/structure.md | 52 +++ .../current/docs/server/use-database.md | 300 ++++++++++++++++ .../current/docs/test/_category_.json | 4 + .../current/docs/test/stress-testing.md | 14 + .../current/docs/test/unit-testing.md | 12 + .../current/docs/tsrpc-inside/_category_.json | 4 + .../docs/tsrpc-inside/k8w-extend-native.md | 13 + .../tsrpc-inside/serialization-algorithm.md | 12 + .../docs/tsrpc-inside/supported-types.md | 312 +++++++++++++++++ .../current/temp/development/_category_.json | 4 + .../current/temp/development/client.md | 25 ++ .../temp/development/project-structure.md | 25 ++ .../current/temp/development/server.md | 67 ++++ .../current/temp/development/service-proto.md | 15 + .../current/temp/development/service.md | 19 ++ .../temp/development/tips-for-mongodb.md | 15 + .../current/temp/development/tsrpc-cli.md | 9 + .../current/temp/development/vscode.md | 11 + .../current/temp/manual-creation.md | 41 +++ .../current/temp/the-first-api.md | 134 ++++++++ .../current/temp/type-system.md | 5 + .../current/temp/use-database.md | 88 +++++ 74 files changed, 4219 insertions(+), 48 deletions(-) create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/api/http-client.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/api/index.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/api/ws-client.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/cookbook/index.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/client/_category_.json create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/client/supported-platforms.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/client/use-client.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/client/websocket.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/_category_.json create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/docker.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/graceful-stop.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/kubernetes.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/pm2.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/flow/_category_.json create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/after-encrypt.png create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/before-encrypt.png create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/custom-get-res.png create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/custom-get-test.png create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/flow.svg create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/server-flows.png create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/flow/custom-http-response.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/flow/flow.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/flow/mock.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/flow/session-and-cookie.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/flow/transfer-encryption.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/flow/user-authentication.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/_category_.json create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/assets/log.png create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/common-questions.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/data-driven-dev.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/logger.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/share-codes.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/tsrpc-cli.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/_category_.json create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/assets/code-hint.gif create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/assets/create-tsrpc-app.gif create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/assets/type-check.gif create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/create-tsrpc-app.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/realtime-service.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/the-first-api.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/upload.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/introduction.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/server/_category_.json create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/server/api-service.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/server/assets/global-collection.gif create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/server/assets/log.png create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/server/assets/structure.svg create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/server/assets/throw-new-error.svg create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/server/message-service.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/server/service-proto.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/server/structure.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/server/use-database.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/test/_category_.json create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/test/stress-testing.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/test/unit-testing.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/tsrpc-inside/_category_.json create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/tsrpc-inside/k8w-extend-native.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/tsrpc-inside/serialization-algorithm.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/docs/tsrpc-inside/supported-types.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/temp/development/_category_.json create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/temp/development/client.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/temp/development/project-structure.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/temp/development/server.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/temp/development/service-proto.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/temp/development/service.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/temp/development/tips-for-mongodb.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/temp/development/tsrpc-cli.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/temp/development/vscode.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/temp/manual-creation.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/temp/the-first-api.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/temp/type-system.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/temp/use-database.md diff --git a/docs/docs/get-started/realtime-service.md b/docs/docs/get-started/realtime-service.md index 68f01a1..8972e48 100644 --- a/docs/docs/get-started/realtime-service.md +++ b/docs/docs/get-started/realtime-service.md @@ -9,6 +9,7 @@ TSRPC 的二进制序列化特性,能显著减小包体,帮助实时服务 你可以通过 `npx create-tsrpc-app@latest` 快速创建一个 WebSocket 实时聊天室项目。 ## 实时 API + TSRPC 本身的设计架构是协议无关的,这意味着在[上一节](the-first-api.md)中实现的 API 可以无缝运行在 WebSocket 协议之上。 只需要将 `HttpServer` 替换为 `WebSocketServer`,将 `HttpClient` 替换为 `WebSocketClient` 即可。例如: @@ -16,19 +17,19 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; - +defaultValue="server" +values={[ +{label: 'Server', value: 'server'}, +{label: 'Client', value: 'client'} +]}> + ```ts -import { WsServer } from 'tsrpc'; +import { WsServer } from 'tsrpc' const server = new WsServer(serviceProto, { - port: 3000 -}); + port: 3000, +}) ``` @@ -36,16 +37,16 @@ const server = new WsServer(serviceProto, { ```ts -import { WsClient } from 'tsrpc-browser'; +import { WsClient } from 'tsrpc-browser' const client = new WsClient(serviceProto, { - server: 'ws://127.0.0.1:3000', - logger: console -}); + server: 'ws://127.0.0.1:3000', + logger: console, +}) -let ret = await client.callApi('Hello', { - name: 'World' -}); +let ret = await client.callApi('Hello', { + name: 'World', +}) ``` @@ -68,12 +69,13 @@ let ret = await client.callApi('Hello', { ```ts title="MsgChat.ts" export interface MsgChat { - name: string, + name: string content: string } ``` 跟 API 协议一样,新增或修改消息定义后,也应该重新生成 ServiceProto,然后同步到前端项目。 + ```shell cd backend npm run proto @@ -85,21 +87,24 @@ npm run sync 消息可以双向传递,即可以从 Server 发给 Client,也可以从 Client 发给 Server。 #### Client 发送 + ```ts client.sendMsg('Chat', { name: 'k8w', - content: 'I love TSRPC.' + content: 'I love TSRPC.', }) ``` #### Server 发送 + Server 同时可能连接着多个 Client,活跃中的所有连接都在 `server.conns`。 要给其中某个 Client 发送消息,可以使用 `conn.sendMsg` ,例如: + ```ts // 给第一个连接的 Client 发送消息 server.conns[0].sendMsg('Chat', { name: 'System', - content: 'You are the first connection.' + content: 'You are the first connection.', }) ``` @@ -110,10 +115,11 @@ server.conns[0].sendMsg('Chat', { #### Server 广播 要给所有 Client 发送消息,可以使用 `server.broadcastMsg()`,例如: + ```ts server.broadcastMsg('Chat', { name: 'System', - content: 'This is a message to everyone.' + content: 'This is a message to everyone.', }) ``` @@ -124,21 +130,21 @@ server.broadcastMsg('Chat', { 监听 / 解除监听消息在 Server 和 Client 类似,例子如下: - +defaultValue="server" +values={[ +{label: 'Server', value: 'server'}, +{label: 'Client', value: 'client'} +]}> + ```ts // 监听(会返回传入的处理函数) -let handler = server.listenMsg('Chat', call=>{ - server.broadcastMsg('Chat', call.msg); -}); +let handler = server.listenMsg('Chat', (call) => { + server.broadcastMsg('Chat', call.msg) +}) // 取消监听 -server.unlistenMsg('Chat', handler); +server.unlistenMsg('Chat', handler) ``` @@ -147,19 +153,19 @@ server.unlistenMsg('Chat', handler); ```ts // 监听(会返回传入的处理函数) -let handler = client.listenMsg('Chat', msg=>{ - console.log(msg.name, msg.content); -}); +let handler = client.listenMsg('Chat', (msg) => { + console.log(msg.name, msg.content) +}) // 取消监听 -client.unlistenMsg('Chat', handler); +client.unlistenMsg('Chat', handler) ``` 不同之处在于,由于 Server 同时可能连接着多个 Client,所以监听消息时收到的参数为 `call: MsgCall`。 -其中除了消息内容( `call.msg` )外,还包含Client 连接( `call.conn` )等信息。 +其中除了消息内容( `call.msg` )外,还包含 Client 连接( `call.conn` )等信息。 而 Client 由于只存在唯一的连接,故监听消息时,收到的参数即为消息本身:`msg: MsgXXXX`。 @@ -167,4 +173,4 @@ client.unlistenMsg('Chat', handler); 使用 `npx create-tsrpc-app@latest` 创建一个带浏览器前端的 WebSocket 项目,里面已经自带了一个极简的聊天室的例子,你也可以在这里查看: -https://github.com/k8w/tsrpc-examples/tree/main/examples/chatroom \ No newline at end of file +https://github.com/k8w/tsrpc-examples/tree/main/examples/chatroom diff --git a/docusaurus.config.js b/docusaurus.config.js index 9d34b5f..e18f3e3 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -1,23 +1,24 @@ /** @type {import('@docusaurus/types').DocusaurusConfig} */ module.exports = { title: 'TSRPC - TypeScript 跨平台 RPC 框架', - tagline: '目前世界上唯一支持 TypeScript 复杂类型\n运行时自动检测和二进制序列化的\nTypeScript 开源 RPC 框架', + tagline: + '目前世界上唯一支持 TypeScript 复杂类型\n运行时自动检测和二进制序列化的\nTypeScript 开源 RPC 框架', url: 'https://tsrpc.cn', baseUrl: '/', - onBrokenLinks: 'throw', + onBrokenLinks: 'warn', onBrokenMarkdownLinks: 'warn', favicon: 'img/favicon.ico', organizationName: 'k8w', // Usually your GitHub org/user name. projectName: 'tsrpc', // Usually your repo name. i18n: { defaultLocale: 'zh-cn', - locales: ['en', 'zh-cn'], + locales: ['zh-cn', 'en'], }, themeConfig: { colorMode: { defaultMode: 'light', disableSwitch: true, - respectPrefersColorScheme: false + respectPrefersColorScheme: false, }, navbar: { title: 'TSRPC', @@ -51,7 +52,7 @@ module.exports = { }, { label: 'v3.0.4', // by default, show active/latest version label - position: 'right' + position: 'right', }, { href: 'https://github.com/k8w/tsrpc', @@ -121,7 +122,7 @@ module.exports = { // Please change this to your repo. // editUrl: // 'https://github.com/k8w/tsrpc-docs/blob/main/', - routeBasePath: '/' + routeBasePath: '/', }, // blog: { // showReadingTime: true, @@ -138,7 +139,7 @@ module.exports = { plugins: [ function baiduTongJi(context, options) { if (process.env.NODE_ENV !== 'production') { - return {}; + return {} } return { name: 'docusaurus-plugin-baidu-analytics', @@ -156,9 +157,9 @@ module.exports = { })();`, }, ], - }; + } }, - }; - } - ] -}; + } + }, + ], +} diff --git a/i18n/en/docusaurus-plugin-content-docs/current/api/http-client.md b/i18n/en/docusaurus-plugin-content-docs/current/api/http-client.md new file mode 100644 index 0000000..c8ad4a0 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/api/http-client.md @@ -0,0 +1,67 @@ +--- +sidebar_position: 2 +--- + +# HttpClient + +## HttpClientOptions + +Configuration options when creating HttpClient. + +| field | type | default | description | +| :-----------: | :-------: | :-----------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **server** | `string` | `"http://127.0.0.1:3000"` | Server URL, 以 `http://` 或 `https://` 开头。 | +| **json** | `boolean` | `false` | Enables or disables JSON transfer mode, which will use JSON strings instead of binary serialized transfers. Requires the Server to also enable the jsonEnabled option. | +| **jsonPrune** | `boolean` | `true` | When using JSON transfer mode, whether to automatically exclude extra fields that do not exist in the protocol during the runtime type detection phase. For security reasons, it is always recommended to turn this on. | +| **logger** | `Logger` | `undefined` | Network communication such as API requests/responses will be output to the specified `Logger`. This can be set to `console` if you need to print the log to the console, or to `undefined` if you need to hide the log. | +| **timeout** | `number` | `undefined` | Timeout for API requests in milliseconds, `undefined` or `0` means no time limit. | +| **debugBuf** | `boolean` | `false` | Whether or not to print the binary transfer information in the log, which will make it easier to debug when you develop binary transfer encryption. | + +```ts +export interface HttpOptions { + /** + * Server URL, 以 `http://` 或 `https://` 开头。 + * 默认:"http://127.0.0.1:3000" + */ + server: string + + /** + * 是否启用 JSON 传输模式,启用后将使用 JSON 字符串替代二进制序列化传输。(也进行运行时类型检测) + * 注意:需要 Server 也开启 `jsonEnabled` 选项。 + * 默认:false + */ + json: boolean + + /** + * 使用 JSON 传输模式时,在运行时类型检测阶段,是否自动剔除协议中不存在的额外字段。 + * 出于安全性考虑,建议总是开启,需要动态字段的协议可以通过索引签名定义: + * { + * aaa: string, + * bbb: number, + * // 通过索引签名允许额外字段 + * [key: string]: any + * } + * 默认:true + */ + jsonPrune: boolean + + /** + * API 请求/响应 等网络通讯情况,将被输出至指定的 `Logger` 中。 + * 如果需要将日志打印到控制台,可以设为 `console`;如果需要隐藏日志,可以设为 `undefined`。 + * 默认:`undefined` (这以为着如果你不设置 `logger`,则通讯细节会被隐藏,这有利于防止破解和提升安全性。) + */ + logger?: Logger + + /** + * API 请求的超时时间(毫秒),`undefined` 或 `0` 意味不限时。 + * 默认:`undefined` + */ + timeout?: number + /** + * 是否将二进制传输信息打印在日志中。 + * 当你开发二进制传输加密时,这些信息会便于你调试。 + * 默认:false + */ + debugBuf?: boolean +} +``` diff --git a/i18n/en/docusaurus-plugin-content-docs/current/api/index.md b/i18n/en/docusaurus-plugin-content-docs/current/api/index.md new file mode 100644 index 0000000..5458089 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/api/index.md @@ -0,0 +1,9 @@ +--- +sidebar_position: 1 +--- + +# API + +:::danger WIP +This document is still in preparation ...... Stay tuned. +::: diff --git a/i18n/en/docusaurus-plugin-content-docs/current/api/ws-client.md b/i18n/en/docusaurus-plugin-content-docs/current/api/ws-client.md new file mode 100644 index 0000000..9f53de9 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/api/ws-client.md @@ -0,0 +1,45 @@ +--- +sidebar_position: 3 +--- + +# WsClient + +## WsClientOptions + +创建 `WsClient` 时的配置选项。 + +| 字段名 | 类型 | 默认值 | 描述 | +| :-: | :-: | :-: | - | +| **server** | `string` | `"ws://127.0.0.1:3000"` | Server URL, 以 `ws://` 或 `wss://` 开头。 | +| **logger** | `Logger` | `undefined` | API 请求/响应 等网络通讯情况,将被输出至指定的 `Logger` 中。如果需要将日志打印到控制台,可以设为 `console`;如果需要隐藏日志,可以设为 `undefined`。 | +| **timeout** | `number` | `undefined` | API 请求的超时时间(毫秒),`undefined` 或 `0` 意味不限时。 | +| **debugBuf** | `boolean` | `false` | 是否将二进制传输信息打印在日志中,当你开发二进制传输加密时,这些信息会便于你调试。 | + +```ts +export interface HttpOptions { + /** + * Server URL, 以 `ws://` 或 `wss://` 开头。 + * 默认:"ws://127.0.0.1:3000" + */ + server: string; + + /** + * API 请求/响应 等网络通讯情况,将被输出至指定的 `Logger` 中。 + * 如果需要将日志打印到控制台,可以设为 `console`;如果需要隐藏日志,可以设为 `undefined`。 + * 默认:`undefined` (这以为着如果你不设置 `logger`,则通讯细节会被隐藏,这有利于防止破解和提升安全性。) + */ + logger?: Logger; + + /** + * API 请求的超时时间(毫秒),`undefined` 或 `0` 意味不限时。 + * 默认:`undefined` + */ + timeout?: number; + /** + * 是否将二进制传输信息打印在日志中。 + * 当你开发二进制传输加密时,这些信息会便于你调试。 + * 默认:false + */ + debugBuf?: boolean +} +``` \ No newline at end of file diff --git a/i18n/en/docusaurus-plugin-content-docs/current/cookbook/index.md b/i18n/en/docusaurus-plugin-content-docs/current/cookbook/index.md new file mode 100644 index 0000000..58f1d50 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/cookbook/index.md @@ -0,0 +1,5 @@ +# Cookbook + +:::danger WIP +此文档还在编写中…… 敬请期待。 +::: \ No newline at end of file diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/client/_category_.json b/i18n/en/docusaurus-plugin-content-docs/current/docs/client/_category_.json new file mode 100644 index 0000000..370528d --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/client/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Client-side development", + "position": 3 +} diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/client/supported-platforms.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/client/supported-platforms.md new file mode 100644 index 0000000..2dc0359 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/client/supported-platforms.md @@ -0,0 +1,73 @@ +--- +sidebar_position: 1 +--- + +# List of supported platforms + +## Overview + +The TSRPC client supports many platforms, just bring in `HttpClient` or `WsClient` from different NPM packages as needed, the API is consistent across platforms. + +| Client Platform | NPM Packages | +| :-------------: | :----------: | +| tsrpc-browser | +| tsrpc-miniapp | +| NodeJS | tsrpc | + +For example, for use under the browser project, this corresponds to the `tsrpc-browser` library, which is first installed as follows. + +```shell +npm i tsrpc-browser +``` + +All of the above libraries already come with their own TS type definitions, so just follow the code hints to reference them: ```ts + +```ts +import { HttpClient } from 'tsrpc-browser' +import { WsClient } from 'tsrpc-browser' +import { serviceProto } from '. /shared/protocols/serviceProto' + +const client1 = new HttpClient(serviceProto, { + server: 'https://xxx.com/api', + logger: console, +}) + +const client2 = new WsClient(serviceProto, { + server: 'https://xxx.com/api', + logger: console, +}) +``` + +See the next section [using-client](use-client) for more details on client usage. + +## Using under cross-platform projects + +For example, if you are using a cross-platform front-end framework like [uni-app](https://uniapp.dcloud.io/) or [Taro](https://taro.aotu.io/) to implement an application that needs to support multiple ends at the same time (e.g. browser + WeChat applet + Android App + iOS App). +Then you need to choose the corresponding client library according to the actual running platform. +Since the TSRPC API is renamed between libraries on different platforms, you need to manually `as` an alias when `import`, e.g. + +```ts +import { HttpClient as HttpClientBrowser } from 'tsrpc-browser'; +import { HttpClient as HttpClientMiniapp } from 'tsrpc-miniapp'; +import { serviceProto } from '. /shared/protocols/serviceProto'; + +// Create the corresponding Client according to the actual running platform +export const client = is a WeChat applet ? + // WeChat applets use tsrpc-miniapp + new HttpClientMiniapp(serviceProto, { + server: 'https://xxx.com/api', + logger: console + }) + // Browser and native environments use tsrpc-browser (XMLHttpRequest-compatible environments can use tsrpc-browser) + : new HttpClientBrowser(serviceProto, { + server: 'https://xxx.com/api', + logger: console + }); +``` + +## Using in Cocos Creator + +Currently Cocos Creator 2.x and 3.x versions are perfectly supported. + +Since Cocos Creator is naturally well supported by NPM, you don't need to configure it additionally, just refer to the above example `npm install` and `import`. +If your project is cross-platform, you will also need to create a client based on the platform you are running on, as in the example above. diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/client/use-client.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/client/use-client.md new file mode 100644 index 0000000..6c9e79d --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/client/use-client.md @@ -0,0 +1,187 @@ +--- +sidebar_position: 2 +--- + +# Using the client + +## Creating a client + +First, create `HttpClient` or `WsClient`, depending on the [supported-platforms] and the server-side protocol. +The client supports concurrent requests, so usually you just need to create and maintain unique instances of the client globally, e.g. + +```ts title="apiClient.ts" +import { HttpClient } from 'tsrpc-browser' +import { serviceProto } from '. /shared/protocols/serviceProto' + +// Create a globally unique apiClient and bring it in from this file if needed +export const apiClient = new HttpClient(serviceProto, { + server: 'https://xxx.com/api', + logger: console, +}) +``` + +The constructors of `HttpClient` and `WsClient` both have 2 arguments. +The first argument, `serviceProto`, is the protocol definition in `serviceProto.ts` generated by our `npm run proto`. +The 2nd parameter is the client configuration, for configurable options see. + +- `HttpClient` configuration options: [HttpClientOptions](/api/http-client#httpclientoptions) +- `WsClient` configuration options: [WsClientOptions](/api/ws-client#wsclientoptions) + +## callApi + +To call the API interface via `client.callApi`. + +```ts +let ret = await client.callApi('interfaceName', { + // request parameters +}) +``` + +:::tip +All methods of TSRPC, including `callApi`, **do not** throw exceptions, so you always **do not need** `catch()` or `try... .catch... ` . +::: + +## ApiReturn + +`callApi` is asynchronous, its return type is `Promise` and contains 2 cases of success and error. + +```ts +export interface ApiReturnSucc { + isSucc: true + res: Res + err?: undefined +} + +export interface ApiReturnError { + isSucc: false + res?: undefined + err: TsrpcError +} + +export type ApiReturn = ApiReturnSucc | ApiReturnError +``` + +## Error handling + +`callApi` is not always successful and some errors may occur. + +### Pitfalls of the traditional approach + +The traditional approach based on `Promise` or callback functions has some pitfalls, which are often the source of bugs, e.g. + +#### i. Handling errors in a decentralized way + +For example, if you use `fetch`, you usually have these errors waiting to be handled. + +```js +fetch(...) + .then(v=>{ + 1. HTTP status code error + 2. HTTP status code is fine, but a business error is returned (e.g. "insufficient balance" "wrong password") + }) + .catch(e=>{ + 1. network error + 2. code error reported + }) +``` + +There are very many potential errors that are scattered all over the place waiting for you to deal with them. Neglecting one can cause problems. + +#### II. Forget to deal with errors + +Many novices don't have the sense to handle errors, for example, in the above example, they may forget to `catch`. +This small oversight can cause big problems, such as a common requirement: "Show Loading during request". + +```js +showLoading(); // Show a full screen Loading +let res = await fetch( ... ); +hideLoading(); // hide Loading +``` + +At first glance it looks fine, but if a network error occurs, `fetch` will throw an exception and the following `hideLoading()` will not be executed. In this way, the loading on the interface will never disappear, often referred to as "stuck". +Don't underestimate it, a good percentage of "stuck" problems in real projects are related to this! + +### Solution for TSRPC + +First look at the example. + +```ts title="frontend/src/index.ts" +let ret = await client.callApi('Hello', { + name: 'World', +}) + +// Handle errors, exception branch +if (!ret.isSucc) { + alert('Error: ' + ret.err.message) + return +} + +// Success +alert('Success: ' + ret.res.reply) +``` + +In TSRPC. + +1. all methods **do not throw exceptions** + - so there is always **no need** for `catch()` or `try.... .catch... `, avoiding the rookie trap. +2. All errors **need to be handled in one place** + - Success is determined by `ret.isSucc`, success is taken as response `ret.res`, failure is taken as error `ret.err` (with error type and detail information). 2. +3. cleverly make you **must do error detection** through the TypeScript type system + - The TypeScript compiler will report an error if you remove the code in the error handling section above, or if you remove `return` after handling the error. + +## Canceling requests + +There are some scenarios where you may need to cancel an API request in the middle of the process. For example, a single page application developed with React, Vue, and you want to cancel an API request that has not been returned after the component `unmount`. + +TSRPC has 3 ways to handle cancellation, and the Promise ** received by the caller of a request after cancellation will neither `resolve` nor `reject` **. + +### Canceling a single request via `SN` + +Each `callApi` generates a unique request number `SN` for the current request, which can be cancelled by `client.abort(SN)`. +The last request number can be obtained by `client.lastSN`, e.g. + +```ts +client.callApi('XXX', { ... }).then(ret => { + // If the request is cancelled, it will not be processed by the client, whether the server returns or not + console.log('Request completed', ret) +}); + +// Log SN immediately after callApi is called +let sn = client.lastSN; + +// after 1 second, if the request still hasn't completed, it will be cancelled +setTimeout(()=>{ + client.abort(sn); +}, 1000) +``` + +### Cancel multiple requests with `abortKey` + +The 3rd parameter that `callApi` can take is an optional configuration item, which contains `abortKey`. +You can specify an `abortKey` in advance at the beginning of the request, and then call `client.abortByKey(key)` to cancel all outstanding requests for the specified `abortKey`. (Completed requests are not affected) + +This is useful for front-end componentized development, e.g. always specify `abortKey: Component ID` when `callApi` inside a component, and then `client.abortByKey(Component ID)` when the component is destroyed, to enable automatic cancellation of internal unfinished requests when the component is destroyed, e.g. + +```ts +// The same abortKey can affect multiple requests +client.callApi('XXX', { ... }, { abortKey: 'MyAbortKey' }).then(ret => { ... }); +client.callApi('XXX', { ... }, { abortKey: 'MyAbortKey' }).then(ret => { ... }); +client.callApi('XXX', { ... }, { abortKey: 'MyAbortKey' }).then(ret => { ... }); + +// After 1 second, cancel those requests that have not yet completed +setTimeout(() => { + client.abortByKey('MyAbortKey'); +}, 1000) +``` + +### Cancel all outstanding requests + +Cancel all outstanding requests under the client with `abortAll()`. + +```ts +client.abortAll() +``` + +## Customizing workflows + +You can customize the client with [Flow](... /flow/flow) to customize client-side workflows, implementing things like [Session and Cookie](. /flow/session-and-cookie), [client-side permission authentication](... /flow/user-authentication), [Mock](... /flow/mock), etc. /flow/mock) and other features. diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/client/websocket.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/client/websocket.md new file mode 100644 index 0000000..f4dab7d --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/client/websocket.md @@ -0,0 +1,100 @@ +--- +sidebar_position: 3 +--- + +# WebSocket + +At the `callApi` level, `WsClient` is exactly the same as `HttpClient`. +But in addition to that `WsClient` has some other operations. + +## Connections + +If you are creating a WebSocket client `WsClient`, then before `callApi` and `sendMsg`, you need to connect to the server manually: ` + +```ts +let result = await client.connect() + +// The connection may not be successful (e.g. network errors), so remember to handle errors +if (!result.isSucc) { + console.log(result.errMsg) +} +``` + +Correspondingly, the disconnection is. + +```ts +client.disconnect() +``` + +## Disconnect and reconnect + +Small network conditions can always happen from time to time. To make your application more robust, you can implement a disconnect reconnection mechanism via [Flow](... /flow/flow) to implement a disconnect and reconnect mechanism. + +On the client side, `postDisconnectFlow` is triggered after changing from connected to disconnected state (WebSocket only) and is of type + +```ts +Flow<{ + /* The reason for closure passed at `conn.close(reason)` on the Server side */ + reason?: string, + /** + * Whether the connection was manually disconnected by `client.disconnect()`. + * If `false`, the connection was not initiated by the client (e.g. network error, the server disconnected, etc.). + */ + isManual?: boolean +}>(), +``` + +With `isManual` you can determine if the connection is client-initiated or not, and if not, you can wait a short time and reconnect automatically. Example. + +```ts +client.flows.postDisconnectFlow.push((v) => { + if (!v.isManual) { + // wait 2 seconds to reconnect automatically + setTimeout(async () => { + let res = await client.connect() + // reconnect also error, popup error + if (!res.isSucc) { + alert('Network error, the connection has been disconnected') + } + }, 2000) + } + + return v +}) +``` + +:::tip +`postDisconnectFlow` is triggered only when the client changes from connected to disconnected state. Calling `client.connect()` in a disconnected state returns an error when the connection fails, but does not trigger the Flow, so the necessary error handling mechanism after `client.connect()` is also necessary. +::: + +## sendMsg + +Sending real-time messages to the backend via `sendMsg` is common for WebSocket clients. +Due to the cross-transport protocol implementation, `sendMsg` can also be called under `HttpClient`, but since it is short-connected, it can only be sent unidirectionally to the server and cannot receive messages pushed by the server. + +```ts +client.sendMsg('Chat', { + name: 'k8w', + content: 'I love TSRPC.', +}) +``` + +## listenMsg + +Listen to and process live messages from the server with `listenMsg`. + +:::tip +Only works for WebSocket. +::: + +```ts +// Listening (will return the handler function passed in) +let handler = client.listenMsg('Chat', (msg) => { + console.log(msg) +}) + +// unlisten +client.unlistenMsg('Chat', handler) +``` + +Client listens for messages because there is only a unique connection, so when listening for messages, the parameter received is the message itself: `msg: MsgXXXX`. diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/_category_.json b/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/_category_.json new file mode 100644 index 0000000..a44eabe --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "[WIP] Deploy", + "position": 7 +} diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/docker.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/docker.md new file mode 100644 index 0000000..99052e1 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/docker.md @@ -0,0 +1,11 @@ +--- +sidebar_position: 3 +--- + +# [WIP] Deploying with Docker + +- Dockerfile example + +:::danger WIP +This document is still in progress ...... Stay tuned. +::: diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/graceful-stop.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/graceful-stop.md new file mode 100644 index 0000000..52a4729 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/graceful-stop.md @@ -0,0 +1,9 @@ +--- +sidebar_position: 1 +--- + +# [WIP] graceful stop + +:::danger WIP +This document is still in preparation ...... Stay tuned. +::: diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/kubernetes.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/kubernetes.md new file mode 100644 index 0000000..b3e36fb --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/kubernetes.md @@ -0,0 +1,12 @@ +--- +sidebar_position: 4 +--- + +# [WIP] Deploying with Kubernetes + +- Health Check +- Bluegreen Release + +:::danger WIP +This document is still in progress ...... Stay tuned. +::: diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/pm2.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/pm2.md new file mode 100644 index 0000000..da54368 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/deployment/pm2.md @@ -0,0 +1,9 @@ +--- +sidebar_position: 2 +--- + +# [WIP] Deployment with PM2 + +:::danger WIP +This document is still in progress ...... Stay tuned. +::: diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/_category_.json b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/_category_.json new file mode 100644 index 0000000..1b57039 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Custom Workflows", + "position": 4 +} diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/after-encrypt.png b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/after-encrypt.png new file mode 100644 index 0000000000000000000000000000000000000000..503e337f16d8ffecb32ff1fb8c3afbe0e80e9476 GIT binary patch literal 33987 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 literal 0 HcmV?d00001 diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/before-encrypt.png b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/before-encrypt.png new file mode 100644 index 0000000000000000000000000000000000000000..fb6f98b7a68933e763ad7cf4ca73dafe0df3264f GIT binary patch literal 38139 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

v-A~1t)>GLZv|umkNNoKbb$-#)+5awtxe! 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 URqb54D--@5Ib@)drEL@ZpCnsr5dZ)H literal 0 HcmV?d00001 diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/flow.svg b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/flow.svg new file mode 100644 index 0000000..75f59b1 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/flow.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/server-flows.png b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/assets/server-flows.png new file mode 100644 index 0000000000000000000000000000000000000000..dd85108d4a70d7960b66494eb99df27e264f45c7 GIT binary patch literal 179282 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 literal 0 HcmV?d00001 diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/custom-http-response.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/custom-http-response.md new file mode 100644 index 0000000..a5bef2c --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/custom-http-response.md @@ -0,0 +1,91 @@ +--- +sidebar_position: 6 +--- + +# Custom HTTP response + +:::tip +The content of this section applies only to `HttpServer`. +::: + +With TSRPC, although there is a companion client, there is no need to go into the details of building HTTP requests. +But there are times when you may want the backend to support some specific common requests. +For example, server information pages, static file services, or some simple control class GET interface or something like that. + +With `Flow`, you can do that too, or even graft TSRPC onto other frameworks. + +## Implementation + +In the node function of `server.flows.preRecvBufferFlow`, there is a parameter field `conn`. +It is the `Connection` of the actual transport protocol. +Since the TSRPC implementation is cross-transport, the `conn` you get directly is of type `BaseConnection`. + +If you create an `HttpServer`, the corresponding `conn` is actually an `HttpConnection`. +At this point, with `conn.httpReq` and `conn.httpEnd` you can get the `req` and `res` objects of the NodeJS native `http` module, and then you're free to do what you want. + +If you want to return your own response, you can do so with `conn.httpRes`. +But remember to break the Flow and subsequent processes by `return undefined` after that. +This way you don't get to the later parts of binary decoding, API parsing, etc. + +For example + +```ts +// Custom HTTP Reponse +server.flows.preRecvBufferFlow.push((v) => { + let conn = v.conn as HttpConnection + + if (conn.httpReq.method === 'GET') { + conn.httpRes.end('Hello World') + return undefined + } + + return v +}) +``` + +Then open the backend service directly in the browser at `http://localhost:3000` and you can see our custom response + +! [](assets/custom-get-res.png) + +Further, you can implement a simple file service: ! + +```ts +// Custom HTTP Reponse +server.flows.preRecvBufferFlow.push(async (v) => { + let conn = v.conn as HttpConnection + + if (conn.httpReq.method === 'GET') { + // Static file service + if (conn.httpReq.url) { + // detect if the file exists + let resFilePath = path.join('res', conn.httpReq.url) + let isExisted = await fs + .access(resFilePath) + .then(() => true) + .catch(() => false) + if (isExisted) { + // return the contents of the file + let content = await fs.readFile(resFilePath) + conn.httpRes.end(content) + return undefined + } + } + + // Default GET response + conn.httpRes.end('Hello World') + return undefined + } + + return v +}) +``` + +! [](assets/custom-get-test.png) + +## Full example + +See: https://github.com/k8w/tsrpc-examples/tree/main/examples/custom-http-res + +:::tip +TSRPC's API and Message communications are via the `POST` method, so make sure you don't affect them. +::: diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/flow.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/flow.md new file mode 100644 index 0000000..4fdef20 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/flow.md @@ -0,0 +1,231 @@ +--- +sidebar_position: 1 +--- + +## Flow + +## What is Flow? + +Any framework that can be adapted to more business scenarios requires good extensibility. +`Flow` is a new concept designed by TSRPC for this purpose. + +Similar to pipelines and middleware, `Flow` consists of a set of functions with the same type of input and output, either synchronous or asynchronous. +We call each of these functions a `FlowNode`. +A slight difference from a pipeline is that `FlowNode` can return `null | undefined` to represent a **broken flow**. + +! [](assets/flow.svg) + +Each `Flow` sum has a fixed data type ``, the input and output types of its node functions, defined as follows. + +```ts title="FlowNode Definition" +export type FlowNodeReturn = T | null | undefined +export type FlowNode = ( + item: T +) => FlowNodeReturn | Promise> +``` + +`Flow` is like an array of `FlowNode` that you can append a new node to with `flow.push(flowNode)`. +When `Flow` is executed, it starts with the first `FlowNode` (with the original input parameters), and then takes the output of the previous `FlowNode` as input to the next `FlowNode`, one by one, until it gets the last output or receives `null | undefined` and breaks early. + +Next, let's look at how `Flow` is used in TSRPC. + +## TSRPC Workflow + +TSRPC establishes a unified workflow for the entire communication process. +On top of that, some nodes in the workflow are exposed for customization via `Flow`. `Flow` is common to both the server and the client, and you can use the same programming paradigm to extend the behavior on each side. +For example, on the server side, you can control any of the Flow's in the diagram below to implement custom processes such as transport encryption, authentication, and so on. + +! [](assets/server-flows.png) + +To control the workflow, just `push` your own `FlowNode` functions to these `Flow`s, e.g. one that implements simple login authentication. + +```ts +server.flows.preApiCallFlow.push((call) => { + if (isLogined(call.req.token)) { + // Assuming you have an isLogined method to check if the login token is legitimate + return call // returns normally, which means the process continues + } else { + call.error('You are not logged in') + return null // returns null or undefined, which means the process is broken + } +}) +``` + +### Pre Flow and Post Flow + +TSRPC's built-in `Flow`s are divided into two categories, `Pre Flow` and `Post Flow`, based on their name prefixes. When their `FlowNode` returns `null | undefined` in the middle, both will break the execution of the `Flow` successor node. However, the effect on TSRPC workflows is different. + +- All interruptions of `Pre Flow` **will** interrupt subsequent TSRPC workflows, e.g. an interruption of Client `preCallApiFlow` will prevent `callApi`. +- All interrupts of `Post Flow` **will not** interrupt subsequent TSRPC workflows, e.g. a Server `postConnectFlow` interrupt **will not** prevent connection establishment and subsequent message reception. + +### Server-side Flows + +Obtained via `server.flows`, e.g. +``ts +server.flows.preApiCallFlow.push(call=>{ +// ... +}) + +```` + +| name | role | +| - | - | +| postConnectFlow | after a client connects +| postDisconnectFlow | after the client disconnects | +| preRecvBufferFlow | before processing the received binary data | +| preSendBufferFlow | before sending binary data | +| preApiCallFlow | before executing the API interface implementation +| preApiReturnFlow | before the API interface returns results (`call.succ`, `call.error`) | +| postApiReturnFlow | after the API interface returns results (`call.succ`, `call.error`) | +| postApiCallFlow | after executing the API interface implementation | +| preMsgCallFlow | before triggering the Message listener event | +| postMsgCallFlow | after triggering the Message listener event | +| preSendMsgFlow |before sending a Message +| postSendMsgFlow | after sending a Message + +### Client Flows + +Get through `client.flows`, e.g. +```ts +client.flows.preCallApiFlow.push(v=>{ + // ... +}) +```` + +| name | role | +| ------------------ | ------------------------------------------------------ | ----- | ----------------- | ------------------------------------------------------ | +| preCallApiFlow | before executing `callApi` | +| preApiReturnFlow | before returning the result of `callApi` to the caller | - - - | postApiReturnFlow | before returning the result of `callApi` to the caller | +| postApiReturnFlow | after returning the results of `callApi` to the caller | +| preSendMsgFlow | before executing `sendMsg` | +| postSendMsgFlow | after executing `sendMsg` | +| preSendBufferFlow | before sending any binary data to the server | +| preRecvBufferFlow | before processing any binary data from the server | +| preConnectFlow | before connecting to the server (WebSocket only) | +| postConnectFlow | after connecting to the server (WebSocket only) | +| postDisconnectFlow | after disconnecting from the server (WebSocket only) | + +## Type extensions + +As you can see above, many `Flow`s are accompanied by a pass of `Connection` or `Call`. +In the process, we may want to add some additional data to them. +For example. + +- Add a `call.currentUser` to `call` to pass back the user information parsed from the login state +- Add a `conn.connectedTime` to `conn` to record the connection establishment time + +TSRPC itself does not contain these fields, and using them directly will result in errors, so you need to extend the existing types of TSRPC first. +TSRPC supports type extensions in the following way. + +### Extending the `tsrpc` library types directly + +Extend existing types directly in the ``declare module 'tsrpc'`. + +```ts +declare module 'tsrpc' { + export interface BaseConnection { + // New custom field + connectedTime: number + } + + export interface ApiCall { + currentUser: { + userId: string + nickname: string + } + } +} +``` + +After that, the above custom fields are already legal when you use these types. +They are type correct wherever they are used, e.g. + +- **in Flow** + +```ts +server.flows.postConnectFlow.push((conn) => { + conn.connectedTime = Date.now() +}) + +server.flows.preApiCallFlow.push((call) => { + call.currentUser = { + userId: 'xxx', + nickname: 'xxx', + } +}) +``` + +- **in the API implementation** + +```ts +export async function ApiXXX(call: ApiCall) { + // call.currentUser becomes a legal field + call.logger.log(call.currentUser.nickname) +} +``` + +But if you want to start two different `Server`s in one application, each of them extending different fields, e.g. + +- `server1` adds only `call.currentUser` +- `server2` only adds `call.loggedUser` + +Then extending the `tsrpc` library types directly may lead to mixups, so you need to extend them by creating new types. + +### Creating a new type + +Create new types of `Connection` and `Call`, compatible with existing type definitions: ```tsrpc` + +```ts +type MyConnection = WebSocketConnection & { + connectedTime: number +} + +type MyCall = ApiCall & { + currentUser: { + userId: string + nickname: string + } +} +``` + +Then, where you need to use it, manually replace it with your own type: the + +- In the API implementation + +```ts +export async function ApiXXX(call: MyCall) { + // call.currentUser becomes a legal field + call.logger.log(call.currentUser.nickname) +} +``` + +- In Flow + +```ts +server.flows.preApiCallFlow.push((conn: MyConnection) => { + conn.connectedTime = Date.now() +}) + +server.flows.preApiCallFlow.push((call: MyCall) => { + call.currentUser = { + userId: 'xxx', + nickname: 'xxx', + } +}) +``` + +## Examples + +With the flexible `Flow`, developers can implement many features, and we have compiled some common scenarios. + +- [Implementing Session and Cookie Features](. /session-and-cookie.md) +- [User login and permission authentication](. /user-authentication.md) +- Binary-based transfer encryption](. /transfer-encryption.md) +- [Front-end Local Mock Testing](. /mock.md) +- Custom HTTP responses for GET interfaces, static pages, etc.](. /custom-http-response.md) + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/mock.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/mock.md new file mode 100644 index 0000000..30ef427 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/mock.md @@ -0,0 +1,134 @@ +--- +sidebar_position: 5 +--- + +## Client Mock + +## What is Mock + +Many times there is a situation where we are developing a front-end page and some functions need to call the back-end interface in order to test the complete process. +Although the protocol has been defined, but the interface has not yet been developed and can not be used. +At this point, how to complete the front-end does not depend on the back-end independent testing it? + +Of course, you can temporarily comment out the location of the API interface call and replace it with a piece of dummy data. But this approach is invasive and unknowingly mixes a lot of test code in your business logic. This lays a lot of potential potholes for yourself, and may bring problems if you forget to remove the test code. + +> Murphy's Law: What can go wrong must go wrong. + +So, the front-end developed a technology called Mock, which allows you to mock the returned data from the back-end, but is implemented outside of the business logic, in other words **non-intrusive**, and you can enable or disable it with a single switch. + +## Implementation + +Implementing the Mock feature in TSRPC requires a dependency on `client.flows.preCallApiFlow`. +This Flow occurs before the actual API call and has a parameter named `return` for the return type of `callApi` which is `ApiReturn`. If you assign a value to the `return` field within the `Flow` function, which is equivalent to returning the result in advance, the client will actually **not** call the back-end interface, but will return that value directly, in exactly the same flow as a real network request. Example. + +#### returns a successful response ahead of time + +```ts +client.flows.preCallApiFlow.push((v) => { + v.return = { + isSucc: true, + res: { + // ... + }, + } + return v +}) +``` + +#### 10% probability of simulating network errors + +```ts +client.flows.preCallApiFlow.push((v) => { + if (Math.random() < 0.1) { + v.return = { + isSucc: false, + err: new TsrpcError('Simulated network error: ' + v.apiName, { + type: TsrpcError.Type.NetworkError, + }), + } + } + return v +}) +``` + +## Mock API + +For the Mock scenario, we can define an object that implements a test API on the front-end. +Then, using the above, before `callApi`, if a corresponding Mock API is found, it is called directly; otherwise it goes to the real request backend interface. + +Mock back-end, Mock API request. + +```ts +// Mock backend, Mock API request + +import { ApiReturn } from 'tsrpc-browser' +import { ServiceType } from '. /shared/protocols/serviceProto' + +// Temporary data storage +const data: { + content: string + time: Date +}[] = [] + +// { interface name: (req: request) => response } +export const mockApis: { + [K in keyof ServiceType['api']]?: ( + req: ServiceType['api'][K]['req'] + ) => + | ApiReturn + | Promise> +} = { + // simulate the backend interface + AddData: (req) => { + let time = new Date() + data.unshift({ content: req.content, time: time }) + return { + isSucc: true, + res: { time: time }, + } + }, + + // Asynchronous is also possible + GetData: async (req) => { + // Simulate a 500ms delay + await new Promise((rs) => { + setTimeout(rs, 500) + }) + + return { + isSucc: true, + res: { + data: data, + }, + } + }, +} +``` + +:::note +The type definition of `mockApis` in the above example is a bit more complicated, using TypeScript's [Mapped Types](https://www.typescriptlang.org/docs/handbook/2/mapped-types.html). If you are not very familiar with TypeScript, you can just copy it and use it. +::: + +Mock API before the client request, if there is, then directly use. + +```ts +// Client Mock +client.flows.preCallApiFlow.push(async (v) => { + // Mock if there is a corresponding MockAPI, otherwise request the real backend + let mockApi = mockApis[v.apiName] + if (mockApi) { + client.logger?.log('[MockReq]', v.apiName, v.req) + v.return = await mockApi!(v.req as any) + client.logger?.log('[MockRes]', v.apiName, v.return) + } + + return v +}) +``` + +When the tests are done, simply comment out the `Flow` in the Mock section or modify `mockApis` to control the Mock switch. +This ensures that the test code is outside of the business logic and gathered in one place for uniform management. + +## Full example + +See: https://github.com/k8w/tsrpc-examples/tree/main/examples/client-mock diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/session-and-cookie.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/session-and-cookie.md new file mode 100644 index 0000000..e49084a --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/session-and-cookie.md @@ -0,0 +1,77 @@ +--- +sidebar_position: 2 +--- + +# Implementing Session and Cookies + +## Cookies + +### Concepts + +Cookies are a concept in the HTTP protocol and you can see more information on HTTP cookies at [MDN](https://developer.mozilla.org/docs/Web/HTTP/Cookies). + +Since TSRPC is designed to be cross-protocol, meaning it doesn't necessarily run on top of the HTTP protocol, the TSRPC framework **doesn't use** HTTP cookies, but with Flow, we can easily implement the same feature. This makes it more general -- it works on APPs, WeChat applets, and NodeJS clients. + +### Implementation + +The essence of an HTTP cookie is to pass through a set of data that can be set on the server side or on the client side. Simply put, the server side sends back the cookie data, the client stores it and continues to bring it to the parameters until the next request. + +#### 1. Add a common `__cookie` field to all requests and responses (inherited via base class) + +````ts +export interface BaseRequest { + __cookie?: Cookie; +} + +export interface BaseResponse { + __cookie?: Cookie; +} + +export interface Cookie { + sessionId?: string, + [key: string]: any +} +``` 2. + +#### 2. The client receives the `__cookie` from the server and stores it in `localStorage` + +```ts +client.flows.preApiReturnFlow.push(v => { + if (v.return.isSucc) { + if (v.return.res.__cookie) { + localStorage.setItem(CookieStorageKey, JSON.stringify(v.return.res.__cookie)) + } + } + + return v; +}) +```` + +#### 3. When the client sends a request, it automatically adds the locally stored `__cookie` to the request parameters. + +```ts +client.flows.preCallApiFlow.push((v) => { + let cookieStr = localStorage.getItem(CookieStorageKey) + v.req.__cookie = cookieStr ? JSON.parse(cookieStr) : undefined + return v +}) +``` + +You can also add other logic such as timeout time as needed. + +## Session + +### Concepts + +Session refers to session state management (e.g. user login status, shopping cart, game score or other information that needs to be recorded). + +Like cookies, this data needs to be maintained over multiple requests; the difference is that the client cannot modify it at will (e.g. logged-in user IDs) or it is not visible to the client at all (e.g. some access statistics). + +### Implementation + +1. The server generates a Session ID when a new client accesses it, which is passed through a cookie. +2. The server accesses the Session data based on the Session ID, which can be stored in memory or in a database, depending on the situation. + +## Full example + +https://github.com/k8w/tsrpc-examples/tree/main/examples/session-and-cookie diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/transfer-encryption.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/transfer-encryption.md new file mode 100644 index 0000000..1ba1b38 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/transfer-encryption.md @@ -0,0 +1,98 @@ +--- +sidebar_position: 4 +--- + +# Transfer encryption + +## Thinking + +TSRPC transmission is binary, so the encryption and decryption algorithm should be binary-based (`Uint8Array`) as well. +There are many mature algorithms that can be used directly (e.g. `RC4`, `AES`, `RES`, etc.), but you can also implement your own private algorithms. + +On both the server and client side, there are `preSendBufferFlow` and `preRecvBufferFlow` that allow you to process the binary before sending and receiving it. +So you only need to encrypt the Buffer in `preSendBufferFlow` and decrypt the Buffer in `preRecvBufferFlow` to encrypt the transmission. + +You can also share this code in the `shared` directory if the encryption and decryption logic is the same on the front and back ends. + +## Implementation + +### Encryption and decryption algorithm + +Let's implement a simple encryption algorithm. + +- Encrypt: take each byte in the binary stream `+1` +- Decrypt: each byte in the binary stream is `-1` + +:::note +In `Uint8Array`, `0 - 1 === 255` and `255 + 1 === 0`, so the above algorithm works under boundary conditions. +::: + +Since the same encryption and decryption operations are performed on both front and back ends, we share this algorithm in the `shared` directory as follows. + +```ts title="shared/models/EncryptUtil" +export class EncryptUtil { + // encrypt + static encrypt(buf: Uint8Array): Uint8Array { + for (let i = 0; i < buf.length; ++i) { + buf[i] -= 1 + } + return buf + } + + // Decrypt + static decrypt(buf: Uint8Array): Uint8Array { + for (let i = 0; i < buf.length; ++i) { + buf[i] += 1 + } + return buf + } +} +``` + +### Extending workflows with Flow + +Now that the encryption algorithm is implemented, we use Flow to extend the server and client to automatically encrypt and decrypt binary data before sending and receiving it. + +#### server-side + +```ts +// Encrypt before sending +server.flows.preSendBufferFlow.push((v) => { + v.buf = EncryptUtil.encrypt(v.buf) + return v +}) +// Decrypt before receiving +server.flows.preRecvBufferFlow.push((v) => { + v.buf = EncryptUtil.decrypt(v.buf) + return v +}) +``` + +#### client + +```ts +// Encrypt before sending +client.flows.preSendBufferFlow.push((v) => { + v.buf = EncryptUtil.encrypt(v.buf) + return v +}) +// Decrypt before receiving +client.flows.preRecvBufferFlow.push((v) => { + v.buf = EncryptUtil.decrypt(v.buf) + return v +}) +``` + +In this way, the transfer process will be automatically encrypted and decrypted using `EncryptUtil`, and you can see the result when you open your browser. + +**Before encryption:** +! [](assets/before-encrypt.png) + +**After encryption:** ! +! [](assets/after-encrypt.png) + +The encryption algorithm in this example is very simple to implement, you can implement more complex algorithms yourself, return a new `Uint8Array` or even change the length. + +## Full example + +See: https://github.com/k8w/tsrpc-examples/tree/main/examples/transfer-encryption diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/user-authentication.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/user-authentication.md new file mode 100644 index 0000000..204b917 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/flow/user-authentication.md @@ -0,0 +1,101 @@ +--- +sidebar_position: 3 +--- + +## Login and permission auto-validation + +## Ideas + +Login and permission validation, the practical application of [Session](session-and-cookie.md) in the previous section, means that a user must be logged in or have a specified role to invoke certain interfaces. + +The implementation idea has the following main steps. + +1. login interface: login state (Token) is created after successful login, the identity credentials of the subsequent interface. +2. the client receives the login state from the server, and each subsequent request is automatically brought to the request parameters (the same as the [cookie](session-and-cookie.md) mechanism). +3. protocol configuration: which protocols require login authentication, which protocols require what roles or permissions. 4. +4. automatically verify the login state before calling the API based on the above configuration and the incoming login state, intercept illegal calls, and return the corresponding error message. + +## Create login state + +As with the Session mechanism, the login state should be maintained by the server and read-only by the client. + +When the user logs in successfully, a temporary Token is created, which can be stored in, for example, Redis or a database, as needed. +Based on this Token, the logged-in user ID can be resolved and the user information can be queried. +The Token has an expiration time and will be automatically renewed for any operation within the expiration date. + +## Protocol Configuration + +As mentioned before, the API protocol is defined in `Ptl{interface name}.ts` and the rule is that there are two types of definitions, `Req{interface name}` and `Res{interface name}`. + +In the protocol definition file, there is an additional definable item: **Protocol Configuration**. + +Simply add to the protocol file. + +```ts +export const conf = { + // custom configuration of the protocol, fill in whatever you want + xxx: 'xxx', +} +``` + +Then `npm run proto` will automatically add the contents of `conf` to the generated ServiceProto, so you can get these configurations on the server and client side. + +For example, if we put information about whether the interface requires login authentication and what permissions are required into the protocol configuration. + +```ts +export interface ReqXXXX { + // ... +} + +export interface ResXXXX { + // ... +} + +export const conf = { + needLogin: true, // whether login is required + needRoles: ['admin', 'business'], // user roles that can be accessed +} +``` + +## Automatic authentication + +With the validation rules and the Session data needed for validation, you can use Flow to automate the login and permission validation of the interface. +You can decide whether you want to authenticate only on the server side, or do dual authentication on the server and client side, depending on your needs. + +**Serverside:** + +```ts +server.flows.preApiCallFlow.push((v) => { + // parse the login state + call.currentUser = await UserUtil.parseSSO(req.__ssoToken) + // Get the protocol configuration + let conf = v.service.conf + // If the protocol is configured to require login, block requests that are not logged in + if (conf?.needLogin && !call.currentUser) { + call.error('You are not logged in', { code: 'NEED_LOGIN' }) + return undefined + } + + return v +}) +``` + +**Client:** + +```ts +client.flows.preCallApiFlow.push((v) => { + // Get the protocol configuration + let conf = client.serviceMap.apiName2Service[v.apiName]!.conf + // If the protocol configuration requires login, block requests that are not logged in + if (conf?.needLogin && !isLogined()) { + window.location = 'Jump to login page' + return undefined + } + + return v +}) +``` + +## Full example + +https://github.com/k8w/tsrpc-examples/tree/main/examples/user-authentication diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/_category_.json b/i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/_category_.json new file mode 100644 index 0000000..a1250a5 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "FullStack Engineering", + "position": 5 +} diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/assets/log.png b/i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/assets/log.png new file mode 100644 index 0000000000000000000000000000000000000000..3c2bd930f679e912e030870f574e81e6a4731c6c GIT binary patch literal 4614 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 b8;v2zic5|)bpt0p{xjo@L^+fmIC + + + +```ts +let server = new HttpServer(serviceProto, { + logger: myLogger +}) +``` + + + + + +```ts +let client = new HttpClient(serviceProto, { + logger: myLogger +}) +``` + + + + +## Server-side logging + +On the server side, you should try to avoid using `console` directly, and instead use the `logger` of each of `Server`, `Connection`, and `Call`, e.g. + +```ts +server.logger.log('This is server-level log') +conn.logger.log('This is connection-level log') +call.logger.log('This is call-level log') // call is ApiCall or MsgCall +``` + +where `conn.logger` adds an additional prefix to `server.logger`, such as the IP address. +`call.logger` will add additional prefixes to `conn.logger`, such as the API call path. + +! [](assets/log.png) + +Adding prefixes based on the parent `Logger` is done through `tsrpc`'s built-in `PrefixLogger`. +You can also add or modify these prefixes yourself, for example by adding the user ID to the prefix of `call.logger`. + +```ts +call.logger.prefixs.push('UserID=XXXX') +``` + +:::note +TSRPC Server is designed as a three-tier `Server` -> `Connection` -> `Call` structure, with a top-down one-to-many relationship. +(The exception is HTTP short connections, where 1 `Connection` corresponds to only 1 `Call`) +::: + +Even if there is some public code that does not appear directly in the API implementation code, but may be called indirectly by the API, it is recommended that you pass `Logger` as a parameter. +For example, if you have a public payment method `PayUtil.pay`, there are many APIs that will call it to make a payment, and each payment will leave a log entry. +When there is a billing problem and you consult these logs, you will want to know exactly which API initiated these payment requests. +At this point, passing in `logger` from `ApiCall` can be very useful. + +```ts +export class PayUtil { + static pay( + username: string, + amount: number, + productId: string, + logger?: Logger + ) { + logger?.log(`${username} paid ${amount} for product ${productId}`) + } +} +``` + +:::note +This doesn't affect its compatibility with other projects, after all you can always pass `console` as a legitimate `Logger`. +::: + +## Example + +If we want to report exception logs while hiding DEBUG level logs, for example, we can create a custom `Logger` that + +``ts +let logger: Logger = { +debug(... .args: any[]): ()=>{ +// does nothing, which is equivalent to hiding the log +}; +log(... .args: any[]): ()=>{ +// Let the log still output to the console +console.log(... .args); +// LOG level logs will not be reported +}); +warn(... .args: any[]): ()=>{ +// Let the logs still be output to the console +console.warn(... .args); +// WARN logging, reporting +report log method(... .args); +}; +error(... .args: any[]): ()=>{ +// Make the log still output to the console +console.error(... .args); +// ERROR log, report +report log method(... .args); +}; +} + +```` + +Another example is when we are on the client side and want to hide the log from normal users but make it visible to developers: the + +```ts +// Set a hidden trigger (e.g. with the help of localStorage) +let logger = localStorage.getItem('debug') === 'yes' ? console : undefined + +let client = new HttpClient(serviceProto, { + server: 'http://127.0.0.1', + logger: logger, +}) +``` + +:::tip +The client defaults to `logger: undefined`, where all client logs will be hidden, which helps to raise the crack threshold. +::: diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/share-codes.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/share-codes.md new file mode 100644 index 0000000..bd4a45c --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/share-codes.md @@ -0,0 +1,9 @@ +--- +sidebar_position: 2 +--- + +# [WIP] Shared Code + +:::danger WIP +This document is still in preparation ...... Stay tuned. +::: diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/tsrpc-cli.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/tsrpc-cli.md new file mode 100644 index 0000000..404a699 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/full-stack/tsrpc-cli.md @@ -0,0 +1,59 @@ +--- +sidebar_position: 1.1 +--- + +# tsrpc-cli command line tools + +``` +Usage notes. + + tsrpc proto Generate TSRPC Proto file + -i, --input Path to the protocol folder used to generate the Proto + -o, --output The path of the output file, not specified will be output directly to the command line + -o XXX.ts and -o XXX.json will output two different formats + -c, --compatible compatibility mode: path to the old Proto file to be compatible with (same as output by default) + --new is not compatible with the old version and generates a new Proto file + --ugly output is a less readable but smaller compressed format + --verbose shows debugging information + --ignore files to ignore from the --input scope + + tsrpc api Automatically generate TSRPC API implementation + -i, --input Path to the Proto file + -o, --output Path to the output API folder + + tsrpc sync --from

--to Sync the contents of the folder to the target location in a read-only manner + + tsrpc link --from --to Create a Symlink to the source at the target location for automatic synchronization + + tsrpc build Build the TSRPC backend project + --proto proto file address, default is src/shared/protocols/serviceProto.ts + --proto-dir protocols directory, defaults to the serviceProto.ts directory + + tsrpc encode [exp] Encode JS expressions + [exp] the value to encode (JS expression, e.g. "123" "new Uint8Array([1,2,3])") + -p, --proto Encode the Proto file to be used + -s, --schema encode the SchemaID to be used + --i, --input input as file, not to be used with [exp] (file content as JS expression) + -o, --output The path to the output file, not specified will be output directly to the command line + --verbose show debugging information + + tsrpc decode [binstr] Decode binary data + [binstr] String representation of the binary data to be decoded, e.g. "0F A2 E3 F2 D9" + -p, --proto Decode the Proto file to be used + -s, --schema The SchemaID to be used for decoding + -i, --input input as file, not to be used with [binstr] + --o, --output Output file path, not specified will be output to command line + --verbose Show debugging information + + tsrpc validate [exp] Validate JSON data + [exp] The value to validate (JS expression, e.g. "123" "new Uint8Array([1,2,3])") + -p, --proto Validate the Proto file to be used + -s, --schema Validate the SchemaID to be used + -i, --input input as file, not to be used with [exp] (file content is a JS expression) + + tsrpc show Print the contents of the binary file +``` + +:::danger WIP +This document is still in preparation ...... Stay tuned. +::: diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/_category_.json b/i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/_category_.json new file mode 100644 index 0000000..bd077a6 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Quick start", + "position": 2, + "collapsed": false +} diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/assets/code-hint.gif b/i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/assets/code-hint.gif new file mode 100644 index 0000000000000000000000000000000000000000..cd95e3b200abc866bce7c5b3a2acade4b7f08745 GIT binary patch literal 198441 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≠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%0DY^ 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 literal 0 HcmV?d00001 diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/assets/type-check.gif b/i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/assets/type-check.gif new file mode 100644 index 0000000000000000000000000000000000000000..1e8da7f23155868544cce17d03e2c132d2d182c5 GIT binary patch literal 19524 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 + + +```ts +import { WsServer } from 'tsrpc' + +const server = new WsServer(serviceProto, { + port: 3000, +}) +``` + + + + + +```ts +import { WsClient } from 'tsrpc-browser' + +const client = new WsClient(serviceProto, { + server: 'ws://127.0.0.1:3000', + logger: console, +}) + +let ret = await client.callApi('Hello', { + name: 'World', +}) +``` + + + + +## Real-time messaging + +However, in real-time application scenarios, not all communication is a **request/response** model like `API`. +For example, scenarios such as real-time announcements, chat rooms, etc., expect to receive real-time pushes from the server rather than sending request polls. + +For this reason, TSRPC provides another **publish/subscribe** model: messages (`Message`). + +A message is the smallest unit of end-to-end communication for TSRPC. +We can use TypeScript to define a message type that can be passed **both ways** between the server and the client, and also enjoys automatic type detection and binary serialization features. + +### Defining messages + +Like the API, the definition of a message is stored in the protocols directory `backend/src/shared/protocols` with the file naming convention `Msg{message name}.ts`. +Then declare a type with the same name in it and mark it as `export`, e.g. + +```ts title="MsgChat.ts" +export interface MsgChat { + name: string + content: string +} +``` + +As with the API protocol, after adding or modifying a message definition, the ServiceProto should be regenerated and then synced to the front-end project. + +```shell +cd backend +npm run proto +npm run sync +``` + +### Sending messages + +Messages can be passed in both directions, i.e. from Server to Client and from Client to Server. + +#### Client sends + +```ts +client.sendMsg('Chat', { + name: 'k8w', + content: 'I love TSRPC.', +}) +``` + +#### Server sends + +The Server may be connected to multiple Clients at the same time, and all the active connections are in `server.conns`. +To send a message to one of these Clients, you can use `conn.sendMsg`, e.g. + +```ts +// Send a message to the first connected Client +server.conns[0].sendMsg('Chat', { + name: 'System', + content: 'You are the first connection.', +}) +``` + +:::note +`conn` is short for `Connection`. +::: + +#### Server Broadcast + +To send a message to all Clients, you can use ``server.broadcastMsg()`, for example + +```ts +server.broadcastMsg('Chat', { + name: 'System', + content: 'This is a message to everyone.', +}) +``` + +The advantage of `broadcastMsg()` is that it only performs the serialization process once, reducing CPU overhead compared to going to `sendMsg()` connection by connection. + +### Listening to messages + +Listening / unlistening messages are similar in Server and Client, examples are as follows. + + + + +```ts +// Listening (will return the handler function passed in) +let handler = server.listenMsg('Chat', (call) => { + server.broadcastMsg('Chat', call.msg) +}) + +// unlisten +server.unlistenMsg('Chat', handler) +``` + + + + + +```ts +// Listening (will return the handler function passed in) +let handler = client.listenMsg('Chat', (msg) => { + console.log(msg.name, msg.content) +}) + +// unlisten +client.unlistenMsg('Chat', handler) +``` + + + + +The difference is that since the Server may be connected to multiple Clients at the same time, the parameters received when listening for messages are `call: MsgCall`. +In addition to the message content (`call.msg`), it also contains information about the Client connection (`call.conn`). + +Since the Client only has a unique connection, when listening to the message, the parameter received is the message itself: `msg: MsgXXXX`. + +## Example: Live Chat Room + +Use `npx create-tsrpc-app@latest` to create a WebSocket project with a browser frontend, which already comes with a minimalist chat room example, which you can also see here. + +https://github.com/k8w/tsrpc-examples/tree/main/examples/chatroom diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/the-first-api.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/the-first-api.md new file mode 100644 index 0000000..b647cc8 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/the-first-api.md @@ -0,0 +1,319 @@ +--- +sidebar_position: 2 +--- + +# Implementing the first API + +In this section, we will experience a quick implementation of an API service using TSRPC and call it in the browser. + +The full example of this section is available at: https://github.com/k8w/tsrpc-examples/tree/main/examples/first-api + +## Initializing the project + +We start by initializing a Web full-stack project. + +``` +npx create-tsrpc-app@latest first-api --presets browser +``` + +Then we delete the self-contained demo code, i.e. empty the following directories. + +- ` backend/src/shared/protocols` +- `backend/src/api` + +## Concepts + +Before developing API interfaces using TSRPC, it is important to understand a few important concepts. + +- **API** + - An API interface is equivalent to an asynchronous function implemented on the remote end. The input parameters of this function are called **Request** and the return value is called **Response**. +- **Protocol** + - The protocol is the type definition of the API interface, including its request type and response type, and can also contain other configuration information about the interface (e.g. whether login authentication is required, etc.). +- **API Implementation** + - The implementation is the code that implements the functionality of the API interface. +- **Server** + - The implementation side of the API interface, NodeJS 12 or higher. +- **Client** + - The calling end of the API interface, supporting multiple platforms, such as: browser, APP, WeChat applet, NodeJS, etc. + +So to implement a backend API interface, only 3 steps are needed. +**define protocol -> server-side implementation -> client-side invocation**. + +:::note +The reason TSRPC separates the protocol and implementation of the API is that the protocol part can be used by both front and back ends and can be shared across projects, while the implementation obviously exists only on the NodeJS server side. +::: + +## Define the protocol + +### Writing protocol files + +The protocols directory is located in the `backend/src/shared/protocols` directory by default, and protocol files are named `Ptl{interface name}.ts`. + +For example, if we want to implement a protocol named `Hello`, create the file `PtlHello.ts` in that directory and define the request type `ReqHello` and the response type `ResHello` respectively, remembering to export them with the `export` tag. + +```ts +export interface ReqHello { + name: string +} + +export interface ResHello { + reply: string + time: Date +} +``` + +:::tip +TSRPC identifies the protocol (Ptl), request (Req), and response (Res) by name prefix, so be sure to name them as specified. +::: + +### Generate ServiceProto + +[`ServiceProto`](... /server/service-proto.md) is the actual protocol format used by the TSRPC runtime and is automatically generated by executing the following command. + +```shell +cd backend +npm run proto +``` + +:::tip +This command should be run whenever the protocol is modified to regenerate it. +::: + +## Implementing the API + +### Creating implementation files + +TSRPC's API interface implementation is separate from the protocol definition because the protocol definition contains type information that can be shared across projects, while the implementation part can obviously only run on the NodeJS server. +To differentiate, protocol definitions are named `Ptl{interface name}.ts` and implementations are prefixed with `Api{interface name}.ts`. + +The interface implementation is located in `backend/src/api`, which corresponds to the protocol definition, and the prefix of the file name is replaced by `Api` instead of `Ptl`. We've prepared the tools for you to generate it automatically, just follow the previous step with. + +```shell +npm run api +``` + +This way, a blank API file is automatically generated. For the protocol we just defined `PtlHello.ts`, the corresponding generated implementation file is named `ApiHello.ts` and the directory structure is as follows. + +```` +|- backend/src + |- shared/protocols + |- PtlHello.ts definition of the interface Hello + |- api + |- ApiHello.ts implementation of the interface Hello + |- index.ts +index.ts + +:::tip +Existing API files are not overwritten or deleted and can be generated incrementally at any time. +::: + +### Requests and responses +The implementation of the API is an asynchronous function, and input and output to the client is done via the passed-in parameter `call`. +- The request parameter, `ReqHello` as defined in the protocol, is retrieved via `call.req`, where the framework ensures that the type **must be legal**. +- Return the response via `call.succ(res)`, i.e. `ResHello` as defined in the protocol. +- The error is returned via `call.error('readable error message', { xxx: 'xxx' })`, with the second parameter being an optional extra field that you want to return. + +For example. + +```ts title="backend/src/api/ApiHello.ts" +import { ApiCall } from "tsrpc"; + +export async function ApiHello(call: ApiCall) { + if(call.req.name === 'World'){ + call.succ({ + reply: 'Hello, ' + call.req.name, + time: new Date() + }); + } + else{ + call.error('Invalid name'); + } +} +```` + +## Calling the API + +### Shared code + +To invoke the API, the client must have the same protocol definition file, and there may be other common logic code that can be reused on the front and back ends in addition. +For this purpose, we designed the `src/shared` directory. The contents of this directory are always edited in `backend` and then read-only synchronized to `frontend`. + +Execute the following command to complete the synchronization. + +```shell +cd backend +npm run sync +``` + +:::note +The `shared` directory is read-only on the frontend to prevent changes on the frontend from being overwritten by syncing on the backend. If you want to securely modify the contents of the `shared` directory on the frontend as well, you can choose the `Symlink` auto-sync method. +::: + +### Using the client + +Use the TSRPC client to call remote APIs as if they were local asynchronous functions, with full code hinting and type detection. +It supports many platforms, and can be written from different NPM packages `import { HttpClient }` as needed, the rest is the same. + +| client platform | NPM package | +| :-------------: | :---------: | +| tsrpc-browser | +| tsrpc-miniapp | +| NodeJS | tsrpc | + +Since we are creating a browser web project, we are referring to the browser version of the client from `tsrpc-browser`. +For example. + +```ts title="frontend/src/index.ts" +import { HttpClient } from 'tsrpc-browser' +import { serviceProto } from '. /shared/protocols/serviceProto' + +let client = new HttpClient(serviceProto, { + server: 'http://127.0.0.1:3000', + logger: console, +}) +``` + +:::note +Setting `logger: console` prints API calls to the console for easy debugging. +This is because TSRPC transfers are binary serialized, so you will see a mess of code in the network panel of the developer tools. +You can also omit this configuration in a production environment so that no one knows what you are doing 😁. +::: + +### callApi + +The client usage is almost identical across platforms: use `client.callApi()` to call the remote API as if you were calling an asynchronous function locally. +TSRPC is the ultimate experience for front-end access. There are code hints for the entire input and output, no need to even remember the URL, and no need for protocol documentation at all. + +! [code writing experience](assets/code-hint.gif) + +You don't have to worry about low-level errors caused by spelling mistakes, as TSRPC does double type checking at compile time and run time, so you can say goodbye to the painful experience of front- and back-side concatenation. + +! [Code writing experience](assets/type-check.gif) + +:::note +The return type of `callApi` is called `ApiReturn`, so it is often named `ret`. +::: + +### Handling errors and responses + +`callApi` is not always successful and some errors may occur, such as network errors, business errors, etc. +Many inexperienced programmers always fail to remember to handle errors, often leading to many ``stuck'' problems, such as + +```js +showLoading(); +let res = await fetch( ... ); +hideLoading(); +``` + +Forget about `catch` after `fetch`, once an exception is thrown by a network error, `hideLoading` will not be executed and Loading will never disappear and behave as "stuck". + +Solution for #### TSRPC + +1. All methods **do not throw exceptions** + - so there is always **no need** for `catch()` or `try... .catch... `, avoiding the pitfall of novices always forgetting `catch`. 2. +2. all errors are **just handled in one place** + - The success is determined by `ret.isSucc`, and the response `ret.res` is taken for success, and `ret.err` (with error type and details) is taken for failure. +3. cleverly make you **must do error detection** through the TypeScript type system + - The TypeScript compiler will report an error if the code in the error handling section below is removed. + +```ts title="frontend/src/index.ts" +window.onload = async function () { + let ret = await client.callApi('Hello', { + name: 'World', + }) + + // Error + if (!ret.isSucc) { + alert('Error: ' + ret.err.message) + return + } + + // Success + alert('Success: ' + ret.res.reply) +} +``` + +## Test it + +Start the local development server by executing the following commands in the `` frontend`'' and ``backend`'' directories, respectively. + +```shell +npm run dev +``` + +Once the service is up, open http://127.0.0.1:8080 with your browser and see the results + +## Automatic type detection + +TSRPC automatically type detects requests and responses, both at compile time and at run time, on both the client and server side. +So there is no need to care about type safety at all when writing API implementations. + +**Example: request type not legal, error reported at compile time** + +```ts +callApi('Hello', { + name: 12345, // wrong type +}) +``` + +Even if we skip TypeScript's compile-time checks, the TSRPC framework performs checks at runtime. + +- The client performs a checksum first, blocking requests with illegal types locally. +- The server does a second check before executing the API to ensure that the API requests entering the execution phase must be of a legal type. + +**Example: request type is not legal and is blocked by the framework** + +```ts +callApi('Hello', { + name: 12345, +} as any) // as any skips the TypeScript compile-time check + +// request is intercepted, return type error message {isSucc: false, err: ... } +console.log(ret) +``` + +## Binary serialization + +When you open Developer Tools in Chrome and go to the Network panel to grab the packet, you can see that the transfer looks like gibberish because the framework automatically serializes the transfer into a binary code. This is because the framework automatically serializes the transfer into binary encoding. This provides a smaller transfer size and better security than JSON. +Some plaintext is still visible because TSRPC does not encrypt or compress the packet body; developers can do their own encryption and compression of the binary encoding, which we describe in [later section](...). /flow/transfer-encryption.md). + +## Backward Compatible Restful API + +Binary serialization provides better transfer performance, but for compatibility reasons, TSRPC also supports traditional JSON methods such as XMLHttpRequest, fetch, etc. + +The `jsonEnabled` option is enabled on the Server side. + +```ts +const server = new HttpServer(serviceProto, { + ... + // JSON compatible call (POST) + jsonEnabled: true, + ... +}); +``` + +The browser side can be called via JSON with + +```ts +fetch('http://127.0.0.1:3000/Hello', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + name: 'World', + }), +}) +``` + +The call rules are + +- URL is `Service root path/protocol path/interface name` +- Method is `POST` and body is a JSON string +- Header `Content-Type: application/json` needs to be included + +`jsonEnabled` is disabled by default, not recommended for systems with high security requirements (raises the threshold for protocol cracking). + +:::tip +JSON compatible mode, does not affect the automatic type detection work properly, it will not only automatically detect the defined fields, but also will automatically eliminate the undefined redundant fields, to ensure absolute type security. +::: diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/upload.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/upload.md new file mode 100644 index 0000000..dd56797 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/get-started/upload.md @@ -0,0 +1,82 @@ +--- +sidebar_position: 4 +--- + +# File Uploads + +File uploads are simply too easy for TSRPC! Because the TSRPC protocol itself supports `ArrayBuffer`, `Uint8Array` and other binary types, you can use `ArrayBuffer`, `Uint8Array` and other binary types in your browser. + +Since the TSRPC protocol itself supports binary types such as `ArrayBuffer`, `Uint8Array`, etc., you can use [File API](https://developer.mozilla.org/zh-CN/docs/Web/API/) in your browser FileReader/readAsArrayBuffer) in your browser to read the binary contents of the file and then send it as normal `callApi`. + +Full example: https://github.com/k8w/tsrpc-examples/tree/main/examples/file-upload + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + +``ts +Output interface ReqUpload { +fileName: string, +fileData: Uint8Array +} + +Output interface ResUpload { +url: string; +} + +```` + + + +```ts +Import { ApiCall } from "tsrpc". +import fs from "fs/promises". + +export async function ApiUpload(call: ApiCall) { + // Write the file, aka push the remote file server or whatever. + await fs.writeFile('uploads/' + call.req.fileName, call.req.fileData). + + call.succ({ + url: 'http://127.0.0.1:3000/uploads/' + call.req.fileName + }); +} +```` + + + + + +```ts +async function upload(fileData: Uint8Array, fileName: string) { + // Upload + let ret = await client.callApi('Upload', { + fileData: fileData, + fileName: fileName, + }) + + // Error + if (!ret.isSucc) { + alert(ret.err.message) + return + } + + // Succ + return { + url: ret.res.url, + } +} +``` + + + +``` diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/introduction.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/introduction.md new file mode 100644 index 0000000..b1aa3e1 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/introduction.md @@ -0,0 +1,151 @@ +--- +sidebar_position: 1 +--- + +# Introduction + +## What Is TSRPC + +TSRPC is a TypeScript RPC framework for browser Web applications, WebSocket real-time applications, NodeJS microservices, and other scenarios. + + + +Currently, most projects are still using traditional Restful API for frontend and backend communication, which has some pain points. +1. Relying on documentation for protocol definition, frontend and backend linkage is often plagued by low-level errors (such as field case errors, field type errors, etc.). +2. Some frameworks implement the protocol definition specification but require the introduction of [Decorator](https://www.typescriptlang.org/docs/handbook/decorators.html#decorators) or a third-party IDL language. +3. Some frameworks implement type-checking but are unable to support TypeScript's advanced types, such as: +```ts +// userinfo +interface UserInfo { + // source type + from: { type: 'Invitation', fromUserId: string } + | { type: 'Promotional links', url: string } + | { type: 'Direct access' }, + // registeration time + createTime: Date +} +``` +4. JSON supports limited types, for example `ArrayBuffer` is not supported, which makes file uploads implementation very troublesome. +5. The request and response are plaintext, the cracking threshold is too low, and the string encryption is limited and not strong enough. +6. etc. + +We couldn't find an off-the-shelf framework that solved these problems perfectly, so we completely redesigned and created **TSRPC** 。 + +## Overview + +A protocol called `Hello`, from definition and implementation to browser invocation. + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + +```ts +export interface ReqHello { + name: string; +} + +export interface ResHello { + reply: string; +} +``` + + + + + +```ts +import { ApiCall } from "tsrpc"; + +export async function ApiHello(call: ApiCall) { + call.succ({ + reply: 'Hello, ' + call.req.name + }); +} +``` + + + + + +```ts +let ret = await client.callApi('Hello', { + name: 'World' +}); +console.log(ret); // { isSucc: true, res: { reply: 'Hello, World' } } +``` + + + + +## 特性 +TSRPC has some unprecedented and powerful features that give you the ultimate development experience. + +- 🥤 **Pure TypeScript** + - Define protocols directly based on TypeScript `type` and `interface` + - No additional annotations, no Decorator, no third-party IDL language +- 👓 **Automatic type checking** + - Automatic type checking of input and output at compile time and run time + - Always type safe, write business code with confidence +- 💾 **Binary serialization** + - Smaller transfer size than JSON + - More data types than JSON: e.g. `Date`, `ArrayBuffer`, `Uint8Array`, etc. + - Convenient implementation of binary encryption +- 🔥 **The most powerful TypeScript serialization algorithm ever** + - Serialize type definitions in TypeScript source code directly without any annotations + - The first and currently the only binary serialization algorithm that supports TypeScript's advanced types, including + - [Union Type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) + - Intersection Type](https://www.typescriptlang.org/docs/handbook/2/objects.html#intersection-types) + - Pick Type](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys) + - [Partial Type](https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype) + - [Indexed Access Types](https://www.typescriptlang.org/docs/handbook/2/indexed-access-types.html) + - etc. +- ☎ **Multi-protocol** + - Simultaneous HTTP / WebSocket support +- 💻 **Multi-platform** + - NodeJS / Browser / App / Applet +- ⚡️ **High Performance** + - Single core single process 5000+ QPS throughput (tested on Macbook Air M1, 2020) + - Unit testing, stress testing, DevOps solutions all in place + - Proven in several 10 million user level projects + + +## Compatibility + +Fully compatible with TSRPC on the Server side and with traditional front ends. + +- **Compatible with Restful API calls in JSON form** + - Can use `XMLHttpRequest`, `fetch` or other AJAX frameworks to call the interface as JSON by itself +- **Compatible with pure JavaScript project use** + - You can use TSRPC Client in pure JavaScript projects and enjoy type checking and serialization features +- **Compatible with Internet Explorer 10** + - Browser-side compatibility up to IE 10, Chrome 30 + + + +## Start learning + +While there are many new, exciting and powerful features +But as you can see on [Github](https://github.com/k8w/tsrpc), TSRPC is actually a mature framework that has been open source for over 4 years. Although it hasn't been documented or promoted much, we have used it to develop several projects with millions of DAUs and millions of users, reaching over 100 million+ online users. + +Sorry for the lateness of this document, and hope it will help you in your work. + +[Start learning TSRPC](get-started/create-tsrpc-app.md) \ No newline at end of file diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/server/_category_.json b/i18n/en/docusaurus-plugin-content-docs/current/docs/server/_category_.json new file mode 100644 index 0000000..77c6720 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/server/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Server-side development", + "position": 2.1 +} diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/server/api-service.md b/i18n/en/docusaurus-plugin-content-docs/current/docs/server/api-service.md new file mode 100644 index 0000000..1c500b8 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/docs/server/api-service.md @@ -0,0 +1,269 @@ +--- +sidebar_position: 3 +--- + +## API Service + +## What is API Service + +An API Service is a service based on the request/response model, where the request parameters are obtained from the client, processed by the server, and a response is returned. +The response is mandatory, whether or not the request is received and processed correctly by the server, the client will receive an explicit reply, both in the form of success and error. +This process is implemented on the server side as an asynchronous function. + +## Implementing an API + +An implementation of an API Service is an asynchronous function, a blank API implementation function, with the following template. + +```ts +export async function ApiXXX(call: ApiCall) {} +``` + +### ApiCall + +The implementation function has one parameter `call: ApiCall`, by which we get the request parameters and return the response. + +#### Print logs + +In an API implementation function, you should use `call.logger` to print the log, not `console`. + +```ts +call.logger.log('xxxxx') +``` + +This is because a `Server` always processes multiple requests in parallel, so the logs of multiple requests are combined together and you can hardly distinguish them. +`call.logger` will automatically add some prefixes to the log messages, such as connection ID, request ID, which makes it easier to filter the logs of the same request when you are debugging. + +! [](assets/log.png) + +If you want to modify these prefixes, for example in a prefix [Flow](. /flow/flow) that resolves the login state, you want to add the logged-in user ID to the prefix of each request log. +This can be modified with `call.logger.prefixes`, e.g. + +```ts +call.logger.prefixs.push('UserID=123456') +``` + +#### gets the request parameters + +`call.req` is the request parameter sent by the client, which corresponds to the protocol type named `Req{interface name}`. +As soon as an `ApiCall` is parsed, the `Server` performs automatic type detection on it. +So whether implementing a function or [Flow](... /flow/flow), `call.req` **must be type-safe**. + +:::note +In fact, since TSRPC is binary serialized (not `JSON.stringify`), the wrong type cannot be transferred at all. +::: + +#### returns a response or error + +The API interface also returns to the client via `call`, in both success and error cases. + +A successful response is returned by `call.succ(res)`, which corresponds to the `Res{interface name}` type defined in the protocol. + +The error response is returned by `call.error(message, data?)`. +The first parameter, `message`, should be a human-readable error message, such as "insufficient balance", "wrong password", etc. +The 2nd parameter, optional, is additional information about the error, and can be passed any field (e.g. error code) that can be fetched on the client side. + +All errors returned to the client are encapsulated in a `TsrpcError` object. + +#### Other + +- The `Connection` that transmitted the request can be retrieved via `call.conn`. +- The `Server` can be retrieved via `call.server`. + +### TsrpcError + +All errors returned to the client by the TSRPC server are encapsulated as `TsrpcError` with the following type definition. +``ts +export class TsrpcError { +// Human-readable error message +message: string; +// Error type +type: TsrpcErrorType; +// Error code +code?: string | int; + + // Any field can be passed in + [key: string]: any; + + // Two constructors, consistent with call.error() + constructor(data: TsrpcErrorData); + constructor(message: string, data?: Partial); + +} + +``` + +It is easy to see that its constructor parameters are the same as `call.error`. This is because `call.error` is actually equivalent to constructing a `TsrpcError` object and returning it to the front-end. + +#### Error Types + +Generally the errors that you return from the active `call.error` in the API are business errors. +But in addition, there are many other errors that the client may encounter during the API call. +For example, network errors, exceptions caused by errors reported by server-side code, exceptions caused by errors reported by client-side code, and so on. +All these errors are included in `TsrpcError`, and we distinguish them by `type`. When you use `call.error`, the error type is set to `TsrpcError.Type.ApiError` by default. + +All error types are defined below, and you can use this enumeration with ``TsrpcError.Type``. + +``ts +export enum TsrpcErrorType { + /** NetworkError */ + NetworkError = "NetworkError", + /* Internal server-side exceptions (e.g. code reporting errors) */ + ServerError = "ServerError", + /* Internal client-side exception (e.g. code error) */ + ClientError = "ClientError", + /* Business error */ + ApiError = "ApiError" +} +``` + +#### error code + +You may also notice that `TsrpcError` has a default error code field `code`, but it is **optional**. + +This is because in real-world projects we find that for the vast majority of projects that don't have multilingual requirements, the error code isn't really useful. +In contrast, a human-readable error message is much more user-friendly, both for developers to debug and for displaying directly in the front-end interface. +That's why TSRPC makes `message` a required field and `code` an optional field that you can use when you have a specific need. + +For example, there is a common error called `you are not logged in`, and wherever the front-end receives this type of error, it should jump to the login screen. +In this scenario, we need to recognize this error of the specified type. +Although you can also identify it by `message`, that is always unreliable and will not work if the error text is changed one day. This can be done with a specific error code `code`, which can be an integer or a string. +We prefer to use strings because it is easier to debug with a clear and easy-to-read error message than reducing the transmission by a few bytes, e.g. + +```ts +call.error('You are not logged in yet', { + code: 'NEED_LOGIN', +}) +``` + +### Organizing the code + +As a project grows in size, it is unlikely that all of the code implementing an API interface will be in one file. +At the same time, we may also have the need to reuse the same piece of business logic code for multiple interfaces. +In short, we need to split the code and call them in the API interface. + +So the question arises, what to do with the hierarchical logging and error responses mentioned above if not within the API implementation function? + +#### 1. Pass `logger` as a parameter + +Passing `logger: Logger` as a parameter to an external public function makes it easy to handle hierarchical logging in the case of multiple API reuse. + +```ts +export class SomeUtil { + static someFunc(logger?: Logger) { + logger?.log('xxxx') + } +} +``` + +:::note +This doesn't affect its compatibility with non-TSRPC projects, after all you can always pass `console` as a legitimate `Logger`. +::: + +#### 2. `throw new TsrpcError()` + +Imagine you're developing a `buy item` API interface and the business process looks like this. + +! [](assets/throw-new-error.svg) + +As you can see, when you split up the business logic and call it through the layers, you end up with an error message to return to the top-level caller. +The actual chain in the business may be longer than that! Typically we might handle this in one of these 2 ways. + +1. cascade the error message back, then do error detection at each call in the API implementation, and `call.error` if a business error is found. + - **Problem:** Very cumbersome and adds significant code; you have to detect errors everywhere, and forgetting one can cause problems. +2. Pass `call` backwards in layers, taking the passed `call` to `call.error` where the actual error occurs. + - **Problem:** Very inelegant and equivalent to coupling pure business logic with the TSRPC framework, which does not facilitate their cross-project use. + +**TSRPC gives a new solution: `throw new TsrpcError()`** + +```ts +import { TsrpcError } from 'tsrpc'; + +export class chargeback module { + chargeback(logger?: Logger){ + if(insufficient balance){ + throw new TsrpcError('Insufficient balance', { + code: 'NOT_ENOUGH_MONEY' + }) + } + } +} +``` + +TSRPC constrains the API interface implementation function to throw an exception if any method is called via `throw`. + +- If the error thrown is `TsrpcError`, it is considered to be an error **that can be returned directly to the client**, and is automatically returned to the client via `call.error`. +- If not, it is considered as an error reported by the server-side code and will return an error of `type` as `ServerError` to the client with the default error message `"Server Internal Error"`. + +Accordingly, because of the exception thrown by `throw`, the API implementation function will also abort execution. +Therefore, `throw new TsrpcError` is an elegant and concise way to return errors directly to the client regardless of the call hierarchy when business code is split outside of the API implementation function. + +### Caution + +`call.succ()` and `call.error()` are two function calls that send return data to the client immediately after execution, but this **is not the same as the end of execution of the **implementation function. +It is fundamentally different from `return` and `throw`. + +For example, this is a `buy item` interface. + +```ts +export async function ApiBuy(call: ApiCall) { + if(insufficient balance){ + call.error('balance is low yo~'); + // return; + } + + ship(); + call.succ({ + result: 'Purchase successful' + }) +} +``` + +Assuming the `insufficient balance` is hit, `call.error` is executed to return an error. +But since there is no `return` after this, the code continues to execute backwards anyway, all the way `shipping()` until `call.succ`. +Although the framework provides protection so that only the first return takes effect, `shipping()` is executed anyway. +Although the balance is insufficient, but shipped, on behalf of the majority of the white whoring party thank you in advance. + +**So, please keep in mind:** + +After `call.error` or `call.succ`, if this is not the last line of code but the process ends here, always remember to `return`. + +## Mounting to Server + +After implementing an API interface, you need to mount it to `Server` in order to provide services to the public. + +### Automounting + +If you created the project using `npx create-tsrpc-app@latest`, this is the default form. +In `backend/src/index.ts` you can see a line of code like this + +```ts +await server.autoImplementApi(path.resolve(__dirname, 'api')) +``` + +`server.autoImplementApi` is to automount the API in the target folder, the rule is + +- Find all `PtlXXX.ts` files according to the directory structure under the protocols directory (`protocols`), and find the corresponding file (`Ptl` prefix to `Api`) under the specified API directory. + - For example `protocols/a/b/c/PtlXXX.ts` corresponds to `api/a/b/c/ApiXXX.ts`. +- Then under that file, look for an export function with the same name as `ApiXXX` and make that function available to the public as an implementation of `PtlXXX`, e.g. + +```ts +export async function ApiXXX(call: ApiXXX) {} +``` + +- If the function of the same name for `ApiXXX` is not found under that file, then `default` is used as the implementation function, e.g. + +```ts +export default async function (call: ApiXXX) {} +``` + +### Manual mounts + +In addition to automounting, you can also mount manually, e.g. + +```ts +server.implementApi('a/b/c/XXX', (call) => { + // API implementation part +}) +``` + +It is recommended that you mount all the API implementation functions before calling ``server.start()` to start the service. diff --git a/i18n/en/docusaurus-plugin-content-docs/current/docs/server/assets/global-collection.gif b/i18n/en/docusaurus-plugin-content-docs/current/docs/server/assets/global-collection.gif new file mode 100644 index 0000000000000000000000000000000000000000..61ec4808dc68a998bc254ad607eb7842edfa0551 GIT binary patch literal 302397 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