feat(app): 初始化本地通知桌面应用
搭建 .NET 8 WPF 应用骨架,加入系统托盘、单实例启动与主控制面板。 实现本地 HTTP /notify 消息接入、频道严格匹配、免打扰、熔断限流与历史持久化。 补充弹窗样式配置、队列/推挤/替换展示、溢出处理、应用图标和项目文档。 Initial-Commit: true
This commit is contained in:
36
README.md
Normal file
36
README.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Omni-Notify
|
||||
|
||||
Omni-Notify is a Windows 10+ WPF desktop app for receiving local structured messages and showing configurable, non-interactive visual popups.
|
||||
|
||||
## Tech Stack
|
||||
|
||||
- .NET 8 WPF for the desktop UI and popup windows
|
||||
- Windows Forms `NotifyIcon` for the system tray entry
|
||||
- Built-in `HttpListener` for local message intake
|
||||
- JSON persistence under `%LOCALAPPDATA%\OmniNotify\state.json`
|
||||
|
||||
## Local Message API
|
||||
|
||||
When the app is running, it listens by default on:
|
||||
|
||||
```text
|
||||
http://127.0.0.1:19845/notify
|
||||
```
|
||||
|
||||
Send a POST request with UTF-8 JSON:
|
||||
|
||||
```json
|
||||
{
|
||||
"channel": "default",
|
||||
"title": "Build finished",
|
||||
"body": "The nightly job completed successfully."
|
||||
}
|
||||
```
|
||||
|
||||
Channels must be created in the control panel first. Unknown channels are blocked and recorded in history as `IllegalChannel`.
|
||||
|
||||
## Build
|
||||
|
||||
```powershell
|
||||
dotnet build
|
||||
```
|
||||
Reference in New Issue
Block a user