diff --git a/docs/v2/.vitepress/catalogue.ts b/docs/v2/.vitepress/catalogue.ts index 8c3ef4307..8b7e6b81e 100644 --- a/docs/v2/.vitepress/catalogue.ts +++ b/docs/v2/.vitepress/catalogue.ts @@ -5,6 +5,35 @@ export const coreSidebar = { { text: "Lagrange.Core", link: "/Lagrange.Core/", + }, + { + text: "Internal", + items: [ + { + text: "Context", + link: "/Lagrange.Core/Internal/Context", + }, + { + text: "Events", + link: "/Lagrange.Core/Internal/Events", + }, + { + text: "Logic", + link: "/Lagrange.Core/Internal/Logic", + }, + { + text: "Network", + link: "/Lagrange.Core/Internal/Network", + }, + { + text: "Packets", + link: "/Lagrange.Core/Internal/Packets", + }, + { + text: "Services", + link: "/Lagrange.Core/Internal/Services", + } + ] } ], } diff --git a/docs/v2/Lagrange.Core/Internal/Context.md b/docs/v2/Lagrange.Core/Internal/Context.md new file mode 100644 index 000000000..fc3a3f83d --- /dev/null +++ b/docs/v2/Lagrange.Core/Internal/Context.md @@ -0,0 +1,2 @@ +# Context +这里定义了多种用途的Context,所谓Context,即是需要长期持有的状态。 \ No newline at end of file diff --git a/docs/v2/Lagrange.Core/Internal/Events.md b/docs/v2/Lagrange.Core/Internal/Events.md new file mode 100644 index 000000000..1feeffa50 --- /dev/null +++ b/docs/v2/Lagrange.Core/Internal/Events.md @@ -0,0 +1,4 @@ +# Protocol Events +`Lagrange.Core` 是一个事件驱动的系统。在上层,每一种API调用操作本质上都是组装一个事件,然后在系统的Logic, Service, Context中层层转发,最终变成通过Socket发送出去的字节流;而收到的回复或者推送也是同样地层层上递,最终解析为`Protocol Event`处理的。 + +在这里按照语义定义了多种`Protocol Event`,分为登录事件、系统事件和消息事件。 \ No newline at end of file diff --git a/docs/v2/Lagrange.Core/Internal/Logic.md b/docs/v2/Lagrange.Core/Internal/Logic.md new file mode 100644 index 000000000..a40eb6c27 --- /dev/null +++ b/docs/v2/Lagrange.Core/Internal/Logic.md @@ -0,0 +1,2 @@ +# Logic +这里定义的`Logic`主要负责将订阅的`protocol event`进行处理,调用`Context`或者递出事件。 \ No newline at end of file diff --git a/docs/v2/Lagrange.Core/Internal/Network.md b/docs/v2/Lagrange.Core/Internal/Network.md new file mode 100644 index 000000000..61dcd7457 --- /dev/null +++ b/docs/v2/Lagrange.Core/Internal/Network.md @@ -0,0 +1,2 @@ +# Network +这里定义了一些网络相关的工具类和函数。 \ No newline at end of file diff --git a/docs/v2/Lagrange.Core/Internal/Packets.md b/docs/v2/Lagrange.Core/Internal/Packets.md new file mode 100644 index 000000000..f8f483103 --- /dev/null +++ b/docs/v2/Lagrange.Core/Internal/Packets.md @@ -0,0 +1,4 @@ +# Packets +`Lagrange.Core`将事件层层封装为Packet然后发送。首先,是`protobuf`包,然后,将会被封装为`SSO Packet`, 最终会被封装为不同版本(12/13)的`UniPacket`封装。 + +在协议上可以参考腾讯的[Tars](https://tarscloud.github.io/TarsDocs/base/tars-tup.html)。其为`TRPC`的早期开源版本,暴露了更多细节。 \ No newline at end of file diff --git a/docs/v2/Lagrange.Core/Internal/Services.md b/docs/v2/Lagrange.Core/Internal/Services.md new file mode 100644 index 000000000..823fde743 --- /dev/null +++ b/docs/v2/Lagrange.Core/Internal/Services.md @@ -0,0 +1,2 @@ +# Service +`Service`是RPC中对于远端服务的抽象,相当于`grpc`中的`service`。 \ No newline at end of file