mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-08-18 15:33:33 +08:00
158 lines
5.3 KiB
Markdown
158 lines
5.3 KiB
Markdown
# 阑山桌面LanMountainDesktop
|
||
|
||
> 你的桌面,不止一面
|
||
|
||
[](https://dotnet.microsoft.com/)
|
||
[](https://avaloniaui.net/)
|
||
[](LICENSE)
|
||
|
||
> [!IMPORTANT]
|
||
> **温馨提示**:本项目有部分成分由**氛围编程 (Vibe Coding)** 方式编写。
|
||
>
|
||
> 如果您对此类项目有固有的排斥感,请无视此项目,谢谢。
|
||
|
||
## 简介
|
||
|
||
**阑山桌面**是一个跨平台桌面环境增强工具,面向需要高频查看信息、追求桌面效率与个性化体验的用户。
|
||
|
||
基于 Avalonia UI 和 .NET 10 构建,支持 Windows、Linux、macOS 三大平台。
|
||
|
||

|
||

|
||

|
||
|
||
## 核心特性
|
||
|
||
### 📊 信息聚合
|
||
- 课程表、日历、天气、新闻、热搜
|
||
- 所有信息一目了然,无需频繁切换窗口
|
||
|
||
### 🎯 效率工具
|
||
- 自习环境监测、计时器、知识卡片
|
||
- 最近文档、浏览器快捷入口
|
||
- 常用工具组件一键触达
|
||
|
||
### 🎨 个性化桌面
|
||
- 自由布局,随心所欲摆放组件
|
||
- 多页桌面,工作学习场景分离
|
||
- 主题切换、玻璃效果、圆角风格
|
||
|
||
### 🔌 插件生态
|
||
- 通过 `.laapp` 插件扩展功能
|
||
- 官方 Plugin SDK 支持自定义组件
|
||
- 设置页、组件、集成功能一站式接入
|
||
|
||
## 为谁而设计
|
||
|
||
| 用户类型 | 典型场景 |
|
||
|---------|---------|
|
||
| 🎓 学生用户 | 课程表、自习监测、计时、天气和日常信息聚合 |
|
||
| 💼 办公用户 | 日历、资讯、最近文档、常用工具入口 |
|
||
| 🎨 效率爱好者 | 自由布局、主题切换、插件扩展 |
|
||
| 🇨🇳 中文用户 | 本地化界面、农历和节假日等本地语境支持 |
|
||
|
||
## 快速开始
|
||
|
||
### 环境要求
|
||
- .NET SDK 10
|
||
|
||
### 构建与运行
|
||
|
||
**开发模式 (推荐):**
|
||
```bash
|
||
# 还原依赖
|
||
dotnet restore
|
||
|
||
# 构建项目
|
||
dotnet build LanMountainDesktop.slnx -c Debug
|
||
|
||
# 直接运行主程序 (跳过 Launcher,快速开发)
|
||
dotnet run --project LanMountainDesktop/LanMountainDesktop.csproj
|
||
```
|
||
|
||
**生产模式 (完整流程):**
|
||
```bash
|
||
# 通过 Launcher 启动 (包含 OOBE、Splash、版本管理)
|
||
dotnet run --project LanMountainDesktop.Launcher/LanMountainDesktop.Launcher.csproj -- launch
|
||
```
|
||
|
||
详细说明请参考 [开发文档](docs/DEVELOPMENT.md)。
|
||
|
||
### 运行测试
|
||
|
||
```bash
|
||
dotnet test LanMountainDesktop.slnx -c Debug
|
||
```
|
||
|
||
## 插件开发
|
||
|
||
阑山桌面支持通过 Plugin SDK 开发自定义插件:
|
||
|
||
```bash
|
||
# 安装插件模板
|
||
dotnet new install LanMountainDesktop.PluginTemplate
|
||
|
||
# 创建新插件
|
||
dotnet new lmd-plugin -n MyPlugin
|
||
```
|
||
|
||
- **Plugin SDK**: `LanMountainDesktop.PluginSdk` (API 6.0.0)
|
||
- **共享契约**: `LanMountainDesktop.Core`
|
||
- **迁移指南**: [PLUGIN_SDK_V5_MIGRATION.md](docs/PLUGIN_SDK_V5_MIGRATION.md)
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
LanMountainDesktop/
|
||
├── core/ # 共享基础:契约、IPC、插件打包
|
||
│ └── LanMountainDesktop.Core/
|
||
├── platform/ # 平台差异层(接口 + Windows/macOS 实现)
|
||
│ └── LanMountainDesktop.Platform/
|
||
├── airappsdk/ # AirApp 第三方 SDK 与工具
|
||
│ └── LanMountainDesktop.AirAppSdk/ (+ AirAppDevServer / AirAppTemplate)
|
||
├── airapp/ # 插件 SDK 与 AirApp 运行时
|
||
│ ├── LanMountainDesktop.PluginSdk/ # 官方插件 SDK
|
||
│ ├── LanMountainDesktop.AirAppRuntime/
|
||
│ ├── LanMountainDesktop.AirAppHost/
|
||
│ └── LanMountainDesktop.PluginTemplate/
|
||
├── desktop/ # 桌面宿主
|
||
│ ├── LanMountainDesktop/ # 桌面宿主应用
|
||
│ └── LanMountainDesktop.Launcher/ # 启动器 (OOBE、Splash、版本管理、更新)
|
||
├── mobile/ # 移动端壳(不参与桌面构建)
|
||
│ ├── LanMountainDesktop.Mobile/
|
||
│ └── LanMountainDesktop.Mobile.Android/
|
||
├── install/ # 在线安装器
|
||
│ └── LanDesktopPLONDS.installer/
|
||
└── tests/ # 测试项目
|
||
└── LanMountainDesktop.Tests/
|
||
```
|
||
|
||
## 生态边界
|
||
|
||
| 项目 | 职责 |
|
||
|-----|------|
|
||
| **本仓库** | 桌面宿主、插件运行时、Plugin SDK、共享契约 |
|
||
| [LanAirApp](https://github.com/yourorg/LanAirApp) | 插件市场元数据、开发者生态材料 |
|
||
| [LanMountainDesktop.SamplePlugin](https://github.com/yourorg/LanMountainDesktop.SamplePlugin) | 官方示例插件 |
|
||
|
||
## 文档索引
|
||
|
||
- [产品定位](docs/PRODUCT.md) - 产品愿景与目标用户
|
||
- [架构说明](docs/ARCHITECTURE.md) - 仓库结构与运行时主线
|
||
- [开发指南](docs/DEVELOPMENT.md) - 构建、测试、调试
|
||
- [视觉规范](docs/VISUAL_SPEC.md) - 主题、颜色、玻璃层级
|
||
- [圆角规范](docs/CORNER_RADIUS_SPEC.md) - 圆角层级与动态规则
|
||
- [贡献指南](docs/CONTRIBUTING.md) - PR、spec、文档协作规则
|
||
|
||
## 技术栈
|
||
|
||
- **UI 框架**: [Avalonia UI](https://avaloniaui.net/)
|
||
- **开发平台**: [.NET 10](https://dotnet.microsoft.com/)
|
||
- **支持平台**: Windows 10+, Linux, macOS
|
||
|
||
## 许可证
|
||
|
||
[MIT](LICENSE)
|
||
|
||
|