Add Windows desktop app
Windows desktop build / publish (push) Canceled after 0s

This commit is contained in:
bulava92
2026-10-28 16:04:52 +03:00
parent 1556470bcb
commit 29a8b935fb
18 changed files with 1444 additions and 2 deletions
+27 -1
View File
@@ -1,3 +1,29 @@
# SHD для Windows
Здесь будет исходный код Windows-версии SHD. Планируемая оболочка — отдельное Windows-приложение с WebView2 и переключением DEV/PROD.
Windows-клиент — отдельное WPF-приложение на .NET 10 с Microsoft Edge WebView2. Оно хранит профиль сайта локально, поддерживает DEV и PROD, вкладки и окна, загрузки, печать, масштаб, системные диалоги сайта, доступ к камере и микрофону для доменов SHD и инструменты разработчика.
## Установка
1. Скачайте `SHD-Windows-x64.zip` из артефактов последней сборки **Windows desktop build** в GitHub Actions и распакуйте архив.
2. Откройте PowerShell в распакованной папке и выполните `powershell -ExecutionPolicy Bypass -File .\install.ps1`. Скрипт установит приложение в `%LOCALAPPDATA%\Programs\SHD`, добавит ярлык в меню «Пуск» и зарегистрирует адрес возврата `shd-auth://callback`.
3. Запустите SHD из меню «Пуск».
Нужен Microsoft Edge WebView2 Runtime. Обычно он уже установлен вместе с Microsoft Edge; если его нет, приложение откроет страницу установки Runtime.
Для удаления запустите `uninstall.ps1` из распакованной папки или папки установки. Данные сайта и профиль WebView2 остаются в `%LOCALAPPDATA%\SHDDesktop`.
## Вход по passkey
Вход начинается нажатием штатной кнопки passkey на странице SHD. Приложение перехватывает только `#btnPasskeyLogin` и `#twoFactorPasskey` на страницах входа, открывает авторизацию в системном браузере и принимает ответ через `shd-auth://callback`. Одноразовый код и PKCE verifier отправляются POST-запросом в WebView2, чтобы сессионная cookie осталась в профиле приложения.
Этот серверный поток сейчас подключён только на DEV. На PROD приложение сообщает об этом и не начинает отдельную авторизацию.
## Сборка
На Windows с установленным .NET 10 SDK запустите из PowerShell:
```powershell
./Windows/Scripts/build.ps1
```
Скрипт публикует автономное приложение для `win-x64` и создаёт `Windows/dist/SHD-Windows-x64.zip`. .NET не требуется устанавливать на компьютере пользователя; WebView2 Runtime нужен отдельно.