From a376ead1953f89ea2c9bf1a92318c6a9fd882a45 Mon Sep 17 00:00:00 2001 From: MoonLeeeaf <150461955+MoonLeeeaf@users.noreply.github.com> Date: Fri, 10 May 2024 21:14:50 +0800 Subject: [PATCH] chore: init --- .github/一些思想/聊天数据储存.md | 39 ++ .github/测试样例/test.html | 42 ++ .github/测试样例/聊天气泡实验.html | 68 +++ .github/项目创建时间.txt | 2 + .gitignore | 3 + final.md | 52 ++ license.txt | 13 + ling_chair_http/chat-message.css | 85 +++ ling_chair_http/config.json | 4 + ling_chair_http/default_head.png | Bin 0 -> 7722 bytes ling_chair_http/icon.ico | Bin 0 -> 109574 bytes ling_chair_http/index.css | 83 +++ ling_chair_http/index.html | 269 +++++++++ ling_chair_http/index.js | 644 +++++++++++++++++++++ ling_chair_http/license.txt | 13 + package-lock.json | 897 +++++++++++++++++++++++++++++ package.json | 8 + readme.md | 25 + run.bat | 3 + run.sh | 1 + server_src/api-msgs.js | 121 ++++ server_src/api-users.js | 195 +++++++ server_src/color.js | 13 + server_src/hashlib.js | 16 + server_src/httpApi.js | 17 + server_src/iolib.js | 48 ++ server_src/main.js | 93 +++ server_src/val.js | 56 ++ server_src/wsApi.js | 214 +++++++ 29 files changed, 3024 insertions(+) create mode 100644 .github/一些思想/聊天数据储存.md create mode 100644 .github/测试样例/test.html create mode 100644 .github/测试样例/聊天气泡实验.html create mode 100644 .github/项目创建时间.txt create mode 100644 .gitignore create mode 100644 final.md create mode 100644 license.txt create mode 100644 ling_chair_http/chat-message.css create mode 100644 ling_chair_http/config.json create mode 100644 ling_chair_http/default_head.png create mode 100644 ling_chair_http/icon.ico create mode 100644 ling_chair_http/index.css create mode 100644 ling_chair_http/index.html create mode 100644 ling_chair_http/index.js create mode 100644 ling_chair_http/license.txt create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 readme.md create mode 100644 run.bat create mode 100644 run.sh create mode 100644 server_src/api-msgs.js create mode 100644 server_src/api-users.js create mode 100644 server_src/color.js create mode 100644 server_src/hashlib.js create mode 100644 server_src/httpApi.js create mode 100644 server_src/iolib.js create mode 100644 server_src/main.js create mode 100644 server_src/val.js create mode 100644 server_src/wsApi.js diff --git a/.github/一些思想/聊天数据储存.md b/.github/一些思想/聊天数据储存.md new file mode 100644 index 0000000..f25dcdb --- /dev/null +++ b/.github/一些思想/聊天数据储存.md @@ -0,0 +1,39 @@ +### 关于聊天记录储存的方案概述 + +自 3月10日 开始,这个项目遇到了一些瓶颈,停止开发 + +我在这段时间的精力也被耗尽 + +故此,在今天(3月26日)重新思考,理清思路 + +预计3月28日左右实现此功能 + +#### 基本想法 + +##### 写入 + +对于储存来说,从 0 开始计次,一条消息对应一个 ID + +第一条消息的 ID 为 1, 计次文件储存为 1 + +为了性能,每个消息使用一个 JSON 文件储存 + +##### 读取 + +当读取时,从计次文件获取计次数,并从此数字递减,以此读取 + +然后储存到数组并直接返回给用户 + +客户端消息的 ID 必须要同步,这是为了范围读取以前的消息 + +#### 和以前的区别 + +在我的聊天软件第一版、第二版中,均由 PHP 作为后端 + +写入则直接追加,读取整个返回 + +这种做法的最大缺陷是浪费性能 + +我曾想过使用 SQL,不过潜在的风险以及我的技术都能符合我的要求 + +故此,便有了这个方法 diff --git a/.github/测试样例/test.html b/.github/测试样例/test.html new file mode 100644 index 0000000..5114813 --- /dev/null +++ b/.github/测试样例/test.html @@ -0,0 +1,42 @@ + + +
+ + + + + + + + +zJ
z{6I5TG%GQ8`S0s`<8r$F{ImP~d+nLQ$rt6mrMv5{^OfGi;+_6g^I+o*`{3Zm!A 2@v@)zx9!rS9vk@pVur<>*Yw#@OC+`nMaZMChuG2(Hnnn00vVR5^DoS-HV
z{%tc-^qHVA{DKP;f!`-I#AhOqvm8verv*duK%oIUZ%Nx6uV(LF0k4^zssO_K5I`nM
z_uOT{FA|Ck?2_hs_qNjuF`w1t745h2C%+*Q*eZ4#px@Iw+M$ep{BR{k42<&*9?VxK
z64jOyrY_9dzhtF)d?fDg0x_k!NI~eVCNt7SP$7+)G%MxytO;&I*{mFR%+ovD+|gvk
z(XE`ymh?W3yAD49NY5d5!zVEm2rA8(Ul`}jli5TR{gnycksk$rG45v(8s%{DEUZD`
zJDnl743H!33c&D|<^8>ogSA6S|7>%{BiV3R-~Z8-*U^OQS6kcb1nD2x3gK<9l7z{E
zU3RCPTe!CPAir5~VHzMhdk|ETVD`??2%?9MOGTYX>lMsk3shQ@`%L`zTaX7%878WELI~CX_*Dp8)G1Zz
z^`U?A9~}ISmxb4i4b%*BHO|R@xST&7@p<^#3!8i
I)Kty8c8czxeHk7Rh^m%+7Pl80xq^TCJWJv&t|LwTqs;_aG;
zi#ubI1uHoJ<_F?`vMw!z3T2nqBw$vPb3|0DzO9pa76_=Gpf-fSOK}p8nR@Hr+*DH_
zNHM7w@@q`!zC4tx^DXIiOtNr3FH3I>0GLFiKTJrkm6VH}XX4!1)D62uk5@X0q?W35
zDQMV~E15;-S;>rPa*0M$D@r+^(y>)0p$Gu%x?3@TrX?#@4qN*C>{w&PL%)yL>vc-(
za92HDcyC)0C&v=p-;*}LY|#d2HS#iQm1Q=7@xz$r6P$5d^8v#a=yt0leuOeqHDc!-
zGyV-NQ?3S~BDyO
%KK$9O(x2v74eskH!P73oyrNIG3@8=h#d!s4q_S^gx>YZ$