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 对应发送…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践
在电商行业蓬勃发展的当下,多平台运营已成为众多商家的必然选择。然而,不同电商平台在商品数据接口方面存在差异,导致商家在跨平台运营时面临诸多挑战,如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...
python基础语法Ⅰ
python基础语法Ⅰ 常量和表达式变量是什么变量的语法1.定义变量使用变量 变量的类型1.整数2.浮点数(小数)3.字符串4.布尔5.其他 动态类型特征注释注释是什么注释的语法1.行注释2.文档字符串 注释的规范 常量和表达式 我们可以把python当作一个计算器,来进行一些算术…...
【Qt】控件 QWidget
控件 QWidget 一. 控件概述二. QWidget 的核心属性可用状态:enabled几何:geometrywindows frame 窗口框架的影响 窗口标题:windowTitle窗口图标:windowIconqrc 机制 窗口不透明度:windowOpacity光标:cursor…...
PLC入门【4】基本指令2(SET RST)
04 基本指令2 PLC编程第四课基本指令(2) 1、运用上接课所学的基本指令完成个简单的实例编程。 2、学习SET--置位指令 3、RST--复位指令 打开软件(FX-TRN-BEG-C),从 文件 - 主画面,“B: 让我们学习基本的”- “B-3.控制优先程序”。 点击“梯形图编辑”…...
