Compare commits
450 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ee4a12e9b5 | |||
| 5e815ac0d3 | |||
| 96a14d69bd | |||
| c79fba98d3 | |||
| 4160bb43c5 | |||
| 67209f3861 | |||
| 110c92d909 | |||
| cdc773ba74 | |||
| 8ea8b73aab | |||
| 0614e172b8 | |||
| 4c73a5b622 | |||
| 34341172b8 | |||
| 6813ed9ece | |||
| 3eb916e78a | |||
| 7424d05f54 | |||
| 76829b0ca2 | |||
| bbe98f68f6 | |||
| 96025c9ef5 | |||
| 2fb12f1b7f | |||
| 542b528b93 | |||
| 0a4326924d | |||
| e8a9990354 | |||
| 4e72f9ccf9 | |||
| 6df6ed93cb | |||
| 605beeb918 | |||
| 2bdfbefda9 | |||
| 6747549cbc | |||
| 0d4c0b27f7 | |||
| c501066a3d | |||
| 57a6b24dad | |||
| 143011fbd0 | |||
| 11bc9cd440 | |||
| 72e9068571 | |||
| 5842d5f80f | |||
| bc19a02f4f | |||
| d59d63d57e | |||
| 9ad6e8fa8d | |||
| 45ef15b220 | |||
| 25dfd1f888 | |||
| 0495cd3079 | |||
| ea9c45d78b | |||
| 4427fd1a5f | |||
| edf3c3a72c | |||
| 55490d2351 | |||
| 17ae6655b4 | |||
| 342d25deac | |||
| f5616dac2e | |||
| 28914c53f6 | |||
| f0cbe8ef88 | |||
| e0b45bf8af | |||
| 854fe420fd | |||
| c95ce1087a | |||
| 14ae662675 | |||
| 1594bd250e | |||
| c83ab4fb08 | |||
| e690454e0c | |||
| 27b4f4bb10 | |||
| 70315c3a99 | |||
| b8e49a5332 | |||
| 1374dc52b8 | |||
| 150f93e7b7 | |||
| d1aea71f67 | |||
| 37a522ec7f | |||
| 8b816b9787 | |||
| 4f487a5ca8 | |||
| 6c7a547a83 | |||
| bde5751d69 | |||
| 23544b6c39 | |||
| 2c60a9fb69 | |||
| 4ce67c8f1a | |||
| e8a1a6153e | |||
| 452fa2ac84 | |||
| 60e6d71d48 | |||
| ae0e2349e7 | |||
| 3a0f2a4950 | |||
| 5263863c23 | |||
| c52f3c3e00 | |||
| be61df890e | |||
| 6a7c9113a0 | |||
| ac953af7a1 | |||
| 147a6b911f | |||
| 972054ca7c | |||
| 0cea809b40 | |||
| 7ec34e59a7 | |||
| 00d41dfbc8 | |||
| 0272a34e5c | |||
| d450753c92 | |||
| 1e6263c241 | |||
| a4602d29a7 | |||
| 7623788991 | |||
| 8075183be1 | |||
| 058f1a9bf2 | |||
| 196b7f0f5e | |||
| 99d24b2513 | |||
| 7e3fb6cf06 | |||
| a0a0dd9bc7 | |||
| 81f75e61ca | |||
| 11890c68a8 | |||
| be8621d4d5 | |||
| 511c84b2ba | |||
| 9e75da9e46 | |||
| 547b360db8 | |||
| 9be21a8e0a | |||
| efbb41bf3f | |||
| c2220359dd | |||
| a788afdeeb | |||
| b543a889a0 | |||
| 478950b75f | |||
| 27b4114d7d | |||
| 6ead1f3666 | |||
| 22a015d8b9 | |||
| f5b7cd6db8 | |||
| 5a397d1311 | |||
| 0c1bedaeb1 | |||
| e959dcc017 | |||
| 41610453a0 | |||
| adf3e0ca9d | |||
| 21e80a5b7b | |||
| 9a78f387cf | |||
| 8a091cee0c | |||
| 28f9dde2a4 | |||
| aa88832d09 | |||
| 3da18b39ac | |||
| 01e8478ce0 | |||
| 0de026257a | |||
| 5ff097d7d6 | |||
| 59effc34a3 | |||
| afd21a3285 | |||
| c7ffeb6046 | |||
| e659e3d502 | |||
| 077a333d49 | |||
| 056a73e3f0 | |||
| db5095c205 | |||
| a1789cec16 | |||
| 9a234ae84f | |||
| 8692eaef7c | |||
| cb6516ce53 | |||
| d8362ce9ea | |||
| 0cfdff80cd | |||
| 15c67bcd52 | |||
| 3ebe7de3d7 | |||
| deee8d056f | |||
| 3016469c7f | |||
| 526fb7a78d | |||
| 2790ffc5f1 | |||
| e22897e2ae | |||
| 00b8c4dfcf | |||
| 9a2d2c6c94 | |||
| 29fb43fc38 | |||
| 4ca3066644 | |||
| 890f2fab37 | |||
| f561f841e3 | |||
| a016631d68 | |||
| 367c97b480 | |||
| 6367bc5ed1 | |||
| 2b69b98f3c | |||
| a6010ba5f4 | |||
| 0c67cda96a | |||
| c23823a5af | |||
| f8424a2915 | |||
| 152fc74869 | |||
| 7c96f7af46 | |||
| 9b5bc82873 | |||
| 011c08266f | |||
| bd43f16dd6 | |||
| 8bd7085d35 | |||
| 1bb5bef800 | |||
| da73e4cb84 | |||
| d11c1afc12 | |||
| f21f069a2b | |||
| 242866fe88 | |||
| 46d87bc2d6 | |||
| 70ce3237cd | |||
| e57e7db81b | |||
| 5bbddf86cd | |||
| 541399f011 | |||
| 287ff69011 | |||
| b00fbba75f | |||
| f9f0325610 | |||
| 6dae018cb7 | |||
| a675d8ea2f | |||
| 586f5d6a6c | |||
| e4058219d0 | |||
| 9adeb39b4f | |||
| 2f71afc818 | |||
| aa271827b3 | |||
| 88ed73d720 | |||
| cde6e0d724 | |||
| df5e359d0d | |||
| 14e050a942 | |||
| 568483c454 | |||
| 926fd00fc7 | |||
| 5c64dd1168 | |||
| 5dd50aeeca | |||
| c2bb27c537 | |||
| 9cf88df056 | |||
| 995aaee884 | |||
| 99e915adbe | |||
| b8801d6b82 | |||
| 73639376aa | |||
| 5852423652 | |||
| 18012f775e | |||
| 9054d4d095 | |||
| e19011a785 | |||
| a63dfc0846 | |||
| 40539d99ed | |||
| 9ae1584506 | |||
| 38f35d36e0 | |||
| b3c18e2042 | |||
| 5ea5fe1e83 | |||
| 9c71e89645 | |||
| 8a745839fe | |||
| 1a237a10bc | |||
| 655f943f5d | |||
| 77f8178557 | |||
| c33dfc8e70 | |||
| 803b626e8a | |||
| f9228b93a3 | |||
| 60ec614d46 | |||
| 237190384f | |||
| 7dd576a6c5 | |||
| 3fb0057883 | |||
| aeccf68061 | |||
| 0806f61448 | |||
| b67adfd67c | |||
| 97fb2ed673 | |||
| 0beadc8733 | |||
| d0bc99d5a5 | |||
| 0852c57ed8 | |||
| 84653abace | |||
| 2a738a36a1 | |||
| b18925a1a0 | |||
| 29fd1f0b19 | |||
| d414267c9f | |||
| af8739bb59 | |||
| e140902de6 | |||
| 4a5e3447ff | |||
| a97357099d | |||
| 7131deb860 | |||
| 268b803ce7 | |||
| 6a9af1d95f | |||
| 1bf13ffb4b | |||
| 1b90cd4bce | |||
| 62efead062 | |||
| 2754fb5dac | |||
| 8fff1d1828 | |||
| 9805ad4114 | |||
| 83ae3102dd | |||
| c3911fd5bf | |||
| ef27310e4f | |||
| 9ea1c83342 | |||
| bbcee67fe0 | |||
| 4706561d42 | |||
| c9d5fe37bb | |||
| 6bca078614 | |||
| a4481011eb | |||
| 81d39b5436 | |||
| 4bff8602d1 | |||
| 4e434d25fe | |||
| 4e2cfc23ae | |||
| e61c240db7 | |||
| b1a0f178e5 | |||
| 5d7d00c623 | |||
| c9b3191f2b | |||
| e8ac8a52d6 | |||
| 34b4dc9ef7 | |||
| 47e16e3fc4 | |||
| bbd9623311 | |||
| 30d5a7d14f | |||
| f8d02c64b0 | |||
| 80c28caed9 | |||
| 4d91ce0690 | |||
| d92968caf4 | |||
| 57459be38c | |||
| 276f150866 | |||
| 209634c73e | |||
| d22a83228f | |||
| 8d1e8b2795 | |||
| ef728120e4 | |||
| df158c340e | |||
| bf450815ae | |||
| ee1187482c | |||
| 755fda1cd3 | |||
| 72fad6c877 | |||
| c6873c255a | |||
| ffa89cef34 | |||
| db058c79f6 | |||
| 5be7f5984d | |||
| 2dbe0df4aa | |||
| beef9611f7 | |||
| b340c365ea | |||
| 924779d29f | |||
| 5bd73c86e8 | |||
| 95052a6af1 | |||
| 0aedef2bb6 | |||
| 3038f72e49 | |||
| 710ee5f350 | |||
| 74eb79b7f5 | |||
| f626cbe96c | |||
| bfbb1e36d4 | |||
| dc2826af1c | |||
| d3dcb913a8 | |||
| 5a6f18109d | |||
| eb25310530 | |||
| db5ff210f9 | |||
| b1d7faee8a | |||
| 0ff633ec8f | |||
| d0ae475c50 | |||
| 47cb686ed1 | |||
| 053bd2097b | |||
| c945161805 | |||
| 4c848ef373 | |||
| 12d49ef32a | |||
| 3afb735fb9 | |||
| f24a828cca | |||
| d56312246e | |||
| dc3dac0bdd | |||
| 16758c9295 | |||
| cda93da954 | |||
| 93e35508f3 | |||
| efc234e3fa | |||
| c31848929f | |||
| 0eff585092 | |||
| eaeb90d853 | |||
| 09dc6a5e81 | |||
| 8a56c52940 | |||
| 2f14d083ee | |||
| 07d5c3de27 | |||
| 9e4c4836c0 | |||
| d34a5d3347 | |||
| fd119ae0e1 | |||
| 3d59c24dec | |||
| ea315a9b44 | |||
| d5592b4bc2 | |||
| 2df32c67d0 | |||
| fdaf795202 | |||
| a7572ecd50 | |||
| d433d60d29 | |||
| 3fe8f931a2 | |||
| a69d97fcdb | |||
| aa63e3ab9f | |||
| a56fc36380 | |||
| 4c5428be5f | |||
| e6953e50b8 | |||
| a961f68242 | |||
| 72f301d526 | |||
| 2b18e03098 | |||
| 9fffe8458a | |||
| ea7282f290 | |||
| 3714710dd8 | |||
| 00c228abd8 | |||
| 54fc1e3593 | |||
| d2d04a37cf | |||
| 0600a5ca9f | |||
| 01dc528e21 | |||
| 9014198aeb | |||
| bfd6b82a95 | |||
| a6a45e5324 | |||
| 0ed0416f69 | |||
| ce6fd9a4d6 | |||
| 7f06198bb6 | |||
| 8202df3a65 | |||
| 5033261a64 | |||
| 191c957a23 | |||
| 9eb5def6f0 | |||
| 2467ce9bb4 | |||
| f968f3f66a | |||
| 511a2fa366 | |||
| 5ed54bd72e | |||
| 91ecfa342a | |||
| be1481d063 | |||
| fce80b18ee | |||
| 211daa428a | |||
| 781fd9489f | |||
| 680586b6e9 | |||
| 35ee526efc | |||
| 2f0090d571 | |||
| 2f6ad43382 | |||
| 20056583a3 | |||
| 77dc0abd2a | |||
| ddf6486af6 | |||
| 0229003e19 | |||
| 8486edf6b8 | |||
| fe941e1271 | |||
| 81129afc8f | |||
| 566cc4c017 | |||
| 0925ec9104 | |||
| cac4a9370a | |||
| e32fade0ea | |||
| f6554a3b21 | |||
| d00572d97d | |||
| 56e3563634 | |||
| 9355c317ac | |||
| 35b5edd09a | |||
| ab22ea1113 | |||
| 62c015ad0b | |||
| 195f5269be | |||
| b1fa5b4a4d | |||
| 7778854007 | |||
| 68bbd8b3e3 | |||
| 137a2dcde9 | |||
| ef239c5dc2 | |||
| 1fd4d4e35a | |||
| a71ff13d49 | |||
| 56f9be173a | |||
| 6e3e84c9c3 | |||
| a55e28600f | |||
| 31dd805a6d | |||
| aeac99fc1c | |||
| 5b9bc9e00b | |||
| 5c3ab25271 | |||
| 1e8d373df5 | |||
| f226aeb8a9 | |||
| 3f0422cfbb | |||
| af89dddc4c | |||
| 55f2c519b2 | |||
| 527f5fb8a4 | |||
| 8139a7414d | |||
| 0367fc027e | |||
| c80f4de55b | |||
| 9c01b74a4b | |||
| 894f8d4239 | |||
| 6dcda63be6 | |||
| 7f9840c3ee | |||
| 8a1b60dcbb | |||
| 23e62c2fac | |||
| ce56e4e1dd | |||
| 798efb5873 | |||
| 0261fa4460 | |||
| fb9faf53af | |||
| ef3006861e | |||
| c3a92d31d2 | |||
| f37afe1aa0 | |||
| 7df6b0d007 | |||
| 632ddd44e3 | |||
| 17f03a523c | |||
| f2c1df5b35 | |||
| 166e258b38 | |||
| f95d1c3515 | |||
| bf5dbf9435 | |||
| 66a92f8363 | |||
| 5dec270ff5 | |||
| ae5b881b30 | |||
| ac84585630 | |||
| 16e766f54a | |||
| eec99d64c6 | |||
| 2b5892348c | |||
| 751875b05a | |||
| a35f612d3d | |||
| b45c989062 |
@@ -62,25 +62,25 @@ jobs:
|
||||
# run: dotnet workload install wasm-tools
|
||||
|
||||
- name: Restore Workload
|
||||
run: dotnet workload restore
|
||||
run: dotnet workload restore src\BD.WTTS.Client.Avalonia.App\BD.WTTS.Client.Avalonia.App.csproj
|
||||
|
||||
- name: Verify dotnet info
|
||||
run: dotnet --info
|
||||
|
||||
- name: Build BD.WTTS.Client.AppHost
|
||||
run: dotnet build -c Release src\BD.WTTS.Client.AppHost\BD.WTTS.Client.AppHost.csproj --nologo -v q /property:WarningLevel=1
|
||||
run: dotnet build -c Release src\BD.WTTS.Client.AppHost\BD.WTTS.Client.AppHost.csproj --nologo -v q --property:WarningLevel=1;DebugType=pdbonly
|
||||
|
||||
- name: Build BD.WTTS.Client.Plugins.Accelerator.ReverseProxy
|
||||
run: dotnet build -c Release src\BD.WTTS.Client.Plugins.Accelerator.ReverseProxy\BD.WTTS.Client.Plugins.Accelerator.ReverseProxy.csproj --nologo -v q /property:WarningLevel=1
|
||||
run: dotnet build -c Release src\BD.WTTS.Client.Plugins.Accelerator.ReverseProxy\BD.WTTS.Client.Plugins.Accelerator.ReverseProxy.csproj --nologo -v q --property:WarningLevel=1;DebugType=pdbonly
|
||||
|
||||
- name: Build BD.WTTS.Client.Avalonia.App
|
||||
run: dotnet build -c Release src\BD.WTTS.Client.Avalonia.App\BD.WTTS.Client.Avalonia.App.csproj --nologo -v q /property:WarningLevel=1
|
||||
run: dotnet build -c Release src\BD.WTTS.Client.Avalonia.App\BD.WTTS.Client.Avalonia.App.csproj --nologo -v q --property:WarningLevel=1;DebugType=pdbonly
|
||||
|
||||
- name: Build BD.WTTS.Client.Avalonia.Designer.HostApp
|
||||
run: dotnet build -c Release src\BD.WTTS.Client.Avalonia.Designer.HostApp\BD.WTTS.Client.Avalonia.Designer.HostApp.csproj --nologo -v q /property:WarningLevel=1
|
||||
run: dotnet build -c Release src\BD.WTTS.Client.Avalonia.Designer.HostApp\BD.WTTS.Client.Avalonia.Designer.HostApp.csproj --nologo -v q --property:WarningLevel=1;DebugType=pdbonly
|
||||
|
||||
- name: Test
|
||||
run: dotnet test src/BD.WTTS.UnitTest/BD.WTTS.UnitTest.csproj -c Release -p:GeneratePackageOnBuild=false --nologo -v q /property:WarningLevel=1
|
||||
run: dotnet test src/BD.WTTS.UnitTest/BD.WTTS.UnitTest.csproj -c Release -p:GeneratePackageOnBuild=false --nologo -v q --property:WarningLevel=1;DebugType=pdbonly
|
||||
|
||||
# release:
|
||||
# name: Release
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
[English](./README.en.md) | 简体中文
|
||||
|
||||
「Watt Toolkit」是一个开源跨平台的多功能游戏工具箱,此工具的大部分功能都是需要您下载安装 Steam 才能使用。
|
||||
|
||||
|
||||

|
||||
[](https://github.com/BeyondDimension/SteamTools/releases/latest)
|
||||
[](LICENSE)
|
||||
@@ -30,6 +30,7 @@
|
||||
</div>
|
||||
|
||||
## 🚀 下载渠道
|
||||
- [](https://store.steampowered.com/app/2425030)
|
||||
- [](https://apps.microsoft.com/store/detail/watt-toolkit/9MTCFHS560NG?hl=zh-cn&gl=cn)
|
||||
- [软件官网](https://steampp.net)
|
||||
- [GitHub 发行版](https://github.com/BeyondDimension/SteamTools/releases)
|
||||
@@ -41,22 +42,23 @@
|
||||
详见 [./doc/download-guide.md](./doc/download-guide.md)
|
||||
|
||||
## ✨ 功能
|
||||
全新的 3.0 版本,支持自定义插件功能,以下功能为下载时自带的默认插件,可以自行删除或禁用。
|
||||
1. 网络加速 <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" /> <img src="./res/brands/android.svg" width="16" height="16" />
|
||||
- ~~使用 [Titanium-Web-Proxy](https://github.com/justcoding121/Titanium-Web-Proxy) 开源项目进行本地反代来支持更快的访问游戏网站。~~
|
||||
- 使用 [YARP.ReverseProxy](https://github.com/microsoft/reverse-proxy) 开源项目进行本地反代来支持更快的访问游戏网站。
|
||||
2. 脚本配置 <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" />
|
||||
- 通过加速服务拦截网络请求将一些 JS 脚本注入在网页中,提供类似网页插件的功能。
|
||||
3. 账号切换 <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" />
|
||||
- 一键切换已在当前 PC 上登录过的 Steam 账号,与管理家庭共享库排序及禁用等功能。
|
||||
4. 库存管理 <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" />
|
||||
- 让您直接管理 Steam 游戏库存,可以编辑游戏名称和[自定义封面](https://www.steamgriddb.com),也能解锁以及反解锁 Steam 游戏成就。
|
||||
- 快速切换已在当前 PC 上登录过的 Steam、Epic、Uplay 等等多平台账号,与管理 Steam 家庭共享库排序及禁用等功能。
|
||||
4. 库存游戏 <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" />
|
||||
- 直接管理你的 Steam 游戏库存,可以编辑游戏名称和[自定义封面](https://www.steamgriddb.com)。
|
||||
- 监控 Steam 游戏下载进度实现 Steam 游戏下载完成定时关机功能。
|
||||
- 模拟运行 Steam 游戏,让您不用安装和下载对应的游戏也能挂游玩时间和 Steam 卡片
|
||||
- 自助管理 Steam 游戏云存档,随时删除和上传自定义的存档文件至 Steam 云
|
||||
- 模拟运行 Steam 游戏,让您不用安装和下载对应的游戏也能挂游玩时间和掉落 Steam 卡片
|
||||
- 自助管理 Steam 游戏云存档,随时删除和上传自定义的存档文件至 Steam 云。
|
||||
- 解锁以及反解锁 Steam 游戏成就。
|
||||
5. 本地令牌 <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" /> <img src="./res/brands/android.svg" width="16" height="16" />
|
||||
- 让您的手机令牌统一保存在电脑中,目前仅支持 Steam 令牌,后续会开发支持更多的令牌种类与云同步令牌。
|
||||
6. 自动挂卡 <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" /> <img src="./res/brands/android.svg" width="16" height="16" />
|
||||
- 集成 [ArchiSteamFarm](https://github.com/JustArchiNET/ArchiSteamFarm) 在应用内提供 挂机掉落 Steam 集换式卡牌 等功能。
|
||||
- 让您的手机令牌统一保存在电脑中、支持通用HOTP、TOTP、Steam、Google 等令牌导入。
|
||||
- 支持 Steam 登录账号自定绑定生成令牌、支持 Steam 批量确认交易功能。
|
||||
6. ~~自动挂卡(新版本开发中)~~ <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" /> <img src="./res/brands/android.svg" width="16" height="16" />
|
||||
- ~~集成 [ArchiSteamFarm](https://github.com/JustArchiNET/ArchiSteamFarm) 在应用内提供 挂机掉落 Steam 集换式卡牌 等功能。~~
|
||||
7. 游戏工具 <img src="./res/brands/windows.svg" width="16" height="16" />
|
||||
- 强制游戏窗口使用无边框窗口化、更多功能待开发。
|
||||
|
||||
@@ -74,8 +76,12 @@
|
||||
## 🧩 截图
|
||||
<img src="./res/screenshots/screenshot-windows-accelerator.webp" width="800" />
|
||||
<br/>
|
||||
<img src="./res/screenshots/screenshot-windows-gameaccount.webp" width="800" />
|
||||
<br/>
|
||||
<img src="./res/screenshots/screenshot-android-authenticator.png" width="800" />
|
||||
<img src="./res/screenshots/screenshot-windows-gamelist.webp" width="800" />
|
||||
<br/>
|
||||
<br/>
|
||||
<!--<img src="./res/screenshots/screenshot-android-authenticator.png" width="800" />-->
|
||||
|
||||
## 从移动端 Steam App 导入令牌指南
|
||||
- [Android 添加本地令牌(Xposed)](https://github.com/BeyondDimension/SteamTools/issues/2276)
|
||||
|
||||
@@ -5,12 +5,13 @@ dotnet_exec="$dotnet_path/dotnet"
|
||||
export DOTNET_ROOT="$dotnet_path"
|
||||
link_exec="$run_path/Steam++"
|
||||
# 判断符号链接是否存在
|
||||
if [ ! -L "$link_exec" ]; then
|
||||
if [ -L "$link_exec" ]; then
|
||||
echo "符号链接 $link_exec 已存在"
|
||||
else
|
||||
rm -rf "$link_exec" 2>/dev/null
|
||||
echo "创建符号链接 $dotnet_exec 到 $link_exec"
|
||||
ln -s "$dotnet_exec" "$link_exec"
|
||||
chmod +x "$link_exec"
|
||||
else
|
||||
echo "符号链接 $link_exec 已存在"
|
||||
fi
|
||||
"$link_exec" "$run_path/assemblies/Steam++.dll" "$@"
|
||||
exit
|
||||
|
||||
@@ -40,14 +40,14 @@ else
|
||||
fi
|
||||
}
|
||||
certutil_Init() {
|
||||
certutil -d sql:$HOME/.pki/nssdb -L
|
||||
certutil -d $HOME/.pki/nssdb -L
|
||||
ret=$?
|
||||
if [ $ret -ne 0 ]; then
|
||||
echo "即将初始化 certutil sql:\$HOME/.pki/nssdb"
|
||||
mkdir -p sql:$HOME/.pki
|
||||
mkdir -p sql:$HOME/.pki/nssdb
|
||||
chmod 700 sql:$HOME/.pki/nssdb
|
||||
certutil -d sql:$HOME/.pki/nssdb -N --empty-password
|
||||
echo "即将初始化 certutil \$HOME/.pki/nssdb"
|
||||
mkdir -p $HOME/.pki
|
||||
mkdir -p $HOME/.pki/nssdb
|
||||
chmod 700 $HOME/.pki/nssdb
|
||||
certutil -d $HOME/.pki/nssdb -N --empty-password
|
||||
else
|
||||
echo "certutil nssdb 正常"
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
#添加桌面文件
|
||||
run_path=$(dirname "$0")
|
||||
base_path="$(dirname "$run_path")"
|
||||
exec_name="Steam++"
|
||||
rm -rf "$HOME/Desktop/Watt Toolkit.desktop" 2>/dev/null
|
||||
echo "#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Name=Watt Toolkit
|
||||
Exec=$base_path/$exec_name.sh
|
||||
Icon=$base_path/Icons/Watt-Toolkit.png
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=false" >"$HOME/Desktop/Watt Toolkit.desktop"
|
||||
chmod +x "$HOME/Desktop/Watt Toolkit.desktop"
|
||||
exit 0
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Name=°²×° Watt Toolkit
|
||||
Exec=curl https://steampp.net/pkg/latest/steamdeck/install.sh | bash -s --
|
||||
Icon=steamdeck-gaming-return
|
||||
Terminal=true
|
||||
Type=Application
|
||||
StartupNotify=false
|
||||
@@ -0,0 +1,208 @@
|
||||
#!/bin/bash
|
||||
run_path=$(dirname "$0")
|
||||
base_path="$(dirname "$run_path")"
|
||||
mkdir -p "$base_path"
|
||||
cd "$base_path" || exit 1
|
||||
appVer_path="$base_path/WattToolkit.AppVer"
|
||||
exec_name="Steam++"
|
||||
tar_name="WattToolkit.tgz"
|
||||
tar_path="$base_path/$tar_name"
|
||||
app_name="Watt Toolkit"
|
||||
PROCESS_NAMES=("$exec_name" "$app_name")
|
||||
export LC_ALL=en_US.UTF-8
|
||||
Install_certutil() {
|
||||
# 判断发行版类型
|
||||
if command -v certutil &>/dev/null; then
|
||||
echo "certutil 工具已安装。"
|
||||
else
|
||||
echo "证书导入以及验证需要使用 certutil 工具。"
|
||||
# 判断包管理器
|
||||
if command -v apt &>/dev/null; then
|
||||
# 使用 apt (Debian/Ubuntu)
|
||||
sudo apt update
|
||||
sudo apt install -y libnss3-tools
|
||||
elif command -v dnf &>/dev/null; then
|
||||
# 使用 dnf (Fedora)
|
||||
sudo dnf install -y nss-tools
|
||||
elif command -v yum &>/dev/null; then
|
||||
# 使用 yum (CentOS/Red Hat)
|
||||
sudo yum install -y nss-tools
|
||||
elif command -v pacman &>/dev/null; then
|
||||
# 使用 pacman (Arch Linux)
|
||||
# sudo pacman -S nss
|
||||
echo "请手动安装 certutil 工具。"
|
||||
exit 1
|
||||
else
|
||||
echo "请手动安装 certutil 工具。"
|
||||
exit 1
|
||||
fi
|
||||
echo "certutil 工具已安装。"
|
||||
fi
|
||||
}
|
||||
certutil_Init() {
|
||||
certutil -d $HOME/.pki/nssdb -L
|
||||
ret=$?
|
||||
if [ $ret -ne 0 ]; then
|
||||
echo "即将初始化 certutil \$HOME/.pki/nssdb"
|
||||
mkdir -p $HOME/.pki
|
||||
mkdir -p $HOME/.pki/nssdb
|
||||
chmod 700 $HOME/.pki/nssdb
|
||||
certutil -d $HOME/.pki/nssdb -N --empty-password
|
||||
else
|
||||
echo "certutil nssdb 正常"
|
||||
fi
|
||||
}
|
||||
Install_jq() {
|
||||
# Check if jq is already installed
|
||||
if command -v jq &>/dev/null; then
|
||||
echo "jq 工具已安装。"
|
||||
else
|
||||
echo "jq 用来解析版本更新。"
|
||||
# Check the package manager
|
||||
if command -v apt &>/dev/null; then
|
||||
# Using apt (Debian/Ubuntu)
|
||||
sudo apt update
|
||||
sudo apt install -y jq
|
||||
elif command -v dnf &>/dev/null; then
|
||||
# Using dnf (Fedora)
|
||||
sudo dnf install -y jq
|
||||
elif command -v yum &>/dev/null; then
|
||||
# Using yum (CentOS/Red Hat)
|
||||
sudo yum install -y jq
|
||||
elif command -v pacman &>/dev/null; then
|
||||
# Using pacman (Arch Linux)
|
||||
sudo pacman -S jq
|
||||
else
|
||||
echo "请手动安装 jq 工具。"
|
||||
exit 1
|
||||
fi
|
||||
echo "请手动安装 jq 工具。"
|
||||
fi
|
||||
}
|
||||
Install_zenity() {
|
||||
# 判断发行版类型
|
||||
if command -v zenity &>/dev/null; then
|
||||
echo "zenity 工具已安装。"
|
||||
else
|
||||
echo "安装过程需要 zenity 工具。"
|
||||
# 判断包管理器
|
||||
if command -v apt &>/dev/null; then
|
||||
# 使用 apt (Debian/Ubuntu)
|
||||
sudo apt update
|
||||
sudo apt install -y zenity
|
||||
elif command -v dnf &>/dev/null; then
|
||||
# 使用 dnf (Fedora)
|
||||
sudo dnf install -y zenity
|
||||
elif command -v yum &>/dev/null; then
|
||||
# 使用 yum (CentOS/Red Hat)
|
||||
sudo yum install -y zenity
|
||||
elif command -v pacman &>/dev/null; then
|
||||
# 使用 pacman (Arch Linux)
|
||||
# sudo pacman -S zenity
|
||||
echo "请手动安装 zenity 工具。"
|
||||
exit 1
|
||||
else
|
||||
echo "请手动安装 zenity 工具。"
|
||||
exit 1
|
||||
fi
|
||||
echo "zenity 工具已安装。"
|
||||
fi
|
||||
}
|
||||
|
||||
Show_Run() {
|
||||
local param1=$1
|
||||
# 显示提示框,询问是否运行程序
|
||||
zenity --question --text="$1" --width=400
|
||||
|
||||
# 获取上一个命令的退出码
|
||||
response=$?
|
||||
|
||||
if [ $response -eq 0 ]; then
|
||||
echo "程序已启动。"
|
||||
exit 0 &
|
||||
# 用户点击了 "运行" 按钮,启动程序
|
||||
/bin/sh -c "$base_path/$exec_name.sh"
|
||||
else
|
||||
# 用户点击了 "关闭" 按钮,退出脚本
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
Kill_Process() {
|
||||
# 尝试的次数
|
||||
Kill_MAX_RETRIES=3
|
||||
|
||||
# 循环尝试终止进程
|
||||
for process_name in "${PROCESS_NAMES[@]}"; do
|
||||
kill_retry=1
|
||||
while [ $kill_retry -le $Kill_MAX_RETRIES ]; do
|
||||
pid=$(pgrep "$process_name")
|
||||
if [ -n "$pid" ]; then
|
||||
echo "尝试 $kill_retry: 进程 $process_name 正在运行中。正在终止..."
|
||||
kill $pid
|
||||
sleep 2
|
||||
else
|
||||
break
|
||||
fi
|
||||
kill_retry=$((kill_retry + 1))
|
||||
done
|
||||
done
|
||||
|
||||
for process_name in "${PROCESS_NAMES[@]}"; do
|
||||
# 检查是否成功终止进程
|
||||
if pgrep -x "$process_name" >/dev/null; then
|
||||
echo "无法终止程序 $process_name。尝试次数已达上限。"
|
||||
exit 1
|
||||
else
|
||||
echo "程序 $process_name 已成功终止。"
|
||||
fi
|
||||
done
|
||||
|
||||
}
|
||||
Install_certutil
|
||||
Install_zenity
|
||||
Install_jq
|
||||
certutil_Init
|
||||
Kill_Process
|
||||
|
||||
dotnet_exec="$dotnet_path/dotnet/dotnet"
|
||||
if [ -x "$dotnet_exec" ]; then
|
||||
echo "文件具有执行权限。"
|
||||
else
|
||||
chmod +x "$dotnet_exec"
|
||||
fi
|
||||
chmod +x "$base_path/$exec_name.sh"
|
||||
# xdg-icon-resource install "$base_path/Icons/Watt-Toolkit.png" --size 128 Watt-Toolkit
|
||||
InitDesktop() {
|
||||
while true; do
|
||||
# 使用 zenity 提示用户选择安装路径或使用默认路径
|
||||
choice=$(zenity --list --radiolist --title="请选择要添加到的位置" --column="选择" --column="路径" TRUE "$HOME/.local/share/applications/" FALSE "$HOME/Desktop")
|
||||
|
||||
# 检查用户输入
|
||||
if [ "$choice" == "$HOME/.local/share/applications/" ]; then
|
||||
target_dir="$HOME/.local/share/applications/"
|
||||
break
|
||||
elif [ "$choice" == "$HOME/Desktop" ]; then
|
||||
target_dir="$HOME/Desktop/"
|
||||
break
|
||||
else
|
||||
echo "无效选项,请输入 1 或 2。"
|
||||
fi
|
||||
done
|
||||
#添加桌面文件
|
||||
rm -rf "$target_dir/Watt Toolkit.desktop" 2>/dev/null
|
||||
echo "#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Name=Watt Toolkit
|
||||
Exec=$base_path/$exec_name.sh
|
||||
Icon=$base_path/Icons/Watt-Toolkit.png
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=false" >"$target_dir/Watt Toolkit.desktop"
|
||||
chmod +x "$target_dir/Watt Toolkit.desktop"
|
||||
|
||||
}
|
||||
InitDesktop
|
||||
# update-desktop-database ~/.local/share/applications
|
||||
#运行程序
|
||||
Show_Run "下载安装完成,是否启动程序?"
|
||||
exit 0
|
||||
@@ -1,12 +1,43 @@
|
||||
#!/bin/bash
|
||||
base_path="$HOME/WattToolkit"
|
||||
mkdir -p "$base_path"
|
||||
cd "$base_path" || exit 1
|
||||
# 设置默认的 base_path 参数
|
||||
default_base_path="$HOME/WattToolkit"
|
||||
base_path="$default_base_path"
|
||||
|
||||
# 循环直到用户输入有效路径或直接回车
|
||||
while true; do
|
||||
# 使用 zenity 提示用户选择安装路径或使用默认路径
|
||||
custom_base_path=$(zenity --entry --title="安装路径" --text="请输入安装路径(默认为 $default_base_path,不输入则使用默认路径)")
|
||||
|
||||
# 如果用户提供了自定义路径,则使用该路径
|
||||
if [ -n "$custom_base_path" ]; then
|
||||
base_path="$custom_base_path"
|
||||
break
|
||||
elif [ -z "$custom_base_path" ]; then
|
||||
# 用户直接回车,使用默认路径
|
||||
break
|
||||
else
|
||||
# 用户输入无效路径,重新提示
|
||||
echo "无效路径,请重新输入。"
|
||||
fi
|
||||
done
|
||||
|
||||
# 创建安装路径
|
||||
mkdir -p "$base_path" || {
|
||||
echo "无法创建安装路径 $base_path,请检查权限或路径是否正确。"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# 切换到安装路径
|
||||
cd "$base_path" || {
|
||||
echo "无法切换到安装路径 $base_path,请检查权限或路径是否正确。"
|
||||
exit 1
|
||||
}
|
||||
|
||||
appVer_path="$base_path/WattToolkit.AppVer"
|
||||
exec_name="Steam++"
|
||||
tar_name="WattToolkit.tgz"
|
||||
tar_path="$base_path/$tar_name"
|
||||
base_url="https://steampp.mossimo.net:8800"
|
||||
base_url="https://api.steampp.net"
|
||||
architecture=1
|
||||
app_name="Watt Toolkit"
|
||||
PROCESS_NAMES=("$exec_name" "$app_name")
|
||||
@@ -41,14 +72,14 @@ Install_certutil() {
|
||||
fi
|
||||
}
|
||||
certutil_Init() {
|
||||
certutil -d sql:$HOME/.pki/nssdb -L
|
||||
certutil -d $HOME/.pki/nssdb -L
|
||||
ret=$?
|
||||
if [ $ret -ne 0 ]; then
|
||||
echo "即将初始化 certutil sql:\$HOME/.pki/nssdb"
|
||||
mkdir -p sql:$HOME/.pki
|
||||
mkdir -p sql:$HOME/.pki/nssdb
|
||||
chmod 700 sql:$HOME/.pki/nssdb
|
||||
certutil -d sql:$HOME/.pki/nssdb -N --empty-password
|
||||
echo "即将初始化 certutil \$HOME/.pki/nssdb"
|
||||
mkdir -p $HOME/.pki
|
||||
mkdir -p $HOME/.pki/nssdb
|
||||
chmod 700 $HOME/.pki/nssdb
|
||||
certutil -d $HOME/.pki/nssdb -N --empty-password
|
||||
else
|
||||
echo "certutil nssdb 正常"
|
||||
fi
|
||||
@@ -182,7 +213,9 @@ Get_NewVer() {
|
||||
|
||||
sleep 1
|
||||
#本地版本 Hash
|
||||
o_sha384=$(cat "AppVer")
|
||||
if [ -f "AppVer" ]; then
|
||||
o_sha384=$(cat "AppVer")
|
||||
fi
|
||||
if [ -e "AppVer" ]; then
|
||||
if [ "${o_sha384,,}" = "${n_sha384,,}" ]; then
|
||||
Show_Run "已是最新版本,是否启动程序?"
|
||||
@@ -326,17 +359,36 @@ Kill_Process
|
||||
#解压
|
||||
Decompression
|
||||
# xdg-icon-resource install "$base_path/Icons/Watt-Toolkit.png" --size 128 Watt-Toolkit
|
||||
#添加桌面文件
|
||||
rm -rf "$HOME/Desktop/Watt Toolkit.desktop" 2>/dev/null
|
||||
echo "#!/usr/bin/env xdg-open
|
||||
InitDesktop() {
|
||||
while true; do
|
||||
# 使用 zenity 提示用户选择安装路径或使用默认路径
|
||||
choice=$(zenity --list --radiolist --title="请选择要添加到的位置" --column="选择" --column="路径" TRUE "$HOME/.local/share/applications/" FALSE "$HOME/Desktop")
|
||||
|
||||
# 检查用户输入
|
||||
if [ "$choice" == "$HOME/.local/share/applications/" ]; then
|
||||
target_dir="$HOME/.local/share/applications/"
|
||||
break
|
||||
elif [ "$choice" == "$HOME/Desktop" ]; then
|
||||
target_dir="$HOME/Desktop/"
|
||||
break
|
||||
else
|
||||
echo "无效选项,请输入 1 或 2。"
|
||||
fi
|
||||
done
|
||||
#添加桌面文件
|
||||
rm -rf "$target_dir/Watt Toolkit.desktop" 2>/dev/null
|
||||
echo "#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Name=Watt Toolkit
|
||||
Exec=$base_path/$exec_name.sh
|
||||
Icon=$base_path/Icons/Watt-Toolkit.png
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=false" >"$HOME/Desktop/Watt Toolkit.desktop"
|
||||
chmod +x "$HOME/Desktop/Watt Toolkit.desktop"
|
||||
StartupNotify=false" >"$target_dir/Watt Toolkit.desktop"
|
||||
chmod +x "$target_dir/Watt Toolkit.desktop"
|
||||
|
||||
}
|
||||
InitDesktop
|
||||
# update-desktop-database ~/.local/share/applications
|
||||
#运行程序
|
||||
Show_Run "下载安装完成,是否启动程序?"
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
base_path="$HOME/WattToolkit"
|
||||
export LC_ALL=en_US.UTF-8
|
||||
run_path=$(dirname "$0")
|
||||
base_path="$(dirname "$run_path")"
|
||||
exec_name="Steam++"
|
||||
app_name="Watt Toolkit"
|
||||
AppData="$XDG_DATA_HOME/Steam++"
|
||||
@@ -8,7 +8,37 @@ AppData_t="$HOME/.local/share/Steam++"
|
||||
Cache="$XDG_CACHE_HOME/Steam++"
|
||||
Cache_t="$HOME/.cache/Steam+"
|
||||
PROCESS_NAMES=("$exec_name" "$app_name")
|
||||
export LC_ALL=en_US.UTF-8
|
||||
#检查是否存在 Steam++.sh 避免卸载错误
|
||||
file_to_check="$base_path/Steam++.sh"
|
||||
folders_to_check=("dotnet" "modules" "native" "script" "assemblies")
|
||||
if [ -e "$file_to_check" ]; then
|
||||
echo "文件 $file_to_check 存在"
|
||||
else
|
||||
echo "文件 $file_to_check 不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for folder in "${folders_to_check[@]}"; do
|
||||
folder_path="$base_path/$folder"
|
||||
if [ -d "$folder_path" ]; then
|
||||
echo "文件夹 $folder_path 存在"
|
||||
else
|
||||
echo "文件夹 $folder_path 不存在"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
echo "验证该文件夹是 $app_name 安装目录,请确认是否卸载。"
|
||||
|
||||
read -p "所有文件和文件夹都存在,确认卸载吗? (输入 'y' 确认): " confirmation
|
||||
|
||||
if [ "${confirmation,,}" == "y" ]; then
|
||||
echo "开始执行卸载操作"
|
||||
# 在这里添加您的卸载操作
|
||||
else
|
||||
echo "用户取消卸载操作"
|
||||
exit 0
|
||||
fi
|
||||
Kill_Process() {
|
||||
# 尝试的次数
|
||||
Kill_MAX_RETRIES=3
|
||||
@@ -42,19 +72,28 @@ Kill_Process() {
|
||||
}
|
||||
Kill_Process
|
||||
|
||||
zenity --question --text="是否删除用户数据" --width=400
|
||||
zenity --question --text="是否删除证书?" --width=400
|
||||
# 获取上一个命令的退出码
|
||||
response=$?
|
||||
delCer=$?
|
||||
|
||||
if [ $response -eq 0 ]; then
|
||||
rm -rfq "$AppData" 2>/dev/null
|
||||
rm -rfq "$AppData_t" 2>/dev/null
|
||||
if [ $delCer -eq 0 ]; then
|
||||
certutil -D -d $HOME/.pki/nssdb -n "SteamTools"
|
||||
fi
|
||||
|
||||
zenity --question --text="是否删除用户数据?" --width=400
|
||||
# 获取上一个命令的退出码
|
||||
delUserData=$?
|
||||
|
||||
if [ $delUserData -eq 0 ]; then
|
||||
rm -rf $AppData 2>/dev/null
|
||||
rm -rf $AppData_t 2>/dev/null
|
||||
certutil -D -d $HOME/.pki/nssdb -n "SteamTools"
|
||||
else
|
||||
echo "保留用户数据方便下次安装。"
|
||||
echo "如需删除可手动删除该目录:$AppData 或者 $AppData_t"
|
||||
fi
|
||||
rm -rfq "$Cache" 2>/dev/null
|
||||
rm -rfq "$Cache_t" 2>/dev/null
|
||||
rm -rfq "$base_path" 2>/dev/null
|
||||
rm -rfq "$HOME/Desktop/Watt Toolkit.desktop" 2>/dev/null
|
||||
rm -rf $Cache 2>/dev/null
|
||||
rm -rf $Cache_t 2>/dev/null
|
||||
rm -rf $base_path 2>/dev/null
|
||||
rm -rf "$HOME/Desktop/Watt Toolkit.desktop" 2>/dev/null
|
||||
zenity --info --text="卸载完成!" --width=300
|
||||
|
||||
@@ -10,11 +10,12 @@ Base_Path="/Users/moxiansheng/Documents/GitHub/SteamTools"
|
||||
App_Path="$Base_Path/src/BD.WTTS.Client.Avalonia.App"
|
||||
Publish_Path="bin/Release/Publish/assemblies"
|
||||
Plugins_Release_Path="bin/Release"
|
||||
CodesignKey_Name="mossimo CodesignKey"
|
||||
CodesignKey_Name="mossimo code"
|
||||
App_Modules_Path="$App_Path/$Publish_Path/modules"
|
||||
echo "编译主程序"
|
||||
cd "$App_Path"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net7.0-macos -p:CreatePackage=false -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net8.0-macos -p:CreatePackage=false -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
|
||||
rm -r "$App_Modules_Path"
|
||||
mkdir -p "$App_Modules_Path"
|
||||
echo "编译插件"
|
||||
@@ -29,53 +30,67 @@ Copy_Plugins() {
|
||||
echo "编译加速插件"
|
||||
Plugins_Accelerator_Path="$Base_Path/src/BD.WTTS.Client.Plugins.Accelerator"
|
||||
cd "$Plugins_Accelerator_Path"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net7.0-macos
|
||||
Copy_Plugins "$Plugins_Release_Path/net7.0-macos" "Accelerator" "BD.WTTS.Client.Plugins.Accelerator.dll"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net8.0-macos
|
||||
Copy_Plugins "$Plugins_Release_Path/net8.0-macos" "Accelerator" "BD.WTTS.Client.Plugins.Accelerator.dll"
|
||||
|
||||
Plugins_Accelerator_ReverseProxy_Path="$Base_Path/src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy"
|
||||
cd "$Plugins_Accelerator_ReverseProxy_Path"
|
||||
# 根据 Build_Mode 执行不同逻辑
|
||||
if [ "$Build_Mode" = "any" ]; then
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path/arm64" -f net7.0 -r osx-arm64 -p:PublishSingleFile=true --self-contained -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path/x64" -f net7.0 -r osx-x64 -p:PublishSingleFile=true --self-contained -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path/arm64" -f net8.0 -r osx-arm64 -p:PublishSingleFile=true --self-contained -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path/x64" -f net8.0 -r osx-x64 -p:PublishSingleFile=true --self-contained -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
lipo -create "$Publish_Path/arm64/Steam++.Accelerator" "$Publish_Path/x64/Steam++.Accelerator" -output "$Publish_Path/Steam++.Accelerator"
|
||||
Copy_Plugins "$Publish_Path" "Accelerator" "Steam++.Accelerator"
|
||||
elif [ "$Build_Mode" = "arm64" ]; then
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path/arm64" -f net7.0 -r osx-arm64 -p:PublishSingleFile=true --self-contained -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path/arm64" -f net8.0 -r osx-arm64 -p:PublishSingleFile=true --self-contained -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
Copy_Plugins "$Publish_Path/arm64" "Accelerator" "Steam++.Accelerator"
|
||||
elif [ "$Build_Mode" = "x64" ]; then
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path/x64" -f net7.0 -r osx-x64 -p:PublishSingleFile=true --self-contained -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path/x64" -f net8.0 -r osx-x64 -p:PublishSingleFile=true --self-contained -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
Copy_Plugins "$Publish_Path/x64" "Accelerator" "Steam++.Accelerator"
|
||||
fi
|
||||
|
||||
echo "编译令牌插件"
|
||||
Plugins_Authenticator_Path="$Base_Path/src/BD.WTTS.Client.Plugins.Authenticator"
|
||||
cd "$Plugins_Authenticator_Path"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net7.0-macos -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
Copy_Plugins "$Plugins_Release_Path/net7.0-macos" "Authenticator" "BD.WTTS.Client.Plugins.Authenticator.dll"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net8.0-macos -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
Copy_Plugins "$Plugins_Release_Path/net8.0-macos" "Authenticator" "BD.WTTS.Client.Plugins.Authenticator.dll"
|
||||
|
||||
echo "编译账户插件"
|
||||
Plugins_GameAccount_Path="$Base_Path/src/BD.WTTS.Client.Plugins.GameAccount"
|
||||
cd "$Plugins_GameAccount_Path"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net7.0-macos -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
Copy_Plugins "$Plugins_Release_Path/net7.0-macos" "GameAccount" "BD.WTTS.Client.Plugins.GameAccount.dll"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net8.0-macos -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
Copy_Plugins "$Plugins_Release_Path/net8.0-macos" "GameAccount" "BD.WTTS.Client.Plugins.GameAccount.dll"
|
||||
|
||||
echo "编译游戏库插件"
|
||||
Plugins_GameList_Path="$Base_Path/src/BD.WTTS.Client.Plugins.GameList"
|
||||
cd "$Plugins_GameList_Path"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net7.0-macos -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
Copy_Plugins "$Plugins_Release_Path/net7.0-macos" "GameList" "BD.WTTS.Client.Plugins.GameList.dll"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net8.0-macos -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
Copy_Plugins "$Plugins_Release_Path/net8.0-macos" "GameList" "BD.WTTS.Client.Plugins.GameList.dll"
|
||||
|
||||
echo "复制插件到程序目录"
|
||||
cd "$App_Path"
|
||||
|
||||
# 根据 Build_Mode 执行不同逻辑
|
||||
if [ "$Build_Mode" = "any" ]; then
|
||||
cp -r "$App_Modules_Path" "$Plugins_Release_Path/net7.0-macos/Steam++.app/Contents/MonoBundle"
|
||||
cp -r "$App_Modules_Path" "$Plugins_Release_Path/net8.0-macos/Steam++.app/Contents/MonoBundle"
|
||||
elif [ "$Build_Mode" = "arm64" ]; then
|
||||
cp -r "$App_Modules_Path" "$Plugins_Release_Path/net7.0-macos/osx-arm64/Steam++.app/Contents/MonoBundle"
|
||||
cp -r "$Plugins_Release_Path/net7.0-macos/Steam++.app/Contents/Resources" "$Plugins_Release_Path/net7.0-macos/Steam++.app/Contents"
|
||||
cp -r "$App_Modules_Path" "$Plugins_Release_Path/net8.0-macos/osx-arm64/Steam++.app/Contents/MonoBundle"
|
||||
cp -r "$Plugins_Release_Path/net8.0-macos/Steam++.app/Contents/Resources" "$Plugins_Release_Path/net8.0-macos/Steam++.app/Contents"
|
||||
elif [ "$Build_Mode" = "x64" ]; then
|
||||
cp -r "$App_Modules_Path" "$Plugins_Release_Path/net7.0-macos/osx-x64/Steam++.app/Contents/MonoBundle"
|
||||
cp -r "$Plugins_Release_Path/net7.0-macos/Steam++.app/Contents/Resources" "$Plugins_Release_Path/net7.0-macos/Steam++.app/Contents"
|
||||
cp -r "$App_Modules_Path" "$Plugins_Release_Path/net8.0-macos/osx-x64/Steam++.app/Contents/MonoBundle"
|
||||
cp -r "$Plugins_Release_Path/net8.0-macos/Steam++.app/Contents/Resources" "$Plugins_Release_Path/net8.0-macos/Steam++.app/Contents"
|
||||
fi
|
||||
|
||||
echo "代码签名重新手动签名"
|
||||
App_Publish_Path="$App_Path/bin/Release/net8.0-macos/Steam++.app"
|
||||
# #代码签名重新手动签名
|
||||
codesign --remove-signature "$App_Publish_Path"
|
||||
codesign --remove-signature "$App_Publish_Path/Contents/MacOS/Steam++"
|
||||
dylibs=$(find "$App_Publish_Path/Contents/MonoBundle" -type f -name "*.dylib")
|
||||
for dylib in $dylibs; do
|
||||
codesign --remove-signature "$dylib"
|
||||
codesign -f -s "$CodesignKey_Name" "$dylib"
|
||||
done
|
||||
codesign -f -s "$CodesignKey_Name" "$App_Publish_Path/Contents/MacOS/Steam++"
|
||||
codesign -f -s "$CodesignKey_Name" "$App_Publish_Path"
|
||||
sudo xattr -rd com.apple.quarantine "$App_Publish_Path"
|
||||
|
||||
@@ -212,6 +212,15 @@
|
||||
"Summary": "菜单排序",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": null
|
||||
},
|
||||
{
|
||||
"TypeName": "string",
|
||||
"PropertyName": "StartDefaultPageName",
|
||||
"DefaultValue": "null",
|
||||
"DefaultValueIsConst": true,
|
||||
"Summary": "程序启动时默认页",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": null
|
||||
}
|
||||
],
|
||||
"Usings": ""
|
||||
@@ -487,6 +496,15 @@
|
||||
"Summary": "账号平台设置集合",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": null
|
||||
},
|
||||
{
|
||||
"TypeName": "bool",
|
||||
"PropertyName": "IsShowAccountName",
|
||||
"DefaultValue": "false",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "是否显示账号用户名",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": null
|
||||
}
|
||||
],
|
||||
"Usings": ""
|
||||
@@ -498,7 +516,7 @@
|
||||
{
|
||||
"TypeName": "bool",
|
||||
"PropertyName": "GameInstalledFilter",
|
||||
"DefaultValue": "true",
|
||||
"DefaultValue": "false",
|
||||
"DefaultValueIsConst": true,
|
||||
"Summary": "已安装游戏筛选",
|
||||
"IsRegionOrEndregion": null,
|
||||
@@ -943,6 +961,236 @@
|
||||
},
|
||||
{
|
||||
"Sharp": "endif"
|
||||
},
|
||||
{
|
||||
"TypeName": "bool",
|
||||
"PropertyName": "UseDoh",
|
||||
"DefaultValue": "true",
|
||||
"DefaultValueIsConst": true,
|
||||
"Summary": "启用 DNS over HTTPS",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": null
|
||||
},
|
||||
{
|
||||
"TypeName": "string",
|
||||
"PropertyName": "CustomDohAddres",
|
||||
"DefaultValue": "null",
|
||||
"DefaultValueIsConst": true,
|
||||
"Summary": "自定义 DNS over HTTPS 地址",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": null
|
||||
},
|
||||
{
|
||||
"TypeName": "int",
|
||||
"PropertyName": "AcceleratorTabsSelectedIndex",
|
||||
"DefaultValue": "0",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "加速页面 Tab 选项卡选中下标",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": null
|
||||
}
|
||||
],
|
||||
"Usings": ""
|
||||
},
|
||||
"SteamIdleSettings": {
|
||||
"ClassFilePath": "..\\src\\BD.WTTS.Client.Plugins.SteamIdleCard\\Settings",
|
||||
"InterfaceFilePath": "..\\src\\BD.WTTS.Client.Plugins.SteamIdleCard\\Settings\\Abstractions",
|
||||
"Properties": [
|
||||
{
|
||||
"TypeName": "TimeSpan",
|
||||
"PropertyName": "IdleTime",
|
||||
"DefaultValue": "TimeSpan.FromMinutes(6)",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "挂卡状态更新时间",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "IdleRule",
|
||||
"PropertyName": "IdleRule",
|
||||
"DefaultValue": "IdleRule.FastMode",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "运行规则",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "IdleSequentital",
|
||||
"PropertyName": "IdleSequentital",
|
||||
"DefaultValue": "IdleSequentital.Default",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "运行顺序",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "int",
|
||||
"PropertyName": "MaxIdleCount",
|
||||
"DefaultValue": "30",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "最大并行运行游戏数量",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "double",
|
||||
"PropertyName": "MinRunTime",
|
||||
"DefaultValue": "2",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "最少游戏时间 hours",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "double",
|
||||
"PropertyName": "SwitchTime",
|
||||
"DefaultValue": "5000",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "自动切换游戏时间间隔 ms",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "double",
|
||||
"PropertyName": "RefreshBadgesTime",
|
||||
"DefaultValue": "6",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "自动刷新徽章数据时间间隔 min",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
}
|
||||
],
|
||||
"Usings": ""
|
||||
},
|
||||
"ASFSettings": {
|
||||
"ClassFilePath": "..\\src\\BD.WTTS.Client.Plugins.ArchiSteamFarmPlus\\Settings",
|
||||
"InterfaceFilePath": "..\\src\\BD.WTTS.Client.Plugins.ArchiSteamFarmPlus\\Settings\\Abstractions",
|
||||
"Properties": [
|
||||
{
|
||||
"TypeName": "string",
|
||||
"PropertyName": "ArchiSteamFarmExePath",
|
||||
"DefaultValue": "string.Empty",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "ASF 路径",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": false
|
||||
},
|
||||
{
|
||||
"TypeName": "bool",
|
||||
"PropertyName": "AutoRunArchiSteamFarm",
|
||||
"DefaultValue": "false",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "程序启动时自动运行 ASF",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "bool",
|
||||
"PropertyName": "CheckArchiSteamFarmExe",
|
||||
"DefaultValue": "false",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "检查文件安全性",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "int",
|
||||
"PropertyName": "ConsoleMaxLineDefault",
|
||||
"DefaultValue": "200",
|
||||
"DefaultValueIsConst": true,
|
||||
"Summary": "控制台默认最大行数",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "int",
|
||||
"PropertyName": "MinRangeConsoleMaxLine",
|
||||
"DefaultValue": "DefaultConsoleMaxLineDefault",
|
||||
"DefaultValueIsConst": true,
|
||||
"Summary": "控制台默认最大行数范围最小值",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "int",
|
||||
"PropertyName": "MaxRangeConsoleMaxLine",
|
||||
"DefaultValue": "5000",
|
||||
"DefaultValueIsConst": true,
|
||||
"Summary": "控制台默认最大行数范围最大值",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "int",
|
||||
"PropertyName": "ConsoleMaxLine",
|
||||
"DefaultValue": "DefaultConsoleMaxLineDefault",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "控制台最大行数",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "int",
|
||||
"PropertyName": "ConsoleFontSizeDefault",
|
||||
"DefaultValue": "14",
|
||||
"DefaultValueIsConst": true,
|
||||
"Summary": "",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "int",
|
||||
"PropertyName": "MinRangeConsoleFontSize",
|
||||
"DefaultValue": "8",
|
||||
"DefaultValueIsConst": true,
|
||||
"Summary": "",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "int",
|
||||
"PropertyName": "MaxRangeConsoleFontSize",
|
||||
"DefaultValue": "24",
|
||||
"DefaultValueIsConst": true,
|
||||
"Summary": "",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "int",
|
||||
"PropertyName": "ConsoleFontSize",
|
||||
"DefaultValue": "DefaultConsoleFontSizeDefault",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "控制台字体大小",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "int",
|
||||
"PropertyName": "IPCPortIdValue",
|
||||
"DefaultValue": "6242",
|
||||
"DefaultValueIsConst": true,
|
||||
"Summary": "",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": null
|
||||
},
|
||||
{
|
||||
"TypeName": "int",
|
||||
"PropertyName": "IPCPortId",
|
||||
"DefaultValue": "DefaultIPCPortIdValue",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "IPC 端口号,默认值为 <see cref=\"DefaultIPCPortIdValue\" />",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
},
|
||||
{
|
||||
"TypeName": "bool",
|
||||
"PropertyName": "IPCPortOccupiedRandom",
|
||||
"DefaultValue": "true",
|
||||
"DefaultValueIsConst": false,
|
||||
"Summary": "IPC 端口号被占用时是否随机一个未使用的端口号,默认值 <see langword=\"true\" />",
|
||||
"IsRegionOrEndregion": null,
|
||||
"IsValueType": true
|
||||
}
|
||||
],
|
||||
"Usings": ""
|
||||
|
||||
|
After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 2.5 KiB |
@@ -3,25 +3,35 @@ namespace BD.WTTS;
|
||||
/// <summary>
|
||||
/// 提供用来获取应用程序信息(如版本号、说明、加载的程序集等)的属性。
|
||||
/// </summary>
|
||||
[Mobius3(
|
||||
"""
|
||||
Mobius.AssemblyInfo
|
||||
AssemblyInfo.cs
|
||||
AssemblyInfo.Version.cs
|
||||
AssemblyInfo.Version.NativeHost.cs
|
||||
AssemblyInfo.Version.Setup.Windows.cs
|
||||
""")]
|
||||
public static partial class AssemblyInfo
|
||||
{
|
||||
const string Version2 = "3.0";
|
||||
|
||||
/// <summary>
|
||||
/// 语义化应用程序版本
|
||||
/// https://semver.org/lang/zh-CN/
|
||||
/// </summary>
|
||||
public const string Version = "3.0.0";
|
||||
public const string Version = $"{Version2}.0";
|
||||
|
||||
/// <summary>
|
||||
/// 预览版本号,范围 1~9,只增不减
|
||||
/// </summary>
|
||||
const string ver_for_preview = "7";
|
||||
const string ver_for_preview = "8";
|
||||
|
||||
/// <summary>
|
||||
/// RC 版本号,范围 0~9,只增不减
|
||||
/// </summary>
|
||||
const string ver_for_rc = "1";
|
||||
const string ver_for_rc = "8";
|
||||
|
||||
public const string FileVersion = $"{Version}.{ver_for_rc}0{ver_for_preview}";
|
||||
public const string FileVersion = $"{Version2}.{ver_for_rc}0{ver_for_preview}.0";
|
||||
|
||||
//public const string InformationalVersion = Version;
|
||||
//public const string InformationalVersion = $"{Version}-preview.{ver_for_preview}";
|
||||
@@ -144,4 +154,20 @@ false
|
||||
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
[AttributeUsage(AttributeTargets.All, Inherited = false)]
|
||||
sealed class Mobius3Attribute : Attribute
|
||||
{
|
||||
public Mobius3Attribute()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public Mobius3Attribute(string str)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public bool Obsolete { get; set; }
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// Mobius Properties\XmlnsDefinition.cs
|
||||
#if (WINDOWS || MACCATALYST || MACOS || LINUX) && !(IOS || ANDROID)
|
||||
// C# 10 定义全局 using
|
||||
|
||||
@@ -22,6 +23,9 @@ global using Avalonia.Metadata;
|
||||
[assembly: XmlnsDefinition("https://steampp.net/ui", "BD.WTTS.Converters")]
|
||||
[assembly: XmlnsDefinition("https://steampp.net/ui", "BD.WTTS.Markup")]
|
||||
[assembly: XmlnsDefinition("https://steampp.net/ui", "BD.WTTS.Client.Resources")]
|
||||
[assembly: XmlnsDefinition("https://steampp.net/ui", "Mobius.Models")]
|
||||
[assembly: XmlnsDefinition("https://steampp.net/ui", "Mobius")]
|
||||
|
||||
[assembly: XmlnsDefinition("https://steampp.net/services", "BD.WTTS.Services")]
|
||||
[assembly: XmlnsDefinition("https://steampp.net/services", "BD.WTTS.Plugins")]
|
||||
[assembly: XmlnsDefinition("https://steampp.net/services", "BD.WTTS.Plugins.Abstractions")]
|
||||
|
||||
@@ -38,9 +38,9 @@ public interface IFontManagerImpl2 : IFontManagerImpl
|
||||
return Impl.TryCreateGlyphTypeface(familyName, style, weight, stretch, out glyphTypeface);
|
||||
}
|
||||
|
||||
bool IFontManagerImpl.TryCreateGlyphTypeface(Stream stream, [NotNullWhen(returnValue: true)] out IGlyphTypeface? glyphTypeface)
|
||||
bool IFontManagerImpl.TryCreateGlyphTypeface(Stream stream, FontSimulations fontSimulations, [NotNullWhen(returnValue: true)] out IGlyphTypeface? glyphTypeface)
|
||||
{
|
||||
return Impl.TryCreateGlyphTypeface(stream, out glyphTypeface);
|
||||
return Impl.TryCreateGlyphTypeface(stream, fontSimulations, out glyphTypeface);
|
||||
}
|
||||
|
||||
//IGlyphTypeface IFontManagerImpl.CreateGlyphTypeface(Typeface typeface)
|
||||
|
||||
@@ -0,0 +1,169 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '15.0'">
|
||||
<VisualStudioVersion>15.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x86">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x86</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x86">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x86</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|AnyCPU">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>AnyCPU</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|AnyCPU">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>AnyCPU</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<WapProjPath Condition="'$(WapProjPath)'==''">$(MSBuildExtensionsPath)\Microsoft\DesktopBridge\</WapProjPath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.props" />
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>27795c79-2994-4514-8656-ba34fcee8901</ProjectGuid>
|
||||
<TargetPlatformVersion>10.0.22621.0</TargetPlatformVersion>
|
||||
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
||||
<DefaultLanguage>zh-CN</DefaultLanguage>
|
||||
<AppxPackageSigningEnabled>false</AppxPackageSigningEnabled>
|
||||
<NoWarn>$(NoWarn);NU1702</NoWarn>
|
||||
<GenerateTemporaryStoreCertificate>True</GenerateTemporaryStoreCertificate>
|
||||
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
|
||||
<AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
|
||||
<GenerateTestArtifacts>True</GenerateTestArtifacts>
|
||||
<AppxBundlePlatforms>neutral</AppxBundlePlatforms>
|
||||
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
|
||||
<EntryPointProjectUniqueName>..\BD.WTTS.Client.AppHost.Bridge\Steam++.csproj</EntryPointProjectUniqueName>
|
||||
<DefineConstants>PROJ_DESKTOP_BRIDGE;$(DefineConstants)</DefineConstants>
|
||||
<AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<AppxManifest Include="Package.appxmanifest">
|
||||
<SubType>Designer</SubType>
|
||||
</AppxManifest>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Images\BadgeLogo.scale-100.png" />
|
||||
<Content Include="Images\BadgeLogo.scale-125.png" />
|
||||
<Content Include="Images\BadgeLogo.scale-150.png" />
|
||||
<Content Include="Images\BadgeLogo.scale-200.png" />
|
||||
<Content Include="Images\BadgeLogo.scale-400.png" />
|
||||
<Content Include="Images\LargeTile.scale-100.png" />
|
||||
<Content Include="Images\LargeTile.scale-125.png" />
|
||||
<Content Include="Images\LargeTile.scale-150.png" />
|
||||
<Content Include="Images\LargeTile.scale-200.png" />
|
||||
<Content Include="Images\LargeTile.scale-400.png" />
|
||||
<Content Include="Images\SmallTile.scale-100.png" />
|
||||
<Content Include="Images\SmallTile.scale-125.png" />
|
||||
<Content Include="Images\SmallTile.scale-150.png" />
|
||||
<Content Include="Images\SmallTile.scale-200.png" />
|
||||
<Content Include="Images\SmallTile.scale-400.png" />
|
||||
<Content Include="Images\SplashScreen.scale-100.png" />
|
||||
<Content Include="Images\SplashScreen.scale-125.png" />
|
||||
<Content Include="Images\SplashScreen.scale-150.png" />
|
||||
<Content Include="Images\SplashScreen.scale-200.png" />
|
||||
<Content Include="Images\SplashScreen.scale-400.png" />
|
||||
<Content Include="Images\Square150x150Logo.scale-100.png" />
|
||||
<Content Include="Images\Square150x150Logo.scale-125.png" />
|
||||
<Content Include="Images\Square150x150Logo.scale-150.png" />
|
||||
<Content Include="Images\Square150x150Logo.scale-200.png" />
|
||||
<Content Include="Images\Square150x150Logo.scale-400.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-16.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-24.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-256.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-32.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-48.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-unplated_targetsize-16.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-unplated_targetsize-256.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-unplated_targetsize-32.png" />
|
||||
<Content Include="Images\Square44x44Logo.altform-unplated_targetsize-48.png" />
|
||||
<Content Include="Images\Square44x44Logo.scale-100.png" />
|
||||
<Content Include="Images\Square44x44Logo.scale-125.png" />
|
||||
<Content Include="Images\Square44x44Logo.scale-150.png" />
|
||||
<Content Include="Images\Square44x44Logo.scale-200.png" />
|
||||
<Content Include="Images\Square44x44Logo.scale-400.png" />
|
||||
<Content Include="Images\Square44x44Logo.targetsize-16.png" />
|
||||
<Content Include="Images\Square44x44Logo.targetsize-24.png" />
|
||||
<Content Include="Images\Square44x44Logo.targetsize-24_altform-unplated.png" />
|
||||
<Content Include="Images\Square44x44Logo.targetsize-256.png" />
|
||||
<Content Include="Images\Square44x44Logo.targetsize-32.png" />
|
||||
<Content Include="Images\Square44x44Logo.targetsize-48.png" />
|
||||
<Content Include="Images\StoreLogo.scale-100.png" />
|
||||
<Content Include="Images\StoreLogo.scale-125.png" />
|
||||
<Content Include="Images\StoreLogo.scale-150.png" />
|
||||
<Content Include="Images\StoreLogo.scale-200.png" />
|
||||
<Content Include="Images\StoreLogo.scale-400.png" />
|
||||
<Content Include="Images\Wide310x150Logo.scale-100.png" />
|
||||
<Content Include="Images\Wide310x150Logo.scale-125.png" />
|
||||
<Content Include="Images\Wide310x150Logo.scale-150.png" />
|
||||
<Content Include="Images\Wide310x150Logo.scale-200.png" />
|
||||
<Content Include="Images\Wide310x150Logo.scale-400.png" />
|
||||
<None Include="Package.StoreAssociation.xml" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets" />
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" PrivateAssets="all" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\BD.WTTS.Client.AppHost.Bridge\Steam++.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
After Width: | Height: | Size: 190 B |
|
After Width: | Height: | Size: 218 B |
|
After Width: | Height: | Size: 231 B |
|
After Width: | Height: | Size: 279 B |
|
After Width: | Height: | Size: 444 B |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 666 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 666 B |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 484 B |
|
After Width: | Height: | Size: 787 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Package
|
||||
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
|
||||
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
|
||||
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
|
||||
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
|
||||
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
|
||||
IgnorableNamespaces="uap rescap desktop desktop2">
|
||||
|
||||
<Identity
|
||||
Name="4651ED44255E.47979655102CE"
|
||||
Publisher="CN=A90E406B-B2D3-4A23-B061-0FA1D65C4F66"
|
||||
Version="3.0.999.0" />
|
||||
|
||||
<Properties>
|
||||
<DisplayName>Watt Toolkit</DisplayName>
|
||||
<PublisherDisplayName>软妹币玩家</PublisherDisplayName>
|
||||
<Logo>Images\StoreLogo.png</Logo>
|
||||
</Properties>
|
||||
|
||||
<Dependencies>
|
||||
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
|
||||
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
|
||||
</Dependencies>
|
||||
|
||||
<Resources>
|
||||
<Resource Language="x-generate"/>
|
||||
</Resources>
|
||||
|
||||
<Applications>
|
||||
<Application Id="App"
|
||||
Executable="$targetnametoken$.exe"
|
||||
EntryPoint="$targetentrypoint$">
|
||||
<uap:VisualElements
|
||||
DisplayName="Watt Toolkit"
|
||||
Description="「Watt Toolkit」是一个开源跨平台的多功能游戏工具箱,此工具的大部分功能都是需要您下载安装 Steam 才能使用。"
|
||||
BackgroundColor="transparent"
|
||||
Square150x150Logo="Images\Square150x150Logo.png"
|
||||
Square44x44Logo="Images\Square44x44Logo.png">
|
||||
<uap:DefaultTile Wide310x150Logo="Images\Wide310x150Logo.png" Square71x71Logo="Images\SmallTile.png" Square310x310Logo="Images\LargeTile.png" ShortName="Steam++">
|
||||
<uap:ShowNameOnTiles>
|
||||
<uap:ShowOn Tile="square150x150Logo"/>
|
||||
<uap:ShowOn Tile="wide310x150Logo"/>
|
||||
<uap:ShowOn Tile="square310x310Logo"/>
|
||||
</uap:ShowNameOnTiles>
|
||||
</uap:DefaultTile >
|
||||
<uap:SplashScreen Image="Images\SplashScreen.png" />
|
||||
<uap:InitialRotationPreference>
|
||||
<uap:Rotation Preference="landscape"/>
|
||||
</uap:InitialRotationPreference>
|
||||
<uap:LockScreen BadgeLogo="Images\BadgeLogo.png" Notification="badgeAndTileText"/>
|
||||
</uap:VisualElements>
|
||||
<Extensions>
|
||||
<desktop:Extension Category="windows.fullTrustProcess" Executable="Steam++\Steam++.exe" />
|
||||
<desktop:Extension Category="windows.startupTask" Executable="Steam++\Steam++.exe" EntryPoint="Windows.FullTrustApplication">
|
||||
<desktop:StartupTask TaskId="BootAutoStartTask" Enabled="true" DisplayName="Steam++ System Boot Run" />
|
||||
</desktop:Extension>
|
||||
<uap:Extension Category="windows.protocol">
|
||||
<uap:Protocol Name="spp">
|
||||
<uap:Logo>Images\Square44x44Logo.png</uap:Logo>
|
||||
<uap:DisplayName>Steam++ URI Scheme</uap:DisplayName>
|
||||
</uap:Protocol>
|
||||
</uap:Extension>
|
||||
</Extensions>
|
||||
</Application>
|
||||
</Applications>
|
||||
|
||||
<Capabilities>
|
||||
<Capability Name="internetClient" />
|
||||
<rescap:Capability Name="runFullTrust" />
|
||||
<rescap:Capability Name="allowElevation" />
|
||||
</Capabilities>
|
||||
</Package>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||
</startup>
|
||||
<runtime>
|
||||
<gcServer enabled="false"/>
|
||||
<GCConserveMemory enabled="9"/>
|
||||
<legacyCorruptedStateExceptionsPolicy enabled="true"/>
|
||||
</runtime>
|
||||
<appSettings>
|
||||
<add key="d" value="7.0.11"/>
|
||||
</appSettings>
|
||||
</configuration>
|
||||
@@ -0,0 +1,60 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Steam++</AssemblyName>
|
||||
<TargetFramework>net472</TargetFramework>
|
||||
<ImplicitUsings>disable</ImplicitUsings>
|
||||
<IsTrimmable>false</IsTrimmable>
|
||||
<OutputType Condition="'$(Configuration)'=='Debug'">Exe</OutputType>
|
||||
<OutputType Condition="'$(Configuration)'=='Release'">WinExe</OutputType>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<ApplicationManifest>..\BD.WTTS.Client.AppHost\Properties\app.manifest</ApplicationManifest>
|
||||
<DefineConstants>APP_HOST;WINDOWS_DEKSTOP_BRIDGE;$(DefineConstants)</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<RootNamespace>BD.WTTS</RootNamespace>
|
||||
<EnableMsixTooling>true</EnableMsixTooling>
|
||||
<ServerGarbageCollection>false</ServerGarbageCollection>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon Condition="'$(Configuration)'=='Release'">..\..\res\icons\app\v3\Icon.ico</ApplicationIcon>
|
||||
<ApplicationIcon Condition="'$(Configuration)'=='Debug'">..\..\res\icons\app\v3\Icon.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" $(TargetFramework.StartsWith('net4')) OR $(TargetFramework.StartsWith('net3')) ">
|
||||
<SignAssembly>True</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\..\WattToolkit.snk</AssemblyOriginatorKeyFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition=" $(TargetFramework.StartsWith('net4')) OR $(TargetFramework.StartsWith('net3')) ">
|
||||
<Reference Include="System.Configuration" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
||||
<AllowedReferenceRelatedFileExtensions>
|
||||
<!-- Prevent default XML and PDB files copied to output in RELEASE.
|
||||
Only *.allowedextension files will be included, which doesn't exist in my case.
|
||||
-->
|
||||
.allowedextension
|
||||
</AllowedReferenceRelatedFileExtensions>
|
||||
<DebugType>none</DebugType>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Remove="..\ImplicitUsings.Common.cs" />
|
||||
<Compile Include="..\AssemblyInfo.Constants.cs">
|
||||
<LinkBase>Properties</LinkBase>
|
||||
</Compile>
|
||||
<Compile Include="..\BD.WTTS.Client\Startup\Startup.CompatibilityCheck.cs" />
|
||||
<Compile Condition="'$(Configuration)'=='Debug'" Include="..\Utils.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="..\BD.WTTS.Client.AppHost\**\*.cs" />
|
||||
<Compile Remove="..\BD.WTTS.Client.AppHost\bin\**" />
|
||||
<Compile Remove="..\BD.WTTS.Client.AppHost\obj\**" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -10,6 +10,6 @@
|
||||
<legacyCorruptedStateExceptionsPolicy enabled="true"/>
|
||||
</runtime>
|
||||
<appSettings>
|
||||
<add key="d" value="7.0.10"/>
|
||||
<add key="d" value="8.0.0"/>
|
||||
</appSettings>
|
||||
</configuration>
|
||||
@@ -16,9 +16,9 @@ static unsafe partial class Program
|
||||
{
|
||||
static Program()
|
||||
{
|
||||
dotnet_version_major = "7";
|
||||
dotnet_version_major = "8";
|
||||
dotnet_version_minor = "0";
|
||||
dotnet_version_build = "10";
|
||||
dotnet_version_build = "0";
|
||||
dotnet_version = $"{dotnet_version_major}.{dotnet_version_minor}.{dotnet_version_build}";
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ static unsafe partial class Program
|
||||
//#else
|
||||
// public const string dotnet_version_major = "7";
|
||||
// public const string dotnet_version_minor = "0";
|
||||
// public const string dotnet_version_build = "10";
|
||||
// public const string dotnet_version_build = "11";
|
||||
// public const string dotnet_version = $"{dotnet_version_major}.{dotnet_version_minor}.{dotnet_version_build}";
|
||||
//#endif
|
||||
|
||||
@@ -143,7 +143,9 @@ static unsafe partial class Program
|
||||
Architecture.X64 => "x64",
|
||||
Architecture.Arm => "Arm32",
|
||||
Architecture.Arm64 => "Arm64",
|
||||
#if !NETFRAMEWORK
|
||||
Architecture.Armv6 => "Armv6",
|
||||
#endif
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(architecture), architecture, null),
|
||||
};
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"><assemblyIdentity version="1.0.0.0" name="BeyondDimension.WattToolkit.AppHost"/><trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"><security><requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"><requestedExecutionLevel level="asInvoker" uiAccess="false" /></requestedPrivileges></security></trustInfo><compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"><application><supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" /><supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" /><supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" /><supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" /><supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /></application></compatibility></assembly>
|
||||
<?xml version="1.0" encoding="utf-8"?><assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"><assemblyIdentity version="1.0.0.0" name="BeyondDimension.WattToolkit.AppHost"/><trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"><security><requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"><requestedExecutionLevel level="requireAdministrator" uiAccess="false" /></requestedPrivileges></security></trustInfo><compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"><application><supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" /><supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" /><supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" /><supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" /><supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /></application></compatibility></assembly>
|
||||
@@ -98,14 +98,14 @@
|
||||
<ProjectReference Include="..\BD.WTTS.Client\BD.WTTS.Client.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows' AND Exists('$(NugetPackageRoot)\system.drawing.common\$(Version_System_Drawing_Common)\runtimes\win\lib\net7.0\System.Drawing.Common.dll')">
|
||||
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows' AND Exists('$(NugetPackageRoot)\system.drawing.common\$(Version_System_Drawing_Common)\lib\net8.0\System.Drawing.Common.dll')">
|
||||
<!-- Windows Only -->
|
||||
<!-- 修复:存在 Microsoft.WindowsDesktop.App 依赖时不会将 System.Drawing.Common.dll 复制到输出目录-->
|
||||
<None Include="$(NugetPackageRoot)\system.drawing.common\$(Version_System_Drawing_Common)\runtimes\win\lib\net7.0\System.Drawing.Common.dll">
|
||||
<None Include="$(NugetPackageRoot)\system.drawing.common\$(Version_System_Drawing_Common)\lib\net8.0\System.Drawing.Common.dll">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<Reference Include="System.Drawing.Common">
|
||||
<HintPath>$(NugetPackageRoot)\system.drawing.common\$(Version_System_Drawing_Common)\runtimes\win\lib\net7.0\System.Drawing.Common.dll</HintPath>
|
||||
<HintPath>$(NugetPackageRoot)\system.drawing.common\$(Version_System_Drawing_Common)\lib\net8.0\System.Drawing.Common.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
<string>NSApplication</string>
|
||||
<key>XSAppIconAssets</key>
|
||||
<string>Assets.xcassets/AppIcon.appiconset</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>AppIcon.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>net.steampp.app</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
|
||||
@@ -1 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"><assemblyIdentity version="1.0.0.0" name="BeyondDimension.WattToolkit.App"/><trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"><security><requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"><requestedExecutionLevel level="asInvoker" uiAccess="false" /></requestedPrivileges></security></trustInfo><compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"><application><supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" /><supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" /><supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" /><supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" /><supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /></application></compatibility></assembly>
|
||||
<?xml version="1.0" encoding="utf-8"?><assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"><assemblyIdentity version="1.0.0.0" name="BeyondDimension.WattToolkit.App"/><trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"><security><requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"><requestedExecutionLevel level="requireAdministrator" uiAccess="false" /></requestedPrivileges></security></trustInfo><compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"><application><supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" /><supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" /><supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" /><supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" /><supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /></application></compatibility></assembly>
|
||||
@@ -1,8 +1,7 @@
|
||||
{
|
||||
"profiles": {
|
||||
"BD.WTTS.Client.Avalonia.App": {
|
||||
"commandName": "Project",
|
||||
"commandLineArgs": "-clt devtools -steamrun"
|
||||
"commandName": "Project"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -248,7 +248,7 @@ sealed partial class Program : Startup
|
||||
|
||||
sealed class Essentials_AppVerS : IApplicationVersionService
|
||||
{
|
||||
string IApplicationVersionService.ApplicationVersion => AssemblyInfo.Version;
|
||||
string IApplicationVersionService.ApplicationVersion => AssemblyInfo.FileVersion;
|
||||
|
||||
string IApplicationVersionService.AssemblyTrademark => AssemblyInfo.Trademark;
|
||||
}
|
||||
|
||||
@@ -81,8 +81,10 @@
|
||||
<PackageReference Include="Avalonia" />
|
||||
<PackageReference Include="Avalonia.ReactiveUI" />
|
||||
<PackageReference Include="Avalonia.Controls.DataGrid" />
|
||||
<PackageReference Include="Avalonia.Controls.ItemsRepeater" />
|
||||
<PackageReference Include="Avalonia.Xaml.Behaviors" />
|
||||
<!--<PackageReference Include="Avalonia.AvaloniaEdit" />-->
|
||||
<PackageReference Include="Avalonia.AvaloniaEdit" />
|
||||
<PackageReference Include="AvaloniaEdit.TextMate" />
|
||||
<!--<PackageReference Include="Markdown.Avalonia" />-->
|
||||
<PackageReference Include="FluentAvaloniaUI" />
|
||||
<PackageReference Include="LiveChartsCore.SkiaSharpView.Avalonia" />
|
||||
@@ -126,6 +128,15 @@
|
||||
<ProjectReference Include="..\BD.WTTS.Client\BD.WTTS.Client.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="UI\Views\Controls\Widgets\CarouselItems.cs">
|
||||
<DependentUpon>%(Filename)</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Update="UI\Views\Pages\PluginStorePage.axaml.cs">
|
||||
<DependentUpon>PluginStorePage.axaml</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\TFM_NETX_WITH_DESKTOP.props" />
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
namespace BD.WTTS.Converters;
|
||||
|
||||
[Mobius(
|
||||
"""
|
||||
Mobius.UI.Converters.WaveProgressGradientOffsetConverter
|
||||
""")]
|
||||
public sealed class BitmapAssetValueConverter : ImageValueConverter
|
||||
{
|
||||
public override object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
namespace BD.WTTS.Converters;
|
||||
|
||||
[Mobius(
|
||||
"""
|
||||
Mobius.UI.Converters.ColorStringToBrushConverter
|
||||
""")]
|
||||
public sealed class ColorStringToBrushConverter : IValueConverter
|
||||
{
|
||||
public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
|
||||
|
||||