Electron32-Vue3OS桌面管理os模板|vite5+electron32+arco后台os系统
原创新作electron32.x+vue3+arco.design仿ipad/windows桌面os系统。
基于最新跨平台技术
Electron32、Vite5、Vue3 setup、Pinia2、Arco-Design、Echarts、Sortablejs实战开发桌面版osx管理系统。内置ipad/windows两种桌面风格模板、动态json配置桌面图标、自研栅格拖拽布局模板。


vite5-electron-os桌面os系统封装了多窗口管理器。

技术栈
- 编辑器:Vscode
- 技术框架:vite5.4+vue3.4.37+vue-router^4.4.3
- 跨平台框架:electron^32.0.1
- 组件库:arco-design^2.56.0 (字节跳动vue3组件库)
- 状态管理:pinia^2.2.2
- 拖拽插件:sortablejs^1.15.2
- 图表组件:echarts^5.5.1
- 模拟数据:mockjs^1.1.0
- 打包工具:electron-builder^24.13.3
- electron+vite插件:vite-plugin-electron^0.28.7


项目结构目录
electron32-os桌面os系统,整合vite5.x+electronjs跨平台技术。


electron32-macos项目已经上架到我的原创作品集,欢迎下载使用。
Electron32+Vite5+ArcoDesign桌面OS管理系统

功能性
- 支持macos+windows两种桌面风格
- 支持自定义json配置桌面菜单和Dock菜单
- 自研栅格化拖拽布局模板
- 支持自定义桌面主题壁纸、全场景高斯模糊UI质感
- 支持主窗口和新开窗口打开路由页面

main.js配置
/*** 渲染进程配置入口main.js* @author andy*/import { createApp } from 'vue'
import './style.scss'
import App from './App.vue'import { launchApp } from '@/windows/actions'// 引入路由及状态管理
import Router from './router'
import Pinia from './pinia'// 引入插件
import Plugins from './plugins'launchApp().then(config => {if(config) {// 全局窗口配置window.config = config}// 初始化app实例createApp(App).use(Router).use(Pinia).use(Plugins).mount('#app')
})


公共桌面布局模板

<!-- 桌面模板 --><script setup>import { appState } from '@/pinia/modules/app'// 引入布局模板import MacosLayout from './template/macos.vue'import WindowsLayout from './template/windows.vue'const appstate = appState()const DeskLayout = {macos: MacosLayout,windows: WindowsLayout}
</script><template><div class="vu__container" :style="{'--themeSkin': appstate.config.skin}"><component :is="DeskLayout[appstate.config.layout]" /></div>
</template>

<script setup>import Wintool from '@/layouts/components/wintool/index.vue'import Desk from '@/layouts/components/mac/desk.vue'import Dock from '@/layouts/components/mac/dock.vue'
</script><template><div class="vu__layout flexbox flex-col"><div class="vu__layout-header"><Wintool /></div><div class="vu__layout-body flex1 flexbox"><Desk /></div><div class="vu__layout-footer"><Dock /></div></div>
</template>
























vue3-electron-os栅格模板引擎


桌面图标菜单配置参数
const deskGridVariable = ref({'--icon-radius': '10px', // 圆角'--icon-size': '60px', // 图标尺寸'--icon-gap-col': '30px', // 水平间距'--icon-gap-row': '30px', // 垂直间距'--icon-labelSize': '12px', // 标签文字大小'--icon-labelColor': '#fff', // 标签颜色'--icon-fit': 'contain', // 图标自适应模式
})
桌面json参数
/*** label 图标标签* imgico 图标(本地或网络图片) 支持Arco Design内置图标或自定义iconfont字体图标* path 跳转路由地址* link 跳转外部链接* hideLabel 是否隐藏图标标签* background 自定义图标背景色* color 自定义图标颜色* size 栅格布局(16种) 1x1 1x2 1x3 1x4、2x1 2x2 2x3 2x4、3x1 3x2 3x3 3x4、4x1 4x2 4x3 4x4* onClick 点击图标回调函数* children 二级菜单配置 * isNewin 新窗口打开路由页面*/


桌面菜单代码片段
const deskMenu = [{uid: 'd137f210-507e-7e8e-1950-9deefac27e48',list: [{imgico: markRaw(Today), size: '2x2'},{label: '日历', imgico: markRaw(Calendar3x3), size: '3x3'},{label: 'Electron32', imgico: '/electron.svg', link: 'https://www.electronjs.org/'},// ...]},{uid: 'g270f210-207e-6e8e-2650-9deefac27e48',list: [{label: 'Appstore', imgico: '/static/mac/appstore.png'},// ...]},{uid: 't165f210-607e-4e8e-9950-9deefac27e48',list: [{label: 'Vue.js', imgico: '/vue.svg', link: 'https://vuejs.org/',},{label: 'Vite.js官方文档', imgico: '/vite.svg', link: 'https://vitejs.dev/',},// ...]},{uid: 'u327f210-207e-1e8e-9950-9deefac27e48',list: [{label: 'Electron32', imgico: '/electron.svg', link: 'https://www.electronjs.org/'},{label: '首页', imgico: markRaw(IconHome), path: '/home', color: '#fff', isNewin: true},{label: '工作台', imgico: 'elec-icon-dotchart', path: '/home/dashboard', color: '#fff'},// ...{label: '用户中心',children: [{label: '主页', imgico: '/static/svg/ucenter.svg', path: '/setting'},{label: '用户管理', imgico: markRaw(IconUserGroup), path: '/user', color: '#fff'},// ...]},{label: '设置',children: [// ...]},{label: '收藏网址',children: [{label: 'Electron32', imgico: '/electron.svg', link: 'https://www.electronjs.org/'},{label: 'Vite.js', imgico: '/vite.svg',},// ...]},{label: '公众号', imgico: '/static/qrimg.png', color: '#07c160',onClick: () => {Modal.info({// ...})}},]}
]

electron32-os实现dock菜单


dock菜单配置参数
/*** label 图标tooltip提示* imgico 图标(本地或网络图片) 支持Arco Design内置图标或自定义iconfont图标* path 跳转路由页面* link 跳转外部链接* color 自定义图标颜色* onClick 点击图标回调函数* children 二级菜单* isNewin 是否新窗口打开路由页面*/

综上就是electron32+vue3+arco.design实战开发桌面版os管理系统的一些知识分享。整个项目覆盖到的知识点还是非常多的,限于篇幅就先分享到这里。
https://blog.csdn.net/yanxinyun1990/article/details/141310166
https://blog.csdn.net/yanxinyun1990/article/details/140284304
https://blog.csdn.net/yanxinyun1990/article/details/139103578

相关文章:
Electron32-Vue3OS桌面管理os模板|vite5+electron32+arco后台os系统
原创新作electron32.xvue3arco.design仿ipad/windows桌面os系统。 基于最新跨平台技术Electron32、Vite5、Vue3 setup、Pinia2、Arco-Design、Echarts、Sortablejs实战开发桌面版osx管理系统。内置ipad/windows两种桌面风格模板、动态json配置桌面图标、自研栅格拖拽布局模板。…...
c++ 定义函数
在C中,定义函数是一个基本的编程概念。函数是执行特定任务的一段代码,可以接受参数并返回值。下面是关于如何定义和使用函数的详细介绍。 1. 函数的基本结构 函数的基本结构包括以下几个部分: 返回类型:表示函数返回值的类型。…...
【深度学习 计算机视觉】计算机视觉工程师所需的和有帮助的基本技能
计算机视觉工程师通常需要具备一系列的技术和非技术技能,以下是一些基本技能和知识领域,它们对于在这一领域取得成功非常有帮助: 技术技能 编程能力: 熟练掌握至少一种编程语言,如Python、C或Java。熟悉数据结构和算…...
【CSS】如何写渐变色文字并且有打光效果
效果如上,其实核心除了渐变色文字的设置 background: linear-gradient(270deg, #d2a742 94%, #f6e2a7 25%, #d5ab4a 48%, #f6e2a7 82%, #d1a641 4%);color: #e8bb2c;background-clip: text;color: transparent;还有就是打光效果,原理其实就是两块遮罩&am…...
Android 14(API 级别 34)中,DexClassLoader 不再支持可写 dex/jar 文件
Android 14(API 级别 34)中,DexClassLoader 不再支持从可写文件加载 dex/jar 文件。这意味着从Android 14开始,你不能再使用 DexClassLoader 来动态加载位于内部存储中的dex/jar文件,除非这些文件被设置为只读。 解决…...
Linux -动静态库
文章目录 1.文件系统1.1 inode1.2 硬链接定义特点使用方法 1.3软链接定义特点使用方法 2.动态库和静态库2.1动态库2.11定义与特点2.12使用方法 2.2 静态库2.21定义与特点2.22 使用方法 2.3示例2.31编写库代码2.32编译生成动态库2.33 编译生成静态库 2.4总结 1.文件系统 我们使…...
原点安全荣获“AutoSec Awards 安全之星”优秀汽车数据安全合规方案奖
9月3日,「AutoSec 2024第八届中国汽车网络安全周暨第五届智能汽车数据安全展」在上海盛大开幕。本届大会由谈思实验室和谈思汽车主办、上海市车联网协会联合主办,以汽车“网络数据安全、软件安全、功能安全”为主题,汇聚了国内外的技术专家、…...
2024前端面试题分享
前言 最近忙着面试很久没有更新文章了,分享一下我收集的前端面经,当然题目仅供参考(乞求秋招offer) 面试题 响应式布局 ---根据用户的的窗口变化而变化的布局方式 react 的hooks ---官方提供的钩子和自定义的钩子…...
数学基础 -- 线性代数之正交矩阵
正交矩阵 正交矩阵是线性代数中的一个重要概念,具有许多优良的性质,在数值计算、线性变换、信号处理等领域有着广泛的应用。 1. 正交矩阵的定义 一个 n n n \times n nn 的方阵 Q Q Q 如果满足以下条件: Q T Q Q Q T I Q^T Q Q Q^T …...
PostgreSQL 17即将发布,新功能Top 3
按照计划,PostgreSQL 17 即将在 2024 年 9 月 26 日发布,目前已经发布了第一个 RC 版本,新版本的功能增强可以参考 Release Notes。 本文给大家分享其中 3 个重大的新增功能。 MERGE 语句增强 MERGE 语句是 PostgreSQL 15 增加的一个新功能…...
心觉:别再做单线程的打工人!换个思路突破
Hi,我是心觉,与你一起玩转潜意识、脑波音乐和吸引力法则,轻松搞定人生挑战,实现心中梦想! 挑战日更写作161/1000(完整记录在下面) 公门洞开纳百川 众心逐梦越千山 号召引领潜力绽 心觉潜意识无间 想让财富翻个2倍…...
深度学习-用神经网络NN实现足球大小球数据分析软件
文章目录 前言一、 数据收集1.1特征数据收集代码实例 二、数据预处理清洗数据特征工程: 三、特征提取四、模型构建五、模型训练与评估总结 前言 预测足球比赛走地大小球(即比赛过程中进球总数是否超过某个预设值)的深度学习模型是一个复杂但有…...
linux 9系统分区扩容
1.可以看到我的是9.2的系统,系统分区:/dev/mapper/rl-root 83G 8.0G 75G 10% / 2.接下来,我们新增一块新的硬盘,而不是直接对这个硬盘的基础上再扩容。 关机,加30G硬盘,再开机 fdisk -l fdisk /dev/…...
Solidity初体验
一、概念知识 什么是智能合约? 智能合约是仅在满足特定条件时才在区块链上部署和执行的功能,无需任何第三方参与。 由于智能合约本质上是不可变的和分布式的,因此它们在编写和部署后无法修改或更新。此外,分布式的意义在于任何…...
大模型笔记01--基于ollama和open-webui快速部署chatgpt
大模型笔记01--基于ollama和open-webui快速部署chatgpt 介绍部署&测试安装ollama运行open-webui测试 注意事项说明 介绍 近年来AI大模型得到快速发展,各种大模型如雨后春笋一样涌出,逐步融入各行各业。与之相关的各类开源大模型系统工具也得到了快速…...
html前段小知识点
1. 什么是HTML? 超文本标记语言是一种 用于创建网页的标准标记语言 HTML 文档包含了HTML 标签及文本内容 也叫文档1.什么是css? CSS (层叠样式表),是一种用来为结构化文档添加样式的计算机语言,CSS 文件扩展名为 .css。 可以设…...
AD7606工作原理以及FPGA控制验证(串行和并行模式)
文章目录 一、AD7606介绍二、AD7606采集原理2.1 AD7606功能框图2.2 AD7606管脚说明 三、AD7606并行模式时序分析以及实现3.1 并行模式时序图3.2 并行模式时序要求3.3 代码编写3.4 仿真观察 四、AD7606串行模式时序分析以及实现4.1 串行模式时序图4.2 串行模式时序要求4.3 代码编…...
如何查看Pod的Container资源占用情况
云原生学习路线导航页(持续更新中) 方法一:直接查看pod的资源占用 kubectl top pods ${pod-name} -n ${ns} 方法二:通过运行的进程,查看pod的某个容器资源占用 1.找到pod所在node容器号:kubectl descri…...
WordPress上可以内容替换的插件
插件下载地址:WordPress内容替换插件 – 果果开发 类型 替换的类型:文章、自定义文章类型、分类、标签、媒体库、页面、评论、数据库表,不同的类型可以替换不同的字段。 替换字段 替换的字段,哪些字段内容需要替换。除了数据库…...
C++ | Leetcode C++题解之第355题设计推特
题目: 题解: class Twitter {struct Node {// 哈希表存储关注人的 Idunordered_set<int> followee;// 用链表存储 tweetIdlist<int> tweet;};// getNewsFeed 检索的推文的上限以及 tweetId 的时间戳int recentMax, time;// tweetId 对应发送…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...
【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...
深入解析光敏传感技术:嵌入式仿真平台如何重塑电子工程教学
一、光敏传感技术的物理本质与系统级实现挑战 光敏电阻作为经典的光电传感器件,其工作原理根植于半导体材料的光电导效应。当入射光子能量超过材料带隙宽度时,价带电子受激发跃迁至导带,形成电子-空穴对,导致材料电导率显著提升。…...
