Skip to content

rustfs/rustfs-electron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RustFS GUI 项目分析

项目概述

这是一个基于 Electron + Vue 3 的桌面应用程序,用于管理 RustFS 文件系统服务。项目提供了图形化界面来配置和管理 RustFS 后端服务。

技术栈

前端技术

  • Vue 3 - 使用 Composition API
  • Element Plus - UI 组件库
  • Vue I18n - 国际化支持(中文/英文)
  • Vite - 构建工具和开发服务器

桌面应用

  • Electron - 跨平台桌面应用框架
  • Node.js - 运行时环境

构建和打包

  • Electron Builder - 应用打包工具
  • ESBuild - 代码压缩
  • Rollup - 模块打包

依赖环境

开发环境要求

  • Node.js (推荐 16+ 版本)
  • npm 包管理器
  • Windows 操作系统(主要支持平台)

核心依赖

  • vue@3.x - Vue 3 框架
  • element-plus - UI 组件库
  • vue-i18n - 国际化
  • electron - 桌面应用框架
  • vite - 构建工具
  • @vitejs/plugin-vue - Vue 插件
  • electron-builder - 打包工具
  • concurrently - 并发运行脚本
  • cross-env - 跨平台环境变量

目录说明

核心开发目录

-src/: Vue 3 应用的主要源代码

-components/: Vue 组件目录

-`MainDashboard.vue`: 主仪表板组件,显示服务状态和控制面板

-`ServiceSettings.vue`: 服务设置组件,配置 RustFS 服务参数

-`UserSettings.vue`: 用户设置组件,管理用户账户信息

-i18n/: 国际化配置目录

-`zh.json/zh.js`: 中文语言包

-`en.json/en.js`: 英文语言包

-`index.js`: i18n 配置入口文件

-utils/: 工具函数和辅助模块

-App.vue: Vue 应用根组件

-main.js: Vue 应用入口文件,配置 Vue 实例和插件

-electron/: Electron 桌面应用的主进程代码

-main.js: Electron 主进程入口,管理窗口和 RustFS 进程

-preload.js: 预加载脚本,提供安全的 IPC 通信接口

构建相关目录

-dist/: Vite 构建后的输出目录

-assets/: 编译后的 JavaScript 和 CSS 文件

-icons/: 多尺寸应用图标集合

-index.html: 构建后的主 HTML 文件

-localserver.exe: 本地服务器可执行文件

-build/: 构建配置和应用图标

-icon.ico: 主应用图标文件

-icon-128.ico: 128x128 尺寸图标

-icon_16x16.ico: 16x16 小尺寸图标

-scripts/: 自定义构建和验证脚本

-verify-i18n.js: 国际化文件验证脚本

静态资源目录

-public/: 静态资源,构建时会被直接复制到输出目录

-icons/: 完整的应用图标集合(多格式、多尺寸)

-favicon.ico: 网页图标

-rustfs-icon.png: RustFS 品牌图标

-rustfs-logo-square.png: 方形 Logo

-rustfs-logo.svg: 矢量格式 Logo

-localserver.exe: 本地服务器程序

演示和文档

-demo/: 应用截图和演示图片

  • 包含多张应用界面截图,展示功能特性

-文档文件:

-readme.md: 项目主要文档

-study-rustfs.md: 开发学习笔记(Markdown 格式)

-study-rustfs.txt: 开发学习笔记(纯文本格式)

核心可执行文件

-rustfs.exe: RustFS 后端服务的主要可执行文件

配置文件

-package.json: 项目依赖、脚本和元数据配置

-package-lock.json: 依赖版本锁定文件

-vite.config.js: Vite 构建工具配置

-index.html: HTML 入口模板文件

缓存目录

-.electron-cache/: Electron 框架下载缓存

  • 存储 Electron 二进制文件,避免重复下载

目录特点说明

1.模块化结构: 源码按功能模块清晰分离

2.多语言支持: 完整的 i18n 国际化配置

3.多平台图标: 支持不同操作系统和尺寸需求

4.构建优化: 分离开发和生产环境配置

5.文档完善: 包含开发笔记和演示材料

这种目录结构体现了现代前端项目的最佳实践,便于团队协作和项目维护。

开发调试

安装依赖

npm install

开发模式运行

# 同时启动 Vite 和 Electron
npm run dev

# 或者分别启动
npm run dev:vite     # 启动 Vite 开发服务器 (端口 5173)
npm run dev:electron # 启动 Electron 应用

单独测试前端

npm run dev:vite

预览构建结果

npm run preview

编译打包

构建 Web 资源

npm run build:vite

完整应用打包

# 构建并打包为 Windows 应用
npm run build

# 仅打包 Windows 版本
npm run build:win

# 打包为 MSI 安装包
npm run build:msi

# 本地构建(使用本地缓存)
npm run build:win-local

打包配置

  • 输出目录: release/
  • 支持架构: x64, ia32
  • 安装包格式: NSIS, MSI
  • 图标: build/icon.ico
  • 包含文件: Vue 构建产物 + Electron + rustfs.exe

应用功能

主要特性

  1. 服务管理: 启动/停止 RustFS 服务
  2. 配置管理:
    • 服务地址配置 (默认: 127.0.0.1:9000)
    • 存储路径设置 (默认: D:\rustfs-file)
    • 用户凭据管理 (默认: rustfsadmin/rustfsadmin)
  3. 状态监控: 实时检查服务运行状态
  4. 多语言支持: 中文/英文界面
  5. 自动化: 服务启动后自动打开浏览器

使用流程

  1. 启动应用
  2. 在设置中配置服务参数
  3. 点击"启动服务"按钮
  4. 应用会自动启动 RustFS 后端服务
  5. 弹窗显示服务信息并可选择打开浏览器
  6. 通过浏览器访问 RustFS Web 界面

技术特点

架构设计

  • 前后端分离: Vue 前端 + RustFS 后端
  • 进程管理: Electron 主进程管理 RustFS 子进程
  • IPC 通信: 前端与 Electron 主进程通过 IPC 通信
  • 健康检查: 定期检查服务端口连通性

开发优化

  • 热重载: Vite 提供快速热重载
  • 代码分割: 按需加载和手动分块
  • 国际化: 完整的 i18n 支持
  • 错误处理: 完善的错误监听和用户提示

故障排除

常见问题

  1. 端口占用: 使用 PowerShell 脚本清理端口
  2. 进程残留: 使用 taskkill 命令清理进程
  3. 构建失败: 清理 release 目录后重新构建

调试命令

# 清理所有相关进程
taskkill /f /im "RustFS Manager.exe"
taskkill /f /im "electron.exe"
taskkill /f /im "node.exe"

# 清理构建目录
rmdir /s /q release

许可证

本项目是一个完整的桌面应用解决方案,集成了现代前端技术栈和 Electron 桌面应用框架,为 RustFS 文件系统提供了友好的图形化管理界面。

About

RustFS Electron Windows Launcher

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published