经过半个月爆肝式开发,又一款原创新作vite-macos网页版osx管理系统项目,正式完结了。
vite-macos支持windows和macos桌面、自定义桌面栅格布局引擎、可拖拽桌面图标、多屏分页管理、自定义桌面壁纸主题、毛玻璃虚化背景。
采用vite.js
构建项目,使用vue3 setup
语法糖标准语法编码开发。
/** * 主入口配置main.js * @author andy */ import { createApp } from 'vue' import './style.scss' import App from './App.vue' // 引入arco.design组件库 import ArcoDesign from '@arco-design/web-vue' import '@arco-design/web-vue/dist/arco.css' // 额外引入图标库 import ArcoIcon from '@arco-design/web-vue/es/icon' import VEPlus from 've-plus' import 've-plus/dist/ve-plus.css' // 引入路由及状态管理 import Router from './router' import Pinia from './pinia' const app = createApp(App) app .use(ArcoDesign) .use(ArcoIcon) .use(VEPlus) .use(Router) .use(Pinia) .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 desktop flexbox flex-alignc flex-justifyc" :style="{'--themeSkin': appstate.config.skin}" @contextmenu.prevent > <component :is="DeskLayout[appstate.config.layout]" /> </div> </template>
自定义桌面图标变量。
// 自定义变量(桌面图标) const deskVariable = ref({ '--icon-radius': '8px', // 圆角 '--icon-size': '60px', // 图标尺寸(设置rpx自定义手机设备) '--icon-gap-col': '30px', // 水平间距 '--icon-gap-row': '30px', // 垂直间距 '--icon-labelSize': '12px', // 标签文字大小 '--icon-labelColor': '#fff', // 标签颜色 '--icon-fit': 'contain', // 图标自适应模式 })
桌面菜单配置项
/** * 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 点击图标回调函数 */
通过开发这个webos项目,探索一种全新的os式后台管理系统模式。