# micro-macos **Repository Path**: morningcloud/micro-macos ## Basic Information - **Project Name**: micro-macos - **Description**: 一个现代化的桌面环境模拟系统,基于 Vue 3 + Vite 构建,提供类 macOS 的用户体验,同时集成了强大的微前端架构,支持多框架子应用集成。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-02-02 - **Last Updated**: 2026-02-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # macOS Style Desktop Environment 一个现代化的桌面环境模拟系统,基于 Vue 3 + Vite 构建,提供类 macOS 的用户体验,同时集成了强大的微前端架构,支持多框架子应用集成。 ## 🎯 核心功能 ### 桌面管理 - ✅ 桌面图标网格布局 - ✅ 图标长按拖拽排序 - ✅ 桌面背景切换(多种渐变背景) - ✅ 桌面右键菜单 - ✅ 文件夹展开(毛玻璃效果) ### 窗口系统 - ✅ 窗口创建与管理 - ✅ 窗口拖拽移动 - ✅ 窗口最小化/最大化/关闭 - ✅ 多桌面窗口隔离 ### 系统功能 - ✅ 系统菜单 - ✅ 通知中心 - ✅ 系统托盘 - ✅ 多桌面支持 - ✅ 桌面切换器 - ✅ 文件系统 ### 应用管理 - ✅ 应用启动 - ✅ 应用右键菜单 - ✅ 文件夹层级展开 - ✅ 应用使用频率记录 ### 微前端集成 - ✅ 基于 micro-app 框架的微前端架构 - ✅ 支持 Vue 3、React、Angular 等多框架集成 - ✅ 多级菜单系统,支持直接访问子应用业务功能 - ✅ 样式隔离(严格沙箱模式) - ✅ 动态路由参数传递 - ✅ 子应用生命周期管理 - ✅ 子应用预加载和懒加载 ### 视觉效果 - ✅ 毛玻璃效果(backdrop-filter) - ✅ 平滑动画过渡 - ✅ 响应式布局 - ✅ 主题配置系统 ## 🛠️ 技术栈 - **前端框架**: Vue 3 + Composition API - **构建工具**: Vite - **状态管理**: Pinia - **微前端框架**: micro-app - **CSS**: 原生 CSS + CSS 变量 - **图标**: 自定义图标系统 ## 📦 项目结构 ``` src/ ├── assets/ # 静态资源 │ └── icons/ # 图标资源 ├── components/ # 组件 │ ├── DesktopIcon.vue # 桌面图标组件 │ ├── Window.vue # 窗口组件 │ ├── Dock.vue # 任务栏组件 │ ├── SystemMenu.vue # 系统菜单组件 │ ├── FileSystem.vue # 文件系统组件 │ └── ... ├── micro-app/ # 微前端相关 │ ├── micro-app-config.js # micro-app 配置 │ └── event-bus.js # 事件总线 ├── services/ # 服务 │ └── appManagerService.js # 应用管理服务 ├── stores/ # 状态管理 │ ├── configStore.js # 配置状态管理 │ ├── desktopStore.js # 桌面状态管理 │ ├── windowStore.js # 窗口状态管理 │ └── microAppStore.js # 子应用状态管理 ├── styles/ # 样式文件 │ └── main.css # 主样式文件 ├── utils/ # 工具函数 │ └── dragManager.js # 拖拽管理工具 ├── App.vue # 应用入口 └── main.js # 主应用入口 ``` ## 效果截图 - 桌面 - 所有应用 - 文件系统 - 系统设置 - 多桌面切换 - 应用窗口 ## 🚀 快速开始 ### 安装依赖 ```bash npm install ``` ### 开发模式 ```bash npm run dev ``` ### 构建生产版本 ```bash npm run build ``` ### 预览生产构建 ```bash npm run preview ``` ### 示例应用启动 项目包含以下示例应用,需要单独启动: 1. **Vue 3 示例应用** ```bash cd examples/vue3 npm install npm run dev ``` 访问地址: http://localhost:8081 2. **React 示例应用** ```bash cd examples/react npm install npm run start ``` 访问地址: http://localhost:3001 3. **React UMIJS 示例应用** ```bash cd examples/react-umijs npm install npm run dev ``` 访问地址: http://localhost:8000 4. **Angular 示例应用** ```bash cd examples/angular npm install ng serve ``` 访问地址: http://localhost:4200 ## 🎨 主题系统 项目支持自定义主题,通过 CSS 变量实现,可在 `configStore.js` 中配置。 ## 📱 交互特性 ### 桌面图标 - **左键点击**: 打开应用或文件夹 - **长按**: 进入编辑模式,可拖拽排序 - **右键点击**: 显示应用右键菜单 ### 文件夹 - 点击文件夹图标会在桌面中央弹出毛玻璃效果的文件夹窗口 - 支持层级展开子文件夹 - 点击应用图标启动应用 ### 窗口操作 - **拖拽标题栏**: 移动窗口 - **点击窗口**: 激活窗口 - **窗口控制按钮**: 最小化/最大化/关闭 ### 多桌面 - 支持创建多个桌面 - 支持在不同桌面间切换 - 窗口在不同桌面间隔离 ## 🔧 配置选项 ### 桌面配置 - 图标网格大小 - 图标间距 - 图标大小 - 背景样式 ### 系统配置 - 功能开关(通知中心、系统托盘、多桌面等) - 主题颜色 ### 微前端配置 - 子应用注册 - 预加载策略 - 沙箱配置 - 生命周期管理 ## 📝 开发指南 ### 新增应用 在 `appManagerService.js` 中配置应用信息,支持多级菜单结构。 ### 新增组件 遵循 Vue 3 Composition API 规范,使用 `