mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-23 01:44:26 +08:00
119 lines
5.4 KiB
Markdown
119 lines
5.4 KiB
Markdown
# 🧭 阑山桌面插件开发文档导航
|
||
|
||
欢迎来到 **LanMountainDesktop(阑山桌面)** 插件开发文档!
|
||
|
||
这套文档将帮助你从零开始,一步步掌握插件开发的完整流程,最终发布你的作品到插件市场。
|
||
|
||
---
|
||
|
||
## 📖 文档概述
|
||
|
||
**目标读者:**
|
||
- 有一定 .NET/C# 基础的开发者
|
||
- 熟悉或愿意学习 Avalonia UI 框架的开发者
|
||
- 想要为阑山桌面扩展功能的创意开发者
|
||
|
||
**你能学到什么:**
|
||
- 🚀 快速搭建插件开发环境
|
||
- 🧩 创建桌面组件(Widgets)
|
||
- ⚙️ 集成设置页面
|
||
- 🎨 适配主题和外观
|
||
- 🐛 调试和故障排除
|
||
- 🚀 CI/CD 自动化构建
|
||
- 📦 发布到插件市场
|
||
|
||
---
|
||
|
||
## 🛤️ 推荐阅读路径
|
||
|
||
### 🌱 新手路径(从零开始)
|
||
|
||
如果你从未开发过阑山桌面插件,请按以下顺序阅读:
|
||
|
||
1. **[01-开发环境准备](01-快速开始/01-开发环境准备.md)** - 安装必要工具和模板
|
||
2. **[02-三分钟创建第一个插件](01-快速开始/02-三分钟创建第一个插件.md)** - 快速上手,建立信心
|
||
3. **[03-插件项目结构详解](01-快速开始/03-插件项目结构详解.md)** - 理解项目组成
|
||
4. **[04-调试运行指南](01-快速开始/04-调试运行指南.md)** - 学会调试技巧
|
||
5. **[01-插件生命周期](02-核心概念与原理/01-插件生命周期.md)** - 理解运行原理
|
||
6. **[02-桌面组件系统](02-核心概念与原理/02-桌面组件系统.md)** - 创建你的第一个组件
|
||
7. **[01-开发天气组件](04-实战案例/01-开发天气组件.md)** - 完整实战案例
|
||
|
||
**预计时间:** 2-3 小时即可开发出第一个可用插件
|
||
|
||
### 🚀 有经验路径(已有 .NET/Avalonia 基础)
|
||
|
||
如果你已有相关经验,可以跳过基础部分:
|
||
|
||
1. **[01-开发环境准备](01-快速开始/01-开发环境准备.md)** - 快速配置环境
|
||
2. **[02-核心概念与原理/](02-核心概念与原理/)** - 了解阑山桌面的特殊机制
|
||
3. **[03-API实践指南/](03-API实践指南/)** - 查阅具体 API 用法
|
||
4. **[04-实战案例/](04-实战案例/)** - 参考完整示例
|
||
|
||
---
|
||
|
||
## 🔍 快速问题索引
|
||
|
||
| 我想知道... | 查看文档 |
|
||
|------------|---------|
|
||
| 如何搭建开发环境? | [01-开发环境准备](01-快速开始/01-开发环境准备.md) |
|
||
| 如何创建第一个插件? | [02-三分钟创建第一个插件](01-快速开始/02-三分钟创建第一个插件.md) |
|
||
| plugin.json 各字段含义? | [03-插件项目结构详解](01-快速开始/03-插件项目结构详解.md) |
|
||
| 如何调试插件代码? | [04-调试运行指南](01-快速开始/04-调试运行指南.md) |
|
||
| 插件什么时候初始化?能做什么? | [01-插件生命周期](02-核心概念与原理/01-插件生命周期.md) |
|
||
| 什么是桌面组件?如何创建? | [02-桌面组件系统](02-核心概念与原理/02-桌面组件系统.md) |
|
||
| 如何添加设置页面? | [03-设置系统集成](02-核心概念与原理/03-设置系统集成.md) + [04-开发设置页面](04-实战案例/04-开发设置页面.md) |
|
||
| 如何适配暗色模式? | [04-外观与主题系统](02-核心概念与原理/04-外观与主题系统.md) |
|
||
| 插件之间如何通信? | [05-插件间通信](02-核心概念与原理/05-插件间通信.md) |
|
||
| 完整的组件开发示例? | [01-开发天气组件](04-实战案例/01-开发天气组件.md) |
|
||
| 如何排查插件不加载的问题? | [03-常见问题排查](05-调试与故障排除/03-常见问题排查.md) |
|
||
| 如何配置 GitHub Actions? | [01-GitHub Actions入门](06-CI-CD与自动化/01-GitHub Actions入门.md) |
|
||
| 如何自动打包 .laapp? | [03-自动打包与发布](06-CI-CD与自动化/03-自动打包与发布.md) |
|
||
| 如何发布到插件市场? | [03-发布到插件市场](07-发布与运营/03-发布到插件市场.md) |
|
||
|
||
---
|
||
|
||
## 📚 相关资源
|
||
|
||
### 官方资源
|
||
|
||
| 资源 | 位置 | 说明 |
|
||
|-----|------|------|
|
||
| **Plugin SDK 源码** | `LanMountainDesktop.PluginSdk/` | SDK 的完整源码和 XML 注释 |
|
||
| **插件模板** | `LanMountainDesktop.PluginTemplate/` | `dotnet new` 模板源码 |
|
||
| **共享契约** | `LanMountainDesktop.Shared.Contracts/` | 宿主与插件共享的类型定义 |
|
||
| **架构文档** | `docs/ARCHITECTURE.md` | 宿主应用架构说明 |
|
||
| **视觉规范** | `docs/VISUAL_SPEC.md` | UI 设计规范 |
|
||
| **圆角规范** | `docs/CORNER_RADIUS_SPEC.md` | 圆角设计系统 |
|
||
| **开发指南** | `docs/DEVELOPMENT.md` | 宿主开发指南 |
|
||
|
||
### 外部资源
|
||
|
||
| 资源 | 链接 | 说明 |
|
||
|-----|------|------|
|
||
| **示例插件仓库** | `LanMountainDesktop.SamplePlugin` | 官方示例插件(独立仓库) |
|
||
| **Avalonia UI 文档** | https://docs.avaloniaui.net/ | UI 框架官方文档 |
|
||
| **FluentAvalonia** | https://github.com/amwx/FluentAvalonia | 主题控件库 |
|
||
| **.NET 文档** | https://learn.microsoft.com/dotnet/ | .NET 官方文档 |
|
||
|
||
---
|
||
|
||
## 💡 获取帮助
|
||
|
||
如果在开发过程中遇到问题:
|
||
|
||
1. **查阅本文档** - 使用上方快速索引找到相关章节
|
||
2. **查看示例代码** - 参考 `LanMountainDesktop.PluginTemplate/content/` 中的模板代码
|
||
3. **阅读 SDK 源码** - `LanMountainDesktop.PluginSdk/` 中有详细的 XML 注释
|
||
4. **搜索 Issues** - 在 GitHub 仓库搜索是否有人遇到类似问题
|
||
5. **提交 Issue** - 如果确认是 bug,欢迎提交 Issue
|
||
|
||
---
|
||
|
||
## 🎯 下一步
|
||
|
||
准备好开始了吗?点击 **[01-开发环境准备](01-快速开始/01-开发环境准备.md)** 开始你的插件开发之旅!
|
||
|
||
---
|
||
|
||
*最后更新:2026年4月*
|