# MoneyClock **Repository Path**: programmer-k/money-clock ## Basic Information - **Project Name**: MoneyClock - **Description**: 一个基于Vue + Electron技术栈的现代化桌面招财猫应用程序。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2025-11-14 - **Last Updated**: 2025-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: Vue, JavaScript, Electron, macOS, Windows ## README # MoneyClock - 桌面宠物招财猫 一个基于Vue + Electron技术栈的现代化桌面招财猫应用程序。 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 ### Mac/Windos 应用下载地址: https://gitee.com/programmer-k/money-clock/releases ## 功能特性 ### 🐱 核心功能 - **实时秒薪计算** - 根据月工资和工作时间,实时计算并显示每秒赚取的工资 - **累计金额显示** - 动态累加显示工作时间内的累计收入 - **多皮肤支持** - 提供多种招财猫皮肤选择,个性化您的桌面宠物 - **智能动画效果** - 流畅的金钱浮动动画,支持鼠标悬停暂停 - **自适应显示** - 自动调整字体大小,适应不同屏幕尺寸 ### ⏰ 时间功能 - **实时时间显示** - 精确到秒的实时时间更新 - **工作时间设置** - 可自定义上班和下班时间 - **个性化工资配置** - 支持自定义月工资,自动计算时薪、分薪、秒薪 ### 🖥️ 桌面功能 - **窗口置顶** - 可选择是否始终显示在最前端 - **系统托盘** - 支持最小化到系统托盘,跨平台托盘功能一致性适配 - **跨平台支持** - 支持Windows、macOS、Linux系统 - **聊天交互** - 内置聊天对话框,增加互动乐趣 ### ⚡ 性能优化 - **低资源占用** - 优化内存和CPU使用,后台运行不卡顿 - **快速响应** - 流畅的动画和交互效果 - **轻量级设计** - 应用体积小,启动速度快 ## 技术栈 - **前端框架**: Vue 3.3.8 - **桌面框架**: Electron 27.3.11 - **构建工具**: Vite 5.4.21 - **状态管理**: Pinia 2.1.7 - **样式**: CSS3 + CSS Variables - **打包工具**: electron-builder 24.6.4, electron-packager 17.1.2 ## 开发环境要求 - **Node.js**: 16.0 或更高版本 - **npm**: 7.0 或更高版本 - **操作系统**: Windows 10+, macOS 10.12+, Linux (Ubuntu 18.04+) - **开发工具**: VS Code 推荐,支持 Vue 和 Electron 插件 ## 安装和运行 ### 1. 安装依赖(使用淘宝镜像加速) ```bash npm install ``` ### 2. 开发模式运行 ```bash npm run dev ``` ### 3. 构建应用 ```bash # 构建Web版本 npm run build ``` ### 4. 本地桌面启动 ```bash npm run electron-dev ``` ### Windows平台打包 ```bash # 方法一:超优化打包命令(体积最小化,推荐) $env:ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/" npm run pack-win-ultra # 方法二:设置环境变量后使用优化命令 $env:ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/" npm run pack-win-optimized ``` ### MacOS平台打包 ```bash # 方法一:使用electron-builder打包(生成DMG格式,推荐) export ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ npm run dist # 方法二:使用electron-packager打包(生成应用目录) npx electron-packager . MoneyClock --platform=darwin --arch=arm64 --out=dist-packaged --overwrite # 方法三:使用electron-packager打包x64架构(适用于Intel芯片Mac) npx electron-packager . MoneyClock --platform=darwin --arch=x64 --out=dist-packaged --overwrite ``` #### 打包结果 - **electron-builder**: `dist-electron/Money Clock-1.0.0-arm64.dmg`(优化后大小:84MB)或 `dist-electron/Money Clock-1.0.0-x64.dmg` - **electron-packager**: `dist-packaged/MoneyClock-darwin-arm64/MoneyClock.app` 或 `dist-packaged/MoneyClock-darwin-x64/MoneyClock.app` #### 运行应用 1. 双击DMG文件挂载磁盘镜像(如果使用electron-builder) 2. 将`MoneyClock.app`拖到Applications文件夹(推荐) 3. 双击`MoneyClock.app`即可运行 ### 跨平台托盘功能说明 ✅ **已实现跨平台托盘功能一致性适配** - **Windows系统**: 完整的托盘功能,包括图标、上下文菜单、通知等 - **macOS系统**: 与Windows系统保持完全一致的视觉呈现和功能表现 - **平台规范**: 遵循各自系统的UI设计规范 - **API差异**: 解决了平台间的API差异问题 - **兼容性**: 已进行充分的兼容性测试验证 #### 托盘功能特点 - 点击托盘图标显示/隐藏主窗口 - 右键菜单提供快速操作选项 - 支持动态更新托盘状态 - 跨平台一致的用户体验 - 符合各平台系统规范 ## 项目结构 ``` MoneyClock/ ├── assets/ # 静态资源目录 │ ├── mac-tray/ # macOS托盘图标 │ │ ├── money-24.png │ │ ├── money-24@2x.png │ │ └── money-48.png │ ├── cat.png # 默认猫咪皮肤 │ ├── cat1.png # 猫咪皮肤1 │ ├── cat2.png # 猫咪皮肤2 │ ├── cat3.png # 猫咪皮肤3 │ ├── cat4.png # 猫咪皮肤4 │ ├── money.ico # Windows应用图标 │ └── money.png # 主应用图标 ├── electron/ # Electron主进程文件 │ ├── main.js # 主进程入口 │ └── preload.js # 预加载脚本 ├── public/ # 公共静态资源 │ └── cat.svg # SVG猫咪图标 ├── src/ # Vue源代码 │ ├── components/ # Vue组件 │ │ ├── ChatDialog.vue # 聊天对话框组件 │ │ ├── ClockDisplay.vue # 时钟显示组件 │ │ ├── SalaryModal.vue # 工资设置模态框 │ │ ├── SettingsModal.vue # 系统设置模态框 │ │ └── SkinSelector.vue # 皮肤选择器 │ ├── App.vue # 根组件 │ ├── main.js # Vue入口文件 │ └── style.css # 全局样式 ├── .gitignore # Git忽略配置 ├── CHAT_DIALOG_FLOAT_TEST.md # 聊天对话框浮动测试文档 ├── index.html # HTML模板 ├── LICENSE # 许可证文件 ├── package.json # 项目配置和依赖管理 ├── package-lock.json # 依赖锁定文件 ├── README.md # 项目说明文档 ├── vite.config.js # Vite配置文件 └── vite.config.mjs # Vite配置文件(ES模块格式) ``` ### 打包输出目录(执行打包命令后生成) ``` MoneyClock/ ├── dist/ # Web构建输出目录 ├── dist-electron/ # electron-builder打包输出(生成DMG文件) │ └── Money Clock-1.0.0-arm64.dmg # macOS ARM64 DMG包(优化后大小:84MB) ├── dist-packaged/ # 标准打包输出 │ └── MoneyClock-win32-x64/ # Windows 64位打包结果 └── dist-optimized/ # 优化打包输出(推荐) └── MoneyClock-win32-x64/ # Windows 64位优化打包结果 ``` ## 使用说明 ### 基本操作 1. **拖拽移动** - 点击窗口任意位置可拖拽移动窗口 2. **最小化** - 点击右上角的 "−" 按钮 3. **关闭** - 点击右上角的 "×" 按钮 4. **置顶切换** - 点击图钉图标切换置顶状态 ### 设置功能 1. **时间格式** - 点击底部按钮切换12/24小时制 2. **透明度** - 点击"透明度"按钮调节窗口透明度 3. **主题切换** - 点击"主题"按钮选择不同主题风格 ### 快捷操作 - 所有设置都会自动保存,下次启动时恢复 - 支持系统托盘右键菜单快速操作 - 窗口大小可自由调整 ## 开发说明 ### 主要组件说明 #### ClockDisplay.vue - 主要的时钟显示组件 - 包含时间显示、日期显示、控制按钮 - 处理实时时间更新和用户交互 #### SettingsModal.vue - 设置模态框组件 - 提供完整的设置选项界面 - 处理主题、格式、透明度等设置 ### Electron集成 - 使用IPC通信实现主进程和渲染进程数据交互 - 通过preload脚本暴露安全的API接口 - 实现窗口控制、透明度调节等原生功能 ## 许可证 MIT License ## 贡献 欢迎提交Issue和Pull Request来改进这个项目!