Files

63 lines
2.8 KiB
Markdown
Raw Permalink Normal View History

2026-03-23 22:43:54 +08:00
# 产品文档 / Product
## 中文
### 产品一句话
2026-03-24 09:33:56 +08:00
阑山桌面——你的桌面,不止一面。
2026-03-23 22:43:54 +08:00
### 产品定位
- 产品类型:跨平台桌面环境增强工具
- 技术基线Avalonia UI + .NET 10
- 支持平台Windows、Linux、macOS
- 仓库角色本仓库是桌面宿主、插件运行时、Plugin SDK 与共享契约的权威来源
### 目标用户
- 学生用户:课程表、自习监测、计时、天气和日常信息聚合
- 办公用户:日历、资讯、最近文档、常用工具入口
- 效率和美化爱好者:自由布局、主题切换、插件扩展
- 中文用户:本地化界面、农历和节假日等本地语境支持
### 核心使用场景
- 学习辅助:课程表、自习环境监测、计时与知识卡片
- 信息聚合:天气、新闻、日历、热搜等信息集中展示
- 效率提升:最近文档、浏览器、工具组件与桌面快捷访问
- 个性化桌面:自由布局、多页桌面、主题与视觉风格配置
- 插件扩展:通过 `.laapp` 插件补充新的组件、设置页和集成功能
### 核心能力
- 桌面组件系统:内置组件与扩展组件统一注册、统一放置约束
- 插件系统:宿主加载插件、整合设置页、组件与市场安装流
- 外观系统:主题、玻璃层级、圆角与颜色资源统一管理
- 设置系统:独立设置窗口、设置页注册与分域持久化
- 跨平台运行:基于 Avalonia 的桌面宿主运行在 Windows、Linux、macOS
### 当前阶段
- 产品版本:`1.0.0`
Avalonia12 (#7) * ava12升级 * Enable centralized package versioning Add <Project> and <PropertyGroup> with <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally> to Directory.Packages.props to enable centralized package version management across the repository. This allows package versions to be controlled from this single file instead of individual project files. * Migrate codebase to Avalonia 12 APIs Apply Avalonia 12 migration changes: replace SystemDecorations with WindowDecorations and remove ExtendClientAreaChromeHints/ExtendClientAreaTitleBarHeightHint usages; update BindingPlugins removal logic (no-op); switch clipboard usage to ClipboardExtensions.SetTextAsync; update Bitmap.CopyPixels calls to the new signature. Replace TextBox.Watermark with PlaceholderText, convert NumberBox styles to FANumberBox and adjust templates, change Checked/Unchecked handlers to IsCheckedChanged, and adapt FluentIcons usages (SymbolIconSource -> FASymbol/FAFont/FluentIcon equivalents). Fix MainWindow partial classes to inherit Window and correct missing variables/fields/usings. Add migration docs/specs/tasks under .trae and include a small TestFluentIcons project for icon testing. * Migrate to Avalonia 12 and Plugin SDK v5 Upgrade project to the Avalonia 12 baseline and Plugin SDK v5: centralize Avalonia packages, remove legacy WebView.Avalonia usage (use NativeWebView/WebView2 EnvironmentRequested), and update Fluent/Material icon/package usages. Bump multiple package/project versions to 5.0.0 and Avalonia 12.0.1, update plugin template and README/docs to SDK v5, and add PLUGIN_SDK_V5_MIGRATION.md. Also fix runtime/behavior bugs: make DataLocationResolver use a fixed bootstrap launcher data path and avoid recursive ResolveDataRoot; add legacy-state handling and extraction in OobeStateService; and update component settings tests to reflect migrated storage (DB/backup) and reset cache for test reloads. Various csproj, tests, and docs updated to reflect the migration and ensure build/test compatibility. * Update icon glyphs and symbol mappings Replace and refine icon sources across settings pages and controls: many FAFontIconSource glyphs were updated to specific Seagull Fluent Icons codepoints, some FASymbolIconSource usages were replaced with FAFontIconSource, and a number of symbol-to-Symbol enum mappings were adjusted (e.g. "Bell" -> AlertOn, "Shield" -> ShieldLock). Also clarified a comment in SettingsWindow and fixed a trailing newline in StudySettingsPage. Changes standardize icon visuals and bridge FluentIcons glyphs into FluentAvalonia icon sources. * fix.修复合并产生的问题。
2026-04-29 12:14:29 +08:00
- Plugin SDK API 基线:`5.0.0`
2026-03-23 22:43:54 +08:00
- 当前重点:持续完善宿主体验、设置页体验、组件能力与插件生态
- 近期需求入口:以 `.trae/specs/` 中的 feature spec 为准
### 生态边界
- 本仓库负责宿主代码、插件运行时、SDK、共享契约、主题与设置基础设施
- `LanAirApp` 负责:插件市场元数据、开发者生态材料
- `LanMountainDesktop.SamplePlugin` 负责:官方示例插件实现
### 维护原则
- 产品事实只在本文件沉淀,不在多个根目录文档重复维护
- 代码结构和运行方式分别以 `docs/ARCHITECTURE.md``docs/DEVELOPMENT.md` 为准
- 专题规范以 `docs/VISUAL_SPEC.md``docs/CORNER_RADIUS_SPEC.md` 等专题文档为准
## English
LanMountainDesktop is a cross-platform desktop enhancement product built with Avalonia UI and .NET 10. It targets students, office users, and customization-focused users who want a programmable desktop surface for information, tools, and plugin-driven extensions.
Avalonia12 (#7) * ava12升级 * Enable centralized package versioning Add <Project> and <PropertyGroup> with <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally> to Directory.Packages.props to enable centralized package version management across the repository. This allows package versions to be controlled from this single file instead of individual project files. * Migrate codebase to Avalonia 12 APIs Apply Avalonia 12 migration changes: replace SystemDecorations with WindowDecorations and remove ExtendClientAreaChromeHints/ExtendClientAreaTitleBarHeightHint usages; update BindingPlugins removal logic (no-op); switch clipboard usage to ClipboardExtensions.SetTextAsync; update Bitmap.CopyPixels calls to the new signature. Replace TextBox.Watermark with PlaceholderText, convert NumberBox styles to FANumberBox and adjust templates, change Checked/Unchecked handlers to IsCheckedChanged, and adapt FluentIcons usages (SymbolIconSource -> FASymbol/FAFont/FluentIcon equivalents). Fix MainWindow partial classes to inherit Window and correct missing variables/fields/usings. Add migration docs/specs/tasks under .trae and include a small TestFluentIcons project for icon testing. * Migrate to Avalonia 12 and Plugin SDK v5 Upgrade project to the Avalonia 12 baseline and Plugin SDK v5: centralize Avalonia packages, remove legacy WebView.Avalonia usage (use NativeWebView/WebView2 EnvironmentRequested), and update Fluent/Material icon/package usages. Bump multiple package/project versions to 5.0.0 and Avalonia 12.0.1, update plugin template and README/docs to SDK v5, and add PLUGIN_SDK_V5_MIGRATION.md. Also fix runtime/behavior bugs: make DataLocationResolver use a fixed bootstrap launcher data path and avoid recursive ResolveDataRoot; add legacy-state handling and extraction in OobeStateService; and update component settings tests to reflect migrated storage (DB/backup) and reset cache for test reloads. Various csproj, tests, and docs updated to reflect the migration and ensure build/test compatibility. * Update icon glyphs and symbol mappings Replace and refine icon sources across settings pages and controls: many FAFontIconSource glyphs were updated to specific Seagull Fluent Icons codepoints, some FASymbolIconSource usages were replaced with FAFontIconSource, and a number of symbol-to-Symbol enum mappings were adjusted (e.g. "Bell" -> AlertOn, "Shield" -> ShieldLock). Also clarified a comment in SettingsWindow and fixed a trailing newline in StudySettingsPage. Changes standardize icon visuals and bridge FluentIcons glyphs into FluentAvalonia icon sources. * fix.修复合并产生的问题。
2026-04-29 12:14:29 +08:00
This repository is the source of truth for the desktop host, plugin runtime, Plugin SDK, shared contracts, and core appearance/settings infrastructure. The current product version is `1.0.0`, and the active Plugin SDK baseline in this repository is `5.0.0`.