Electron + Vue3开源跨平台壁纸工具实战(一)

692 阅读3分钟

fbw_social_preview.png

系列

Electron + Vue3开源跨平台壁纸工具实战(一)

Electron + Vue3开源跨平台壁纸工具实战(二)本地运行

Electron + Vue3开源跨平台壁纸工具实战(三)主进程

Electron + Vue3开源跨平台壁纸工具实战(四)主进程-数据管理(1)

Electron + Vue3开源跨平台壁纸工具实战(五)主进程-数据管理(2)

Electron + Vue3开源跨平台壁纸工具实战(六)子进程服务

Electron + Vue3开源跨平台壁纸工具实战(七)进程通信

Electron + Vue3开源跨平台壁纸工具实战(八)主进程-核心功能

项目初衷

众里寻她千百度,没有找到心意的壁纸软件,于是乎就自己试着造一个。

源码

省流点我进Github获取源码,欢迎fork、star、PR

LICENSE total download release release status Commitizen friendly Ask DeepWiki

界面预览

搜索

fbw_search.png

窗口浏览

fbw_viewer_window.png

内联浏览

fbw_viewer_inline.png

图片信息

fbw_image_info.png

工具

fbw_utils.png

设置

fbw_settings.png

H5首页

fbw_h5_home.png

H5设置

fbw_h5_settings.png

核心功能

  1. 多源壁纸 - 集成NASA、Unsplash、Pixabay等多个优质壁纸源,支持自定义壁纸源插件,同时支持本地目录图片。

  2. 智能搜索 - 支持关键词搜索与智能分类,快速定位心仪壁纸。

  3. 一键管理 - 一键设置壁纸、收藏图片、本地保存,操作简便高效。

  4. 桌面悬浮球 - 快速切换壁纸功能,无需打开主界面。

  5. H5端 - 支持手机端访问,随时随地浏览壁纸。

  6. 多语言支持 - 内置多语言界面,满足国际化需求。

  7. 自动更新 - 自动检测更新,保持应用最新状态。

  8. 跨平台兼容 - 完美支持Windows和macOS系统。

  9. 定时任务 - 支持设置定时更换壁纸、刷新目录、下载资源,自动切换桌面背景。

  10. 词库功能 - 通过分词自动生成词库,方便用户快速搜索关键词。

  11. 历史记录 - 记录使用过的壁纸,方便回顾和重复使用。

  12. 收藏功能 - 收藏喜爱的壁纸,建立个人壁纸库。

  13. 隐私空间 - 提供隐私保护的壁纸存储空间,确保个人隐私。

  14. 图片预览 - 支持壁纸预览功能,查看壁纸细节和效果。

实验室功能

  1. 动态壁纸 - 支持动态壁纸,为桌面增添生动效果。
  2. 网页壁纸 - 支持将网页设置为壁纸,创意无限。

技术栈

  • Electron框架 - 确保跨平台兼容性
  • Vue 3前端 - 构建现代化用户界面
  • 模块化设计 - 提高应用稳定性
  • 插件系统 - 支持扩展新壁纸源
  • SQLite数据库 - 本地存储用户数据
  • WebSocket通信 - 实现前后端实时交互

目录结构

Flying-Bird-Wallpaper/
├── .github/                    # GitHub工作流配置
├── .vscode/                    # VS Code编辑器配置
├── build/                      # 构建相关资源
│   ├── Flying-Bird-Wallpaper.iss  # Windows安装程序脚本
│   ├── entitlements.mac.plist  # macOS权限配置
│   └── icon.*                  # 应用图标文件
├── docs/                       # 项目文档
├── resources/                  # 资源文件
│   ├── api/                    # API集成模块
│   │   ├── bing.mjs            # Bing壁纸API
│   │   ├── nasa.mjs            # NASA图片API
│   │   ├── pexels.mjs          # Pexels API
│   │   ├── pixabay.mjs         # Pixabay API
│   │   ├── unsplash.mjs        # Unsplash API
│   │   └── birdpaper.mjs       # Birdpaper API
│   ├── icons/                  # 应用图标资源
│   ├── lib/                    # 原生库文件
│   └── plugin-templates/       # 插件模板
├── scripts/                    # 构建脚本
├── src/                        # 源代码
│   ├── common/                 # 共享代码
│   │   ├── config.js           # 配置文件
│   │   └── publicData.js       # 公共数据
│   ├── h5/                     # H5网页版代码
│   │   ├── api/                # H5请求API
│   │   ├── assets/             # H5静态资源
│   │   ├── components/         # H5组件
│   │   ├── pages/              # H5页面
│   │   ├── stores/             # 状态管理
│   │   └── main.js             # H5入口文件
│   ├── i18n/                   # 国际化
│   │   ├── locale/             # 语言文件
│   │   ├── i18next.js          # i18next配置
│   │   ├── server.js           # 服务端i18n
│   │   └── web.js              # 网页端i18n
│   ├── main/                   # Electron主进程
│   │   ├── child_server/       # 子进程服务
│   │   ├── jobs/               # 定时任务
│   │   ├── store/              # 数据存储
│   │   ├── utils/              # 工具函数
│   │   ├── ApiBase.js          # API基类
│   │   ├── cache.mjs           # 缓存管理
│   │   ├── logger.mjs          # 日志系统
│   │   ├── updater.mjs         # 自动更新
│   │   └── index.mjs           # 主进程入口
│   ├── preload/                # 预加载脚本
│   └── renderer/               # 渲染进程
│       ├── assets/             # 前端资源
│       ├── components/         # UI组件
│       ├── stores/             # 状态管理
│       ├── utils/              # 工具函数
│       └── windows/            # 窗口管理
├── electron.vite.config.mjs    # Electron Vite配置
├── h5.vite.config.mjs          # H5 Vite配置
├── electron-builder.yml        # 应用打包配置
├── package.json                # 项目依赖
└── README.md                   # 项目说明