最新研发electron38+vite7+arco-design电脑端os后台管理ElectronViteOS

vite7-electron38-os最新款vite7.1+electron38.2+vue3 setup+pinia3+arcoDesign+echarts实战仿macOS/windows风格桌面os管理系统Exe模板。自研可拖拽栅格布局结构、自定义JSON配置桌面菜单/Dock菜单。

使用技术

  • 编码工具:vscode
  • 跨平台框架:electron^38.2.0
  • 前端技术框架:vite^7.1.7+vue^3.5.21+vue-router^4.5.1
  • 组件库:@arco-design/web-vue^2.57.0 (字节前端vue3组件库)
  • 状态管理:pinia^3.0.3
  • 拖拽插件:sortablejs^1.15.6
  • 图表组件:echarts^6.0.0
  • markdown编辑器:md-editor-v3^6.0.1
  • 模拟数据:mockjs^1.1.0
  • 打包构建:electron-builder^24.13.3
  • electron+vite插件:vite-plugin-electron^0.29.0

功能特点

  1. Electron38封装高复用多开窗口管理
  2. 支持macOS/Windows两种桌面风格
  3. 支持自定义json配置桌面菜单和Dock菜单
  4. 自研桌面栅格化拖拽布局引擎
  5. 自定义桌面个性化壁纸、全场景毛玻璃模糊效果
  6. 支持独立新开窗口打开路由页面

项目结构目录

electron38-vue3-os使用 Vite7.1.7 整合 Electron38 跨平台框架搭建项目模板,采用vue3 setup语法糖风格编码开发。

electron38-vue3os桌面端os系统已经更新到我的原创作品集。

Electron38+Vite7+ArcoDesign桌面OS管理系统

Electron主进程配置

/**
* electron主线程配置
* @author andy
*/ import { app, BrowserWindow } from 'electron' import { WindowManager } from '../src/windows/index.js' // 忽略安全警告提示 Electron Security Warning (Insecure Content-Security-Policy)
process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = true const createWindow = () => {
let win = new WindowManager()
win.create({isMajor: true})
// 系统托盘管理
win.trayManager()
// 监听ipcMain事件
win.ipcManager()
} app.whenReady().then(() => {
createWindow() app.on('activate', () => {
if(BrowserWindow.getAllWindows().length === 0) createWindow()
})
}) app.on('window-all-closed', () => {
if(process.platform !== 'darwin') app.quit()
})

项目入口配置main.js

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')
})

ElectronOS桌面布局模板

内置了macOS/windows两种风格桌面布局模板。

<!-- 桌面模板 -->

<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>

electron-vue3os栅格桌面布局

自定义桌面图标变量

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配置参数

/**
* Desk菜单配置参数
* @param label 图标标题
* @param imgico 图标(本地或网络图片) 支持ArcoDesign内置图标或自定义iconfont图标
* @param path 跳转路由页面
* @param link 跳转外部链接
* @param hideLabel 是否隐藏图标标题
* @param filter 是否禁用拖拽
* @param background 自定义图标背景色
* @param color 自定义图标颜色
* @param size 栅格磁贴布局(16种) 1x1 ... 12x12
* @param padding 内边距
* @param onClick 点击图标回调函数
* @param isNewin 新窗口打开路由页面
* @param children 二级菜单
*/

桌面菜单配置片段

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({
// ...
})
}
},
]
}
]

综上就是electron38+vite7+vue3搭建桌面客户端os系统的一些项目分享,希望对大家有所帮助~

附上几个最新实战项目模板

electron38-admin桌面端后台|Electron38+Vue3+ElementPlus管理系统

Electron38-Wechat电脑端聊天|vite7+electron38仿微信桌面端聊天系统

vite7-webos网页版os管理|Vue3+Vite7+ArcoDesign搭建pc端os后台系统

Vite7网页版聊天|Vue3.5+Pinia3+ElementPlus仿微信网页端web聊天系统

最新版uni-app+vue3+uv-ui跨三端仿微信app聊天应用【h5+小程序+app端】

最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】

Flutter3-MacOS桌面OS系统|flutter3.32+window_manager客户端OS模板

最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用

Uniapp-DeepSeek跨三端AI助手|uniapp+vue3+deepseek-v3流式ai聊天模板

vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果

flutter3-dymall仿抖音直播商城|Flutter3.27短视频+直播+聊天App实例

tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序

Electron38-Vue3OS客户端OS系统|vite7+electron38+arco桌面os后台管理的更多相关文章

  1. Django:(博客系统)使用使用mysql数据->后台管理tag/post/category的配置

    Django后台一般是不需要人为的去开发的,因为django已经通过配置实现哪些模块是后台需要管理,如何排序,列表展示哪些列,列显示名称,是否为空(默认值),过滤条件,分页页数,列表中哪些项可编辑等等 ...

  2. Mac OS系统

    Mac OS系统 目录 概述 Mac OS系统常用操作 概述 Mac OS系统常用操作 显示或隐藏文件 在终端输入:defaults write com.apple.finder AppleShowA ...

  3. 首个攻击该Mac OS系统的恶意软件——KeRanger

    首个攻击该Mac OS系统的恶意软件——KeRanger 曾几何时,苹果操作系统一度被人认为是最安全的操作系统.然而近几年,针对苹果系统的攻击日益增多,影响范围也越来越大.无独有偶,近日,苹果Mac  ...

  4. OS.js – 开源的 Web OS 系统,赶快来体验

    OS.js 是一个开源的 Web OS 系统,可以在浏览器中运行,提供了窗口管理器,应用程序API,用户界面开发套件和抽象的文件系统等.可以部署在 Node 或者 PHP 环境中运行.OS.js is ...

  5. OS 系统下安装MySql 配置MySql环境变量

    学习Hive需要,闲话不说 本文的内容: 下载Mysql for Mac 下载Mysql Workbench 安装 Mysql 和 Mysql Workbench 配置Mysql在OS 系统上的环境变 ...

  6. 在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结

    在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结 一.资料来源:    网上一共找到两个方法,一个是视频上的教程,一个是网页资料. 二.视频资料方法内容:1.install qe ...

  7. Google工程师打造Remix OS系统 桌面版安卓下载

    三位前Google工程师打造的Remix OS系统终于来到了PC桌面上,现已可以下载尝鲜. Remix OS for PC基于Android-x86项目,由安卓5.1 Lollipop深度定制而来,不 ...

  8. ARM公布“物联网”嵌入式mbed OS系统软件平台

    继ARM公司发布了为嵌入式微控制器设计的Cortex-M7架构处理器,ARM又公布了专为廉价低功耗“物联网”设计的新版软件及系统平台,以加速物联网设备的发展及部署.该软件为基于ARM现有Cortex- ...

  9. 教你Mac OS系统四种改动Hosts文件的方法

    使用Mac OS X系统的用户.在某些时候可能遇到了须要改动系统Hosts文件的情况,那么Mac OS系统怎样改动Hosts文件呢?和Windows系统有何差别呢?我们知道事实上改动Hosts文件仅仅 ...

  10. 使用VMware Workstation Pro 12 虚拟机安装Mac OS系统教程 全程图解

    导读:使用虚拟机安装Windows.Linux或者Ubuntu系统大家或许看了很多,但如何使用VMware Workstation Pro 12安装Mac OS,的确需要好好研究一番:否则无法下手,因 ...

随机推荐

  1. Ansys 学习笔记

    简介 生成新的应力分析 局部分析 image 还有网格精度判定 要覆盖两个网格层才可以

  2. RestCloud iPaaS集成平台,企业系统快速集成

    RestCloud iPaaS集成平台,为企业提供全面的业务系统集成解决方案.当今企业各业务系统间需要相互协助来完成业务,外部API依赖越来越多,同时系统运行在多个混合云环境及SaaS中,私有端大量业 ...

  3. SciTech-EECS-Autosar(自动驾驶)-Hardware:硬件: 整车 高压系统架构

    整车 高压系统架构 整车电路 电控部分包括: 电瓶(储能): 低压电池:LVDC(直流低压,常用的有大多数是12V,少数5V). 为"Controller"(控制器) 供电: 不能 ...

  4. SciTech-Mathmatics-automatic equation Numbering \$\begin{equation} / \tag{E} / \label{E} / \\ref{E} \\end{equation}

    official docs: https://docs.mathjax.org/en/latest/input/tex/eqnumbers.html ote that the AMS environm ...

  5. CF1530G 题解

    考虑对操作进行转换.假设 \(a_i\) 为第 \(i\) 个 \(1\) 前面的 \(0\) 的个数. 则操作可以进行如下转换: 转换 1:选择一个长度为 \(k + 1\) 的子区间 \(a_{l ...

  6. GROOVY 特征(继承,重写)

    class Example { static void main(String[] args) { Student st = new Student(); st.StudentID = 1; // p ...

  7. CNVD-2024-15077 AJ-Report 认证绕过与远程代码执行漏洞 (复现)

    CNVD-2024-15077目录终端下执行docker compose up -d启动容器, 访问ip:9095进入漏洞页面 向目标服务器发送以下 POST 请求,利用漏洞执行任意命令 curl - ...

  8. Freemarker的时间相关

    1.freemarker的时间转换 //标准日期转日期字符串 ${parameters.fieldDate?date} //标准日期转日期+时间 字符串 ${parameters.fieldDate? ...

  9. js处理后端返回的不同文件的流

    var fileformData = new FormData(); fileformData.append('file1',vm.fileListLeft[0].raw); fileformData ...

  10. Android | java安卓上位机开发 策略模式实现多连接方式的扩展

    在进行安卓上位机项目开发时,最初的通讯方式只有一种--低功耗蓝牙,后续由于项目需求,新增了wifi通讯模式,在新增通讯模式后,需要对原有代码进行重构,以实现新增功能,并且需要考虑到增加其他通讯方式的扩 ...