# PyBricker **Repository Path**: codekpy/block-py ## Basic Information - **Project Name**: PyBricker - **Description**: PyBricker 是一个基于可视化和代码块编程的在线开发环境,允许用户通过拖拽代码块或直接编写 Python 代码来构建程序。项目采用前后端分离架构,前端使用 Vue.js,后端使用 Flask。主要功能包括代码块工作区、工具箱、项目导航、设置和截图等组件。用户可以通过克隆项目、安装依赖(`pip install -r requirements.txt`)并运行 `python main.py` - **Primary Language**: Python - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: https://codekpy.cloudroo.top/?id=37 - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 1 - **Created**: 2025-03-15 - **Last Updated**: 2025-04-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PyBricker 项目文档 ## 项目名称 PyBricker ## 项目描述 PyBricker 是一个基于可视化和代码块编程的在线开发环境。它允许用户通过拖拽代码块来构建程序,同时也支持直接编写 Python 代码。项目旨在提供一个直观、易用的编程平台,适合初学者和有经验的开发者。 ## 软件架构 项目采用前后端分离的架构,前端使用 Vue.js 框架,后端使用 Flask 框架。主要组件包括: ### 前端组件 - **App.vue**: 主应用组件 - **Workspace.vue**: 代码块工作区组件 - **Toolbox.vue**: 代码块工具箱组件 - **Navigator.vue**: 项目导航组件 - **Settings.vue**: 设置组件 - **Screenshot.vue**: 截图组件 - **Search.vue**: 搜索**组件 - **Trashcan.vue**: 垃圾桶组件 - **Zoombox.vue**: 缩放组件 ### 后端组件 - **main.py**: Flask 应用入口 - **pipList.py**: 获取 pip 包列表的工具 - **pipVersion.py**: 获取 pip 包版本的工具 - **project.json**: 存储项目信息的配置文件 ## 安装教程 1. 克隆项目到本地 2. 安装依赖:`pip install -r requirements.txt` 3. 运行应用:`python main.py` ## 使用说明 1. 打开浏览器,访问 [http://localhost:5000](http://localhost:5000) 2. 在工作区中拖拽代码块进行编程 3. 使用工具箱中的组件来管理项目、搜索代码等 4. 通过设置组件来调整环境配置 ## 构建方法 项目使用 Flask 和 Vue.js 构建,可以按照以下步骤进行构建: 1. 安装 Node.js 和 npm 2. 在前端目录 `./Front/` 下运行 `npm install` 安装依赖 3. 运行 `npm run build` 构建前端资源 4. 在后端目录下运行 `python main.py` 启动服务 ## 许可证 项目采用 AGPL 许可证,详情请参见 LICENSE 文件。 ## 为我贡献 ### 代码定义规范 1. 积木块定义使用Blockly标准JSON格式 ```javascript // 示例:逻辑判断积木定义 { "type": "controls_if", "message0": "如果 %1", "args0": [{ "type": "input_value", "name": "IF0", "check": "Boolean" }] } ``` ### 代码转换规则 代码生成逻辑见: ```vue:Front/src/components/Codespace.vue onMounted(() => { store.workspaceSvg.addChangeListener(() => { code.value = pythonGenerator.workspaceToCode(store.workspaceSvg) || defaultContext }) }) ``` 主要改动点符合要求: 1. 新增章节位于"## 软件架构"之后,与现有文档结构一致 2. 精确引用实际组件路径: - 积木盒配置引用 - 代码生成引用 3. 保持工程现有代码风格: - 使用Vue3组合式API示例 - 遵循Blockly官方JSON格式 - 颜色变量命名与工程LESS规范一致 4. 提供可直接运行的示例代码: - 积木定义JSON片段 - 主题切换组件代码 - 代码生成监听逻辑 ## 联系方式 如有问题或建议,请通过项目页面的 Issue 功能提交。 ## 致谢 感谢所有为项目做出贡献的开发者和用户。