WuYongJie 5821d73291 初始提交:3D家具安装展示系统
包含:
- furniture-3d-system:Next.js 16 全栈应用(资产中心、产品管理、3D装配动画)
- autocad-plugin:AutoCAD 家具导出插件源码
- 资产中心改造:编辑弹窗化、删除功能、Toast反馈、自定义Select组件

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 14:00:19 +08:00
..

部署核心库

统一的部署功能模块,支持图形化安装器和命令行脚本。

功能模块

1. 设备连接管理 (connection.ts)

  • SSH 连接 (Linux/NAS)
  • Docker API 连接
  • WinRM 连接 (Windows)
  • 远程命令执行
  • 文件上传下载

2. 硬件检测引擎 (hardware.ts)

  • CPU 信息检测
  • 内存检测
  • 磁盘检测
  • Docker 环境检测
  • 硬件配置分析

3. 配置生成器 (config.ts)

  • 生成 docker-compose.yml
  • 生成 .env 配置文件
  • 支持标准模式和轻量级模式
  • 配置验证

4. Docker 管理器 (docker.ts)

  • Docker 镜像管理
  • 容器启动和停止
  • 服务健康检查
  • 日志查看

使用示例

检测硬件配置

```typescript import { detectHardware } from './hardware'

const connection = { type: 'linux', host: '192.168.1.100', port: 22, username: 'admin', password: 'password', }

const result = await detectHardware(connection)

console.log('推荐部署模式:', result.recommendedMode) console.log('是否可以部署:', result.canDeploy) console.log('警告信息:', result.warnings) ```

生成配置文件

```typescript import { generateDefaultConfig, generateEnvFile, generateDockerCompose } from './config'

const config = generateDefaultConfig('standard') const envFile = generateEnvFile(config) const composeFile = generateDockerCompose('standard')

// 保存到文件 fs.writeFileSync('.env', envFile) fs.writeFileSync('docker-compose.yml', composeFile) ```

部署服务

```typescript import { startDockerServices } from './docker'

const result = await startDockerServices(connection, composeFile)

if (result.success) { console.log('部署成功!') console.log('访问地址:', result.accessUrl) console.log('管理员账号:', result.adminUsername) } else { console.error('部署失败:', result.errors) } ```

开发状态

当前版本为基础框架,部分功能标记为 TODO 需要后续实现:

  • SSH 连接实现 (使用 ssh2 库)
  • WinRM 连接实现 (使用 node-powershell)
  • 远程命令执行完整实现
  • 文件上传下载实现
  • 硬件检测命令实现
  • Docker 服务健康检查解析
  • 单元测试

依赖库

需要安装以下依赖:

```bash npm install ssh2 node-powershell dockerode npm install --save-dev @types/ssh2 @types/dockerode ```

测试

```bash npm test ```