# RustWebIDE **Repository Path**: byusi/rustwebide ## Basic Information - **Project Name**: RustWebIDE - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-21 - **Last Updated**: 2025-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 该项目是一个基于 Rust 的 Web IDE,提供用户注册、登录、代码运行和终端操作等功能。以下是项目结构和主要组件的说明: --- ## 项目结构 ### `app.py` - **ByUsiAuth 类**:处理用户认证功能,包括注册、登录和获取用户信息。 - `register(username, email, password)`:用户注册。 - `login(identifier, password)`:用户登录。 - `get_user_info(token)`:获取当前用户信息。 - **RustEnvironmentManager 类**:管理 Rust 开发环境的创建和执行。 - `create_environment(user_id)`:为用户创建新的 Rust 环境。 - `_init_rust_project(workspace)`:初始化 Rust 项目。 - `execute_rust_code(env_id, code, input_data="")`:执行 Rust 代码。 - `_compile_and_run(workspace, input_data)`:编译并运行代码。 - **Flask 路由**:处理 HTTP 请求。 - `/`:首页。 - `/api/register`:注册 API。 - `/api/login`:登录 API。 - `/api/user_info`:获取用户信息 API。 - `/api/run_rust`:运行 Rust 代码 API。 - `/api/terminal/start`:启动终端会话 API。 - `/api/terminal/execute`:执行终端命令 API。 - `/api/logout`:注销 API。 ### `build.sh` - 构建脚本,用于构建项目。 ### `config.py` - 配置类,用于管理项目配置。 ### `cpp_bindings.py` - 提供 C++ 绑定功能,用于与终端交互。 - `load_cpp_library()`:加载 C++ 库。 - `start_terminal_session(workspace)`:启动终端会话。 - `execute_terminal_command(session_id, command)`:执行终端命令。 - `close_terminal_session(session_id)`:关闭终端会话。 ### `requirements.txt` - Python 依赖库列表。 ### `static/script.js` - 前端 JavaScript 逻辑,处理用户交互。 - `showLogin()`:显示登录模态框。 - `showRegister()`:显示注册模态框。 - `hideModals()`:隐藏所有模态框。 - `switchTab(tabName)`:切换标签页。 - `login()`:处理登录请求。 - `register()`:处理注册请求。 - `logout()`:处理注销请求。 - `updateUserInfo(userData)`:更新用户信息。 - `runCode()`:运行代码。 - `saveCode()`:保存代码。 - `startTerminal()`:启动终端。 - `sendTerminalCommand()`:发送终端命令。 - `handleTerminalInput(event)`:处理终端输入。 - `showMessage(message, type)`:显示消息。 ### `static/style.css` - 样式表,定义页面样式。 ### `templates/index.html` - 主页面模板,包含编辑器和终端界面。 ### `terminal_manager.cpp` - C++ 实现终端管理功能。 - `TerminalManager& TerminalManager::getInstance()`:获取终端管理器实例。 - `TerminalManager::~TerminalManager()`:析构函数。 - `std::string TerminalManager::createSession(const std::string& workspace)`:创建终端会话。 - `bool TerminalManager::createPty(TerminalSession& session)`:创建伪终端。 - `bool TerminalManager::spawnShell(TerminalSession& session, const std::string& workspace)`:启动 shell。 - `void TerminalManager::startOutputReader(TerminalSession& session)`:启动输出读取器。 - `bool TerminalManager::executeCommand(const std::string& session_id, const std::string& command, std::string& output)`:执行命令。 - `std::string TerminalManager::readOutput(const std::string& session_id, size_t max_bytes)`:读取输出。 - `bool TerminalManager::closeSession(const std::string& session_id)`:关闭会话。 ### `terminal_manager.h` - 终端管理器头文件,定义类和方法。 --- ## 功能概述 该项目提供了一个基于 Web 的 Rust 开发环境,用户可以通过浏览器进行注册、登录、编写和运行 Rust 代码,并与终端进行交互。主要功能包括: 1. **用户管理**:支持用户注册、登录和获取用户信息。 2. **代码执行**:允许用户编写和运行 Rust 代码,并查看输出结果。 3. **终端操作**:提供终端功能,用户可以在浏览器中执行命令。 --- ## 安装与使用 ### 安装依赖 确保已安装 Python 和 Rust 环境。然后安装项目所需的依赖: ```bash pip install -r requirements.txt ``` ### 启动项目 运行以下命令启动项目: ```bash python app.py ``` ### 访问 Web IDE 打开浏览器,访问 `http://localhost:5000`,即可使用 Web IDE。 --- ## 贡献 欢迎贡献代码和改进项目。请遵循项目的代码风格和提交规范。 --- ## 许可证 该项目使用 MIT 许可证。详情请查看 LICENSE 文件。