24 Commits
v0.9.0 ... main

Author SHA1 Message Date
MoonLeeeaf
b38e156c79 docs: 停止维护v0版本 2024-07-11 20:30:26 +08:00
MoonLeeeaf
2281e92909 feat: 前端群聊部分 这将是铃之椅V1的最后一个版本发布 2024-07-11 20:20:17 +08:00
MoonLeeeaf
2a9708bca3 chore: 合并 2024-07-10 23:41:09 +08:00
MoonLeeeaf
2bde59e5cc chore: 重构, 日志函数装库, 修改启动文本
使用反引号来重构字符串相关代码行
将log函数分出到 log.js 中
重新编写了启动的提示文本
2024-07-10 23:40:50 +08:00
MoonLeeeaf
afcec52b79 feat: Pink for console text 2024-07-10 23:12:00 +08:00
满月叶
d38baca35f docs: 在注释添加色情文本以防止GitCode搬运本项目
<!-- 致某国内搬运GitHub的平台:别搬我,否则等死。色情小说在线看!链接:https://www.book18.org/哈!我只在Gi‌t‌H‌ub‌(Gay‌Hub)哦,不要亲信其它平台伪造的虚假账号!为防止本人账号被莫名搬运到GxxCode(某SDN的代码平台),因此特地收汇了很多黄色词汇!希望看到此注释的人不要太惊讶,我也不想被莫名搬运啊(),好,正文:爱女人爱液按摩棒拔出来爆草包二奶暴干暴奸暴乳爆乳暴淫屄被插被操被干逼奸仓井空插暴操逼操黑操烂肏你肏死操死操我厕奴插比插b插逼插进插你插我插阴潮吹潮喷成人dv成人电影成人论坛成人小说成人电成人电影成人卡通成人聊成人片成人视成人图成人文成人小成人电影成人论坛成人色情成人网站成人文学成人小说艳情小说成人游戏吃精赤裸抽插扌由插抽一插春药大波大力抽送大乳荡妇荡女盗撮多人轮发浪放尿肥逼粉穴封面女郎风月大陆干死你干穴肛交肛门龟头裹本国产av好嫩豪乳黑逼后庭后穴虎骑花花公子换妻俱乐部黄片几吧鸡吧鸡巴鸡奸寂寞男寂寞女妓女激情集体淫奸情叫床脚交金鳞岂是池中物金麟岂是池中物精液就去日巨屌菊花洞菊门巨奶巨乳菊穴开苞口爆口活口交口射口淫裤袜狂操狂插浪逼浪妇浪叫浪女狼友聊性流淫铃木麻凌辱漏乳露b乱交乱伦轮暴轮操轮奸裸陪买春美逼美少妇美乳美腿美穴美幼秘唇迷奸密穴蜜穴蜜液摸奶摸胸母奸奈美奶子男奴内射嫩逼嫩女嫩穴捏弄女优炮友砲友喷精屁眼品香堂前凸后翘强jian强暴强奸处女情趣用品情色拳交全裸群交惹火身材人妻人兽日逼日烂肉棒肉逼肉唇肉洞肉缝肉棍肉茎肉具揉乳肉穴肉欲乳爆乳房乳沟乳交乳头三级片骚逼骚比骚女骚水骚穴色逼色界色猫色盟色情网站色区色色色诱色欲色b少年阿宾少修正射爽射颜食精释欲兽奸兽交手淫兽欲熟妇熟母熟女爽片爽死我了双臀死逼丝袜丝诱松岛枫酥痒汤加丽套弄体奸体位舔脚舔阴调教偷欢偷拍推油脱内裤文做我就色无码舞女无修正吸精夏川纯相奸小逼校鸡小穴小xue写真性感妖娆性感诱惑 https://cn.pornhub.com https://zh.xhamster.com 来看色情罢!(喜) 针对国内的采取措施 希望各GitHub访友以及工作人员能理解 因为现在某SDN搬仓库越来越严重了,我们必须采取措施 -->
2024-07-06 16:58:59 +08:00
MoonLeeeaf
410fa1439d Merge branch 'main' of github.com:LingChair/LingChair 2024-06-30 12:29:00 +08:00
MoonLeeeaf
2f9c18d2b2 ui: 未登录用户的昵称修改为 未知用户 2024-06-30 12:28:46 +08:00
MoonLeeeaf
5bc4d1a01c ui: 未登录用户的昵称修改为 未登录用户 2024-06-30 12:27:43 +08:00
MoonLeeeaf
d39cf69902 docs: 修正小写为大写 2024-06-30 12:27:25 +08:00
满月叶
129ba2d27a docs: "~".toUpperCase() 2024-06-29 22:23:31 +08:00
MoonLeeeaf
81c314c734 docs: docs 2024-06-29 22:05:45 +08:00
MoonLeeeaf
81fde561b2 docs: 添加说明 2024-06-29 21:57:56 +08:00
MoonLeeeaf
097e9280d2 docs: 修正语法 2024-06-29 21:51:04 +08:00
MoonLeeeaf
95e27be9eb docs: NO CLONING 2024-06-29 21:40:58 +08:00
MoonLeeeaf
521d7590af docs: NO CLONING 2024-06-29 21:38:42 +08:00
MoonLeeeaf
6b5a33462f docs: NO CLONING 2024-06-29 21:35:19 +08:00
MoonLeeeaf
0baaa5b574 chore: 关于文本 2024-06-29 21:31:38 +08:00
MoonLeeeaf
80fd1157dd docs: 暂时移除语言切换 2024-06-29 19:55:45 +08:00
MoonLeeeaf
1a86464a32 style: html, body 定义处删去一个空格 2024-06-29 19:53:12 +08:00
MoonLeeeaf
31d78b39f3 fix: 再再再再次修Tab, 自动移除 div.mdui-tab-indicator 2024-06-29 19:52:04 +08:00
MoonLeeeaf
fb89952bcb fix: 再次修复Tab菜单右键关闭的问题
修复了:
当 a, b 时, 选中 a, 关闭 a, 造成 b 没有被选中
2024-06-29 19:29:04 +08:00
MoonLeeeaf
70b314947d docs: 排版中英文切换, 英文添加提示 2024-06-29 19:28:34 +08:00
MoonLeeeaf
27369097eb chore: 删除测试代码 2024-06-29 17:30:11 +08:00
10 changed files with 98 additions and 39 deletions

View File

@@ -232,7 +232,23 @@ class ContactsList {
ChatMsgAdapter.switchTo(name, "single")
})
}
})
client.emit("user.getGroups", {
name: localStorage.userName,
accessToken: await CurrentUser.getAccessToken(),
}, async (re) => {
if (re.code !== 0)
return mdui.snackbar(re.msg)
viewBinding.groupsList.empty()
let ls = re.data.groups
for (let index in ls) {
let name = ls[index]
let dick = await NickCache.getNick(name)
$($.parseHTML(`<li class="mdui-list-item mdui-ripple" mdui-drawer-close><div class="mdui-list-item-avatar"><img src="${CurrentUser.getUserHeadUrl(name)}" onerror="this.src='res/default_head.png'" /></div><div class="mdui-list-item-content">` + dick + `</div></li>`)).appendTo(viewBinding.groupsList).click(() => {
ChatMsgAdapter.switchTo(name, "single")
})
}
})
}
/**
@@ -295,7 +311,6 @@ class ChatTabManager {
* @param { String } target
*/
static click(target) {
console.log(target, this.find(target), this.tabs)
this.find(target).get(0).click()
}
/**
@@ -304,21 +319,23 @@ class ChatTabManager {
*/
static remove(target) {
this.find(target).remove()
this.tabs[target] = null
delete this.tabs[target]
if(Object.keys(this.tabs).length == 0)
viewBinding.chatTab.find('.mdui-tab-indicator').remove()
}
static initTabElementEvents() {
let menu
let callback = (e) => {
if (menu) menu.close()
// 切到 chatTab
// document.getElementById("").previousElementSibling
// document.getElementById("").nextElementSibling
let ele = e.get(0)
while ($(ele).attr("tag") != "chatTab")
ele = ele.parentNode
// ele.previousElementSibling 是 Menu 的 Element, 因此改写成 ele.previousElementSibling.previousElementSibling
let menuHtml = $.parseHTML(`<ul class="mdui-menu">
<li class="mdui-menu-item">
<a onclick="let ele=CachedData.getAndRecycle('${CachedData.addToList(ele)}');if(ele.previousElementSibling.previousElementSibling){ChatTabManager.click($(ele.previousElementSibling.previousElementSibling).attr('target'));}ChatPage.getChatSeesion($(ele).attr('target')).remove()" class="mdui-ripple">关闭</a>
<a onclick="let ele=CachedData.getAndRecycle('${CachedData.addToList(ele)}');let elenp=ele.previousElementSibling.previousElementSibling;if(!elenp){elenp=ele.nextElementSibling};let canclick=$(elenp).attr('target');if(canclick){ChatTabManager.click(canclick);}ChatPage.getChatSeesion($(ele).attr('target')).remove();if(canclick){ChatTabManager.click(canclick);}" class="mdui-ripple">关闭</a>
</li>
</ul>`)
let $menu = $(menuHtml)

View File

@@ -4,7 +4,7 @@
* 铃之椅 网页端
*/
html, body {
html, body {
max-height: 100%;
margin: 0;
padding: 0;
@@ -34,6 +34,7 @@ body {
position: sticky;
bottom: 0;
display: block;
align-self: center;
}
.chat-seesion {

View File

@@ -45,7 +45,7 @@
<div class="mdui-list-item-avatar">
<img src="default_head.png" n-id="userHead" onerror="this.src='res/default_head.png'" />
</div>
<div class="mdui-list-item-content"><a n-id="helloText">早安</a>, <a n-id="userNick">Unknown</a></div>
<div class="mdui-list-item-content"><a n-id="helloText">早安</a>, <a n-id="userNick">未知用户</a></div>
</li>
<div class="mdui-subheader">聊天</div>
<li class="mdui-collapse-item">
@@ -55,6 +55,13 @@
<div class="mdui-collapse-item-body mdui-list" n-id="contactsList">
</div>
</li>
<li class="mdui-collapse-item">
<div class="mdui-collapse-item-header mdui-list-item mdui-ripple"><i class="mdui-list-item-icon mdui-icon material-icons">group</i>
<div class="mdui-list-item-content">群聊</div><i class="mdui-collapse-item-arrow mdui-icon material-icons">keyboard_arrow_down</i>
</div>
<div class="mdui-collapse-item-body mdui-list" n-id="groupsList">
</div>
</li>
</ul>
</div>

View File

@@ -17,10 +17,10 @@ $.ajax({
})
// 关于页面
viewBinding.menuAbout.click(() => mdui.alert('这是一个开源项目<br/>作者: MoonLeeeaf<br/>欢迎访问我们的<a class="mdui-text-color-theme" href="https://github.com/LingChair/LingChair">项目主页</a>', '关于 铃之椅', () => { }, { confirmText: "关闭" }))
viewBinding.menuAbout.click(() => mdui.alert('为人民服务<br/>GitHub @MoonLeeeaf<br/>欢迎访问我们的<a class="mdui-text-color-theme" href="https://github.com/LingChair/LingChair">项目主页</a>', '关于 铃之椅', () => { }, { confirmText: "关闭" }))
viewBinding.drawerChangeServer.click(() => {
mdui.prompt('输入服务器地址...(为空则使用当前页面地址)', (value) => {
mdui.prompt('输入服务器地址...(为空则使用当前地址)', (value) => {
localStorage.server = value
mdui.snackbar("更新成功, 刷新页面生效")
new mdui.Dialog(viewBinding.dialogSettings.get(0)).open()

View File

@@ -1,16 +1,33 @@
[ 中文 | [English](readme_en.md) ]
<div align="center">
<h2> 铃之椅 </h2>
</div>
欢迎来到铃之椅! 这是一个即时通讯项目, 为通讯提供更多的选择, 为人民服务
> [!WARNING]
> 该版本因存在过多复杂且难以理解的代码写法以及杂乱不堪的前端代码而停止开发, 同时也在准备开发 v1 版本, 不建议大规模将此实验版本投入使用, 否则后果自负
> [!NOTE]
> 拒绝一切未经授权的项目搬运!铃之椅只会在 GitHub 上发布, 不可能在 Gitee、GitCode 等平台发布!
>
> 本项目仍在实验阶段, [点我](final.md)可查看进展
>
> 欢迎各位提出项目修改意见
### 衍生项目
客户端 & 服务端:
* LingChair-Node.js (本仓库)
客户端:
* 暂无
服务端:
* 暂无
### 使用
服务端:
@@ -32,3 +49,5 @@
WIP
### [你知道吗](.github/do_you_know.md)
<!-- 致某国内搬运GitHub的平台别搬我否则等死。色情小说在线看链接https://www.book18.org/哈我只在GitHubGayHub不要亲信其它平台伪造的虚假账号为防止本人账号被莫名搬运到GxxCode某SDN的代码平台因此特地收汇了很多黄色词汇希望看到此注释的人不要太惊讶我也不想被莫名搬运啊正文爱女人爱液按摩棒拔出来爆草包二奶暴干暴奸暴乳爆乳暴淫屄被插被操被干逼奸仓井空插暴操逼操黑操烂肏你肏死操死操我厕奴插比插b插逼插进插你插我插阴潮吹潮喷成人dv成人电影成人论坛成人小说成人电成人电影成人卡通成人聊成人片成人视成人图成人文成人小成人电影成人论坛成人色情成人网站成人文学成人小说艳情小说成人游戏吃精赤裸抽插扌由插抽一插春药大波大力抽送大乳荡妇荡女盗撮多人轮发浪放尿肥逼粉穴封面女郎风月大陆干死你干穴肛交肛门龟头裹本国产av好嫩豪乳黑逼后庭后穴虎骑花花公子换妻俱乐部黄片几吧鸡吧鸡巴鸡奸寂寞男寂寞女妓女激情集体淫奸情叫床脚交金鳞岂是池中物金麟岂是池中物精液就去日巨屌菊花洞菊门巨奶巨乳菊穴开苞口爆口活口交口射口淫裤袜狂操狂插浪逼浪妇浪叫浪女狼友聊性流淫铃木麻凌辱漏乳露b乱交乱伦轮暴轮操轮奸裸陪买春美逼美少妇美乳美腿美穴美幼秘唇迷奸密穴蜜穴蜜液摸奶摸胸母奸奈美奶子男奴内射嫩逼嫩女嫩穴捏弄女优炮友砲友喷精屁眼品香堂前凸后翘强jian强暴强奸处女情趣用品情色拳交全裸群交惹火身材人妻人兽日逼日烂肉棒肉逼肉唇肉洞肉缝肉棍肉茎肉具揉乳肉穴肉欲乳爆乳房乳沟乳交乳头三级片骚逼骚比骚女骚水骚穴色逼色界色猫色盟色情网站色区色色色诱色欲色b少年阿宾少修正射爽射颜食精释欲兽奸兽交手淫兽欲熟妇熟母熟女爽片爽死我了双臀死逼丝袜丝诱松岛枫酥痒汤加丽套弄体奸体位舔脚舔阴调教偷欢偷拍推油脱内裤文做我就色无码舞女无修正吸精夏川纯相奸小逼校鸡小穴小xue写真性感妖娆性感诱惑 https://cn.pornhub.com https://zh.xhamster.com 来看色情罢!(喜) 针对国内的采取措施 希望各GitHub访友以及工作人员能理解 因为现在某SDN搬仓库挺严重的我们必须采取措施 -->

View File

@@ -1,13 +1,16 @@
[ [中文](readme.md) | English ]
<div align="center">
<h2> LingChair </h2>
</div>
Welcome to LingChair! This is an IM project that it provide a new communication way. And it serves people.
> [!WARNING]
> 该版本因存在过多复杂且难以理解的代码写法以及杂乱不堪的前端代码而停止开发, 同时也在准备开发 v1 版本, 不建议大规模将此实验版本投入使用, 否则后果自负
> [!NOTE]
I'm sorry that I have no time to translate this project to English. This project is so large for me to rewrite, so there're still a lot of texts in Chinese.
> THIS PROJECT IS ON GITHUB ONLY,**EVERYONE MUSTN'T COPY ANYTHING AND UPLOAD TO ANYWHERE WITHOUT MY PERMISSION.** <!-- GitCode, 说的就是你, 到时候如果被我发现你搬我仓库我迟早要找你算账 -->
>
> My English is not so good as a normal Englishmen, so you need a translator to read Chinese texts. And sometimes this document is outdated, I'm sorry with that.
>
> This project is still in progress, [Click me](final.md) to view progress. (Chinese)
>
@@ -34,3 +37,5 @@ Client:
WIP
### [Do you know? (Chinese)](.github/do_you_know.md)
<!-- 致某国内搬运GitHub的平台别搬我否则等死。色情小说在线看链接https://www.book18.org/哈我只在GitHubGayHub不要亲信其它平台伪造的虚假账号为防止本人账号被莫名搬运到GxxCode某SDN的代码平台因此特地收汇了很多黄色词汇希望看到此注释的人不要太惊讶我也不想被莫名搬运啊正文爱女人爱液按摩棒拔出来爆草包二奶暴干暴奸暴乳爆乳暴淫屄被插被操被干逼奸仓井空插暴操逼操黑操烂肏你肏死操死操我厕奴插比插b插逼插进插你插我插阴潮吹潮喷成人dv成人电影成人论坛成人小说成人电成人电影成人卡通成人聊成人片成人视成人图成人文成人小成人电影成人论坛成人色情成人网站成人文学成人小说艳情小说成人游戏吃精赤裸抽插扌由插抽一插春药大波大力抽送大乳荡妇荡女盗撮多人轮发浪放尿肥逼粉穴封面女郎风月大陆干死你干穴肛交肛门龟头裹本国产av好嫩豪乳黑逼后庭后穴虎骑花花公子换妻俱乐部黄片几吧鸡吧鸡巴鸡奸寂寞男寂寞女妓女激情集体淫奸情叫床脚交金鳞岂是池中物金麟岂是池中物精液就去日巨屌菊花洞菊门巨奶巨乳菊穴开苞口爆口活口交口射口淫裤袜狂操狂插浪逼浪妇浪叫浪女狼友聊性流淫铃木麻凌辱漏乳露b乱交乱伦轮暴轮操轮奸裸陪买春美逼美少妇美乳美腿美穴美幼秘唇迷奸密穴蜜穴蜜液摸奶摸胸母奸奈美奶子男奴内射嫩逼嫩女嫩穴捏弄女优炮友砲友喷精屁眼品香堂前凸后翘强jian强暴强奸处女情趣用品情色拳交全裸群交惹火身材人妻人兽日逼日烂肉棒肉逼肉唇肉洞肉缝肉棍肉茎肉具揉乳肉穴肉欲乳爆乳房乳沟乳交乳头三级片骚逼骚比骚女骚水骚穴色逼色界色猫色盟色情网站色区色色色诱色欲色b少年阿宾少修正射爽射颜食精释欲兽奸兽交手淫兽欲熟妇熟母熟女爽片爽死我了双臀死逼丝袜丝诱松岛枫酥痒汤加丽套弄体奸体位舔脚舔阴调教偷欢偷拍推油脱内裤文做我就色无码舞女无修正吸精夏川纯相奸小逼校鸡小穴小xue写真性感妖娆性感诱惑 https://cn.pornhub.com https://zh.xhamster.com 来看色情罢!(喜) 针对国内的采取措施 希望各GitHub访友以及工作人员能理解 因为现在某SDN搬仓库挺严重的我们必须采取措施 -->

View File

@@ -7,6 +7,7 @@
module.exports = {
none: "\033[0m",
red: "\033[1;31m",
pink: "\033[1;35m",
green: "\033[1;32m",
yellow: "\033[1;33m",
blue: "\033[1;34m",

19
server_src/log.js Normal file
View File

@@ -0,0 +1,19 @@
const color = require("./color")
const log = (t) => {
console.log("[" + new Date().toLocaleTimeString('en-US', { hour12: false }) + "] " + t)
}
const loge = (t) => {
log(`[E] ${color.red + t + color.none}`)
}
const logw = (t) => {
log(`[W] ${color.yellow + t + color.none}`)
}
module.exports = {
log: log,
loge: loge,
logw, logw,
}

View File

@@ -6,9 +6,7 @@
console.log("正在初始化...")
const log = (t) => {
console.log("[" + new Date().toLocaleTimeString('en-US', { hour12: false }) + "] " + t)
}
const { log, loge, logw } = require("./log")
const sio = require("socket.io")
const http = require("http")
@@ -18,16 +16,6 @@ const process = require("process")
const vals = require("./val")
const color = require("./color")
// https://tool.lu/asciipainting/index.html?q=Geometric%20figures&type=0&page=2
const banner = `${color.blue}
.+------+
.' | .'| ${color.green}为人民服务————${color.blue}
+---+--+' | ${color.red}铃之椅 - Node.js${color.blue}
| .+--+---+ ${color.yellow}GitHub @MoonLeeeaf${color.blue}
|.' | .'
+------+'${color.none}
`
//定义 Http 服务器回调
let httpServerCallback = require("./http-api")
@@ -59,19 +47,22 @@ let checkEmpty = (i) => {
wsServer.on("connect", (client) => {
log("客户端 " + client.handshake.address + " 已连接, 用户名(未经验证): " + client.handshake.auth.name)
logw(`客户端 ${client.handshake.address} 已连接, 用户名(未经验证): ${client.handshake.auth.name}`)
for (const cb in wsServerCallback) {
client.on(cb, (...args) => {
log("客户端 " + client.handshake.address + " 对接口 [" + cb + "] 发起请求,参数为 " + JSON.stringify(args[0]))
log(`客户端 ${client.handshake.address} 对接口 [${cb}] 发起请求,参数为 ${JSON.stringify(args[0])}`)
let callback = args[args.length - 1]
try {
wsServerCallback[cb](args[0], (reArgs) => {
callback(reArgs)
log("返回接口 [" + cb + "] 到 " + client.handshake.address + ",参数为 " + JSON.stringify(reArgs))
if (reArgs.code != 0)
logw(`返回接口 [${cb}] 到 ${client.handshake.address},参数为 ${JSON.stringify(reArgs)}`)
else
log(`返回接口 [${cb}] 到 ${client.handshake.address},参数为 ${JSON.stringify(reArgs)}`)
}, client, cachedClients)
} catch (e) {
log(color.yellow + "调用接口或返回数据时出错: " + e + color.none)
loge(`调用接口或返回数据时出错: ${e}`)
callback({ code: -1, msg: e })
}
})
@@ -79,7 +70,7 @@ wsServer.on("connect", (client) => {
client.on("disconnect", () => {
if (!client.handshake.auth.passCheck)
return log("未验证的客户端 " + client.handshake.address + " 已断开, 未验证的用户名: " + client.handshake.auth.name)
return logw(`未验证的客户端 ${client.handshake.address} 已断开, 未验证的用户名: ${client.handshake.auth.name}`)
// 为了支持多客户端登录 我豁出去了
if (cachedClients[client.handshake.auth.name].length === 1)
@@ -90,13 +81,14 @@ wsServer.on("connect", (client) => {
arr.splice(index, 1)
}
})
log("客户端 " + client.handshake.address + " 已断开, 用户名: " + client.handshake.auth.name)
log(`客户端 ${client.handshake.address} 已断开, 用户名: ${client.handshake.auth.name}`)
})
})
httpServer.listen(vals.LINGCHAIR_SERVER_CONFIG.port)
console.log(banner)
log(color.green + "运行服务于端口 " + vals.LINGCHAIR_SERVER_CONFIG.port + " 上," + (vals.LINGCHAIR_SERVER_CONFIG.useHttps == true ? "已" : "未") + "使用 HTTPS" + color.none)
log(color.green + "服务已启动..." + color.none)
log(`${color.green}HTTP 和 WebSocket 服务已在端口 ${vals.LINGCHAIR_SERVER_CONFIG.port} 上启动,${vals.LINGCHAIR_SERVER_CONFIG.useHttps == true ? "已" : "未"}使用 HTTPS${color.none}`)
log(`${color.green}感谢使用!${color.none}`)
log(`${color.green}GitHub @MoonLeeeaf${color.none}`)
log(`${color.green}服务已启动...${color.none}`)

View File

@@ -4,9 +4,7 @@
* 铃之椅 Node 服务端
*/
const log = (t) => {
console.log("[" + new Date().toLocaleTimeString('en-US', { hour12: false }) + "] " + t)
}
const { log, loge, logw } = require("./log")
const msgs = require("./api-msgs")
const users = require("./api-users")
@@ -48,7 +46,7 @@ let api = {
if (!users.checkRefreshToken(a.name, a.refreshToken))
return cb({ code: -1, msg: "刷新令牌错误", invalid: true })
log(color.yellow + "客户端 " + client.handshake.address + " 完成了用户 " + a.name + " 的验证" + color.none)
logw(`客户端 ${client.handshake.address} 完成了用户 ${a.name} 的验证`)
// 更新映射
client.handshake.auth.passCheck = true