# wallpic **Repository Path**: nickchen-zoom/wallpic ## Basic Information - **Project Name**: wallpic - **Description**: 一个有关图片的各种能力的客户端 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-03-18 - **Last Updated**: 2026-04-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Wallpic 轻量级桌面壁纸客户端,支持在线图片设置、定时切换、收藏与历史记录。 ## 功能 #### 壁纸 - **在线选图** - **收藏壁纸** - **历史壁纸** - **定时切换** #### 图片工具 - **图片压缩** - **文生Logo** #### 视频工具 - **视频剪切** - **视频拼接** ## 技术栈 - Electron + Vue 3 + Vite (electron-vite) - Element Plus - wallpaper (跨平台壁纸设置) - electron-store (本地存储) - node-schedule (定时任务) ## 开发 ```bash yarn install yarn dev ``` > 若在 Cursor 等 IDE 中运行报错 `Cannot read properties of undefined (reading 'whenReady')`,可能是 `ELECTRON_RUN_AS_NODE` 环境变量导致。请在终端中运行: > ```bash > ELECTRON_RUN_AS_NODE= yarn dev > ``` ## 打包 ```bash pnpm build:mac # macOS(或 npm run build:mac) pnpm build:win # Windows ``` ### macOS 打包说明(arm64 / ffprobe) 在 Apple Silicon 上打 **arm64** 包时,若 `node_modules/ffprobe-static` 里同时存在 **`bin/darwin/x64`** 与 **`bin/darwin/arm64`**,会把 x64 的 `ffprobe` 一并打进 `app.asar.unpacked`。随后 **codesign**(含 `hardenedRuntime`)对该 x64 二进制做签名时,可能报错: `main executable failed strict validation` **处理方式(本项目已配置):** 1. **`electron-builder` 26** 的配置 schema **不支持** 根级 `beforeSign`,请勿在 `electron-builder.yml` 中配置该项,否则会直接报配置无效。 2. 使用根级 **`afterPack: scripts/trimFfprobeArch.cjs`**:在应用已打包完成、**尚未 codesign** 时执行脚本,根据输出目录(如 `dist/mac-arm64`)判断目标架构,并删除当前包不需要的 ffprobe 目录(arm64 包删除 `darwin/x64`,x64 包删除 `darwin/arm64`)。 3. 若需在 **Intel Mac 上打 x64 包**,请确认脚本逻辑与依赖中的 ffprobe 架构一致;**universal** 目标不会删任一侧架构。 脚本与说明见仓库内 [`scripts/trimFfprobeArch.cjs`](scripts/trimFfprobeArch.cjs)、[`electron-builder.yml`](electron-builder.yml)。 ## 支持平台 - Windows 10+ - macOS 10.14.4+