# Steam++ v2.X Source Code ## 🏗️ 项目结构 - Common **通用基础类库** - Common.AreaLib **地区数据** - Common.ClientLib **适用于客户端的通用基础类库** - Common.ClientLib.Droid **适用于 Android 的通用基础类库** - Common.ClientLib.iOS **适用于 iOS 的通用基础类库** - Common.CoreLib **全局通用基础类库** - Common.ServerLib **适用于服务端(AspNetCore)的通用基础类库** - Common.PinyinLib **汉字转拼音库** - Common.PinyinLib.CFStringTransform **仅适用于 iOS 平台,由 [CFStringTransform](https://developer.apple.com/documentation/corefoundation/1542411-cfstringtransform) 实现** - Common.PinyinLib.ChnCharInfo **由 Microsoft Visual Studio International Pack 1.0 中的 Simplified Chinese Pin-Yin Conversion Library(简体中文拼音转换类库)实现,多音字将返回首个拼音** - Common.PinyinLib.TinyPinyin **在 Android 上由 [TinyPinyin](https://github.com/promeG/TinyPinyin) 实现,其他平台由 [TinyPinyin.Net](https://github.com/hueifeng/TinyPinyin.Net) 实现** - Repositories.EFCore **EF Core 仓储层实现** - Repositories.sqlite-net-pcl **SQLite 仓储层实现** - Services.SmsSender **统一短信发送服务** - Test **单元测试** - Common.UnitTest **通用基础类库的单元测试** - Common.UnitTest.Droid **适用于 Android 通用基础类库的单元测试** - Common.UnitTest.Droid.App **启动项** - Lib **类库** - ST **业务通用类库** - ST.Client **客户端通用类库** - ST.Client.Desktop **桌面客户端通用类库** - ST.Client.Desktop.Avalonia **使用 Avalonia 实现的 View 层** - ~~ST.Client.Desktop.WPF **使用 WPF 实现的 View 层**~~ - ~~ST.Client.Desktop.WinUI **使用 WinUI 实现的 View 层**~~ - ST.Client.Desktop.Windows **用于 Windows 的实现** - ST.Client.Desktop.Mac **用于 macOS 的实现** - ST.Client.Desktop.Linux **用于 GNU/Linux 的实现** - ST.Client.Mobile **移动客户端通用类库** - ST.Client.Mobile.Droid **用于 Android 的实现** - ST.Client.Mobile.iOS **用于 iOS 的实现** - ST.Services.CloudService **客户端调用服务端 API 定义** - ST.Services.CloudService.Models **服务端 API 数据传输对象(DTO)定义** - ST.Services.CloudService.ViewModels **客户端视图模型** - Tool **工具** - ST.Tools.AreaImport **从高德城市编码表 Excel 文件中导入地区数据** - ST.Tools.MinifyStaticSites **用于将静态 html 删除空行缩小体积的命令行工具** - ST.Tools.OpenSourceLibraryList **开源许可协议清单生成工具** - 需要 [GitHub API Token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) - ST.Tools.Packager **带进度的压缩与解压演示** - ST.Tools.Packager.InstallerSetup **安装程序** - ST.Tools.Translate **Resx自动翻译工具** - 需要 [Azure Translation Key](https://azure.microsoft.com/zh-cn/services/cognitive-services/translator) - ST.Tools.Win7Troubleshoot **适用于 Windwos 7 OS 的 疑难解答助手** - 目标框架使用 .NET Framework 3.5 并通过 App.config 配置允许在 4.X 中运行 实现在 Windows 上兼容所有的运行库环境 - Launch **启动项** - ST.Client.Desktop.Avalonia.App **桌面客户端** - ST.Client.Desktop.Avalonia.App.Bridge* **[Desktop Bridge](https://docs.microsoft.com/zh-cn/windows/msix/desktop/desktop-to-uwp-packaging-dot-net)** - ST.Client.Desktop.Avalonia.Demo.App **桌面客户端(UI演示)** - ST.Client.Mobile.Droid.App **Android 客户端** - ST.Client.Mobile.iOS.App **iOS 客户端** ## 🗂️ 命名空间/文件夹 - ~~中划线~~ 表示此文件夹下的命名空间使用上一级的值 - Properties - AssemblyInfo.cs **程序集信息** - InternalsVisibleTo.cs **指定 internal 对单元测试可见** - SR **本地化资源** - ~~Extensions~~ **扩展函数静态类** - Application **业务应用** - Columns **模型、实体列定义接口** - Converters **视图模型(VM)值绑定到视图(V)中的值转换器** - Data **EFCore DbContext** - Entities **ORM 表实体** - Filters **AspNetCore Mvc Filters** - Models **模型类** - Mvvm **MVVM 基础组件** - Repositories **仓储层** - UI - Assets **资源资产** - Styles **Xaml 样式** - Activities **Android 活动** - Adapters **Android 适配器** - Fragments **Android 片段** - ViewModels **视图模型** - Views **视图** - Controls **自定义控件** - Pages **页面** - Windows **窗口** - Resx **本地化资源** - Windows.winmd **Windows 10 UWP API 投影 Win32** - Resources **Android res、iOS BundleResource、其他嵌入的资源** - Security **应用安全** - Services **业务服务定义公开的接口或抽象类** - ~~Mvvm~~ **用于 MVVM 绑定的业务服务** - Implementation **业务服务的实现** - Serialization **业务相关的序列化、反序列化** - Logging **日志自定义实现** - ServiceCollectionExtensions.cs **DI 注册服务扩展类,命名空间统一使用**
// ReSharper disable once CheckNamespace namespace Microsoft.Extensions.DependencyInjection## 📁 存储空间 - AppData - Microsoft Store ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalState``` - Windows ```\AppData``` or ```%LocalAppData%\Steam++``` - macOS ```~/Library/Steam++``` - Linux ```$XDG_DATA_HOME/Steam++``` or ```$HOME/.local/share/Steam++``` - Android ```/data/data/net.steampp.app/files``` - Cache - Microsoft Store ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalCache``` - Windows ```\Cache``` or ```%Tmp%\Steam++``` - macOS ```~/Library/Caches/Steam++``` - Linux ```$XDG_CACHE_HOME/Steam++``` or ```$HOME/.cache/Steam++``` - Android ```/data/data/net.steampp.app/cache``` - Logs - Microsoft Store ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalCache\Logs``` - Windows ```\Logs``` - macOS ```~/Library/Caches/Steam++/Logs``` - Linux ```$XDG_CACHE_HOME/Steam++/Logs``` or ```$HOME/.cache/Steam++/Logs``` - Android ```/data/data/net.steampp.app/cache/Logs```