3.1.2 • Published 3 years ago

fake-luogu-paintboard-server v3.1.2

Weekly downloads
2
License
Apache-2.0
Repository
github
Last release
3 years ago

fake-luogu-paintboard-server

模拟洛谷冬日绘板服务器,可用于测试脚本。

npm

安装/运行

NPM

npm install -g fake-luogu-paintboard-server
fake-luogu-paintboard-server --help

手动安装

git clone https://github.com/ouuan/fake-luogu-paintboard-server
cd fake-luogu-paintboard-server
yarn
yarn start --help

HTTP API

URL: http://localhost:<port>

GET(/paintBoard)

返回 洛谷冬日绘板主页 的 HTML。

GET(/paintBoard/board)

返回一个包含 WIDTH 行的字符串,其中第 i 行包含 HEIGHT 个字符,其中的第 j 个字符是绘板上第 i + 1 列第 j + 1 行的颜色的编号的 32 进制(10-31 用小写字母 a-v 表示)。

POST(/paintBoard/paint)

要求:

  1. 传入一个带 _uid__client_id 的 Cookie(不需要是真实的 uid 和 client_id,uid 用于计算冷却时间,client_id 没有实际意义);
  2. Referer 为 Referer: https://www.luogu.com.cn/paintBoard
  3. data 为:{x:<columnIndex>,y:<rowIndex>,color:<colorIndex>},表示在第 x + 1 列第 y + 1 行的像素画编号为 color 的颜色。

WebSocket API

URL: ws://localhost:<wsport>/ws

send({"type":"join_channel","channel":"paintboard"})

服务器收到客户端的这条消息后会回复 {"type":"result"}

receive({"type":"paintboard_update",x,y,color})

在一个绘制事件成功时,服务器会向所有已连接的客户端发送 {"type":"paintboard_update",x,y,color} 表示这次绘制的像素坐标以及新颜色的编号。

3.1.2

3 years ago

3.1.1

3 years ago

3.1.0

3 years ago

3.0.2

3 years ago

3.0.1

3 years ago

3.0.0

3 years ago

2.0.0

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago