首款react19+electron41+antd高颜值桌面客户端中后台admin系统框架

举报
yxybox 发表于 2026/09/10 11:58:18 2026/09/10
【摘要】 最新跨平台技术栈Electron41、React19、Vite8、Zustand5、AntDesign、Echarts搭建高颜值桌面版后台Admin管理系统。

经过一周纯手搓研发,最新跨平台新项目Electron41+React19+AntDesign+Echarts桌面版管理系统ElectronReactAdmin,正式完结啦~

实现技术

  • 开发工具:VScode
  • 跨平台技术框架:Electron^41.1.0
  • 前端框架:react^19.2.8+react-router-dom^7.18.2
  • 构建工具:vite^8.2.2
  • 组件库:antd^6.6.3
  • 状态管理:zustand^5.0.15
  • 图表组件:echarts^6.1.0
  • 数据模拟:axios^1.20.0+mockjs^1.1.0
  • 打包工具:electron-builder^26.15.3
  • 样式管理:sass^1.104.0


p5.gif

p2.gif


360截图20260909073542010.png



项目功能

  1. 最新版技术栈Electron41、React19、Vite8、Zustand5、AntDesign、Echarts
  2. 支持亮色+暗黑主题界面
  3. 支持中英文/繁体三种国际化语言
  4. 支持动态路由、面包屑导航、tab标签栏路由
  5. 提供3种通用布局模板、随意变换布局风格
  6. 整合常用的图表、表格、表单、列表、编辑器、错误处理等业务模块
  7. electron41+react19封装多开新窗口


360截图20260909073742122.png

p4.gif


项目目录框架

使用最新跨平台框架Electron41搭配Vite8构建工具,创建React19项目模板。


360截图20260909073542009.png

目前这个项目已经正式的更新到我的原创作品小铺,欢迎去下载使用👇


p1.gif

360截图20260909074427741.png

360截图20260909074427743.png

360截图20260909074705093.png

360截图20260909074857862.png

360截图20260909074857864.png

360截图20260909074857869.png


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

import { createRoot } from 'react-dom/client'
import './style.scss'
import App from './App.jsx'

import { launchApp } from '@/windows/actions'

launchApp().then(config => {
  if(config) {
    // 全局存储窗口配置
    window.config = config
  }

  createRoot(document.getElementById('root')).render(
    <App />
  )
})

主模板App.jsx

import { useMemo } from 'react'
import { HashRouter } from 'react-router-dom'
import { ConfigProvider, theme, App as AntApp } from 'antd'

// 引入组件语言
import enUS from 'antd/locale/en_US'
import zhCN from 'antd/locale/zh_CN'
import zhTW from 'antd/locale/zh_TW'

// antd组件默认文案是英文,修改为中文
import dayjs from 'dayjs'
import 'dayjs/locale/zh-cn'
dayjs.locale('zh-cn')

import { ipcLoaded } from '@/windows/actions'
import { appStore } from '@/store/app'

// 引入路由配置
import Router, { AuthRouter } from './router'

function App() {
  ipcLoaded()
  const { lang, config: { isDark, themeColor } } = appStore()

  const locale = useMemo(() => {
    switch(lang) {
      case 'en':
        return enUS
      case 'zh-CN':
        return zhCN
      case 'zh-TW':
        return zhTW
      default:
        return zhCN
    }
  }, [lang])
  
  return (
    <ConfigProvider
      // 国际化
      locale={locale}
      // 主题
      theme={{
        token: {
          colorPrimary: themeColor || '#1677ff',
          fontFamily: "Inter, system-ui, Avenir, Helvetica, Arial, sans-serif",
        },
        algorithm: isDark ? theme.darkAlgorithm : theme.defaultAlgorithm
      }}
    >
      <AntApp>
        <HashRouter>
          <AuthRouter>
            <Router />
          </AuthRouter>
        </HashRouter>
      </AntApp>
    </ConfigProvider>
  )
}


p6.gif


Electron-ReactAdmin通用布局

/**
 * 主布局模板
 * @author andy
*/

import { useMemo } from 'react'
import clsx from 'clsx'
import { appStore } from '@/store/app'

// 引入布局模板
import Columns from './template/columns'
import Vertical from './template/vertical'
import Transverse from './template/transverse'

function MainLayout() {
  const { config: { skin, layout, fullContent } } = appStore()

  // 布局模板
  const LayoutComponent = useMemo(() => {
    switch (layout) {
      case 'columns':
        return Columns
      case 'vertical':
        return Vertical
      case 'transverse':
        return Transverse
      default:
        return Columns
    }
  }, [layout])

  return (
    <div className={clsx('radmin__container', { 'is-full': fullContent })}>
      <LayoutComponent />
    </div>
  )
}

export default MainLayout


p7.gif

360截图20260909081629872.png

360截图20260909081702495.png

360截图20260909081807255.png

360截图20260909081942072.png

360截图20260909081942073.png

360截图20260909082007755.png

360截图20260909082017416.png

360截图20260909082226820.png

360截图20260909082226821.png

360截图20260909082302785.png

360截图20260909082326639.png

360截图20260909082511936.png

360截图20260909082533423.png

360截图20260909082533425.png

360截图20260909082634561.png

360截图20260909082743064.png

360截图20260909082817992.png

360截图20260909082833758.png

360截图20260909082859080.png

360截图20260909082914677.png

360截图20260909083010608.png


整个项目涉及到的知识面还是挺全的,希望以上分享对大家有所帮助哈!

更多进阶实战项目案例👇

react网页版webos系统|React19+Zustand+Arco仿macOS桌面

React19+Electron聊天室|electron41跨平台仿微信EXE客户端|react聊天程序

原创deepseek-v4+react19仿豆包/kimi网页版ai聊天对话系统

Vite8-Naive-Admin高颜值web版通用后台管理模板

原创vite8+vue3.5+arco-design网页版webos管理系统模板

2026/6升级版Flutter3.41.5桌面级OS管理系统

Flutter3.41实战抖音直播+短视频+聊天

首发vite8.0+vue3+deepseek+markdown手搓网页版ai流式生成模板

Tauri2.9+Vue3实战电脑版OS系统|vite7.2+tauri2仿mac/wins桌面管理os模板

Electron38.2实战客户端OS系统|vite7+vue3+electron仿mac/wins桌面

Electron38+Vite7+Vue3+ElementPlus桌面客户端后台管理系统Exe

最新研发vite7.0+electron38客户端仿微信EXE聊天软件

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。