collabdocchat 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/QUICK_START.md +3 -0
- package/bin/cli.js +82 -0
- package/index.html +16 -16
- package/install-and-start.bat +3 -0
- package/install-and-start.sh +52 -49
- package/package.json +5 -1
package/QUICK_START.md
CHANGED
package/bin/cli.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { spawn } from 'child_process';
|
|
4
|
+
import { platform } from 'os';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
|
+
import { dirname, join } from 'path';
|
|
7
|
+
import { existsSync } from 'fs';
|
|
8
|
+
|
|
9
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
10
|
+
const __dirname = dirname(__filename);
|
|
11
|
+
const rootDir = join(__dirname, '..');
|
|
12
|
+
const CLIENT_URL = 'http://localhost:5173';
|
|
13
|
+
const isWindows = platform() === 'win32';
|
|
14
|
+
|
|
15
|
+
// 打开浏览器
|
|
16
|
+
function openBrowser(url) {
|
|
17
|
+
const command = isWindows ? 'cmd' : (platform() === 'darwin' ? 'open' : 'xdg-open');
|
|
18
|
+
const args = isWindows ? ['/c', 'start', url] : [url];
|
|
19
|
+
const browser = spawn(command, args, { stdio: 'ignore', detached: true });
|
|
20
|
+
browser.unref();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// 检查是否在正确的目录
|
|
24
|
+
function checkEnvironment() {
|
|
25
|
+
const serverPath = join(rootDir, 'server', 'index.js');
|
|
26
|
+
if (!existsSync(serverPath)) {
|
|
27
|
+
console.error('❌ 错误:找不到服务器文件');
|
|
28
|
+
console.error(' 请确保在正确的目录运行此命令');
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
console.log('\n🎉 欢迎使用 CollabDocChat!\n');
|
|
34
|
+
console.log('📦 开源的实时协作文档聊天平台\n');
|
|
35
|
+
console.log('🚀 正在启动服务器和客户端...\n');
|
|
36
|
+
|
|
37
|
+
checkEnvironment();
|
|
38
|
+
|
|
39
|
+
// 启动服务器
|
|
40
|
+
const server = spawn('node', ['server/index.js'], {
|
|
41
|
+
cwd: rootDir,
|
|
42
|
+
stdio: 'inherit',
|
|
43
|
+
detached: true,
|
|
44
|
+
windowsHide: true
|
|
45
|
+
});
|
|
46
|
+
server.unref();
|
|
47
|
+
|
|
48
|
+
// 启动客户端
|
|
49
|
+
const client = spawn(isWindows ? 'npm.cmd' : 'npm', ['run', 'client'], {
|
|
50
|
+
cwd: rootDir,
|
|
51
|
+
stdio: 'inherit',
|
|
52
|
+
detached: true,
|
|
53
|
+
windowsHide: true
|
|
54
|
+
});
|
|
55
|
+
client.unref();
|
|
56
|
+
|
|
57
|
+
// 8秒后打开浏览器
|
|
58
|
+
setTimeout(() => {
|
|
59
|
+
console.log(`\n🌐 正在打开浏览器: ${CLIENT_URL}`);
|
|
60
|
+
openBrowser(CLIENT_URL);
|
|
61
|
+
console.log('\n✅ 应用已启动成功!');
|
|
62
|
+
console.log(' 如果页面未加载,请稍等片刻后刷新页面。');
|
|
63
|
+
console.log('\n💡 提示:');
|
|
64
|
+
console.log(' • 服务器运行在: http://localhost:3000');
|
|
65
|
+
console.log(' • 客户端运行在: http://localhost:5173');
|
|
66
|
+
console.log(' • 默认管理员账号: admin / admin123');
|
|
67
|
+
console.log('\n📖 更多信息请访问: https://github.com/shijinghao/collabdocchat');
|
|
68
|
+
console.log('\n⚠️ 要停止服务,请运行: npm run stop');
|
|
69
|
+
console.log(' 或者关闭终端窗口\n');
|
|
70
|
+
}, 8000);
|
|
71
|
+
|
|
72
|
+
// 处理退出信号
|
|
73
|
+
process.on('SIGINT', () => {
|
|
74
|
+
console.log('\n\n👋 正在关闭应用...');
|
|
75
|
+
process.exit(0);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
process.on('SIGTERM', () => {
|
|
79
|
+
console.log('\n\n👋 正在关闭应用...');
|
|
80
|
+
process.exit(0);
|
|
81
|
+
});
|
|
82
|
+
|
package/index.html
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="zh-CN">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>CollabDocChat - 协作文档聊天平台</title>
|
|
7
|
-
<link href="https://cdn.quilljs.com/1.3.6/quill.snow.css" rel="stylesheet">
|
|
8
|
-
<script src="https://cdn.quilljs.com/1.3.6/quill.js"></script>
|
|
9
|
-
<link rel="stylesheet" href="/src/styles/main.css">
|
|
10
|
-
</head>
|
|
11
|
-
<body>
|
|
12
|
-
<div id="app"></div>
|
|
13
|
-
<script type="module" src="/src/main.js"></script>
|
|
14
|
-
</body>
|
|
15
|
-
</html>
|
|
16
|
-
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="zh-CN">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>CollabDocChat - 协作文档聊天平台</title>
|
|
7
|
+
<link href="https://cdn.quilljs.com/1.3.6/quill.snow.css" rel="stylesheet">
|
|
8
|
+
<script src="https://cdn.quilljs.com/1.3.6/quill.js"></script>
|
|
9
|
+
<link rel="stylesheet" href="/src/styles/main.css">
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
<div id="app"></div>
|
|
13
|
+
<script type="module" src="/src/main.js"></script>
|
|
14
|
+
</body>
|
|
15
|
+
</html>
|
|
16
|
+
|
package/install-and-start.bat
CHANGED
package/install-and-start.sh
CHANGED
|
@@ -1,49 +1,52 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
echo "========================================"
|
|
4
|
-
echo " CollabDocChat 一键安装并启动"
|
|
5
|
-
echo "========================================"
|
|
6
|
-
echo ""
|
|
7
|
-
|
|
8
|
-
echo "[1/3] 正在安装 CollabDocChat..."
|
|
9
|
-
npm install collabdocchat@latest --ignore-scripts
|
|
10
|
-
if [ $? -ne 0 ]; then
|
|
11
|
-
echo "安装失败!"
|
|
12
|
-
exit 1
|
|
13
|
-
fi
|
|
14
|
-
|
|
15
|
-
echo ""
|
|
16
|
-
echo "[2/3] 安装完成!正在启动应用..."
|
|
17
|
-
cd node_modules/collabdocchat
|
|
18
|
-
|
|
19
|
-
echo ""
|
|
20
|
-
echo "[3/3] 启动服务器和客户端..."
|
|
21
|
-
node server/index.js &
|
|
22
|
-
sleep 3
|
|
23
|
-
npm run client &
|
|
24
|
-
|
|
25
|
-
echo ""
|
|
26
|
-
echo "等待服务器启动..."
|
|
27
|
-
sleep 8
|
|
28
|
-
|
|
29
|
-
echo ""
|
|
30
|
-
echo "正在打开浏览器..."
|
|
31
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
32
|
-
open http://localhost:5173
|
|
33
|
-
elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|
34
|
-
xdg-open http://localhost:5173
|
|
35
|
-
fi
|
|
36
|
-
|
|
37
|
-
echo ""
|
|
38
|
-
echo "========================================"
|
|
39
|
-
echo " 启动完成!"
|
|
40
|
-
echo "========================================"
|
|
41
|
-
echo ""
|
|
42
|
-
echo "浏览器已打开,访问: http://localhost:5173"
|
|
43
|
-
echo ""
|
|
44
|
-
echo "提示:"
|
|
45
|
-
echo " - 服务器运行在端口 3000"
|
|
46
|
-
echo " - 客户端运行在端口 5173"
|
|
47
|
-
echo " - 按 Ctrl+C 停止服务"
|
|
48
|
-
echo ""
|
|
49
|
-
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
echo "========================================"
|
|
4
|
+
echo " CollabDocChat 一键安装并启动"
|
|
5
|
+
echo "========================================"
|
|
6
|
+
echo ""
|
|
7
|
+
|
|
8
|
+
echo "[1/3] 正在安装 CollabDocChat..."
|
|
9
|
+
npm install collabdocchat@latest --ignore-scripts
|
|
10
|
+
if [ $? -ne 0 ]; then
|
|
11
|
+
echo "安装失败!"
|
|
12
|
+
exit 1
|
|
13
|
+
fi
|
|
14
|
+
|
|
15
|
+
echo ""
|
|
16
|
+
echo "[2/3] 安装完成!正在启动应用..."
|
|
17
|
+
cd node_modules/collabdocchat
|
|
18
|
+
|
|
19
|
+
echo ""
|
|
20
|
+
echo "[3/3] 启动服务器和客户端..."
|
|
21
|
+
node server/index.js &
|
|
22
|
+
sleep 3
|
|
23
|
+
npm run client &
|
|
24
|
+
|
|
25
|
+
echo ""
|
|
26
|
+
echo "等待服务器启动..."
|
|
27
|
+
sleep 8
|
|
28
|
+
|
|
29
|
+
echo ""
|
|
30
|
+
echo "正在打开浏览器..."
|
|
31
|
+
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
32
|
+
open http://localhost:5173
|
|
33
|
+
elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|
34
|
+
xdg-open http://localhost:5173
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
echo ""
|
|
38
|
+
echo "========================================"
|
|
39
|
+
echo " 启动完成!"
|
|
40
|
+
echo "========================================"
|
|
41
|
+
echo ""
|
|
42
|
+
echo "浏览器已打开,访问: http://localhost:5173"
|
|
43
|
+
echo ""
|
|
44
|
+
echo "提示:"
|
|
45
|
+
echo " - 服务器运行在端口 3000"
|
|
46
|
+
echo " - 客户端运行在端口 5173"
|
|
47
|
+
echo " - 按 Ctrl+C 停止服务"
|
|
48
|
+
echo ""
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
package/package.json
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "collabdocchat",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "开源的实时协作文档聊天平台 - 集成任务管理、多人文档编辑、智能点名功能",
|
|
5
5
|
"main": "./server/index.js",
|
|
6
6
|
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"collabdocchat": "./bin/cli.js"
|
|
9
|
+
},
|
|
7
10
|
"files": [
|
|
11
|
+
"bin",
|
|
8
12
|
"server",
|
|
9
13
|
"src",
|
|
10
14
|
"scripts",
|