From 589937213f57349c47032f471740d4b9dbc7eb27 Mon Sep 17 00:00:00 2001 From: m1saka Date: Thu, 15 Oct 2026 16:38:19 +0800 Subject: [PATCH] feat(android): add Flutter WebView app with Docker release builds --- .dockerignore | 17 + .gitignore | 95 +++++ .metadata | 30 ++ Dockerfile | 60 +++ README.md | 53 +++ analysis_options.yaml | 33 ++ android/.gitignore | 14 + android/app/build.gradle.kts | 75 ++++ android/app/src/debug/AndroidManifest.xml | 7 + android/app/src/main/AndroidManifest.xml | 47 +++ .../kotlin/ren/misaka/dshapp/MainActivity.kt | 92 +++++ .../res/drawable-v21/launch_background.xml | 5 + .../res/drawable/ic_launcher_foreground.xml | 17 + .../main/res/drawable/launch_background.xml | 5 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 6434 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 16108 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 3196 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 8252 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 10525 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 26087 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 21138 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 53991 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 34905 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 89484 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values-v27/styles.xml | 13 + android/app/src/main/res/values/colors.xml | 5 + .../src/main/res/values/launcher_colors.xml | 4 + android/app/src/main/res/values/styles.xml | 18 + android/app/src/profile/AndroidManifest.xml | 7 + android/build.gradle.kts | 24 ++ android/gradle.properties | 6 + .../gradle/wrapper/gradle-wrapper.properties | 5 + android/settings.gradle.kts | 26 ++ build.sh | 89 +++++ lib/config.dart | 26 ++ lib/main.dart | 324 ++++++++++++++++ logo.webp | Bin 0 -> 17852 bytes pubspec.lock | 354 ++++++++++++++++++ pubspec.yaml | 90 +++++ test/config_test.dart | 32 ++ tool/validate_site_url.dart | 12 + 43 files changed, 1608 insertions(+) create mode 100644 .dockerignore create mode 100644 .gitignore create mode 100644 .metadata create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 analysis_options.yaml create mode 100644 android/.gitignore create mode 100644 android/app/build.gradle.kts create mode 100644 android/app/src/debug/AndroidManifest.xml create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/kotlin/ren/misaka/dshapp/MainActivity.kt create mode 100644 android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 android/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 android/app/src/main/res/drawable/launch_background.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/values-night/styles.xml create mode 100644 android/app/src/main/res/values-v27/styles.xml create mode 100644 android/app/src/main/res/values/colors.xml create mode 100644 android/app/src/main/res/values/launcher_colors.xml create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/app/src/profile/AndroidManifest.xml create mode 100644 android/build.gradle.kts create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100644 android/settings.gradle.kts create mode 100755 build.sh create mode 100644 lib/config.dart create mode 100644 lib/main.dart create mode 100644 logo.webp create mode 100644 pubspec.lock create mode 100644 pubspec.yaml create mode 100644 test/config_test.dart create mode 100644 tool/validate_site_url.dart diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..bd0222c --- /dev/null +++ b/.dockerignore @@ -0,0 +1,17 @@ +.git +.gitignore +web/ +.mimocode/ +build/ +dist/ +*.apk +*.aab +signing/ +**/*.jks +**/*.keystore +**/*.p12 +**/*.pfx +**/keystore.properties +**/signing.properties +.env +.env.* diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c5b76a1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,95 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.build/ +.buildlog/ +.history/ +.svn/ +.swiftpm/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# VS Code local state +.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins-dependencies +.pub-cache/ +.pub/ +/build/ +/coverage/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release + +# Widget Preview related +.widget_preview/ + +# --------------------------------------------------------------------------- +# 以下为 DSH 工作台项目补充规则 + +# Gradle caches and build outputs (all modules) +.gradle/ +.kotlin/ +build/ +out/ + +# Android SDK paths and native build intermediates +local.properties +.cxx/ +.externalNativeBuild/ +captures/ + +# Generated Android packages +*.apk +*.aab +*.ap_ +*.dex + +# Signing keys and local credentials +*.jks +*.keystore +*.p12 +*.pfx +keystore.properties +signing.properties +.env +.env.* +!.env.example +!.env.sample + +# OS metadata (already listed above, kept for clarity) +Thumbs.db +Desktop.ini + +# Local agent/browser tooling +.mimocode/ +.playwright-cli/ + +# Dependencies and caches left by the web branch +node_modules/ +.vite/ + +# Keep the Gradle Wrapper in version control +!gradle/wrapper/gradle-wrapper.jar +!gradle/wrapper/gradle-wrapper.properties diff --git a/.metadata b/.metadata new file mode 100644 index 0000000..c71cb9a --- /dev/null +++ b/.metadata @@ -0,0 +1,30 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "abaf9c523780a608bd46686fd5e53740a07077f8" + channel: "stable" + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: abaf9c523780a608bd46686fd5e53740a07077f8 + base_revision: abaf9c523780a608bd46686fd5e53740a07077f8 + - platform: android + create_revision: abaf9c523780a608bd46686fd5e53740a07077f8 + base_revision: abaf9c523780a608bd46686fd5e53740a07077f8 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..de761f7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,60 @@ +# DSH 工作台 Android 构建环境 +# 用法: +# docker build -t dsh-appbuilder \ +# --build-arg http_proxy=$http_proxy --build-arg https_proxy=$https_proxy \ +# --build-arg no_proxy=$no_proxy . +# ./build.sh +# +# 产出:build/app/outputs/flutter-apk/app-*.apk +FROM eclipse-temurin:17-jdk-jammy + +ARG http_proxy +ARG https_proxy +ARG no_proxy +ENV http_proxy=$http_proxy \ + https_proxy=$https_proxy \ + no_proxy=$no_proxy \ + DEBIAN_FRONTEND=noninteractive \ + ANDROID_HOME=/opt/android-sdk \ + PUB_CACHE=/opt/pub-cache \ + PATH=/opt/flutter/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:$PATH + +RUN apt-get update \ + && apt-get install -y --no-install-recommends xz-utils unzip ca-certificates curl git \ + && rm -rf /var/lib/apt/lists/* + +ARG FLUTTER_VERSION=3.47.7 +ARG CMDLINE_TOOLS_VERSION=13114758 + +# Flutter SDK(固定 stable 版本,来自官方 release 归档) +RUN curl -fsSL -o /tmp/flutter.tar.xz \ + "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${FLUTTER_VERSION}-stable.tar.xz" \ + && tar -xJf /tmp/flutter.tar.xz -C /opt \ + && rm /tmp/flutter.tar.xz \ + && git config --global --add safe.directory /opt/flutter + +# Android SDK cmdline-tools + 许可 + platform-tools +RUN curl -fsSL -o /tmp/tools.zip \ + "https://dl.google.com/android/repository/commandlinetools-linux-${CMDLINE_TOOLS_VERSION}_latest.zip" \ + && mkdir -p "${ANDROID_HOME}/cmdline-tools" \ + && unzip -q /tmp/tools.zip -d "${ANDROID_HOME}/cmdline-tools" \ + && mv "${ANDROID_HOME}/cmdline-tools/cmdline-tools" "${ANDROID_HOME}/cmdline-tools/latest" \ + && rm /tmp/tools.zip \ + && (yes | sdkmanager --licenses > /dev/null || true) \ + && sdkmanager "platform-tools" > /dev/null + +RUN flutter config --android-sdk "${ANDROID_HOME}" \ + && flutter --disable-analytics \ + && flutter precache --android \ + && flutter doctor + +# 预热:跑一次与应用相同依赖的默认模板构建,把 Gradle 发行版/AGP/AndroidX +# 组件、插件 AAR 和 SDK 平台下载进镜像,之后挂载源码的正式构建不再重复下载 +RUN flutter create --org dev.dsh --project-name warmup /tmp/warmup \ + && cd /tmp/warmup \ + && flutter pub add webview_flutter webview_flutter_android file_selector \ + && flutter build apk --release \ + && cd / && rm -rf /tmp/warmup \ + && flutter doctor + +WORKDIR /project diff --git a/README.md b/README.md new file mode 100644 index 0000000..b9f29d5 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# DSH 工作台(Android) + +DSH Web Manager 的 Android 客户端:基于系统 WebView 的轻量壳应用,全部构建在 Docker 内完成,宿主机无需安装 Flutter/Android SDK。 + +## 特性 + +- 系统 WebView(`webview_flutter`),不打包浏览器内核,体积小 +- 登录状态持久化:系统 WebView 的 Cookie + DOM 存储跨重启保留 +- 全面屏适配:edge-to-edge、刘海/挖孔 `shortEdges`、深色启动底色无白闪 +- 文件上传:`` 走系统文件选择器(工作区上传、备份导入) +- 文件下载:拦截面板下载导航,交给系统 DownloadManager(携带登录 Cookie) +- 返回键:优先回退页面历史,无历史时退出应用 +- 加载失败重试页、JS 原生对话框(alert/confirm)桥接 + +## 构建 + +前置:本机可用 Docker(构建通过代理访问 Google/Gradle 源时需在环境变量中提供 `http_proxy`/`https_proxy`)。 + +```sh +./build.sh https://panel.example.com --keystore /安全路径/dsh-release.jks --alias dsh-release +``` + +脚本做两件事: + +1. 若本地没有 `dsh-appbuilder:3.47.7` 镜像,先构建它(Flutter 3.47.7 + Android SDK + 预热 Gradle/NDK 缓存,首次约 20–40 分钟)。 +2. 在容器内执行 `flutter build apk --release --split-per-abi --obfuscate`。 + +产物在 `build/app/outputs/flutter-apk/`: + +- `app-arm64-v8a-release.apk`:主流 64 位手机(一般装这个) +- `app-armeabi-v7a-release.apk`:老设备 +- `app-x86_64-release.apk`:模拟器/ChromeOS + +## 配置 + +站点地址由 `build.sh` 的第一个参数传入,通过 `--dart-define=DSH_SITE_URL=...` 编译进 APK,无需修改源码,应用启动时也无需输入。必须使用完整 HTTPS URL,可带端口和路径,不能带账号密码、空白、查询参数或片段。脚本在编译前验证地址并运行测试;地址不会写入 Docker 镜像。示例域名仅供说明,请替换为真实站点。 + +需要强制重建工具链镜像时,在上述命令后加 `--no-cache`。更换地址必须重新打包,已有 APK 不会自动更新。 + +## Release 签名 + +`--keystore` 指向包含私钥的 JKS/PKCS12 密钥库(不是网站 TLS 证书,也不是仅含公钥的 .cer);`--alias` 指定私钥条目。相对路径基于运行命令时的目录。脚本需要 Bash,密码默认隐藏输入,私钥密码回车时沿用密钥库密码。 + +CI 可通过 secret 管理器注入 `DSH_STORE_PASSWORD` 和 `DSH_KEY_PASSWORD` 环境变量;后者省略时沿用前者。不支持把密码作为命令参数。密码会传入临时容器环境,Docker 管理员可查看,因此仅在可信的 Docker 主机上构建。不要使用 shell 跟踪(`bash -x`)或把密码打印到日志。 + +密钥库以只读 bind mount 提供给容器,不复制进镜像。推荐把密钥库放在仓库外;常见密钥扩展名及 signing/ 已从 Docker 构建上下文排除。密钥库和密码必须备份,覆盖升级需要保持包名与签名一致。 + +## 注意事项 + +- **证书**:反代必须使用系统 WebView 信任的证书(如 Let's Encrypt)。自签证书会被拒绝,WebView 无法像浏览器那样手动放行。 +- **签名**:release 必须提供外部密钥库;缺失配置或密码/alias 不正确时构建失败,不回退到 debug 签名。此前的 debug 签名 APK 无法被新签名直接覆盖安装。 +- **Android 9 及以下**:下载保存到应用外部目录(免存储权限),不进公共下载目录。 +- **图标**:使用仓库根目录的 `logo.webp`。API 26+ 使用浅冰蓝底色的自适应图标,旧系统使用同一 logo 的传统图标;各密度资源均已生成。 diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..ae2e3ea --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,33 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +analyzer: + exclude: + - build/** + - android/** + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at https://dart.dev/lints. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..be3943c --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,14 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java +.cxx/ + +# Remember to never publicly share your keystore. +# See https://flutter.dev/to/reference-keystore +key.properties +**/*.keystore +**/*.jks diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts new file mode 100644 index 0000000..7b122f9 --- /dev/null +++ b/android/app/build.gradle.kts @@ -0,0 +1,75 @@ +plugins { + id("com.android.application") + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id("dev.flutter.flutter-gradle-plugin") +} + +// 在任务创建前校验,避免缺配置时 AGP 仅报签名任务不存在。 +if (gradle.startParameter.taskNames.any { it.contains("release", ignoreCase = true) }) { + for (name in listOf("DSH_KEYSTORE", "DSH_STORE_PASSWORD", "DSH_KEY_ALIAS", "DSH_KEY_PASSWORD")) { + check(!System.getenv(name).isNullOrBlank()) { "Release signing requires $name" } + } +} + +android { + namespace = "ren.misaka.dshapp" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "ren.misaka.dshapp" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + // Uses the version code from pubspec.yaml. When using split APKs, 1000 * ABI_VERSION + // is added automatically by Flutter. (https://developer.android.com/studio/build/configure-apk-splits#configure-APK-versions) + // You can force using the value of versionCode by specifying the `-P force-version-code-ignoring-abi=true` + // flag during build. + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + signingConfigs { + create("release") { + storeFile = System.getenv("DSH_KEYSTORE")?.let { file(it) } + storePassword = System.getenv("DSH_STORE_PASSWORD") + keyAlias = System.getenv("DSH_KEY_ALIAS") + keyPassword = System.getenv("DSH_KEY_PASSWORD") + } + } + + buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } + } +} + +// 直接运行 Gradle/Flutter 也不能绕过 release 签名要求。debug 开发不受影响。 +gradle.taskGraph.whenReady { + if (allTasks.any { it.project == project && it.name.contains("Release") }) { + for (name in listOf("DSH_KEYSTORE", "DSH_STORE_PASSWORD", "DSH_KEY_ALIAS", "DSH_KEY_PASSWORD")) { + check(!System.getenv(name).isNullOrBlank()) { + "Release signing requires $name; use build.sh --keystore PATH --alias NAME" + } + } + check(file(System.getenv("DSH_KEYSTORE")).isFile) { "Signing keystore does not exist" } + } +} + +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + +flutter { + source = "../.." +} diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..20bc1db --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/kotlin/ren/misaka/dshapp/MainActivity.kt b/android/app/src/main/kotlin/ren/misaka/dshapp/MainActivity.kt new file mode 100644 index 0000000..2266bdd --- /dev/null +++ b/android/app/src/main/kotlin/ren/misaka/dshapp/MainActivity.kt @@ -0,0 +1,92 @@ +package ren.misaka.dshapp + +import android.app.DownloadManager +import android.net.Uri +import android.os.Build +import android.os.Environment +import android.webkit.CookieManager +import android.widget.Toast +import io.flutter.embedding.android.FlutterActivity +import io.flutter.embedding.engine.FlutterEngine +import io.flutter.plugin.common.MethodChannel + +class MainActivity : FlutterActivity() { + + companion object { + private const val CHANNEL = "dsh.workbench/downloads" + } + + override fun configureFlutterEngine(flutterEngine: FlutterEngine) { + super.configureFlutterEngine(flutterEngine) + MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL) + .setMethodCallHandler { call, result -> + when (call.method) { + "download" -> { + val url = call.argument("url") + if (url == null) { + result.error("ARG_MISSING", "url is required", null) + return@setMethodCallHandler + } + try { + startDownload(url) + result.success(true) + } catch (e: Exception) { + result.error("DOWNLOAD_FAILED", e.message, null) + } + } + else -> result.notImplemented() + } + } + } + + /// 把下载交给系统 DownloadManager,并携带面板登录 Cookie + /// (下载接口与站点同源、需要 JWT 会话,不能走无 Cookie 的外部浏览器)。 + private fun startDownload(url: String) { + val request = DownloadManager.Request(Uri.parse(url)) + .setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED) + .setAllowedOverMetered(true) + .setAllowedOverRoaming(true) + + CookieManager.getInstance().getCookie(url)?.takeIf { it.isNotEmpty() }?.let { cookie -> + request.addRequestHeader("Cookie", cookie) + } + + val fileName = deriveFileName(url) + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + // DownloadManager 不接受 MediaStore 的 content:// URI。 + // targetSdk >= 29 时,系统下载器写公共 Downloads 不需要存储权限。 + request.setDestinationInExternalPublicDir( + Environment.DIRECTORY_DOWNLOADS, fileName + ) + } else { + // Android 9-:公共目录写入需运行时权限;退到应用外部目录(免权限) + @Suppress("DEPRECATION") + request.setDestinationInExternalFilesDir( + this, Environment.DIRECTORY_DOWNLOADS, fileName + ) + } + + val manager = getSystemService(DownloadManager::class.java) + manager.enqueue(request) + val destination = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + "系统下载目录" + } else { + "应用下载目录" + } + Toast.makeText(this, "已开始下载到$destination:$fileName", Toast.LENGTH_SHORT).show() + } + + /// 从下载 URL 推断文件名,优先取 path 参数的 basename(即真实文件名)。 + private fun deriveFileName(url: String): String { + val uri = Uri.parse(url) + uri.getQueryParameter("path")?.substringAfterLast('/')?.takeIf { it.isNotBlank() } + ?.let { return sanitize(it) } + uri.lastPathSegment?.takeIf { it.isNotBlank() && it != "download" } + ?.let { return sanitize(it) } + return "dsh-download-${System.currentTimeMillis()}" + } + + private fun sanitize(name: String): String = + name.replace(Regex("[\\\\/:*?\"<>|]"), "_").take(120).ifBlank { "file" } +} diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..2ffd547 --- /dev/null +++ b/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/android/app/src/main/res/drawable/ic_launcher_foreground.xml b/android/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..1b4dffc --- /dev/null +++ b/android/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,17 @@ + + + + + + + + diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..8961257 --- /dev/null +++ b/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..95ed239 --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..0c04c7de506805a085ca6c40c02fe09566182c8d GIT binary patch literal 6434 zcmV+-8QtcIP)2NklKe-^Cz4NyR^Eg?^pPSvYd z^_Kh2{hsgnt>5#+NVXDkW&GM9U4h^VKvw{|0?-wJt^oA^?NELfKQb~h#%r&gU^Z`K z=n|VYE~mG52|*Yl03pO1zIM&7AS4M*Gw?kRNtWN#^?rGXOBDx&VMyTnytaEk2M+a< znJM6-kew@&pR4dE_uRq_H(c|kt`ATx<&h)>BN8E>oh6n?A<6Pv8=x=@5kfFKGfg31 zq`kcjRo5@PfA76tV{|;v=l|xzG&Q#%NzyOeG`|h2!VrGVXD%j_F3A=ALwiSg_`!eW{da9gk#&4orJ=R$R|5TOeuTN{3BpPSODR#c1LX87 z;;9sNwSs9y5Ep?-%Ee~Rd4R@7hHX(vnjR-)+|kx2B{fD;0O!rTlo?+lC9-U{wvD4*oii5*nb+la*CZ@n${ z^Q%2KJA>|)>Fr)bK9{BDc{H|mlFLkE7zSP_ICSVZt5$X6*$$p#)70F^j^}scdI2l? z`j{@3Ni;NLn$|BdX&#{IGy7S$)FV4Ffu;HwW`O7T9Lukvu5$%p7$Ai7)?ttkf=ao} z*x&&9%s6-4`94Zh87eiw?!7|{jqasjml49JQmqh+M0oA^Fx8UHlD1|#TIX1~avk-_ z7>cFRB`X{`ehSm&6&z^dkTi)^Z3k+Johfqy0Jw8oSdn={fEU9{#;fX3*s_hq;_Lc$2Db2BZ zMK8J80*^nvho3xikW5if^#m0!L`Z^2B#LgCsER_(wyBiMRBVS-U6O1WzW>Y#4xb$1 zkM6z^MX0EnPJV2hf#XN$>07;E#Gm*^6?2gU!_uZsMr-0Sw>a$`M^+~pLpQ;=!Q!m^zwi5D+3MGLj@ANfJVqa9tNw zGl<3#IJQF=_?S@zJ52J`2X=A%^av9p)1>1`qB3}%hggW2Ofy2Zq;NXl#-eL(Uzk&H zQNg(=TWsvyFsr+|`Sv4E@k;+Jkz^eWn$E~j6-8E%6@lk?1VZ2kKC&bsosX4-!1et3 zKv4+1z(rfTt!kqvI*#WfD+=XG zl|aZK1itGKi6+^(=M>kiUB=BfT}?JuV8>6N<=y}O-Go8#+ovU$gF(T<1Pj#)Gv$D4 z$s_Q6Dy1@E5Rl8|DddaTRTsw%85^76%;_`C%w(xlY;3zmwN#{7u8^6Up-?O#%My0E zh(HhqA*!k}Q<8b<)#Fr)4tH$dM*pcZ2)K~HT}p7?U7Sd=E=wcgd`)$3bG`S z6&1}ZkW?KMStfK`oQjPsDM*q`7($0>V^KwxRTNc5)l_`ffe=C=APi8=DEp2NG0;EG z@W?DjP7Ja87F8ZMvlP=Z!Nc6oerhIW|bX6d;8HAxZPpM-YUdJ2_IiAfGQ{XbPsOVHqkhUBXf% z6whI1u0YK2s1|1M{19a!`wqhpNeBc2Ck%;q_HsBY^Tgo^>X)y>O>{Dm$zG^>yrs5S z5Crq9D`4;bQ&frt6iq^w6@(B7MWHg6;rcb5ELqn>YrP3>g?QA$lzh^bffTs(^;m4a zb|ruO!ELfL=Th_8+O&xNvmxJHfNmQ>x(PIcgG|A?V z@4S{Z%^KqqgWR^hg|nxID1|Ns%|MnVLLu)_KLpLMFj(Ki+BM7Y z{qU{h=I5(~Gd%R2pR(h*V|WBes)nj6D5^}}snKq@Z0Jt&iBJC(DMMo2s#V;$dO0(d z3gsZA7WmwJT{lZxBmDJW{vEseXBf_xsWVm9Z`i^_5JgcU1R}umJyg>oKR&|QnNdvL zAoO7D*fG94eU8?qMmAly@#mO*@dHKq(|_^T|NXc9@Jlbe$``-zZT9XTqE;$kSMx;c zn~0?w(G(d%7rijbo|m3w<@!ym+Hwa+N6Kti*}{9aU&HYO`_MI)wseG^&NPS5%<#6m z{{UBCL~gc#ojFA+nF6aG7UCfSAGefedSV=1H&Ij_&9v|WjaOeeid!wRY{gp~&!oyEn6C zRSVay?Iaad=~&jwPj^l5!1rEZ=-epHZC$);V=EI=V@UNq_zN{>$F8ABE`7_EQFDAM zDIN zRb=P#bo8v|jypE-%20)os*dXVtnwAYVjf)yF=Ug}5|hxYAxBfV%{|nobONuyt+%bi zuj^;W2^&q-@q&9zvlAjlh0DC9sgPJQ zLPJ|O&8;oyhIvUM>(_0h!*Jefn5IS7(jKf-2bL&v`oMl7s!mf&I|q)8@Sf{s{%W&? zuNPR<)lBHtP&ExnQo#2KY94DEB|6*+rMWz*WQvEMK1hiuzT;Au$q)n~VJ$#a3^Xgv z6T42aWA6Z}SK%){^FcOly>_8_XtR6QZZ>YZ8d;VuDoAh0>`RhF7>0cFpB`rX+!S6I z(Aw3_=uD1%Cr&Xkl|wTv+T*Y!DIs|-2tm1AWo9mmuc`#dICc#~a_MNa7%NnH`S38q zBN_V7^fNazjZ-V3>k6u-k!nm4Nu&uSg=AwZnQZmKe4cswWxo8ChnStoAcVM(C;q0+ z%O%gnUfXkkhE#;>uUUc?x2RUCbS+*&UHcNAcx{l!obkB1ZETW-~S_A$GNb8VHgqw!NPO6&})2s?0Q`#*YgH2H<#zBr=H{eci+K% zfB!9xo+&amaEi_qD`@CkO1Ye4Z2wL+wp!e{X%RiGNox5S7WXctY?lcfpL8lg(G@)L z^lqMf;Q-~(L~ZJ%e$6IaPa!)s#koWKQ3F9N-9#iE!;D3cLzVa5(#`GLxAKKA{sU1} z=J{7g5JrN~_1Ltwg-?I#KcH&bue^us>@4ZJx=Z8c&)cDzekwb?V8J@z@BnF0a$dU>n zj84qqRKw~~A=M=qDATq-l2nc<-aA7%He``EJOnoDD(&yQ%-qAbVA2VGRX3|_5@ zFROI+^pL1eGcz_sVQPX(IY(!v&?7OPJvxb3*UhTF20r$&4|D9q zQ67K#WrP~#NcA~3yzQMVU%QUh-X3O0N68G0QZ3g|BWl~ z9~orq&;jN~M^J=dbnFbFunErBi)D%4)yqjFbS$&Rmd&eKw!DjMA%|u)(A3mPwUFn) zi!X8Z!WQ11_7cUU}&N5&|-rXf9LjfA>d>+k*PKBzN7lou{AK#h3r_M>M2ckc37u)<|eOjP&aSBN`5Fx0th7>{&x`cQL5uzzRo7Z=7 z{SBKgtrr`fm?JY?X6)1fRLj6LEpp=-vJ+ECL4a<>5r%~bA)l-8@+*f)HMMZ;($dy~CkZrDXLdACELG1>pF2eF(#N=V^HprT`6f<`%#dzg zj#eu2(R=RZ+}UwvXN$-(6pIBUSwm4|0zbrxr6^a5oI8DrSiAvEi{cWZMNA~i;@Wk~ zSlivmOu^>e+i#$?rJ4Kw?z_lF47XZh$)Xr*Rapvrc{azYZqhtE`R=+ z`MPr&6g>n46@tvlC6V@eKtb3{*3M<9TR?fovMcK}cOfXZi9)OpH(C z`#zRsAgl9sZh23d`~JtDW17})r#HG-0JXL>bKAeWmHz%S4DA|1OSGfwSt@P`!%$Hq z8A-?pNdO^=&}eVz=HT(utgfrFWm6Zo{r(3rqDgN5z0WXPQHdw&snu#IiiGbJx$9jw zap#@e$>sBW`TnPH%>;q(5`-a|t|25rZekD@mwm7KYc!M*6%w%+TeobOFY+r25z9iBRUjl0kCV^lacze{0FsQZs+gvQq8j*B zmxz_1SP59aaRZ8~Q7)Hw@#W(P)dV3S$?|+!A;dz7_>JXfuN$EA3G3)+hVIrlsmdUA zx=Sow&&=d7o?F9=#!1yRkR3mZ5zG?z#`!OQu!SYPtrQA20v!p7+375<=i>(T%u-*4S|4O2>a?{ji zC-~W8yBRo_;cVd`Z5`tbojpr7Gmcv}iK#N%Hm&CHiE~WOR`~v7&-00UKENNfwDZV| zdr{lFk#q%Jb@=G}Z({wr)fdu%@rIJ$1385XTA^(eBSvAKyK zKK?x4`tA;p6%1i>-{(F_JQ3%AKlm@4%Xw_xu$=$;i4TL2@H~$fp4-Vc{^?1Io{17s zPy-pe11WLRBSVv3ka*#`((E9^m8m+)Zw( zOm-s63sV_P*F(`%2F{FgdSD9GjAK{|5&}Q;i5fnAeLWZEcli}&3v@blqMu{OGRTI) zwi~ZTAfqZOo?k+oe-K4d(R7t$D#3WB!o6Sm zDrTaE=C)occ76nVavF9fQpA;J*DGRYTeOis=bP1RAVmPyq`*|1^#yif`c z%h1p@i<+xZs}_-!0K?QVOa)yN1Ywm}+$0u>;n)s=A5zKBvgNv~<_l+jaQWpg=bMSo z@7PKIKn7$DA)vdvgK{ZPG-9A>5`^<>;Rhj>Y4PGKr})y>pWvqJSFtTuC2D9$io|12 z?L?0x2!dcb3R}IESCkR97LJky$0e%o-SF4!1$&a6SjT0x% zkxr&K)jz_{SNe%A2*JZZU|AuSC85X)pZSk>Swd z>sHd$*~q}z33@wQNT%aF{`d=+x<$2GMH2yWOGeWT4j&)jzy0OMDVC?nWahBqIyJ9` zvY-bjl`5p7Chxj+4L5AtbWyt-7e#5Go1P*nsXX%dPQLY>9}u@9$cjWqTQeW|lRJq= zEz$`K$97N@6;+dP9nejkrj|N(?LNTg@B12)Q!cSYlF+Xaiy63nja)X*$3FTY-u2Gw zdEecC#&q7mj9B<#faAJ2c9msai@5o^72I~mCYsyYE^2S=q8&vTI(wF;Xq5heA@2Xq zj~O~Qi5W3*9GAA%7@z&rAL7;mve{X#z5Z%O$ENt%GrNe!BRuk>=b6jf)Fq|BOVe)`MI7C_b`gn^GFLpqh@`t_^1YIzIYD?8{}(RqWk8etgH($a!$J7j0(aKjK)jS&h7fk$&w zn$@dTaQpUcB%&Jq1E=}H6E86_C1F_xLKeiLQI@v1)81N7EGe;Qc^geFEx+l6)a3{0 z=U1+fo5Lv=sIy{>jc0l3<^ALeC5q(&rLs-AY-5=Q^>uX!0eyYl)Ta|@n#`)zOWE`4 z0VXG>n9G(itt9R39mukZ5CTopsMV^JDp}IaDf(9TpV@871(ml!`6~4jsWT5;V1TU|ANLtl)bdVd&uo zHhvh8ZcNhE(|O@6+FM!%{42fM!h}=x4a8Gv4%J>I@C^8p{Aq)|cjO)}$HFVO@*odO4ztAPUlp4iLdg2g3mSuXD zb<($dDYcS=2tii=LCgMy&)xgkU)yrJ9OIJy zvB3FU=%$-*Afjn>G}ZCBzxf1>O-%$rNV>j`cW%Fx%)}J$xqTad_MblTh7=f=a)>Mc wA9NWRbOoR*09_eZ0J;Lu6@ab)bUDZW1^!!vM^_2Ar2qf`07*qoM6N<$f-6*J82|tP literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..e112acd6dc92bc5df366c73bd9993619cb9d2676 GIT binary patch literal 16108 zcmcJW)n6PZz({(l32@_Ow$Cm?r7Kg(vGLk8xq%3aBrJDU)H z`1M93i(gQmJ@wChmLM9#!2^|IFaEbbfoL4N87+sOL-3nm5H>02dH7QB$OKP=?mwyt zN#<#H6~&bZiV8w${F9~bGjq6+Bf&%$jk|5| zNRk9uznyK~&5yjK`>IWI)o`-eWn*Eni*Wfejd?Yy=OT5IZ~cy=^*QHn;FN(op@epE zFUf;-6A$=l&^fr6;$^SSPOEW3=;5$NoMDl)AP3B>+vZi*U^bdA_Fe6ly5*ajCHEYW zr}3jmLXP9PdfUZYC}B=bZkcoV+3tpSCHh(RL3zt&t93;a{mSIT?#}tVh|pzAX!h-V zg@60o5``At{TJ)+R7j{6_lN%84?l<1S(}#Q@wvH#8n>1Wgl;A{W;-q)t9BF^%8D4( zzB?_IXX=X0Kid0k9lW&e-R-CId+iWDyRN(Pb|{x=dPX*HH{X;F!ahM0 zA3zTTaI#o#egC7YoZCwVk-NBYpYsI!9A5M7MZrZKk=Els zDIB31saD$NVeDZp7~$-3g2Swn(cB?rmdZ#kS8O*f8+8W-c64*rjw8`EnOG6 zKax)HvdKJ*_s~6K3R70~`(LI#Bra4W4k7Ei4sgT>9cz5>ThTCH(J0{XZL8gGn{B@{ z@k>xxfNBLao-BKBm8$*np**jlcv{8X$#x!Fp)J53)d*-_Palp=r%&e4k!?~{PO{Qc z1LI@=WcYi!o62`oOSk^ddHh>1ad9LV#>hHsX2l$7DHC*1YQlxzd{{mExDAZ9R~mT+>(yj+iWoJ^>wK zCS=fl4;)h7csVj#cDIe#k*Xh$T&$UW)`Pc}!yW_A@!Jv18ISqN=O_Ft^HNnwRdGC?(Y6-lJl@QY^OIyR{5Rw_zp6$BgPh3d+czb248`zbUNYLOVVnA zh?1-#BP4V-cO}k5iHn}|`3st{Uc9JV@9r~Fem`v%cL>=3Y3)^jNjMu9kdTm=`dH~6 z{^RXAq41CX1EW?`q%31pXN^`aS7P3T+a^Sp6R57{S(7AzgMD~Hp`qbD`5s`-cz5Cj zq0S<<2hHZnlmm9*AA@qyaX$)x+@^c zCmW87q{?inJ8o)XgJcVtoSFY&szc-kfC^==@bqn$iL5USt2SZo6P2eDK&<&NK4!{$bw!+7g(WB3?fO-&C0$D|NX@HAsyJUUebhE$6{i=FkXx+Md5(TboSP4#W`fsq!^mJ{*H z&HF@<6*rYe8}(Tc{q;xwff&EKXi|3J6q_+)_#-iBF4@ZBs1-?*Daa#vqm%|Z*>l=1 z-Xd~&K9i!b*lc`Yw+e6=3d6EOzQpAgjXRjF(3sWp+&Fh0Z`w45`d~dDi7Q6Rd*4gu zd-Hf>el)xOHy=ceQckGEto8|m3?Vo+o)Q4?p`dcnT@mNSK!Be9cmqQM=%3+FyD)WY zpf1*9GYX9(BEvNkDFIe_97KgWBQ%Ph|;@< z`}BCx5TqoPH^XhHLqDpzR4-OJb`c7c;%MIofzxmrIabwL%QIrUH0Cot96fp%U19>Eb zH91V8ps_t>=dO^16psEgI@+x;FHR0B!(AB0fFqHwti8A(`d;-7+#=HgD3yx`*Nn0N zhU|EvW5ldBlKWw`uB+U)D~gNLaGV^Qzx;Wty(lnX%C%nL|KfJF?B2FKBp=;&bUDAn zTjOTykg29>ZM~8cKZ?Ha-si~Z>HcbeVYmXLtuplA zS*=x=xEa~2J+vdDmxZLk$vvs4=+2@nD5qhMNSNtgNn z5VEt^-myjR40Hlr9s@&;=pbh~^=?k)m*T6K0UyaT8xciT7OS*%mA!4H&2 z#s7|j5JamKA<7gKE0ag%im^q&r0~T1BCO_HFFPm?COETfaiy2HIf+B87)$7WA#(fH2-ko9^KT3Q@*oNU5u%FY zriKLM?E&N|p%T=b+-Q6Fo}=q_plP7MzM?K46H>FGlIusM{w*>|HVoRgf|=hA+G&ue zdzQZ-MqwyMbib1d>&w^{YVzG#EIFe7%`wVQ?GK<$$-G)nBz!!5>~v2`gnYEu5gP9W z$|K-4o36=YI6tM;gaxspIFZ-eieu$klQb9Q1xd*8lQrC@7De-NcP>`w4|Wa^ZA3@M zlH@)UEug%ecEV@DgF$m7<-^jk00^klT)|H7v5{1>xKtAO&rWF$_Qo5x18X=M9p;Hs zg0F2njlQhTvaP?j!WeH{bv5Uo6lhuZl+nw#V&Q@y1Yib$QgEm+f()Px`rBo*6|^QE z02mcC+Rg$XpGzu`OjYF?z|Q$$rm$G9FGL6=vh)piY)i7=34Q0gU>OZ;u zthD?_N>ZO^IP^w`7mg4Xq9W8{Ng@7&Mzy9pv05vlcm4950}d=xk5T_q`-z}Vf{*ei zR`g^E<4=dLyxLauFJ})smFZ^Kwub~iRQR_JipVgE749%D8S=4$v9RbCf@;}a^^miR zUF5|hv=do_doX=~-LHp10vfc3Cu2^3_lJZ0n}bD^6Z_8{^-5bbl@tpIHWv^S63s3; zi$6U{n{8mY_)HU2K+kL7PN46J4zp~`4yC6%PlC2?r$iXz6R$AXSef)mJD~BGCUJ>x zcrM%%z$g9<<{?Ud7xnNXZqOCp^6kMbpYa)HYZ!Pq#`W9ycQIB;6DJuO{Q<|`2CpmZ zy9UdOC8YZX0fdcP%okj;*>w94`EesuKlFIp)3G1x<-9BuVDjDWdtR_ZBpvk`Aa@Pl zwQz0fANlEghd1F*7~d|cOU9#WfV4gdwS)0o9wYlVD|#F(5H>(87mu+rNkSb}?k6U$ zea7J7yz}nL1=mA^-CE|aaw_7O&!2q4oaP0$Xm)T1sZllAti46@(Tr@Jh1r3h`T2SB zyW%QO&#Xt^LFD|^7#l z4;MX9AP)Jr&fZTxGMm`G2@){Ryt_BK2#nDXvdse|4w--Ms{O6)q&3A^s~t=28h(-# zhOEXec;HfRKi^Z@(2+Cwm+|Kr657s{<3YyqpRQ#dP&l7TldK7!BsD(DmT?BVefu5) zI?L+TsNn5khhIh<7rMqrguFF={B4)|)9A(JKMr1~ctp+b|NeGdeaE@fgj;P>6ivPj z6>rh1GD4OH0Qzo9V$zSY7Y-;*Q$Bv~`%+u$?!3X) z5NDCq{T#r$=yteW`cOM#z-) zQ%p1agnWP*csPQ?-gZyNOxBq50e(X!Fy;zzrD{jzJ831YI867vcTXZ0ELOcn?|`V@ zMvs`$bFz|IYDIP}I$Q_8-%*%PM0#k>}&Q>BvrJk!v23;4Dj>H6GF3te8iMQKJfEW4p)@M1b% zo)R^*UZY0f{*XYI)G;T7ib~6;yn|*QnD|wwi`4F2j4q%8j z6+MP7nUK=AakRX7+rA_UwZk@`ySyIb=4idGo=WD>=d*r36rNw2r!u>~LYa077#rik z4)103j#mOI%uU8snWg%Kwx}fdqt>Bz#t$XsIwcb5dW(Tn~x*w za+Qos-*E5Xv&tXl_Wj_wl@9YqD1-mg+#@pD^_7cDkJ)%SoY!3;Cv|$3rmz&JTArJe ziwOj0jH~=vZmr6!h7L=Z{751$P|>j^a2-{2w{(vfRfza}x`{jIm0D8fc#$+5=SPrN zDns|_@q6+%(oc*}qFm`1jW_VNAf4^%D<~PGIF_xgw8q=n%+EQ*S)&roJ6xQw33)Us zJk;==`(1EcHpx4+wGq>=dk1@lZY$`Zx;XX zIJFIh(CPV)@6Of5?g~NQB=HOnBMr2?F;7<+o}Vx5kB;{|#RuxmvYULwTK#ERvX`1u zstkWh_^=mQ8ZPqe!LhYVc8r6N!aX81RcJ2Mvwxn3i~s@d{;Fda8=_xCRAg8x5vUkLBi4Al1gfg{!x((2y|Rnhsx;n z*V^hYw`6Qx$fc`XOmvU3rcNn{E8-Ssy%6-FTu&XL8*^~v+ zH9f{7+l;4Wy3O3-IZM_HKLIQFjp@+{-7YRa>kyNV8#dH$JdmjML)TR;!|3;NNT^TA zfJ-Lhf4UzZXFE0*hS@i3@0=~88fXe7W?gkxaQEa;sM1J?DdtZz44xkwFu%CGAZCIx zN)&+39IugC!?;EU|H&gqFsauuV^c`_z;^E)q26nhO+kG+fANUhdY5l!=f82s__^zZ zhiuDzoFd=-*+>yJX!8eOhnLqoWGW{7A(ut+ z6jlp{w5W@DZ@>QGA8)08|13pRnP*Km%a{F=ZA*H}Om`@Qr?QZUW@)42c!s>Qt})D5 z+%-b1C+7dMywhOgeRe~}W=raKx0qv>TOUxGE$zdt)4!)+;d#<_6Y(mP-@zqfQmhX1 zxF%xM%c?heM*)iP*{QK=e3rc&p`p0$g4&?9F7*UcjnSSswRMayKnbLwU*EA(i-L1` z2DHPBwQwa@8-xBSFW1%v_y{0I2b)R(7J0_oT~ciyq~F(#798F-;=gOq>;jwByXx>gjP6f=m{*0T$#OgV&v zxY@zb&ZafZwc67En{i~auD5A*-NSZxxDa@+Fg;y{r=imMhP+QI)WTYB(rU}ob4RRP zSD3JjPcp%jQVtP&7t10ySP4*A-a*|(sZ>HK%J`O9)Kl%z1?87261Eb1>hHzc9M_gU znJZRGm1!omp(u>&gz>E^aYF)`eS%U5!x#+(V+xnDSMkn`$9FqX!pL z_z*$Y1#ad0hR!7o)*xxU1roJa(r;JDzjrFC)xJEa@xv(sqIw1v(uoju?vsA}&TRH8>a2*r6A@PDp7DVsI$aTv?|K*cIsw+|V@ zx3IM?&Z{E+oKCxw?(@tdLaj0bsJp=d^H6pfCc>~Ou|VA#Z<{SAdA&c3mX+1%gQ%?3 zmBB%Ft9vLC8*?xo5;K=-muDLkOmf;3HfrujkJ8{VV&~m-{&!2&utb)|Xz^Smbw<#e z-6Bao60rmUD!m=<9ai=_-gA#$rm^PL^hIIDASF;3W!$bFj{Q;NGIj{KP&?&%RQRL= z5pIbc@lvy*@g?R~qbj6QJ*R2)&|NVKgW`F!7p_<)0~CR%OlF0%4?|MYl};@>lN#!MDDmTUb71f+?=!GW@5g3~T<`I3y%Osdn~U@TQn z{1@zD5s9%9;J(%~JP#92nl{-CZo6j5_tL+d%qZ1Td0uR##9){|#<*XyHPBHEOW;1fOqPab$GXdLXXSCl;g@2qmkIfd8>|HAJ*XEt^V!aSfP`naz6eorg zu`E@Nr6mBnmD;UtgudoglrI1fuP8H}QUIj6oHV(K z%cNiGd0YHsj;~EX&YnfLLjV1RSe0K}pwdn&U5cLoPGtH#>^aLd@|LiG$KK1v!K1Ls zJ5GdaduhJqFddR_te``GvYz)|eCiX%4%Z$h zQqNs;ks@vWk#)2&D6Al>T+%sj|MU?t=5!Y^#`!Nsm20J3uSK`Tlx*5t`<5%I^0s>% zZEX^wF9JQA7AQ0t^zgq@-SK!;nyIQjDB-F!-fl>?SI5v)SbYd_F+2tjylUBh^MgUIvWPA3A@zUejtkjd4jK+|@L^II&LE zY&K5Gh^GvyJP*9kycv+n_VnUiJMLXY(Ns+nG$*(q7y&iNEnhvyoR0L7?N*^wC-8?v zUrx=z!PRBBv&w}60{p*P61p~NyF)*43G)SNmE~&DgDffWz%o$K=oPoE$iyrc;=KDZN`GSI!k%-_|9qD8~NSz z*lJme`pbX1)2_d8uS)JXeuI#h=i5CTcUnE2%aVi6A3JY`-wqL`HjhbADbB7#FSFY- zBiKK6)87p`PKI7no%2h*LjgQ~?~Nqn65#3FW*h%pQ}J$#Ulm4;PR2y%1(drv)W?AX z@EZcjaB6w!G=cu~Y-O_A=`=kmj*0lvR-dThd`0vg+iNSI8r>=CC*p?sVd~+u@gq9* zfpo(f@nc0|OhEZ=jqizFvCW_wRb#~zE*(M7)hhGdW4mHa)?CYeiWUYj)HO6%l*2=7 zeHzOPO2JwmMC+u~%dF*Z!coZ5-*O!o!AJ?fg*dEpIGH}weKz=(@PjIVw=T!`iu9QZ z&Qnu%crPPwF>Uq!G;Kg(LeQT6^Uf%Ay?M8&?{w|Qq1Ur#i9l3LG$kOcKR-$_>im30 zUf1zxD@q=Ut^N@qpdwJ)-4$zM1}?R#@jgRXo+)9b9KUQVa~3V%%|UbQ;h zfl+~LI*1D6{)S?6&^3nZ6PMfo=b2EB3lAEO+33EhkrR^mEI^5<9vNZnJr#2{4%ufy z&RG0I3O;a?klJES*>htB7;x%Km#!m_^jBW3OkJ%iRYjrhcVMR)vx8c$5ELPis_-&% zvS{!yF3Xkb8EUh3$r$52*0QGeGwY&UH9)C8mMHzrnhLXN7%ffh*e<;R(>Kfbye03s z4p$cWaK%x@ARc-Os!A*m8wvOp*<7aMiRU^1ZrtpO`#A#I$D z!|i}D!bc?Xc{vhfqU7KrwBIE?5t>Mol=Ivv$iriKF9YP&dvT)sTuP-1mI^VU#_=G9V(ZVNsk&TQ4tBgzu}kA5ZhlCse+abegO^dXA)VBVuH&h@2uR3e_d_ZR-nh zc$jk3g-Fdsb8+*?jnq#d1{;8Bo=`(#gKU2U6i8Rek<#Ho!Nf4@Z@UsS*e+`us!pY) z5)=H^+1jlx>|Kh(MxPj7S3%Y`IXbgE42^$j>x(TnA~Z2jbQYcIUn>#m@>3GLAcF#w zMI?Kq(S{ZClW=cW_^8$*-*#*u&i8Qs9HGb-S0>z0Q!_-~k-0xl&%4SMv0^{>fWE5| zF4wXh^IjGf+wac3{PG;*e0r)Jm=PR6w-^m0aVGdb}WG+m}J{!iVaddAi^g9>3hFLvC}lH|t&X605eVWr7;6&NRX zHl0cTCzl!?I#B>{5y6nsr+3>t8_$lNX4C>SlHTF5e*RV6&)&%4=F469nqM)5?i8_5 zY3iZWMU**QNrp_`0>n)9>u&IH4xZ&sF@Lj}^5#YYR+h=BTth7Xz8Inuy!Hji;4;xU z3j|dG>dih0^MQ&WMn)c~*W2pRsSgf`G58n-i&W=(=+lt!?J>7|X=!3&_R7mkJO%EU zB&*et;fnlN7KoqM7q*QLGrK&f3C6mPds@0)XUK(9mZ^9ofF3~uePSISnCBN6qXjr=*p&wp+Q zk_`}+!&UY84TFfP&iX??I4se9ou<%V$a_r&U-vXk6As`?Dd5I7o}D?W{Pvcu%=V+O zQ(|;I3dr!s;Is0AwvL$9TotXm|54~B*b}{M$hx8}-Acysb`>du$5uRV3O+C0l(=+c&FJuu#8#704S1#mJGd=FHKc6{WR7giCKEDdB-6Fs!DTl#>oDY$MjkE`A0&7Wx7YO zq@|mLjJSB@f`kqUXQ9}@1%KrWWqM*^zGEQ-@7&U8kf@nV>JDKzYC=SL(>UjupgMi$ zG>>T#ijGS|oF7gvpyH^%@JI?$PN?uZ$`E?EgnYP(sopuIL>{MG_ndPJi)AZmew)3s z#>X#3-)CuK^QSD?q14nxrTfCy2a_ay(eWwQY%nRtkZ9KsO#^92lrV&%anWF*+SkZI z{GMC=rq6MU@XnaVVVYAy;e9X;crU#$m4YmjuX0O#{yfg$dB^K9yn#VGQ*;()Hrlbf zWbb{zmIEl9zj}O*ic4<-tX#kdzM@l*mGGahYwkpWkWdr5pKVDkqk1{Z0L&%CsCpIh zQLerz@HHAFD9|vX^|;8ovWp%qdBnVzc=)cT|HNc!`-en^wlWA27B^}V76j_Sc^@dM z#I`jk_tDhNfbjGEeQf%eYI~y6*b z7rrRtMRxevO%>fiA$PEVfGm|a1ZVTknWH*H_MCmA~YhO&f87gSJGs3w2GKOd4Op!vZ`pVPa>r5 zE;v2JkjNt-hEAgFi9#trD)-fZ62gidz_`CXSD5>1j9bqTPYR9u&_#`p{}CS^jmKN; zcb2J(-376tjbCAb4fjbl(%vU?WRH`bwEa{SkCzY{k`U4f(1uu30av{EJJYGj`J<{WaC)Ua;MsEn3M(oKhKhN;S$^|o~40991-Y@}K zhot}*iJ*MV`b!tC1TAJLD(F2p7^l5Lw1TboRXZa>q2zr1*c-i}$_J?3zJ)fy)?d8+uHtm(fq;XChMYbM6TI8(q0bPSP_ zcrwAxIzskUf1mviostb~AIHVR7Icq}$K0r?NLMPJma2|fpm^y;8_2?H|)km8HQ3yN`JA^seaYT;S+#T-#i}1ZI_S}YdzG} z;cK!5V=<>^I=ZpWy9I-2PJPdYWZzE}&le%r}Gh2N_%tC<{bI(;58ZIxs}EtO9tW-k5NSo$Uc_NQ&~>`RC7G4=G^w6C2S z62WSjej5rU9A2~A=2cQP?Ti2=MFGjcR97{ADU^k<&Sc_&gyNd*quIoQmpD3ZPjHPl z#x2e)e5`Cb4d!?m$W0#X2{GhnrByKgw5Mbf*fBFTZ?hJuGU0FmtM?FY$s>2h*8`o^ z9WDo`@&$A`D}JQ4>1|#}`bfv8F(+g>$;LFvLHo7ZjgUuwvdI;Geys@O<+5Pl^A*-? zB(m`1V6e%s^`6X%#1L>b?JfLr(B(T{AC@Cuk{^GB7JgL&{d}*zpj}cL5h2Njo!r}< zLE&?o(&n6e$cXp(-TB^gRw$-DsqvLnlUo^pWHGtzQ*yeiGnOWJRxgOdIzt^nnyJ6S z3C9t1yq=N1kn=h^&gO0k-toZURVFw264uVYVLOL(k>&|lYIVM|Qf6ZY^z>38M0}O+ zbZ(l~?uYrD?~K4rbUorIEj+EA;xTrVM%Dn}H8}}`3@wgEW|&@eckI%?dF9BiT(bY;$$sm#@a$?j?N#IN=-;g@>29CT>NVC<;e=oGp8OkL zU8R*D#G+{1P%m$~r{?Ks495RT7&mNMqAqkk&zf9bU@f51L`}+bQmDzS%$zh==gd)M zf;cVO@2rPY1!((X3*_dW;H`MtH>p0zuU~dPo+&6B z1`eywy^0b6znP&2Ap_>`N}m>IJNPq}UYr%;vwRug-zeyc3KA`D0-aOXjt<*yvraq@ zyhZL6-CcWdKmQ$BPQ2|M7as3i^Gp0bHbd_-E5;;Nu2iTBiw|Q^0_O%vu_u^sgpBsA zzkdaxW$6>>Nq$buE+RwD*84_1+Sh+yXq=|`KM}l~ZAgdl0+kunD}fnRaZjyRKW81g z>t>A>;~~%y|A$SHgkQIRsxLSad*R*Q9Qtz}R}3@dUvB%o0SygT*>2X=c^l%*OK^s= zuz32{L>XPan@t^YxYEST=Ou)U)V~9jOPWts;q$a2^+tISLm5HzvDfvh8Luo(%z1Td zE!B+e1GJR6gT#SiiNia(` zLAojnYJuF;b*Rndp9@+to}a~R7Ae!BC=01cWY?ScnWve59({SdZD0B1zAUsocDPNt z@+d6e2#7ex#QY+~W#jhr?c@(;LtWP0JHrFp$;us4w{@4Ps4UBnjb=M-@OwI!rOreY zsLuyI-m^BYt;YesfsbVmVHMhJsIE3Job^n)uNu0|l<5{mMlMRN8*Cal?}HgF>8Tcr zAnbv^e~zFdP^c|xidMx+gL^aiKgU5$92}z6BCnf{dq@0 z8z;Bg^Z_n|E&@1B`hjn^`5^L$tfBAqmbBp*3bXwXE`eCpDBYxr(GqYG=iz-p2H|z3 z!RzHbT=0aG4AEf?xm(I`$I6;pSyD1dz+%s8nqZ@KTenGS|7p!xTECM>jL-;j9^B!o z-UhvnNn|rUq$>`%5pP)V(z7|-SdleI+u4h=5><_>dE9z5ZpF&d6sKt0cc=hG37bl1 zrFcV<2(t_%;hzMw#I)nzRZ$yS&XKs@!{E39CcjRCTqL2_% zR910~qPL8S0)A>>y|C-+59?J(H~~72*kI~Jr6kCQ;?#Lfc8aA7bEdLpECaoO6s2&9 zhx3pbVt*FbscXcT&YNIMne=oBQh;=oYASiHpHHj$LG2E{qm>Lt=Oo5&nanoC4WZl3 z3%)K&oSy}Wv8($4yX>%YDR)%miiTko_A zMmcn6QkHPXs_TVX(2l(F?g35%rc<|muh^zPi33H7C?FAJL657Ig6X%O@$V^%fp|0n zJu1o5aKmm$GDnX7tGPRa_syaC(#ANBV*NVuRJU;P@b`M#S2|duY+`993V?dJa7I0J z!3ivw*{>*iQmv>D<8g)ioFK-)bdQoOeA`6<)KCW*>?&Iq z9|Dd;dck=`XsmR<=+HtkoKguX8^jn~zQ5wx4tw?D&2wa9Mj) z1I{!zi84l1k4q8*x0kPxs747J)qr%IWkfHxF#nD4{%qsrN94n$mQYHp5=*q}p@5Zs zARC>2U1vQ1(!ZwdrA&7(!nCUQMpTic5mIAybuR59qfG7QYh0zos=fBy|RWJ1X= z*g`edO3u;6B+!I;@TTL5&d&DegfieW`1}=G`ZJ>E?z`m*0_u8?yC16rSQ$zweirYxxzH?cEd3B92( z*;_{j*3#Zhb5NLBSj4Ih3xV+oVaP!)7+XIM@MLMZyW-TZ4+R4|H|(FcPdxV1u7s-X z$krSX`W+p9eF%XW@At9X;3B=!tyqjup@tDjb2g{atvq{?hxHooq6bVhy|4<%0*Q+A zipN1lSCs{@@!;!CSfI))nT_A=k_INU0MpO6nqo@FM00tsfzq{$=4u|WLLV?E=iy?k zB;EB#3&i6?IXu<$Y#1mwvLhb`%;`0&U8vS7dsP%$2lNach2tDP-%?6^*Kz%Xx10V| zL;B+|=X~7`+-UR$K~ky(1DtM0#2LEBjCAL79X4T&nV z29D)6QNIi-^t^8{qi;kMd3t2OVFzP@mb@-TSzeB5{9lfOi_7?)crm}ggdckCOCa^M z4_;nj5}-{q{=R-LR$*HnikBX53oG#V$pLu2BZ3n z_d1pmwHLp-msgz4znuAM3+{YdFk~(l$!bycX#a}kAwf-Lc6o`k!zLnseFgk1 z;B&fH;d?eV{SL)l$g%o9n4wHkXxU2FX^oDsb!|pxw*89DzNJwW^>)VHudBkZj$LL4 zwK|VVmKmE0r=bLoD-leGg)r;rK$fyyM1XU~r?LlZ<_zoUQf+0X5{y2vE_9}gfZ{ai zX6y3&pwELg1zd~^{`jn(-N$C%7@zn2>GVtX!s)wL48OxTv@*Fy?rWtH2C~XPx}w=J2>WvsSm5PvGwOjMUf02rd&vQ z)*fUL^etCb-V($-96NczjE+IR+-7>w*W&+JQ}Keum~}XOHpt#1Vo>^)WX1X6sKMvf zm%{7iF&HiRHo(LLINB$_NKEu`XEjb79pk4Gdy1oPj#DpG8^$;VR0DpbOOgwlnUR7| zE%nWtvlYXb0?V~znD&mWQC8E6c}sJiFNM3-04jS3XoReWeNkET23I9l-{Y2-olNKJrk(_h zAy*%~x38=6l`H@Pktr-H5umHk9BC8!#Q(|R+e`Zq=9l}2oR}Djc?H{VIK>en9uS7w zmlbs@Dx@iHZFxYPt)2C)ereuX-+T=LFzIXd&=xASQoz3U3=NO{lEW<`Mbp)X)xm{x zi>&!zptq67isnP3a z^UgjoMbqNv^Qb(3>?_Vj4EesFgRHf$ioXV!@RkvLTqz;eg8$X*Qnf*P(nH zWvQUkbUs|HYLIbe4`qKHMO((zK$ST1OT2keXYQ}BywBN07QMC zkL?pr?(Y>udWcx2^T*KvI9^VMtFA8ja=5dTcdb2BW@am@Nr zpz&h3JVT_>nE}U*S$s%S2>!4=+i_Ao!d-vhE@lgCQ;>6L zFWMd09%x;Xt5&j}4(aquqxdPaW7;4*Hb?!h8oU2r%lLEt;|k*)TLMb4a_nmt`x{wF L1&MOdx4{1cEs?yD literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..0e5c06048a264523b591ce1cc63b777d6f5f2fc0 GIT binary patch literal 3196 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 idry29z+C{peEWZB<(Vc?V4b)C0000Hxvs1 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..337394e42059a35b2b4ac4dc27df1514649ae2c9 GIT binary patch literal 8252 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..c82af7c120d992addd9025759cb937ea140ca991 GIT binary patch literal 26087 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

Xg}|BuEL`L-p_C3e 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 F{tpRbQ78Za literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..9aff8d17a50d919b3ec9e1c1e2fb3ec3e0f878e1 GIT binary patch literal 21138 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%0D4|sVjd{r0=cJV2TyJ}?SgA&B%sK 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

0iRaQNF%qWoF-HmXlbuF%P7LhCzYs- z4*T~q*wk2x=EA3wnkDM6l=V3W0}W8MzrSHxAwpPD*C%$XCCZbrQMcBH6c(mEDc|G1 zS~}I7z>c3; z>2|16J``jE87LOt4V|o~%WrLroCF?pe3z53&nyB-NUl}1A;#(T>t<8 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..56210f0de7643848c7da443555703c93a48a2a10 GIT binary patch literal 89484 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 + + + + + + diff --git a/android/app/src/main/res/values-v27/styles.xml b/android/app/src/main/res/values-v27/styles.xml new file mode 100644 index 0000000..432b61a --- /dev/null +++ b/android/app/src/main/res/values-v27/styles.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/android/app/src/main/res/values/colors.xml b/android/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..aea578f --- /dev/null +++ b/android/app/src/main/res/values/colors.xml @@ -0,0 +1,5 @@ + + + + #FF152B36 + diff --git a/android/app/src/main/res/values/launcher_colors.xml b/android/app/src/main/res/values/launcher_colors.xml new file mode 100644 index 0000000..06ec84b --- /dev/null +++ b/android/app/src/main/res/values/launcher_colors.xml @@ -0,0 +1,4 @@ + + + #E3EEF6 + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..dcbf9a7 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/build.gradle.kts b/android/build.gradle.kts new file mode 100644 index 0000000..dbee657 --- /dev/null +++ b/android/build.gradle.kts @@ -0,0 +1,24 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +val newBuildDir: Directory = + rootProject.layout.buildDirectory + .dir("../../build") + .get() +rootProject.layout.buildDirectory.value(newBuildDir) + +subprojects { + val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name) + project.layout.buildDirectory.value(newSubprojectBuildDir) +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean") { + delete(rootProject.layout.buildDirectory) +} diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..e96108c --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,6 @@ +org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError +android.useAndroidX=true +# This newDsl flag was added by the Flutter template +android.newDsl=false +# This builtInKotlin flag was added by the Flutter template +android.builtInKotlin=false diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..a20f2c4 --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-all.zip diff --git a/android/settings.gradle.kts b/android/settings.gradle.kts new file mode 100644 index 0000000..b28021a --- /dev/null +++ b/android/settings.gradle.kts @@ -0,0 +1,26 @@ +pluginManagement { + val flutterSdkPath = + run { + val properties = java.util.Properties() + file("local.properties").inputStream().use { properties.load(it) } + val flutterSdkPath = properties.getProperty("flutter.sdk") + require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } + flutterSdkPath + } + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id("dev.flutter.flutter-plugin-loader") version "1.0.0" + id("com.android.application") version "9.1.0" apply false + id("org.jetbrains.kotlin.android") version "2.4.0" apply false +} + +include(":app") diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..8cffb06 --- /dev/null +++ b/build.sh @@ -0,0 +1,89 @@ +#!/usr/bin/env bash +# DSH 工作台 APK 构建:Docker 内完成,宿主机无需安装 Flutter/Android SDK +# 用法:./build.sh URL --keystore PATH --alias NAME [--no-cache] +# 产出:build/app/outputs/flutter-apk/app-*.apk +set -euo pipefail + +if [ "$#" -lt 1 ]; then + echo '用法:./build.sh https://你的域名 --keystore PATH --alias NAME [--no-cache]' >&2 + exit 64 +fi +DSH_SITE_URL=$1 +shift +case "$DSH_SITE_URL" in + https://?*) ;; + *) echo '必须传入完整的 HTTPS 站点地址' >&2; exit 64 ;; +esac +case "$DSH_SITE_URL" in + *[[:space:]]*) echo '站点地址不能包含空白字符' >&2; exit 64 ;; +esac +REBUILD=false +KEYSTORE='' +DSH_KEY_ALIAS='' +while [ "$#" -gt 0 ]; do + case "$1" in + --keystore|--alias) + if [ "$#" -lt 2 ] || [ -z "$2" ]; then + echo "$1 缺少参数值" >&2; exit 64 + fi + if [ "$1" = '--keystore' ]; then KEYSTORE=$2; else DSH_KEY_ALIAS=$2; fi + shift 2 ;; + --no-cache) REBUILD=true; shift ;; + *) echo "未知参数:$1" >&2; exit 64 ;; + esac +done +if [ -z "$KEYSTORE" ] || [ -z "$DSH_KEY_ALIAS" ]; then + echo '必须提供 --keystore PATH 和 --alias NAME;release 不使用 debug 签名' >&2 + exit 64 +fi +if [ ! -f "$KEYSTORE" ] || [ ! -r "$KEYSTORE" ]; then + echo '密钥库文件不存在或不可读' >&2; exit 64 +fi +# 相对路径基于调用者的工作目录,不基于脚本目录。 +KEYSTORE="$(cd -- "$(dirname -- "$KEYSTORE")" && pwd)/$(basename -- "$KEYSTORE")" +case "$KEYSTORE" in + *,*) echo '密钥库路径不能含逗号(Docker mount 分隔符)' >&2; exit 64 ;; +esac +if [ -z "${DSH_STORE_PASSWORD:-}" ]; then + if [ ! -t 0 ]; then + echo '非交互构建请通过受保护的环境变量提供 DSH_STORE_PASSWORD' >&2; exit 64 + fi + read -r -s -p '密钥库密码:' DSH_STORE_PASSWORD + printf '\n' +fi +if [ -z "$DSH_STORE_PASSWORD" ]; then echo '密码不能为空' >&2; exit 64; fi +if [ -z "${DSH_KEY_PASSWORD:-}" ]; then + if [ -t 0 ]; then + read -r -s -p '私钥密码(回车使用密钥库密码):' DSH_KEY_PASSWORD + printf '\n' + fi + DSH_KEY_PASSWORD=${DSH_KEY_PASSWORD:-$DSH_STORE_PASSWORD} +fi +export DSH_STORE_PASSWORD DSH_KEY_PASSWORD DSH_KEY_ALIAS + +cd "$(dirname "$0")" + +IMAGE=dsh-appbuilder:3.47.7 + +if [ "$REBUILD" = true ] || ! docker image inspect "$IMAGE" > /dev/null 2>&1; then + echo "==> 构建镜像 $IMAGE(首次较慢,需下载 Flutter/Android SDK)" + BUILD_ARGS=() + if [ "$REBUILD" = true ]; then BUILD_ARGS+=(--no-cache); fi + docker build --build-arg http_proxy --build-arg https_proxy --build-arg no_proxy "${BUILD_ARGS[@]}" -t "$IMAGE" . +fi + +echo "==> 在容器内构建 release APK" +docker run --rm \ + -v "$PWD":/project \ + -w /project \ + --mount "type=bind,source=$KEYSTORE,target=/run/dsh-signing/release.keystore,readonly" \ + -e DSH_KEYSTORE=/run/dsh-signing/release.keystore \ + -e DSH_KEY_ALIAS -e DSH_STORE_PASSWORD -e DSH_KEY_PASSWORD \ + -e http_proxy -e https_proxy -e no_proxy \ + -e PUB_CACHE=/opt/pub-cache \ + -e DSH_SITE_URL="$DSH_SITE_URL" \ + "$IMAGE" \ + sh -ec 'dart tool/validate_site_url.dart "$DSH_SITE_URL"; flutter pub get; flutter test --dart-define="DSH_SITE_URL=$DSH_SITE_URL"; flutter build apk --dart-define="DSH_SITE_URL=$DSH_SITE_URL" --release --split-per-abi --obfuscate --split-debug-info=build/symbols' + +echo "==> 完成,产物:" +ls -lh build/app/outputs/flutter-apk/*.apk diff --git a/lib/config.dart b/lib/config.dart new file mode 100644 index 0000000..6bff1a7 --- /dev/null +++ b/lib/config.dart @@ -0,0 +1,26 @@ +/// 全局配置。 +/// +/// [kSiteUrl] 是本应用唯一要加载的站点地址(DSH Web Manager 的 HTTPS 反代域名)。 +/// 由 build.sh 通过 --dart-define 编译进 APK,不提供占位地址。 +const String kSiteUrl = String.fromEnvironment('DSH_SITE_URL'); + +bool isValidSiteUrl(String value) { + if (value.isEmpty || RegExp(r'\s').hasMatch(value)) return false; + final uri = Uri.tryParse(value); + if (uri == null) return false; + try { + return uri.scheme == 'https' && + uri.host.isNotEmpty && + uri.userInfo.isEmpty && + !uri.hasQuery && + !uri.hasFragment && + uri.port > 0 && + uri.port <= 65535; + } on FormatException { + return false; + } +} + +/// 站点主题色,与 index.html 的 theme-color 保持一致(深蓝), +/// 用于启动背景、状态栏/导航栏衬底与加载/错误页。 +const int kThemeColorValue = 0xFF152B36; diff --git a/lib/main.dart b/lib/main.dart new file mode 100644 index 0000000..34c47cb --- /dev/null +++ b/lib/main.dart @@ -0,0 +1,324 @@ +import 'dart:async'; + +import 'package:file_selector/file_selector.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:webview_flutter/webview_flutter.dart'; +import 'package:webview_flutter_android/webview_flutter_android.dart'; + +import 'config.dart'; + +Future main() async { + WidgetsFlutterBinding.ensureInitialized(); + // 全面屏:内容延伸到状态栏/导航栏之下,刘海与手势区交给 SafeArea 处理 + await SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); + runApp(const DshApp()); +} + +class DshApp extends StatelessWidget { + const DshApp({super.key}); + + @override + Widget build(BuildContext context) { + return AnnotatedRegion( + // 站点为深色主题:状态栏透明、图标反白 + value: const SystemUiOverlayStyle( + statusBarColor: Colors.transparent, + statusBarIconBrightness: Brightness.light, + systemNavigationBarColor: Colors.transparent, + systemNavigationBarIconBrightness: Brightness.light, + ), + child: MaterialApp( + title: 'DSH 工作台', + debugShowCheckedModeBanner: false, + theme: ThemeData( + useMaterial3: true, + colorScheme: ColorScheme.fromSeed( + seedColor: const Color(kThemeColorValue), + brightness: Brightness.dark, + ), + scaffoldBackgroundColor: const Color(kThemeColorValue), + ), + home: const HomePage(), + ), + ); + } +} + +class HomePage extends StatefulWidget { + const HomePage({super.key}); + + @override + State createState() => _HomePageState(); +} + +class _HomePageState extends State { + /// 原生下载通道(MainActivity 中用系统 DownloadManager 实现) + static const MethodChannel _downloadsChannel = MethodChannel( + 'dsh.workbench/downloads', + ); + + static final Uri _siteUri = Uri.parse(kSiteUrl); + + late final WebViewController _controller; + bool _loading = true; + String? _loadError; + + @override + void initState() { + super.initState(); + _controller = _buildController(); + } + + WebViewController _buildController() { + final controller = WebViewController() + ..setJavaScriptMode(JavaScriptMode.unrestricted) + ..setBackgroundColor(const Color(kThemeColorValue)) + ..setNavigationDelegate( + NavigationDelegate( + onPageStarted: (_) { + if (mounted) { + setState(() { + _loading = true; + _loadError = null; + }); + } + }, + onPageFinished: (_) { + if (mounted) setState(() => _loading = false); + }, + onWebResourceError: (error) { + // 只把主文档加载失败视作页面错误;子资源错误(图片等) + // 以及被新导航打断(ERR_ABORTED)的情况交给页面自行处理 + if (!(error.isForMainFrame ?? false)) return; + if (error.description.contains('ERR_ABORTED')) return; + if (mounted) { + setState(() { + _loading = false; + _loadError = error.description; + }); + } + }, + onNavigationRequest: _onNavigationRequest, + ), + ) + ..loadRequest(Uri.parse(kSiteUrl)); + + // Android 专属能力:文件选择器(上传)、原生 JS 对话框(alert/confirm) + final platform = controller.platform; + if (platform is AndroidWebViewController) { + platform + ..setOnShowFileSelector(_onShowFileSelector) + ..setOnJavaScriptAlertDialog(_onJavaScriptAlert) + ..setOnJavaScriptConfirmDialog(_onJavaScriptConfirm); + } + return controller; + } + + /// 面板用 window.location.assign 触发下载(文件/目录 ZIP/备份包), + /// 这里拦下来交给原生 DownloadManager(携带登录 Cookie),WebView 停留原页。 + NavigationDecision _onNavigationRequest(NavigationRequest request) { + final uri = Uri.tryParse(request.url); + if (uri != null && _isPanelDownload(uri)) { + _startDownload(uri); + return NavigationDecision.prevent; + } + return NavigationDecision.navigate; + } + + bool _isPanelDownload(Uri uri) { + if (uri.host != _siteUri.host) return false; + // 工作区文件/目录 ZIP 下载 + if (uri.path.endsWith('/api/ws/download')) return true; + // 配置备份包下载 + if (uri.path.endsWith('/backups') && + uri.queryParameters.containsKey('download')) { + return true; + } + return false; + } + + Future _startDownload(Uri uri) async { + try { + await _downloadsChannel.invokeMethod('download', { + 'url': uri.toString(), + }); + } on PlatformException catch (e) { + if (mounted) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text('下载失败:${e.message ?? '未知错误'}')), + ); + } + } + } + + /// WebView 里的 上传(工作区上传/备份导入)。 + /// Android 的类型过滤一次只支持单一 MIME 或单一扩展名, + /// 多约束时退化为不限类型,避免选择器异常。 + Future> _onShowFileSelector(FileSelectorParams params) async { + final typeGroups = []; + final mimes = params.acceptTypes.where((t) => t.contains('/')).toList(); + if (mimes.length == 1) { + typeGroups.add(XTypeGroup(mimeTypes: mimes)); + } else { + final exts = params.acceptTypes + .where((t) => t.startsWith('.')) + .map((t) => t.toLowerCase()) + .toList(); + if (exts.length == 1) typeGroups.add(XTypeGroup(extensions: exts)); + } + + if (params.mode == FileSelectorMode.openMultiple) { + final files = await openFiles(acceptedTypeGroups: typeGroups); + return files.map((f) => f.path).toList(); + } + final file = await openFile(acceptedTypeGroups: typeGroups); + return file == null ? const [] : [file.path]; + } + + /// 面板少量路径仍使用 window.alert / window.confirm, + /// 未注册回调时 WebView 会静默返回 false,必须在这里补上。 + Future _onJavaScriptAlert(JavaScriptAlertDialogRequest request) async { + if (!mounted) return; + await showDialog( + context: context, + builder: (context) => AlertDialog( + content: Text(request.message), + actions: [ + TextButton( + onPressed: () => Navigator.of(context).pop(), + child: const Text('确定'), + ), + ], + ), + ); + } + + Future _onJavaScriptConfirm( + JavaScriptConfirmDialogRequest request, + ) async { + if (!mounted) return false; + final confirmed = await showDialog( + context: context, + builder: (context) => AlertDialog( + content: Text(request.message), + actions: [ + TextButton( + onPressed: () => Navigator.of(context).pop(false), + child: const Text('取消'), + ), + FilledButton( + onPressed: () => Navigator.of(context).pop(true), + child: const Text('确定'), + ), + ], + ), + ); + return confirmed ?? false; + } + + Future _onPopInvoked(bool didPop, Object? result) async { + if (didPop) return; + // 先回退 WebView 历史(SPA 内部导航),没有历史再退出应用 + if (await _controller.canGoBack()) { + await _controller.goBack(); + } else { + await SystemNavigator.pop(); + } + } + + void _retry() { + setState(() { + _loadError = null; + _loading = true; + }); + unawaited(_controller.reload()); + } + + @override + Widget build(BuildContext context) { + return PopScope( + canPop: false, + onPopInvokedWithResult: _onPopInvoked, + child: Scaffold( + backgroundColor: const Color(kThemeColorValue), + body: SafeArea( + child: Stack( + children: [ + WebViewWidget(controller: _controller), + if (_loadError != null) + _ErrorView(message: _loadError!, onRetry: _retry) + else if (_loading) + const _LoadingView(), + ], + ), + ), + ), + ); + } +} + +class _LoadingView extends StatelessWidget { + const _LoadingView(); + + @override + Widget build(BuildContext context) { + return const ColoredBox( + color: Color(kThemeColorValue), + child: Center( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + CircularProgressIndicator(color: Colors.white70), + SizedBox(height: 16), + Text('正在加载…', style: TextStyle(color: Colors.white70)), + ], + ), + ), + ); + } +} + +class _ErrorView extends StatelessWidget { + const _ErrorView({required this.message, required this.onRetry}); + + final String message; + final VoidCallback onRetry; + + @override + Widget build(BuildContext context) { + return ColoredBox( + color: const Color(kThemeColorValue), + child: Center( + child: Padding( + padding: const EdgeInsets.all(32), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const Icon(Icons.cloud_off, size: 56, color: Colors.white54), + const SizedBox(height: 16), + const Text( + '无法连接到服务器', + style: TextStyle(color: Colors.white, fontSize: 16), + ), + const SizedBox(height: 8), + Text( + message, + textAlign: TextAlign.center, + maxLines: 3, + overflow: TextOverflow.ellipsis, + style: const TextStyle(color: Colors.white38, fontSize: 12), + ), + const SizedBox(height: 20), + FilledButton.icon( + onPressed: onRetry, + icon: const Icon(Icons.refresh), + label: const Text('重试'), + ), + ], + ), + ), + ), + ); + } +} diff --git a/logo.webp b/logo.webp new file mode 100644 index 0000000000000000000000000000000000000000..f14dc7febf2642958f9bc12545b3fefff1b30df2 GIT binary patch literal 17852 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ⅇ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 literal 0 HcmV?d00001 diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 0000000..e21ac76 --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,354 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + sha256: e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37 + url: "https://pub.dev" + source: hosted + version: "2.13.1" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + characters: + dependency: transitive + description: + name: characters + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b + url: "https://pub.dev" + source: hosted + version: "1.4.1" + clock: + dependency: transitive + description: + name: clock + sha256: e51d50bca3217c9a9fa2b41a30e4a38971133f5f9ec7a3d57bae095007f1d28e + url: "https://pub.dev" + source: hosted + version: "1.1.3" + collection: + dependency: transitive + description: + name: collection + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + url: "https://pub.dev" + source: hosted + version: "1.19.1" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: f141ea4f277af142a0356955707f6556f37b03947d39d55585981a06ca437bd6 + url: "https://pub.dev" + source: hosted + version: "0.3.5+5" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" + url: "https://pub.dev" + source: hosted + version: "1.3.3" + file_selector: + dependency: "direct main" + description: + name: file_selector + sha256: bd15e43e9268db636b53eeaca9f56324d1622af30e5c34d6e267649758c84d9a + url: "https://pub.dev" + source: hosted + version: "1.1.0" + file_selector_android: + dependency: transitive + description: + name: file_selector_android + sha256: d670cd0ce77a2e785b18d8b4d0a8d6a222d6a813ec9b7ddf2790a1b4fb6fa92c + url: "https://pub.dev" + source: hosted + version: "0.5.2+11" + file_selector_ios: + dependency: transitive + description: + name: file_selector_ios + sha256: "97269e5307a0ab813b1fa2430bada0a96e0afb74848417f8676f64ba5de0051c" + url: "https://pub.dev" + source: hosted + version: "0.5.3+6" + file_selector_linux: + dependency: transitive + description: + name: file_selector_linux + sha256: da76400e7872ce7637ffdce12749ec24169c25f6195c28372208e65a24bcd2ab + url: "https://pub.dev" + source: hosted + version: "0.9.4+1" + file_selector_macos: + dependency: transitive + description: + name: file_selector_macos + sha256: d57c62362766b5e7ae739448650b66c6aab7a68ba7ecc65e04018652645ae0f4 + url: "https://pub.dev" + source: hosted + version: "0.9.5+1" + file_selector_platform_interface: + dependency: transitive + description: + name: file_selector_platform_interface + sha256: "35e0bd61ebcdb91a3505813b055b09b79dfdc7d0aee9c09a7ba59ae4bb13dc85" + url: "https://pub.dev" + source: hosted + version: "2.7.0" + file_selector_web: + dependency: transitive + description: + name: file_selector_web + sha256: "73181fbc5257776d8ecaa6a94ab3c8e920ad143b9132a6d984a9271dfc6928d3" + url: "https://pub.dev" + source: hosted + version: "0.9.5" + file_selector_windows: + dependency: transitive + description: + name: file_selector_windows + sha256: fbefc5fb92c6d3cbe8d284a2cd971b593bb07d2cd6da8557b81a862250b4acec + url: "https://pub.dev" + source: hosted + version: "0.9.3+6" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1" + url: "https://pub.dev" + source: hosted + version: "6.0.0" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + http: + dependency: transitive + description: + name: http + sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412" + url: "https://pub.dev" + source: hosted + version: "1.6.0" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" + source: hosted + version: "4.1.2" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" + url: "https://pub.dev" + source: hosted + version: "11.0.2" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" + url: "https://pub.dev" + source: hosted + version: "3.0.10" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + lints: + dependency: transitive + description: + name: lints + sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df" + url: "https://pub.dev" + source: hosted + version: "6.1.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: "31bd099b47c10cd1aeb55146a2d46ce0277630ecef3f7dae54ad7873f36696cd" + url: "https://pub.dev" + source: hosted + version: "0.12.20" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" + url: "https://pub.dev" + source: hosted + version: "0.13.0" + meta: + dependency: transitive + description: + name: meta + sha256: c82594181e3312f3d0695fc95aaaf7758d75b8d4ae2bbecf223b9fd5109a059d + url: "https://pub.dev" + source: hosted + version: "1.18.3" + path: + dependency: transitive + description: + name: path + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + source_span: + dependency: transitive + description: + name: source_span + sha256: "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab" + url: "https://pub.dev" + source: hosted + version: "1.10.2" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "277654b3034d17ac6f9f1cb5595db011b1d5d41e8806866db28e0abaa101c490" + url: "https://pub.dev" + source: hosted + version: "1.12.2" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + url: "https://pub.dev" + source: hosted + version: "1.4.1" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + url: "https://pub.dev" + source: hosted + version: "1.2.2" + test_api: + dependency: transitive + description: + name: test_api + sha256: "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11" + url: "https://pub.dev" + source: hosted + version: "0.7.12" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "1d774bbdf6b72a0b12122fc1560c9c2d2a67db5a4a4cc2bd8a5c990ab20e3188" + url: "https://pub.dev" + source: hosted + version: "2.4.0" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "5f37239c4851efcef929cea7824e76df7f2f0970aef85d66bbc430afa40e72f0" + url: "https://pub.dev" + source: hosted + version: "15.3.0" + web: + dependency: transitive + description: + name: web + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + webview_flutter: + dependency: "direct main" + description: + name: webview_flutter + sha256: d53e1ccf5516f25017e3c9d44c39034db352d20fa34fe200674270242c2c5111 + url: "https://pub.dev" + source: hosted + version: "4.14.1" + webview_flutter_android: + dependency: "direct main" + description: + name: webview_flutter_android + sha256: "4de8b3d1ff4ebe1bdb42e68a5e4f809194a3cb0117a8f495f590004f00da3964" + url: "https://pub.dev" + source: hosted + version: "4.14.1" + webview_flutter_platform_interface: + dependency: transitive + description: + name: webview_flutter_platform_interface + sha256: "1221c1b12f5278791042f2ec2841743784cf25c5a644e23d6680e5d718824f04" + url: "https://pub.dev" + source: hosted + version: "2.15.1" + webview_flutter_wkwebview: + dependency: transitive + description: + name: webview_flutter_wkwebview + sha256: a9cc3f507ee40127ed0812ca54d00701a27833f51ea0b5820f4b3e7f42518bf3 + url: "https://pub.dev" + source: hosted + version: "3.27.0" +sdks: + dart: ">=3.13.5 <4.0.0" + flutter: ">=3.47.0" diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000..ee4934b --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,90 @@ +name: dsh_workbench +description: "DSH 工作台 Android 客户端:系统 WebView 壳。" +# The following line prevents the package from being accidentally published to +# pub.dev using `flutter pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev + +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# In Android, build-name is used as versionName while build-number used as versionCode. +# Read more about Android versioning at https://developer.android.com/studio/publish/versioning +# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +# In Windows, build-name is used as the major, minor, and patch parts +# of the product and file versions while build-number is used as the build suffix. +version: 1.0.1+2 + +environment: + sdk: ^3.13.5 + +# Dependencies specify other packages that your package needs in order to work. +# To automatically upgrade your package dependencies to the latest versions +# consider running `flutter pub upgrade --major-versions`. Alternatively, +# dependencies can be manually updated by changing the version numbers below to +# the latest version available on pub.dev. To see which dependencies have newer +# versions available, run `flutter pub outdated`. +dependencies: + flutter: + sdk: flutter + + # DSH 面板 WebView 壳所需 + webview_flutter: ^4.14.1 + webview_flutter_android: ^4.14.1 + file_selector: ^1.1.0 + +dev_dependencies: + flutter_test: + sdk: flutter + + # The "flutter_lints" package below contains a set of recommended lints to + # encourage good coding practices. The lint set provided by the package is + # activated in the `analysis_options.yaml` file located at the root of your + # package. See that file for information about deactivating specific lint + # rules and activating additional ones. + flutter_lints: ^6.0.0 + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter packages. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # To add assets to your application, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/to/resolution-aware-images + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/to/asset-from-package + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/to/font-from-package diff --git a/test/config_test.dart b/test/config_test.dart new file mode 100644 index 0000000..dbeeb84 --- /dev/null +++ b/test/config_test.dart @@ -0,0 +1,32 @@ +import 'package:dsh_workbench/config.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + test('接受 HTTPS 站点及端口、路径', () { + for (final url in [ + 'https://panel.example.com', + 'https://host:8443/panel/', + ]) { + expect(isValidSiteUrl(url), isTrue); + } + }); + test('拒绝无效站点地址', () { + for (final url in [ + '', + 'http://host', + 'host', + 'https://', + 'https://user:pass@host', + 'https://host?q=1', + 'https://host/#x', + 'https://host:99999', + 'https://ho st', + 'https://host\n', + ]) { + expect(isValidSiteUrl(url), isFalse, reason: url); + } + }); + test('构建注入的地址有效(普通单测允许未配置)', () { + if (kSiteUrl.isNotEmpty) expect(isValidSiteUrl(kSiteUrl), isTrue); + }); +} diff --git a/tool/validate_site_url.dart b/tool/validate_site_url.dart new file mode 100644 index 0000000..950eb95 --- /dev/null +++ b/tool/validate_site_url.dart @@ -0,0 +1,12 @@ +import 'dart:io'; + +// 在 flutter pub get 前运行,不能依赖生成的 package_config.json。 +// ignore: avoid_relative_lib_imports +import '../lib/config.dart'; + +void main(List args) { + if (args.length != 1 || !isValidSiteUrl(args.single)) { + stderr.writeln('站点地址必须是完整 HTTPS URL,不能包含账号密码、空白、查询参数或片段。'); + exitCode = 64; + } +}