# message-app **Repository Path**: gfh_he/message-app ## Basic Information - **Project Name**: message-app - **Description**: 适用于Windows和Mac双平台的消息推送APP - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-11 - **Last Updated**: 2025-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 消息推送助手 基于 Electron + Vue3 + Vite + SignalR 开发的跨平台消息推送桌面应用。 ## 功能特性 - 🔐 **用户认证** - 支持用户登录/退出,Token 持久化 - 📨 **实时消息推送** - 基于 SignalR 的实时通信 - 🔔 **系统通知** - 跨平台桌面通知支持 - 📱 **消息管理** - 消息列表、详情查看、已读/未读状态 - 🎯 **应用常驻** - 系统托盘/状态栏常驻运行 - 🏷️ **未读角标** - Windows 托盘提示 / macOS Dock 角标 - ⚙️ **设置管理** - 服务器配置、通知设置、开机自启 - 🖥️ **跨平台** - 支持 Windows 和 macOS ## 技术栈 - **前端框架**: Vue 3 + Vite - **桌面框架**: Electron - **UI 组件**: Element Plus - **状态管理**: Pinia - **实时通信**: SignalR - **样式预处理**: Sass/SCSS - **路由管理**: Vue Router ## 项目结构 ``` ├── electron/ # Electron 主进程文件 │ ├── main.js # 主进程入口 │ ├── preload.js # 预加载脚本 │ └── assets/ # 应用图标等资源 ├── src/ # Vue 前端源码 │ ├── components/ # 公共组件 │ ├── views/ # 页面组件 │ ├── stores/ # Pinia 状态管理 │ ├── router/ # 路由配置 │ ├── utils/ # 工具函数 │ └── styles/ # 样式文件 ├── public/ # 静态资源 ├── dist/ # 前端构建输出 ├── dist-electron/ # Electron 构建输出 └── package.json # 项目配置 ``` ## 开发环境要求 - Node.js 16+ - npm 或 yarn ## 安装依赖 ```bash npm install ``` ## 开发调试 1. 启动前端开发服务器: ```bash npm run dev ``` 2. 启动 Electron 应用: ```bash npm run electron:dev ``` ## 构建打包 ### 构建所有平台 ```bash npm run build ``` ### 仅构建 Windows ```bash npm run build:win ``` ### 仅构建 macOS ```bash npm run build:mac ``` ## 使用说明 ### 登录 - 默认演示账户: - 用户名: `admin` - 密码: `123456` ### 消息推送 - 登录后自动连接 SignalR Hub - 接收实时消息推送 - 支持桌面通知提醒 ### 应用常驻 - Windows: 最小化到系统托盘 - macOS: 最小化到 Dock 和菜单栏 - 支持右键菜单操作 ### 设置配置 - 服务器地址配置 - 通知开关设置 - 开机自启配置 - 数据管理功能 ## 跨平台特性 | 功能 | Windows | macOS | |------|---------|-------| | 系统通知 | Windows Toast | Notification Center | | 应用常驻 | 系统托盘 | Dock + Menu Bar | | 未读角标 | 托盘提示 | Dock Badge | | 开机自启 | 注册表启动项 | Launch Agents | ## 开发说明 ### 主要模块 1. **认证模块** (`src/stores/auth.js`) - 用户登录/退出 - Token 管理 - 自动登录 2. **消息模块** (`src/stores/message.js`) - 消息存储管理 - 已读/未读状态 - 本地持久化 3. **SignalR 模块** (`src/stores/signalr.js`) - 实时连接管理 - 消息接收处理 - 断线重连 4. **Electron 主进程** (`electron/main.js`) - 窗口管理 - 系统通知 - 托盘/菜单栏 - IPC 通信 ### 自定义配置 可以通过修改以下文件进行自定义: - `src/stores/auth.js` - 修改登录逻辑和服务器配置 - `electron/main.js` - 修改窗口行为和系统集成 - `src/styles/variables.scss` - 修改主题颜色和样式 ## 许可证 MIT License ## 贡献 欢迎提交 Issue 和 Pull Request!