diff --git a/.github/About_action..md b/.github/About_action..md index f229fdf..d07c5b3 100644 --- a/.github/About_action..md +++ b/.github/About_action..md @@ -1,6 +1,6 @@ -# LanMontainDesktop GitHub Actions CI/CD +# LanMountainDesktop GitHub Actions CI/CD -参考 ClassIsland 项目最佳实践,为 LanMontainDesktop 配置的 GitHub Actions 工作流。 +参考 ClassIsland 项目最佳实践,为 LanMountainDesktop 配置的 GitHub Actions 工作流。 ## 📋 工作流说明 @@ -98,11 +98,11 @@ git push origin v1.0.0 ```bash # 使用现有脚本 -.\LanMontainDesktop\scripts\package.ps1 -RuntimeIdentifier win-x64 +.\LanMountainDesktop\scripts\package.ps1 -RuntimeIdentifier win-x64 # 或用 dotnet 直接构建 dotnet build -c Release -dotnet publish LanMontainDesktop/LanMontainDesktop.csproj ` +dotnet publish LanMountainDesktop/LanMountainDesktop.csproj ` -c Release -r win-x64 -o ./publish/win-x64 ` --self-contained -p:PublishSingleFile=true ``` @@ -118,7 +118,7 @@ chmod +x scripts/build.sh # 或用 dotnet 直接构建 dotnet build -c Release -dotnet publish LanMontainDesktop/LanMontainDesktop.csproj \ +dotnet publish LanMountainDesktop/LanMountainDesktop.csproj \ -c Release -r linux-x64 -o ./publish/linux-x64 \ --self-contained -p:PublishSingleFile=true ``` diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index dab3551..3252a4d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,18 +1,18 @@ -# CODEOWNERS for LanMontainDesktop +# CODEOWNERS for LanMountainDesktop # Default owners for everything * @ # Desktop UI & Components -/LanMontainDesktop/Views/ @ -/LanMontainDesktop/ViewModels/ @ -/LanMontainDesktop/ComponentSystem/ @ -/LanMontainDesktop/Styles/ @ -/LanMontainDesktop/Controls/ @ +/LanMountainDesktop/Views/ @ +/LanMountainDesktop/ViewModels/ @ +/LanMountainDesktop/ComponentSystem/ @ +/LanMountainDesktop/Styles/ @ +/LanMountainDesktop/Controls/ @ # Backend Services -/LanMontainDesktop/Services/ @ -/LanMontainDesktop.RecommendationBackend/ @ +/LanMountainDesktop/Services/ @ +/LanMountainDesktop.RecommendationBackend/ @ # Documentation /docs/ @ @@ -21,4 +21,4 @@ # Build & CI/CD /.github/ @ /scripts/ @ -/LanMontainDesktop/LanMontainDesktop.csproj @ +/LanMountainDesktop/LanMountainDesktop.csproj @ diff --git a/.github/FIX_REPORT.md b/.github/FIX_REPORT.md index a72cff4..b72c5c1 100644 --- a/.github/FIX_REPORT.md +++ b/.github/FIX_REPORT.md @@ -1,4 +1,4 @@ -# 修复报告:GitHub Actions CI/CD +# 修复报告:GitHub Actions CI/CD ## ✅ 问题已解决 @@ -8,16 +8,16 @@ MSBUILD : error MSB1003: Specify a project or solution file. The current working directory does not contain a project or solution file. ``` -**原因**: 项目中缺少 `LanMontainDesktop.sln` 解决方案文件,但工作流尝试执行 `dotnet restore` 而没有指定项目。 +**原因**: 项目中缺少 `LanMountainDesktop.sln` 解决方案文件,但工作流尝试执行 `dotnet restore` 而没有指定项目。 --- ## 🔧 已采取的修复 ### 1. 创建解决方案文件 -✅ 创建了标准的 `LanMontainDesktop.sln` 文件,包含: -- `LanMontainDesktop/LanMontainDesktop.csproj` -- `LanMontainDesktop.RecommendationBackend/LanMontainDesktop.RecommendationBackend.csproj` +✅ 创建了标准的 `LanMountainDesktop.sln` 文件,包含: +- `LanMountainDesktop/LanMountainDesktop.csproj` +- `LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj` ### 2. 验证本地构建工作 ✅ 本地测试通过: @@ -39,9 +39,9 @@ The current working directory does not contain a project or solution file. 包含两个项目的标准 Visual Studio 解决方案格式: ``` -LanMontainDesktop.sln -├── LanMontainDesktop (Desktop UI - Avalonia) -└── LanMontainDesktop.RecommendationBackend (Web API - ASP.NET Core) +LanMountainDesktop.sln +├── LanMountainDesktop (Desktop UI - Avalonia) +└── LanMountainDesktop.RecommendationBackend (Web API - ASP.NET Core) ``` --- @@ -52,7 +52,7 @@ LanMontainDesktop.sln ```bash # 1. 添加新创建的解决方案文件 -git add LanMontainDesktop.sln +git add LanMountainDesktop.sln # 2. 提交 git commit -m "Add solution file for multi-project structure" @@ -94,7 +94,7 @@ git push origin v1.0.1 | `.github/workflows/code-quality.yml` | 代码质量检查 | ✅ 可用 | | `.github/workflows/release.yml` | 多平台发布 | ✅ 可用 | | `.github/workflows/issue-management.yml` | Issue自动管理 | ✅ 可用 | -| `LanMontainDesktop.sln` | 解决方案文件 | ✅ 已修复 | +| `LanMountainDesktop.sln` | 解决方案文件 | ✅ 已修复 | --- diff --git a/.github/MULTIPLATFORM_BUILD.md b/.github/MULTIPLATFORM_BUILD.md index 7d68f88..56544df 100644 --- a/.github/MULTIPLATFORM_BUILD.md +++ b/.github/MULTIPLATFORM_BUILD.md @@ -1,10 +1,10 @@ -# Multi-Platform Build Guide +# Multi-Platform Build Guide -This document explains how to build LanMontainDesktop for Windows, Linux, and macOS. +This document explains how to build LanMountainDesktop for Windows, Linux, and macOS. ## Overview -LanMontainDesktop supports self-contained builds for: +LanMountainDesktop supports self-contained builds for: - **Windows**: x64 (64-bit) and x86 (32-bit) - **Linux**: x64 only (AppImage/snap support planned) - **macOS**: x64 (Intel) and arm64 (Apple Silicon M1/M2/M3) @@ -67,19 +67,19 @@ brew install dotnet **Windows (x64):** ```powershell # Using the PowerShell script -.\LanMontainDesktop\scripts\package.ps1 ` +.\LanMountainDesktop\scripts\package.ps1 ` -RuntimeIdentifier win-x64 ` -Version 1.0.0 # Or with dotnet directly -dotnet publish LanMontainDesktop/LanMontainDesktop.csproj ` +dotnet publish LanMountainDesktop/LanMountainDesktop.csproj ` -c Release -r win-x64 -o ./publish/win-x64 ` --self-contained -p:PublishSingleFile=true ``` **Windows (x86):** ```powershell -.\LanMontainDesktop\scripts\package.ps1 ` +.\LanMountainDesktop\scripts\package.ps1 ` -RuntimeIdentifier win-x86 ` -Version 1.0.0 ``` @@ -119,8 +119,8 @@ After building, you'll have a self-contained directory with: ``` publish/[rid]/ -├── LanMontainDesktop.exe (Windows) -├── LanMontainDesktop (Linux/macOS - executable) +├── LanMountainDesktop.exe (Windows) +├── LanMountainDesktop (Linux/macOS - executable) ├── libvlc/ (Windows/macOS only) ├── Localization/ (i18n files) ├── Extensions/ (Component extension manifests) @@ -134,7 +134,7 @@ publish/[rid]/ # Create zip package $rid = "win-x64" $version = "1.0.0" -$dir = "LanMontainDesktop-$version-$rid" +$dir = "LanMountainDesktop-$version-$rid" Copy-Item -Path "./publish/$rid" -Destination $dir -Recurse Compress-Archive -Path $dir -DestinationPath "$dir.zip" ``` @@ -144,7 +144,7 @@ Compress-Archive -Path $dir -DestinationPath "$dir.zip" # Create tar.gz package rid=linux-x64 version=1.0.0 -dir="LanMontainDesktop-$version-$rid" +dir="LanMountainDesktop-$version-$rid" mkdir -p $dir cp -r ./publish/$rid/* $dir/ tar -czf "$dir.tar.gz" $dir @@ -218,16 +218,16 @@ tar -czf "$dir.tar.gz" $dir ```bash # Clean and retry -dotnet clean LanMontainDesktop/LanMontainDesktop.csproj +dotnet clean LanMountainDesktop/LanMountainDesktop.csproj dotnet restore -dotnet publish LanMontainDesktop/LanMontainDesktop.csproj -c Release -r win-x64 --self-contained +dotnet publish LanMountainDesktop/LanMountainDesktop.csproj -c Release -r win-x64 --self-contained ``` ### Linux Build Fails ```bash # Check dependencies are installed -ldd ./publish/linux-x64/LanMontainDesktop | grep "not found" +ldd ./publish/linux-x64/LanMountainDesktop | grep "not found" # Install missing libraries sudo apt-get install -y lib[missing-name] diff --git a/.github/README.md b/.github/README.md index 217509c..ff59934 100644 --- a/.github/README.md +++ b/.github/README.md @@ -1,8 +1,8 @@ -# LanMontainDesktop +# LanMountainDesktop > 你的桌面,不止一面。 -`LanMontainDesktop` 是一个基于 Avalonia 的桌面壳层项目,目标不是“做一个启动器”,而是把桌面变成可编排的信息与交互空间。 +`LanMountainDesktop` 是一个基于 Avalonia 的桌面壳层项目,目标不是“做一个启动器”,而是把桌面变成可编排的信息与交互空间。 ## 项目定位 - 以网格化布局组织桌面组件,支持多页桌面与组件自由摆放。 @@ -18,10 +18,10 @@ - 本地化:内置 `zh-CN` 与 `en-US` 资源。 ## 工程结构 -- `LanMontainDesktop/`:桌面端主程序(Avalonia)。 -- `LanMontainDesktop.RecommendationBackend/`:推荐内容后端服务(ASP.NET Core Minimal API)。 +- `LanMountainDesktop/`:桌面端主程序(Avalonia)。 +- `LanMountainDesktop.RecommendationBackend/`:推荐内容后端服务(ASP.NET Core Minimal API)。 - `docs/`:视觉与圆角等规范文档。 -- `LanMontainDesktop/ComponentSystem/`:组件定义、注册、放置规则与扩展入口。 +- `LanMountainDesktop/ComponentSystem/`:组件定义、注册、放置规则与扩展入口。 ## 技术栈 - .NET 10(`net10.0`) @@ -33,11 +33,11 @@ ## 扩展机制(摘要) - 组件系统通过 `ComponentRegistry` 合并内置组件与扩展组件。 - 运行时会扫描 `Extensions/Components/*.json`(相对应用输出目录)加载第三方组件清单。 -- 扩展契约与字段说明见组件系统文档:`LanMontainDesktop/ComponentSystem/README.md`。 +- 扩展契约与字段说明见组件系统文档:`LanMountainDesktop/ComponentSystem/README.md`。 ## 当前状态 - 项目包含桌面端与推荐后端两个子项目,并在同一 solution 中维护。 -- 配置默认写入本地:`%LOCALAPPDATA%\LanMontainDesktop\settings.json`。 +- 配置默认写入本地:`%LOCALAPPDATA%\LanMountainDesktop\settings.json`。 - 当前体验以 Windows 为主要目标平台。 ## 运行说明 diff --git a/.github/VERSION_SYNC_INFO.md b/.github/VERSION_SYNC_INFO.md index 3999773..f584443 100644 --- a/.github/VERSION_SYNC_INFO.md +++ b/.github/VERSION_SYNC_INFO.md @@ -1,4 +1,4 @@ -# 版本号自动同步说明 +# 版本号自动同步说明 ## 📋 概述 @@ -48,15 +48,15 @@ sed -i "s/.*<\/Version>/$VERSION<\/Version>/" file.csproj ### 3. 构建和发布 更新后的版本号被用于: - 程序集版本 (`AssemblyVersion`) -- 包文件名 (`LanMontainDesktop-1.0.1-win-x64.zip`) +- 包文件名 (`LanMountainDesktop-1.0.1-win-x64.zip`) - 应用内显示 (About 页面) - GitHub Release 标题 ## 📍 涉及的文件 自动更新的文件: -1. `LanMontainDesktop/LanMontainDesktop.csproj` -2. `LanMontainDesktop.RecommendationBackend/LanMontainDesktop.RecommendationBackend.csproj` +1. `LanMountainDesktop/LanMountainDesktop.csproj` +2. `LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj` ## ✅ 使用流程 diff --git a/.github/WORKFLOWS_GUIDE.md b/.github/WORKFLOWS_GUIDE.md index 8a32c0f..e21f82e 100644 --- a/.github/WORKFLOWS_GUIDE.md +++ b/.github/WORKFLOWS_GUIDE.md @@ -1,8 +1,8 @@ -# GitHub CI/CD Workflow Setup Guide +# GitHub CI/CD Workflow Setup Guide ## Overview -This document describes the CI/CD workflows configured for LanMontainDesktop. These workflows are designed to maintain code quality, automate testing, and streamline the release process. +This document describes the CI/CD workflows configured for LanMountainDesktop. These workflows are designed to maintain code quality, automate testing, and streamline the release process. ## Workflows @@ -10,7 +10,7 @@ This document describes the CI/CD workflows configured for LanMontainDesktop. Th **Trigger:** Every push/PR to main branches, or manual dispatch **What it does:** -- Builds both LanMontainDesktop and RecommendationBackend in Debug and Release modes +- Builds both LanMountainDesktop and RecommendationBackend in Debug and Release modes - Runs unit tests (if available) - Uploads build artifacts for inspection - Runs on Windows (windows-latest) @@ -54,7 +54,7 @@ QODANA_ENDPOINT=https://qodana.cloud | macOS | x64, arm64 (Apple Silicon) | .tar.gz | ✅ Full support | **Build Scripts:** -- Windows: Uses PowerShell (`LanMontainDesktop\scripts\package.ps1`) +- Windows: Uses PowerShell (`LanMountainDesktop\scripts\package.ps1`) - Linux/macOS: Uses Bash (`scripts/build.sh`) **Usage:** @@ -109,22 +109,22 @@ To align with CI workflows, set up your local environment: dotnet restore # Build (like CI does) -dotnet build LanMontainDesktop/LanMontainDesktop.csproj -dotnet build LanMontainDesktop.RecommendationBackend/LanMontainDesktop.RecommendationBackend.csproj +dotnet build LanMountainDesktop/LanMountainDesktop.csproj +dotnet build LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj # Format code locally (required by CI) dotnet format # Run tests -dotnet test LanMontainDesktop/LanMontainDesktop.csproj -dotnet test LanMontainDesktop.RecommendationBackend/LanMontainDesktop.RecommendationBackend.csproj +dotnet test LanMountainDesktop/LanMountainDesktop.csproj +dotnet test LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj # Alternative: Use local build scripts (Linux/macOS) ./scripts/build.sh --rid linux-x64 --version 1.0.0 ./scripts/build.sh --rid osx-x64 --version 1.0.0 # Or on Windows with the PowerShell script -./LanMontainDesktop/scripts/package.ps1 -RuntimeIdentifier win-x64 -Version 1.0.0 +./LanMountainDesktop/scripts/package.ps1 -RuntimeIdentifier win-x64 -Version 1.0.0 ``` ### Cross-Platform Build Scripts @@ -150,10 +150,10 @@ chmod +x scripts/build.sh **Windows:** ```powershell # Using PowerShell script -.\LanMontainDesktop\scripts\package.ps1 -RuntimeIdentifier win-x64 -Version 1.0.0 +.\LanMountainDesktop\scripts\package.ps1 -RuntimeIdentifier win-x64 -Version 1.0.0 # Or use dotnet directly -dotnet publish LanMontainDesktop/LanMontainDesktop.csproj ` +dotnet publish LanMountainDesktop/LanMountainDesktop.csproj ` -c Release -r win-x64 -o ./publish/win-x64 ` -p:PublishSingleFile=true --self-contained ``` @@ -210,7 +210,7 @@ git push origin v1.0.0 ### Status Badge Add to your README.md: ```markdown -![Build Status](https://github.com/YOUR_ORG/LanMontainDesktop/workflows/Build%20&%20Test/badge.svg) +![Build Status](https://github.com/YOUR_ORG/LanMountainDesktop/workflows/Build%20&%20Test/badge.svg) ``` ### Check Workflow Status diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2f346f4..37db630 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,4 +1,4 @@ -name: Build +name: Build on: push: @@ -7,7 +7,7 @@ on: env: DOTNET_VERSION: '10.0.x' - Solution_Name: LanMontainDesktop.sln + Solution_Name: LanMountainDesktop.sln jobs: build-windows: @@ -41,8 +41,8 @@ jobs: with: name: build-windows-${{ matrix.configuration }} path: | - LanMontainDesktop/bin/${{ matrix.configuration }}/ - LanMontainDesktop.RecommendationBackend/bin/${{ matrix.configuration }}/ + LanMountainDesktop/bin/${{ matrix.configuration }}/ + LanMountainDesktop.RecommendationBackend/bin/${{ matrix.configuration }}/ retention-days: 7 build-linux: @@ -80,8 +80,8 @@ jobs: with: name: build-linux path: | - LanMontainDesktop/bin/Release/ - LanMontainDesktop.RecommendationBackend/bin/Release/ + LanMountainDesktop/bin/Release/ + LanMountainDesktop.RecommendationBackend/bin/Release/ retention-days: 7 build-macos: @@ -111,6 +111,6 @@ jobs: with: name: build-macos path: | - LanMontainDesktop/bin/Release/ - LanMontainDesktop.RecommendationBackend/bin/Release/ + LanMountainDesktop/bin/Release/ + LanMountainDesktop.RecommendationBackend/bin/Release/ retention-days: 7 diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index ed193f7..16a69fb 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -1,4 +1,4 @@ -name: Quality Check +name: Quality Check on: pull_request: @@ -8,7 +8,7 @@ on: env: DOTNET_VERSION: '10.0.x' - Solution_Name: LanMontainDesktop.sln + Solution_Name: LanMountainDesktop.sln jobs: analyze: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 82059f9..281e747 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -name: Release +name: Release on: push: @@ -18,7 +18,7 @@ on: env: DOTNET_VERSION: '10.0.x' - Solution_Name: LanMontainDesktop.sln + Solution_Name: LanMountainDesktop.sln jobs: prepare: @@ -65,8 +65,8 @@ jobs: run: | $VERSION = "${{ needs.prepare.outputs.version }}" $csprojFiles = @( - "LanMontainDesktop/LanMontainDesktop.csproj", - "LanMontainDesktop.RecommendationBackend/LanMontainDesktop.RecommendationBackend.csproj" + "LanMountainDesktop/LanMountainDesktop.csproj", + "LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj" ) foreach ($csprojPath in $csprojFiles) { @@ -85,7 +85,7 @@ jobs: - name: Publish run: | - dotnet publish LanMontainDesktop/LanMontainDesktop.csproj ` + dotnet publish LanMountainDesktop/LanMountainDesktop.csproj ` -c Release ` -o ./publish/windows-${{ matrix.arch }} ` --self-contained ` @@ -99,7 +99,7 @@ jobs: $version = "${{ needs.prepare.outputs.version }}" $arch = "${{ matrix.arch }}" $source = "publish/windows-$arch" - $package = "LanMontainDesktop-$version-win-$arch" + $package = "LanMountainDesktop-$version-win-$arch" New-Item -ItemType Directory -Path "$package" -Force | Out-Null Copy-Item -Path "$source/*" -Destination "$package" -Recurse -Force @@ -112,7 +112,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: release-windows-${{ matrix.arch }} - path: LanMontainDesktop-*.zip + path: LanMountainDesktop-*.zip retention-days: 30 build-linux: @@ -145,11 +145,11 @@ jobs: - name: Update version in .csproj run: | VERSION="${{ needs.prepare.outputs.version }}" - echo "Updating version in LanMontainDesktop.csproj to $VERSION" - sed -i "s/.*<\/Version>/$VERSION<\/Version>/" LanMontainDesktop/LanMontainDesktop.csproj + echo "Updating version in LanMountainDesktop.csproj to $VERSION" + sed -i "s/.*<\/Version>/$VERSION<\/Version>/" LanMountainDesktop/LanMountainDesktop.csproj - echo "Updating version in LanMontainDesktop.RecommendationBackend.csproj to $VERSION" - sed -i "s/.*<\/Version>/$VERSION<\/Version>/" LanMontainDesktop.RecommendationBackend/LanMontainDesktop.RecommendationBackend.csproj + echo "Updating version in LanMountainDesktop.RecommendationBackend.csproj to $VERSION" + sed -i "s/.*<\/Version>/$VERSION<\/Version>/" LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj - name: Restore run: dotnet restore ${{ env.Solution_Name }} @@ -159,7 +159,7 @@ jobs: - name: Publish run: | - dotnet publish LanMontainDesktop/LanMontainDesktop.csproj \ + dotnet publish LanMountainDesktop/LanMountainDesktop.csproj \ -c Release \ -o ./publish/linux-x64 \ --self-contained \ @@ -171,7 +171,7 @@ jobs: run: | version="${{ needs.prepare.outputs.version }}" source="publish/linux-x64" - package_name="lanmontaindesktop" + package_name="LanMountainDesktop" package_version="${version}" arch="amd64" @@ -195,7 +195,7 @@ jobs: EOF # Set proper permissions - chmod 755 "build-deb/usr/local/bin/LanMontainDesktop" + chmod 755 "build-deb/usr/local/bin/LanMountainDesktop" # Create DEB file dpkg-deb --build "build-deb" "${package_name}_${package_version}_${arch}.deb" @@ -233,11 +233,11 @@ jobs: - name: Update version in .csproj run: | VERSION="${{ needs.prepare.outputs.version }}" - echo "Updating version in LanMontainDesktop.csproj to $VERSION" - sed -i '' "s/.*<\/Version>/$VERSION<\/Version>/" LanMontainDesktop/LanMontainDesktop.csproj + echo "Updating version in LanMountainDesktop.csproj to $VERSION" + sed -i '' "s/.*<\/Version>/$VERSION<\/Version>/" LanMountainDesktop/LanMountainDesktop.csproj - echo "Updating version in LanMontainDesktop.RecommendationBackend.csproj to $VERSION" - sed -i '' "s/.*<\/Version>/$VERSION<\/Version>/" LanMontainDesktop.RecommendationBackend/LanMontainDesktop.RecommendationBackend.csproj + echo "Updating version in LanMountainDesktop.RecommendationBackend.csproj to $VERSION" + sed -i '' "s/.*<\/Version>/$VERSION<\/Version>/" LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj - name: Restore run: dotnet restore ${{ env.Solution_Name }} @@ -247,7 +247,7 @@ jobs: - name: Publish run: | - dotnet publish LanMontainDesktop/LanMontainDesktop.csproj \ + dotnet publish LanMountainDesktop/LanMountainDesktop.csproj \ -c Release \ -o ./publish/macos-${{ matrix.arch }} \ --self-contained \ @@ -260,7 +260,7 @@ jobs: version="${{ needs.prepare.outputs.version }}" arch="${{ matrix.arch }}" source="publish/macos-$arch" - app_name="LanMontainDesktop" + app_name="LanMountainDesktop" package_name="${app_name}-${version}-macos-${arch}" # Create app bundle structure @@ -277,7 +277,7 @@ jobs: CFBundleExecutable - LanMontainDesktop + LanMountainDesktop CFBundleName LanMountain Desktop CFBundleVersion diff --git a/LanMontainDesktop/build_output.txt b/LanMontainDesktop/build_output.txt deleted file mode 100644 index 939e81a..0000000 Binary files a/LanMontainDesktop/build_output.txt and /dev/null differ diff --git a/LanMontainDesktop.RecommendationBackend/LanMontainDesktop.RecommendationBackend.csproj b/LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj similarity index 100% rename from LanMontainDesktop.RecommendationBackend/LanMontainDesktop.RecommendationBackend.csproj rename to LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj diff --git a/LanMontainDesktop.RecommendationBackend/Models/RecommendationDataModels.cs b/LanMountainDesktop.RecommendationBackend/Models/RecommendationDataModels.cs similarity index 94% rename from LanMontainDesktop.RecommendationBackend/Models/RecommendationDataModels.cs rename to LanMountainDesktop.RecommendationBackend/Models/RecommendationDataModels.cs index ae994b7..0597b61 100644 --- a/LanMontainDesktop.RecommendationBackend/Models/RecommendationDataModels.cs +++ b/LanMountainDesktop.RecommendationBackend/Models/RecommendationDataModels.cs @@ -1,7 +1,7 @@ -using System; +using System; using System.Collections.Generic; -namespace LanMontainDesktop.RecommendationBackend.Models; +namespace LanMountainDesktop.RecommendationBackend.Models; public sealed record DailyQuoteSnapshot( string Provider, diff --git a/LanMontainDesktop.RecommendationBackend/Program.cs b/LanMountainDesktop.RecommendationBackend/Program.cs similarity index 96% rename from LanMontainDesktop.RecommendationBackend/Program.cs rename to LanMountainDesktop.RecommendationBackend/Program.cs index decac87..aa55e3a 100644 --- a/LanMontainDesktop.RecommendationBackend/Program.cs +++ b/LanMountainDesktop.RecommendationBackend/Program.cs @@ -1,5 +1,5 @@ -using System; -using LanMontainDesktop.RecommendationBackend.Services; +using System; +using LanMountainDesktop.RecommendationBackend.Services; var builder = WebApplication.CreateBuilder(args); @@ -13,7 +13,7 @@ var app = builder.Build(); app.MapGet("/health", () => Results.Ok(new { - service = "LanMontainDesktop.RecommendationBackend", + service = "LanMountainDesktop.RecommendationBackend", status = "ok", timestamp = DateTimeOffset.UtcNow })); diff --git a/LanMontainDesktop.RecommendationBackend/Properties/launchSettings.json b/LanMountainDesktop.RecommendationBackend/Properties/launchSettings.json similarity index 100% rename from LanMontainDesktop.RecommendationBackend/Properties/launchSettings.json rename to LanMountainDesktop.RecommendationBackend/Properties/launchSettings.json diff --git a/LanMontainDesktop.RecommendationBackend/README.md b/LanMountainDesktop.RecommendationBackend/README.md similarity index 87% rename from LanMontainDesktop.RecommendationBackend/README.md rename to LanMountainDesktop.RecommendationBackend/README.md index cb1da8a..f1df2c3 100644 --- a/LanMontainDesktop.RecommendationBackend/README.md +++ b/LanMountainDesktop.RecommendationBackend/README.md @@ -1,4 +1,4 @@ -# LanMontainDesktop Recommendation Backend +# LanMountainDesktop Recommendation Backend 信息推荐后端,提供统一抓取与聚合接口,当前覆盖: - 每日一言 @@ -10,7 +10,7 @@ ## 启动 ```bash -dotnet run --project LanMontainDesktop.RecommendationBackend/LanMontainDesktop.RecommendationBackend.csproj +dotnet run --project LanMountainDesktop.RecommendationBackend/LanMountainDesktop.RecommendationBackend.csproj ``` 默认监听地址以 `dotnet` 输出为准(通常是 `http://localhost:5xxx` 或 `https://localhost:7xxx`)。 diff --git a/LanMontainDesktop.RecommendationBackend/Services/IRecommendationDataService.cs b/LanMountainDesktop.RecommendationBackend/Services/IRecommendationDataService.cs similarity index 94% rename from LanMontainDesktop.RecommendationBackend/Services/IRecommendationDataService.cs rename to LanMountainDesktop.RecommendationBackend/Services/IRecommendationDataService.cs index 8e1f1c2..cf814d6 100644 --- a/LanMontainDesktop.RecommendationBackend/Services/IRecommendationDataService.cs +++ b/LanMountainDesktop.RecommendationBackend/Services/IRecommendationDataService.cs @@ -1,9 +1,9 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using LanMontainDesktop.RecommendationBackend.Models; +using LanMountainDesktop.RecommendationBackend.Models; -namespace LanMontainDesktop.RecommendationBackend.Services; +namespace LanMountainDesktop.RecommendationBackend.Services; public sealed record DailyQuoteQuery( string? Locale = null, diff --git a/LanMontainDesktop.RecommendationBackend/Services/RecommendationDataService.cs b/LanMountainDesktop.RecommendationBackend/Services/RecommendationDataService.cs similarity index 99% rename from LanMontainDesktop.RecommendationBackend/Services/RecommendationDataService.cs rename to LanMountainDesktop.RecommendationBackend/Services/RecommendationDataService.cs index 7a3e9b0..0fc982d 100644 --- a/LanMontainDesktop.RecommendationBackend/Services/RecommendationDataService.cs +++ b/LanMountainDesktop.RecommendationBackend/Services/RecommendationDataService.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Globalization; using System.Linq; @@ -8,9 +8,9 @@ using System.Text.Json; using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; -using LanMontainDesktop.RecommendationBackend.Models; +using LanMountainDesktop.RecommendationBackend.Models; -namespace LanMontainDesktop.RecommendationBackend.Services; +namespace LanMountainDesktop.RecommendationBackend.Services; public sealed record RecommendationApiOptions { diff --git a/LanMontainDesktop.RecommendationBackend/appsettings.Development.json b/LanMountainDesktop.RecommendationBackend/appsettings.Development.json similarity index 100% rename from LanMontainDesktop.RecommendationBackend/appsettings.Development.json rename to LanMountainDesktop.RecommendationBackend/appsettings.Development.json diff --git a/LanMontainDesktop.RecommendationBackend/appsettings.json b/LanMountainDesktop.RecommendationBackend/appsettings.json similarity index 100% rename from LanMontainDesktop.RecommendationBackend/appsettings.json rename to LanMountainDesktop.RecommendationBackend/appsettings.json diff --git a/LanMontainDesktop.sln b/LanMountainDesktop.sln similarity index 73% rename from LanMontainDesktop.sln rename to LanMountainDesktop.sln index 15a252c..ac0f32a 100644 --- a/LanMontainDesktop.sln +++ b/LanMountainDesktop.sln @@ -1,11 +1,11 @@ - + Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.0.31903.59 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LanMontainDesktop", "LanMontainDesktop\LanMontainDesktop.csproj", "{00000001-0000-0000-0000-000000000001}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LanMountainDesktop", "LanMountainDesktop\LanMountainDesktop.csproj", "{00000001-0000-0000-0000-000000000001}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LanMontainDesktop.RecommendationBackend", "LanMontainDesktop.RecommendationBackend\LanMontainDesktop.RecommendationBackend.csproj", "{00000002-0000-0000-0000-000000000002}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LanMountainDesktop.RecommendationBackend", "LanMountainDesktop.RecommendationBackend\LanMountainDesktop.RecommendationBackend.csproj", "{00000002-0000-0000-0000-000000000002}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/LanMontainDesktop/.github/workflows/windows-ci.yml b/LanMountainDesktop/.github/workflows/windows-ci.yml similarity index 91% rename from LanMontainDesktop/.github/workflows/windows-ci.yml rename to LanMountainDesktop/.github/workflows/windows-ci.yml index 95098d7..886147c 100644 --- a/LanMontainDesktop/.github/workflows/windows-ci.yml +++ b/LanMountainDesktop/.github/workflows/windows-ci.yml @@ -1,4 +1,4 @@ -name: Desktop CI +name: Desktop CI on: push: @@ -20,7 +20,7 @@ concurrency: env: DOTNET_VERSION: "10.0.x" - PROJECT_PATH: "LanMontainDesktop.csproj" + PROJECT_PATH: "LanMountainDesktop.csproj" jobs: validate: @@ -114,17 +114,17 @@ jobs: - name: Windows runner: windows-latest rid: win-x64 - artifact_name: LanMontainDesktop-Setup + artifact_name: LanMountainDesktop-Setup artifact_path: artifacts/installer/*.exe - name: Linux runner: ubuntu-latest rid: linux-x64 - artifact_name: LanMontainDesktop-linux-x64 + artifact_name: LanMountainDesktop-linux-x64 artifact_path: artifacts/packages/*linux-x64*.zip - name: macOS runner: macos-latest rid: osx-x64 - artifact_name: LanMontainDesktop-osx-x64 + artifact_name: LanMountainDesktop-osx-x64 artifact_path: artifacts/packages/*osx-x64*.zip permissions: contents: read @@ -176,7 +176,7 @@ jobs: if: matrix.rid == 'win-x64' uses: actions/upload-artifact@v4 with: - name: LanMontainDesktop-Publish-win-x64-${{ needs.resolve_version.outputs.value }} + name: LanMountainDesktop-Publish-win-x64-${{ needs.resolve_version.outputs.value }} path: artifacts/publish/win-x64/** if-no-files-found: error @@ -193,19 +193,19 @@ jobs: - name: Download Windows Installer Artifact uses: actions/download-artifact@v4 with: - name: LanMontainDesktop-Setup-${{ needs.resolve_version.outputs.value }} + name: LanMountainDesktop-Setup-${{ needs.resolve_version.outputs.value }} path: release-assets/windows - name: Download Linux Package Artifact uses: actions/download-artifact@v4 with: - name: LanMontainDesktop-linux-x64-${{ needs.resolve_version.outputs.value }} + name: LanMountainDesktop-linux-x64-${{ needs.resolve_version.outputs.value }} path: release-assets/linux - name: Download macOS Package Artifact uses: actions/download-artifact@v4 with: - name: LanMontainDesktop-osx-x64-${{ needs.resolve_version.outputs.value }} + name: LanMountainDesktop-osx-x64-${{ needs.resolve_version.outputs.value }} path: release-assets/macos - name: Attach Artifacts diff --git a/LanMontainDesktop/App.axaml b/LanMountainDesktop/App.axaml similarity index 83% rename from LanMontainDesktop/App.axaml rename to LanMountainDesktop/App.axaml index aacd6e5..b8408e9 100644 --- a/LanMontainDesktop/App.axaml +++ b/LanMountainDesktop/App.axaml @@ -1,14 +1,14 @@ - - avares://LanMontainDesktop/Assets/Fonts#MiSans + avares://LanMountainDesktop/Assets/Fonts#MiSans @@ -17,8 +17,8 @@ - - + +