提交 51ae530b authored 作者: 史晓晨's avatar 史晓晨

调试-90%

上级 403f3632
...@@ -2,7 +2,7 @@ group 'com.clx.account_center' ...@@ -2,7 +2,7 @@ group 'com.clx.account_center'
version '1.0-SNAPSHOT' version '1.0-SNAPSHOT'
buildscript { buildscript {
ext.kotlin_version = '1.8.10' ext.kotlin_version = '1.8.20'
repositories { repositories {
maven { setUrl("https://maven.aliyun.com/repository/central") } maven { setUrl("https://maven.aliyun.com/repository/central") }
maven { setUrl("https://maven.aliyun.com/repository/jcenter") } maven { setUrl("https://maven.aliyun.com/repository/jcenter") }
...@@ -14,7 +14,7 @@ buildscript { ...@@ -14,7 +14,7 @@ buildscript {
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:7.1.3' classpath 'com.android.tools.build:gradle:8.1.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
} }
} }
...@@ -38,11 +38,19 @@ apply plugin: 'com.android.library' ...@@ -38,11 +38,19 @@ apply plugin: 'com.android.library'
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android'
android { android {
compileSdkVersion 31 namespace "com.clx.account_center"
// 1. 升级 compileSdk 至 36(AGP 8.13 最佳兼容版本,替代 compileSdkVersion)
compileSdk 34
// 2. JDK 版本需升级至 17(AGP 8.13 强制要求)
compileOptions { compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_17
}
// 3. Kotlin JVM 目标版本同步为 17
kotlinOptions {
jvmTarget = '17'
} }
// packagingOptions { // packagingOptions {
...@@ -51,16 +59,12 @@ android { ...@@ -51,16 +59,12 @@ android {
// pickFirst "lib/armeabi-v7a/libc++_shared.so" // pickFirst "lib/armeabi-v7a/libc++_shared.so"
// } // }
kotlinOptions {
jvmTarget = '1.8'
}
sourceSets { sourceSets {
main.java.srcDirs += 'src/main/kotlin' main.java.srcDirs += 'src/main/kotlin'
} }
defaultConfig { defaultConfig {
minSdkVersion 19 minSdkVersion 21
} }
viewBinding { viewBinding {
enabled = true enabled = true
......
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="com.clx.account_center">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CAMERA" />
...@@ -9,25 +8,23 @@ ...@@ -9,25 +8,23 @@
<!-- 必要权限,安装权限 --> <!-- 必要权限,安装权限 -->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<!--拨打电话权限--> <!--拨打电话权限-->
<uses-permission android:name="android.permission.CALL_PHONE"/> <uses-permission android:name="android.permission.CALL_PHONE" />
<!--允许获取精确位置,精准定位必选--> <!--允许获取精确位置,精准定位必选-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--允许获取粗略位置,粗略定位必选--> <!--允许获取粗略位置,粗略定位必选-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS"/> <uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" /> <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<application <application android:usesCleartextTraffic="true">
android:usesCleartextTraffic="true"
>
<activity <activity
android:theme="@style/AppTheme"
android:name="com.clx.account_center.H5Activity" android:name="com.clx.account_center.H5Activity"
android:exported="true"> android:exported="true"
android:theme="@style/AppTheme">
<!-- 深度链接配置 --> <!-- 深度链接配置 -->
</activity> </activity>
</application> </application>
......
...@@ -26,16 +26,21 @@ apply plugin: 'kotlin-android' ...@@ -26,16 +26,21 @@ apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android { android {
compileSdkVersion 33 namespace "com.clx.account_center_example"
ndkVersion flutter.ndkVersion ndkVersion flutter.ndkVersion
// 1. 升级 compileSdk 至 36(AGP 8.13 最佳兼容版本,替代 compileSdkVersion)
compileSdk 34
// 2. JDK 版本需升级至 17(AGP 8.13 强制要求)
compileOptions { compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_17
} }
// 3. Kotlin JVM 目标版本同步为 17
kotlinOptions { kotlinOptions {
jvmTarget = '1.8' jvmTarget = '17'
} }
sourceSets { sourceSets {
...@@ -48,7 +53,7 @@ android { ...@@ -48,7 +53,7 @@ android {
// You can update the following values to match your application needs. // You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 32 targetSdkVersion 31
versionCode flutterVersionCode.toInteger() versionCode flutterVersionCode.toInteger()
versionName flutterVersionName versionName flutterVersionName
multiDexEnabled true multiDexEnabled true
...@@ -74,5 +79,5 @@ flutter { ...@@ -74,5 +79,5 @@ flutter {
} }
dependencies { dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
} }
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="com.clx.account_center_example">
<!-- The INTERNET permission is required for development. Specifically, <!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc. to allow setting breakpoints, to provide hot reload, etc.
--> -->
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET" />
</manifest> </manifest>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="com.clx.account_center_example">
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CAMERA" />
...@@ -10,28 +10,29 @@ ...@@ -10,28 +10,29 @@
<!-- 必要权限,安装权限 --> <!-- 必要权限,安装权限 -->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<!--拨打电话权限--> <!--拨打电话权限-->
<uses-permission android:name="android.permission.CALL_PHONE"/> <uses-permission android:name="android.permission.CALL_PHONE" />
<!--允许获取精确位置,精准定位必选--> <!--允许获取精确位置,精准定位必选-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--允许获取粗略位置,粗略定位必选--> <!--允许获取粗略位置,粗略定位必选-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS"/> <uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" /> <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.RECORD_AUDIO" />
<application <application
android:label="account_center_example"
android:name="${applicationName}" android:name="${applicationName}"
android:icon="@drawable/img"> android:icon="@drawable/img"
android:label="account_center_example">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:exported="true" android:exported="true"
android:hardwareAccelerated="true"
android:launchMode="singleTop" android:launchMode="singleTop"
android:theme="@style/LaunchTheme" android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize"> android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as <!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user the Android process has started. This theme is visible to the user
...@@ -39,11 +40,10 @@ ...@@ -39,11 +40,10 @@
to determine the Window background behind the Flutter UI. --> to determine the Window background behind the Flutter UI. -->
<meta-data <meta-data
android:name="io.flutter.embedding.android.NormalTheme" android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme" android:resource="@style/NormalTheme" />
/>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>
...@@ -53,11 +53,13 @@ ...@@ -53,11 +53,13 @@
<!-- 深度链接配置 --> <!-- 深度链接配置 -->
<intent-filter> <intent-filter>
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.BROWSABLE" />
<data <data
android:scheme="clx" android:host="msl-detection-app"
android:host="msl-detection-app" /> <!-- 自己产品的productCode --> android:scheme="clx" /> <!-- 自己产品的productCode -->
</intent-filter> </intent-filter>
</activity> </activity>
......
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="com.clx.account_center_example">
<!-- The INTERNET permission is required for development. Specifically, <!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc. to allow setting breakpoints, to provide hot reload, etc.
--> -->
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET" />
</manifest> </manifest>
buildscript { buildscript {
ext.kotlin_version = '1.8.10' ext.kotlin_version = '1.8.20'
repositories { repositories {
google() google()
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:7.1.2' classpath 'com.android.tools.build:gradle:8.1.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
} }
} }
......
...@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME ...@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip
...@@ -12,8 +12,8 @@ packages: ...@@ -12,8 +12,8 @@ packages:
dependency: transitive dependency: transitive
description: description:
path: "." path: "."
ref: "v1.0.4" ref: "v1.0.4-flutter-3.24.5"
resolved-ref: "5dc8add13169b3a82f217cc12212993e2598dfa7" resolved-ref: "6538831051fec8c337ff665b2528571393f91180"
url: "https://dev:devfortesting@t.clxkj.cn/openSourceLibrary/aliyun_face_plugin.git" url: "https://dev:devfortesting@t.clxkj.cn/openSourceLibrary/aliyun_face_plugin.git"
source: git source: git
version: "0.0.1" version: "0.0.1"
...@@ -33,14 +33,6 @@ packages: ...@@ -33,14 +33,6 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.11.0" version: "2.11.0"
auto_size_text:
dependency: transitive
description:
name: auto_size_text
sha256: "3f5261cd3fb5f2a9ab4e2fc3fba84fd9fcaac8821f20a1d4e71f557521b22599"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.0"
boolean_selector: boolean_selector:
dependency: transitive dependency: transitive
description: description:
...@@ -53,26 +45,26 @@ packages: ...@@ -53,26 +45,26 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: cached_network_image name: cached_network_image
sha256: fd3d0dc1d451f9a252b32d95d3f0c3c487bc41a75eba2e6097cb0b9c71491b15 sha256: "7c1183e361e5c8b0a0f21a28401eecdbde252441106a9816400dd4c2b2424916"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.2.3" version: "3.4.1"
cached_network_image_platform_interface: cached_network_image_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: cached_network_image_platform_interface name: cached_network_image_platform_interface
sha256: bb2b8403b4ccdc60ef5f25c70dead1f3d32d24b9d6117cfc087f496b178594a7 sha256: "35814b016e37fbdc91f7ae18c8caf49ba5c88501813f73ce8a07027a395e2829"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.0" version: "4.1.1"
cached_network_image_web: cached_network_image_web:
dependency: transitive dependency: transitive
description: description:
name: cached_network_image_web name: cached_network_image_web
sha256: b8eb814ebfcb4dea049680f8c1ffb2df399e4d03bf7a352c775e26fa06e02fa0 sha256: "980842f4e8e2535b8dbd3d5ca0b1f0ba66bf61d14cc3a17a9b4788a3685ba062"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.0.2" version: "1.3.1"
characters: characters:
dependency: transitive dependency: transitive
description: description:
...@@ -109,18 +101,18 @@ packages: ...@@ -109,18 +101,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: connectivity_plus name: connectivity_plus
sha256: "224a77051d52a11fbad53dd57827594d3bd24f945af28bd70bab376d68d437f0" sha256: b5e72753cf63becce2c61fd04dfe0f1c430cc5278b53a1342dc5ad839eab29ec
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "5.0.2" version: "6.1.5"
connectivity_plus_platform_interface: connectivity_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: connectivity_plus_platform_interface name: connectivity_plus_platform_interface
sha256: cf1d1c28f4416f8c654d7dc3cd638ec586076255d407cef3ddbdaf178272a71a sha256: "42657c1715d48b167930d5f34d00222ac100475f73d10162ddf43e714932f204"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.2.4" version: "2.0.1"
convert: convert:
dependency: transitive dependency: transitive
description: description:
...@@ -177,30 +169,14 @@ packages: ...@@ -177,30 +169,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.2.4" version: "3.2.4"
device_info:
dependency: transitive
description:
name: device_info
sha256: f4a8156cb7b7480d969cb734907d18b333c8f0bc0b1ad0b342cdcecf30d62c48
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.3"
device_info_platform_interface:
dependency: transitive
description:
name: device_info_platform_interface
sha256: b148e0bf9640145d09a4f8dea96614076f889e7f7f8b5ecab1c7e5c2dbc73c1b
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.1"
device_info_plus: device_info_plus:
dependency: transitive dependency: transitive
description: description:
name: device_info_plus name: device_info_plus
sha256: f52ab3b76b36ede4d135aab80194df8925b553686f0fa12226b4e2d658e45903 sha256: "72d146c6d7098689ff5c5f66bcf593ac11efc530095385356e131070333e64da"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "8.2.2" version: "11.3.0"
device_info_plus_platform_interface: device_info_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
...@@ -237,10 +213,10 @@ packages: ...@@ -237,10 +213,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: external_path name: external_path
sha256: "2095c626fbbefe70d5a4afc9b1137172a68ee2c276e51c3c1283394485bea8f4" sha256: "68a18a2aa51ec012d7013ea2a80305dc5372f3577a2bbcc7dcc5550b25a5a73b"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.0.3" version: "2.2.0"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
...@@ -250,29 +226,29 @@ packages: ...@@ -250,29 +226,29 @@ packages:
source: hosted source: hosted
version: "1.3.1" version: "1.3.1"
ffi: ffi:
dependency: "direct overridden" dependency: transitive
description: description:
name: ffi name: ffi
sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978 sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.1" version: "2.1.3"
file: file:
dependency: transitive dependency: transitive
description: description:
name: file name: file
sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "6.1.4" version: "7.0.1"
file_picker: file_picker:
dependency: transitive dependency: transitive
description: description:
name: file_picker name: file_picker
sha256: "9d6e95ec73abbd31ec54d0e0df8a961017e165aba1395e462e5b31ea0c165daf" sha256: e7e16c9d15c36330b94ca0e2ad8cb61f93cd5282d0158c09805aed13b5452f22
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "5.3.1" version: "10.3.2"
file_selector_linux: file_selector_linux:
dependency: transitive dependency: transitive
description: description:
...@@ -326,39 +302,23 @@ packages: ...@@ -326,39 +302,23 @@ packages:
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
flutter_blurhash:
dependency: transitive
description:
name: flutter_blurhash
sha256: "05001537bd3fac7644fa6558b09ec8c0a3f2eba78c0765f88912882b1331a5c6"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.7.0"
flutter_cache_manager: flutter_cache_manager:
dependency: transitive dependency: transitive
description: description:
name: flutter_cache_manager name: flutter_cache_manager
sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba" sha256: "400b6592f16a4409a7f2bb929a9a7e38c72cceb8ffb99ee57bbf2cb2cecf8386"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.3.1" version: "3.4.1"
flutter_clx_base: flutter_clx_base:
dependency: "direct main" dependency: transitive
description: description:
path: "." path: "."
ref: "v1.0.2" ref: "v1.0.3_3.24.5"
resolved-ref: "252485f95b9a1d47163da06ccd557cfdf31476f3" resolved-ref: ba99348b05d52cc0a60e844d93223b2c14f7aa92
url: "https://t.clxkj.cn/openSourceLibrary/flutter_clx_base.git" url: "https://t.clxkj.cn/openSourceLibrary/flutter_clx_base.git"
source: git source: git
version: "1.0.7" version: "1.0.7"
flutter_cupertino_datetime_picker:
dependency: transitive
description:
name: flutter_cupertino_datetime_picker
sha256: "631fbd3abed4d1151888e053d2153d905663a3b33ff24bdfa64afbcf750682cb"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.0"
flutter_easyloading: flutter_easyloading:
dependency: transitive dependency: transitive
description: description:
...@@ -388,14 +348,6 @@ packages: ...@@ -388,14 +348,6 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "6.4.2" version: "6.4.2"
flutter_pdfview:
dependency: transitive
description:
name: flutter_pdfview
sha256: "2e3fa359524e9865ec25a64593b65092b4a9974c5871228c1a771300a003d150"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.4.0"
flutter_plugin_android_lifecycle: flutter_plugin_android_lifecycle:
dependency: transitive dependency: transitive
description: description:
...@@ -416,10 +368,10 @@ packages: ...@@ -416,10 +368,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: flutter_svg name: flutter_svg
sha256: d39e7f95621fc84376bc0f7d504f05c3a41488c562f4a8ad410569127507402c sha256: d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.9" version: "2.1.0"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
...@@ -434,10 +386,10 @@ packages: ...@@ -434,10 +386,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: flutter_widget_from_html_core name: flutter_widget_from_html_core
sha256: "22140caa191cb4bba0fe4d5e4ad875c7e8a9ba47d61517f56d733019cf76396d" sha256: "50990ec287434a280ed15d602aa3bf6e8db9c54159762d906057a04e9493b91a"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.10.6" version: "0.16.1"
fluttertoast: fluttertoast:
dependency: transitive dependency: transitive
description: description:
...@@ -458,10 +410,10 @@ packages: ...@@ -458,10 +410,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: getwidget name: getwidget
sha256: "6bdf191f91de5f80f9abd49e3cffaef66256167aaa091626ac78d5c81c645335" sha256: ab0201d6c1d27b508f05fa571e0e5038d60a603fd80303002b882f18b1c77231
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.1.1" version: "7.0.0"
html: html:
dependency: transitive dependency: transitive
description: description:
...@@ -474,10 +426,10 @@ packages: ...@@ -474,10 +426,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: http name: http
sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.13.6" version: "1.5.0"
http_parser: http_parser:
dependency: transitive dependency: transitive
description: description:
...@@ -490,10 +442,10 @@ packages: ...@@ -490,10 +442,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: image_picker name: image_picker
sha256: b6951e25b795d053a6ba03af5f710069c99349de9341af95155d52665cb4607c sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.8.9" version: "1.1.2"
image_picker_android: image_picker_android:
dependency: transitive dependency: transitive
description: description:
...@@ -506,10 +458,10 @@ packages: ...@@ -506,10 +458,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: image_picker_for_web name: image_picker_for_web
sha256: "869fe8a64771b7afbc99fc433a5f7be2fea4d1cb3d7c11a48b6b579eb9c797f0" sha256: "717eb042ab08c40767684327be06a5d8dbb341fe791d514e4b92c7bbe1b7bb83"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.2.0" version: "3.0.6"
image_picker_ios: image_picker_ios:
dependency: transitive dependency: transitive
description: description:
...@@ -558,22 +510,6 @@ packages: ...@@ -558,22 +510,6 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.19.0" version: "0.19.0"
js:
dependency: transitive
description:
name: js
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.6.7"
keyboard_actions:
dependency: transitive
description:
name: keyboard_actions
sha256: "31e0ab2a706ac8f58887efa60efc1f19aecdf37d8ab0f665a0f156d1fbeab650"
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.2.0"
leak_tracker: leak_tracker:
dependency: transitive dependency: transitive
description: description:
...@@ -610,10 +546,18 @@ packages: ...@@ -610,10 +546,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: logger name: logger
sha256: "7ad7215c15420a102ec687bb320a7312afd449bac63bfb1c60d9787c27b9767f" sha256: a7967e31b703831a893bbc3c3dd11db08126fe5f369b5c648a36f821979f5be3
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.4.0" version: "2.6.2"
logging:
dependency: transitive
description:
name: logging
sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.0"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
...@@ -658,10 +602,10 @@ packages: ...@@ -658,10 +602,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: octo_image name: octo_image
sha256: "107f3ed1330006a3bea63615e81cf637433f5135a52466c7caa0e7152bca9143" sha256: "34faa6639a78c7e3cbe79be6f9f96535867e879748ade7d17c9b1ae7536293bd"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.0.2" version: "2.1.0"
open_filex: open_filex:
dependency: transitive dependency: transitive
description: description:
...@@ -679,21 +623,21 @@ packages: ...@@ -679,21 +623,21 @@ packages:
source: hosted source: hosted
version: "0.5.0" version: "0.5.0"
package_info_plus: package_info_plus:
dependency: "direct overridden" dependency: transitive
description: description:
name: package_info_plus name: package_info_plus
sha256: "10259b111176fba5c505b102e3a5b022b51dd97e30522e906d6922c745584745" sha256: "16eee997588c60225bda0488b6dcfac69280a6b7a3cf02c741895dd370a02968"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.1.2" version: "8.3.1"
package_info_plus_platform_interface: package_info_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: package_info_plus_platform_interface name: package_info_plus_platform_interface
sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" sha256: "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.1" version: "3.2.1"
path: path:
dependency: transitive dependency: transitive
description: description:
...@@ -770,42 +714,50 @@ packages: ...@@ -770,42 +714,50 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: permission_handler name: permission_handler
sha256: "5749ebeb7ec0c3865ea17e3eb337174b87747be816dab582c551e1aff6f6bbf3" sha256: bc917da36261b00137bbc8896bf1482169cd76f866282368948f032c8c1caae1
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "9.2.0" version: "12.0.1"
permission_handler_android: permission_handler_android:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_android name: permission_handler_android
sha256: a512e0fa8abcb0659d938ec2df93a70eb1df1fdea5fdc6d79a866bfd858a28fc sha256: "1e3bc410ca1bf84662104b100eb126e066cb55791b7451307f9708d4007350e6"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "9.0.2+1" version: "13.0.1"
permission_handler_apple: permission_handler_apple:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_apple name: permission_handler_apple
sha256: "99e220bce3f8877c78e4ace901082fb29fa1b4ebde529ad0932d8d664b34f3f5" sha256: f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023
url: "https://pub.flutter-io.cn"
source: hosted
version: "9.4.7"
permission_handler_html:
dependency: transitive
description:
name: permission_handler_html
sha256: "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "9.1.4" version: "0.1.3+5"
permission_handler_platform_interface: permission_handler_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_platform_interface name: permission_handler_platform_interface
sha256: "6760eb5ef34589224771010805bea6054ad28453906936f843a8cc4d3a55c4a4" sha256: eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.12.0" version: "4.3.0"
permission_handler_windows: permission_handler_windows:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_windows name: permission_handler_windows
sha256: cc074aace208760f1eee6aa4fae766b45d947df85bc831cde77009cdb4720098 sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.1.3" version: "0.2.1"
petitparser: petitparser:
dependency: transitive dependency: transitive
description: description:
...@@ -850,10 +802,10 @@ packages: ...@@ -850,10 +802,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: rxdart name: rxdart
sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb" sha256: "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.27.7" version: "0.28.0"
shared_preferences: shared_preferences:
dependency: transitive dependency: transitive
description: description:
...@@ -1035,14 +987,6 @@ packages: ...@@ -1035,14 +987,6 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.4.0" version: "1.4.0"
unique_identifier:
dependency: transitive
description:
name: unique_identifier
sha256: "3a2ecf55177017ba9b213cac5978785fde15b41cac40eb4efefc1a31f3aa41de"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.3.0"
url_launcher: url_launcher:
dependency: transitive dependency: transitive
description: description:
...@@ -1119,26 +1063,26 @@ packages: ...@@ -1119,26 +1063,26 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: vector_graphics name: vector_graphics
sha256: "4ac59808bbfca6da38c99f415ff2d3a5d7ca0a6b4809c71d9cf30fba5daf9752" sha256: "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.10+1" version: "1.1.18"
vector_graphics_codec: vector_graphics_codec:
dependency: transitive dependency: transitive
description: description:
name: vector_graphics_codec name: vector_graphics_codec
sha256: f3247e7ab0ec77dc759263e68394990edc608fb2b480b80db8aa86ed09279e33 sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.10+1" version: "1.1.13"
vector_graphics_compiler: vector_graphics_compiler:
dependency: transitive dependency: transitive
description: description:
name: vector_graphics_compiler name: vector_graphics_compiler
sha256: "18489bdd8850de3dd7ca8a34e0c446f719ec63e2bab2e7a8cc66a9028dd76c5a" sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.10+1" version: "1.1.16"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
...@@ -1199,10 +1143,18 @@ packages: ...@@ -1199,10 +1143,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: "5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c" sha256: daf97c9d80197ed7b619040e86c8ab9a9dad285e7671ee7390f9180cc828a51e
url: "https://pub.flutter-io.cn"
source: hosted
version: "5.10.1"
win32_registry:
dependency: transitive
description:
name: win32_registry
sha256: "21ec76dfc731550fd3e2ce7a33a9ea90b828fdf19a5c3bcf556fa992cfa99852"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "4.1.4" version: "1.1.5"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
......
...@@ -6,7 +6,7 @@ description: Demonstrates how to use the account_center plugin. ...@@ -6,7 +6,7 @@ description: Demonstrates how to use the account_center plugin.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev publish_to: 'none' # Remove this line if you wish to publish to pub.dev
environment: environment:
sdk: '>=2.18.2 <3.0.0' sdk: ">=2.17.0 <4.0.0"
# Dependencies specify other packages that your package needs in order to work. # Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions # To automatically upgrade your package dependencies to the latest versions
...@@ -29,16 +29,12 @@ dependencies: ...@@ -29,16 +29,12 @@ dependencies:
# The following adds the Cupertino Icons font to your application. # The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2 cupertino_icons: ^1.0.2
uuid: ^4.2.2 uuid: ^4.5.1
flutter_clx_base:
git:
url: https://t.clxkj.cn/openSourceLibrary/flutter_clx_base.git
ref: v1.0.2
dependency_overrides: dependency_overrides:
package_info_plus: 3.1.2
ffi: 2.0.1
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
......
import 'dart:io'; // import 'dart:io';
//
import 'package:flutter/foundation.dart'; // import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; // import 'package:flutter/material.dart';
import 'package:flutter_clx_base/flutter_clx_base.dart'; // import 'package:flutter_clx_base/flutter_clx_base.dart';
import 'package:flutter_widget_from_html_core/flutter_widget_from_html_core.dart'; // import 'package:flutter_widget_from_html_core/flutter_widget_from_html_core.dart';
import 'package:open_filex/open_filex.dart'; // import 'package:getwidget/getwidget.dart';
import 'package:open_store/open_store.dart'; // import 'package:open_filex/open_filex.dart';
// import 'package:open_store/open_store.dart';
class UpdateDialog extends StatefulWidget { //
final String? title; // class UpdateDialog extends StatefulWidget {
final String? content; // final String? title;
final bool? isUpdateMore; // final String? content;
final String? versionPath; // final bool? isUpdateMore;
final String versionNumber; // final String? versionPath;
final Function()? onIgnore; // final String versionNumber;
final String? bgPath; // final Function()? onIgnore;
final Color? mainColor; // final String? bgPath;
final String? iosAppId; // final Color? mainColor;
const UpdateDialog( // final String? iosAppId;
{Key? key, // const UpdateDialog(
this.title, // {Key? key,
this.content, // this.title,
this.isUpdateMore, // this.content,
this.versionPath, // this.isUpdateMore,
this.onIgnore, // this.versionPath,
this.bgPath, // this.onIgnore,
this.mainColor, // this.bgPath,
this.iosAppId, // this.mainColor,
required this.versionNumber}) // this.iosAppId,
: super(key: key); // required this.versionNumber})
// : super(key: key);
@override //
State<UpdateDialog> createState() => _UpdateDialogState(); // @override
} // State<UpdateDialog> createState() => _UpdateDialogState();
// }
class _UpdateDialogState extends State<UpdateDialog> { //
final CancelToken _cancelToken = CancelToken(); // class _UpdateDialogState extends State<UpdateDialog> {
bool _isDownloading = false; // final CancelToken _cancelToken = CancelToken();
final _value = 0.0.obs; // bool _isDownloading = false;
late Color primaryColor; // final _value = 0.0.obs;
// late Color primaryColor;
@override //
void initState() { // @override
super.initState(); // void initState() {
} // super.initState();
// }
@override //
void dispose() { // @override
if (!_cancelToken.isCancelled && _value.value != 1) { // void dispose() {
_cancelToken.cancel(); // if (!_cancelToken.isCancelled && _value.value != 1) {
} // _cancelToken.cancel();
super.dispose(); // }
} // super.dispose();
// }
@override //
Widget build(BuildContext context) { // @override
primaryColor = widget.mainColor ?? Theme.of(context).primaryColor; // Widget build(BuildContext context) {
return WillPopScope( // primaryColor = widget.mainColor ?? Theme.of(context).primaryColor;
onWillPop: () { // return WillPopScope(
/// 使用false禁止返回键返回,达到强制升级目的 // onWillPop: () {
return Future.value(false); // /// 使用false禁止返回键返回,达到强制升级目的
}, // return Future.value(false);
child: Scaffold( // },
resizeToAvoidBottomInset: false, // child: Scaffold(
backgroundColor: Colors.transparent, // resizeToAvoidBottomInset: false,
body: Center( // backgroundColor: Colors.transparent,
child: Container( // body: Center(
decoration: BoxDecoration( // child: Container(
color: Colors.white, // decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.0), // color: Colors.white,
), // borderRadius: BorderRadius.circular(8.0),
width: 280.0, // ),
child: Stack( // width: 280.0,
children: <Widget>[ // child: Stack(
Container( // children: <Widget>[
height: 140.0, // Container(
width: 290.0, // height: 140.0,
decoration: BoxDecoration( // width: 290.0,
borderRadius: const BorderRadius.only( // decoration: BoxDecoration(
topLeft: Radius.circular(8.0), // borderRadius: const BorderRadius.only(
topRight: Radius.circular(8.0)), // topLeft: Radius.circular(8.0),
image: DecorationImage( // topRight: Radius.circular(8.0)),
image: AssetImage(widget.bgPath ?? ""), // image: DecorationImage(
fit: BoxFit.cover, // image: AssetImage(widget.bgPath ?? ""),
), // fit: BoxFit.cover,
), // ),
), // ),
Column( // ),
mainAxisSize: MainAxisSize.min, // Column(
children: [ // mainAxisSize: MainAxisSize.min,
Padding( // children: [
padding: const EdgeInsets.only( // Padding(
left: 15.0, right: 15.0, top: 16.0), // padding: const EdgeInsets.only(
child: Text( // left: 15.0, right: 15.0, top: 16.0),
widget.title!, // child: Text(
style: const TextStyle( // widget.title!,
fontSize: 18.0, fontWeight: FontWeight.w600), // style: const TextStyle(
), // fontSize: 18.0, fontWeight: FontWeight.w600),
), // ),
Padding( // ),
padding: const EdgeInsets.symmetric( // Padding(
horizontal: 15.0, vertical: 10.0), // padding: const EdgeInsets.symmetric(
child: HtmlWidget(widget.content!), // horizontal: 15.0, vertical: 10.0),
), // child: HtmlWidget(widget.content!),
Padding( // ),
padding: const EdgeInsets.only( // Padding(
left: 15.0, right: 15.0, top: 5.0), // padding: const EdgeInsets.only(
child: _isDownloading // left: 15.0, right: 15.0, top: 5.0),
? _progress(context, primaryColor) // child: _isDownloading
: _buildButton(context), // ? _progress(context, primaryColor)
), // : _buildButton(context),
], // ),
), // ],
], // ),
)), // ],
)), // )),
); // )),
} // );
// }
Widget _installButton(BuildContext context) { //
return Padding( // Widget _installButton(BuildContext context) {
padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 15), // return Padding(
child: GFButton( // padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 15),
color: primaryColor, // child: GFButton(
size: 40, // color: primaryColor,
textStyle: const TextStyle(fontSize: 16.0), // size: 40,
fullWidthButton: true, // textStyle: const TextStyle(fontSize: 16.0),
onPressed: () { // fullWidthButton: true,
getAPkName().then((value) { // onPressed: () {
openApk(value ?? ''); // getAPkName().then((value) {
}); // openApk(value ?? '');
}, // });
text: '文件已下载,点击安装', // },
), // text: '文件已下载,点击安装',
); // ),
} // );
// }
Obx _progress(BuildContext context, Color primaryColor) { //
return Obx(() { // Obx _progress(BuildContext context, Color primaryColor) {
return Padding( // return Obx(() {
padding: const EdgeInsets.only(bottom: 15.0), // return Padding(
child: Column( // padding: const EdgeInsets.only(bottom: 15.0),
children: [ // child: Column(
LinearProgressIndicator( // children: [
backgroundColor: Colors.grey, // LinearProgressIndicator(
valueColor: AlwaysStoppedAnimation<Color>(primaryColor), // backgroundColor: Colors.grey,
value: _value.value, // valueColor: AlwaysStoppedAnimation<Color>(primaryColor),
), // value: _value.value,
vGap8, // ),
Center( // vGap8,
child: Text('${(_value.value * 100).toInt()}%'), // Center(
) // child: Text('${(_value.value * 100).toInt()}%'),
], // )
), // ],
); // ),
}); // );
} // });
// }
///下载apk //
Future<void> _download(String path) async { // ///下载apk
try { // Future<void> _download(String path) async {
File file = File(path); // try {
// File file = File(path);
/// 链接可能会失效 //
await Dio().download( // /// 链接可能会失效
widget.versionPath!, // await Dio().download(
file.path, // widget.versionPath!,
cancelToken: _cancelToken, // file.path,
onReceiveProgress: (int count, int total) { // cancelToken: _cancelToken,
if (total != -1) { // onReceiveProgress: (int count, int total) {
_value.value = count / total; // if (total != -1) {
if (count == total) { // _value.value = count / total;
Navigator.pop(context); // if (count == total) {
openApk(path); // Navigator.pop(context);
} // openApk(path);
} // }
}, // }
); // },
} catch (e) { // );
ToastUtil.showToast('下载失败'); // } catch (e) {
loggerNoStack.d(e); // ToastUtil.showToast('下载失败');
setState(() { // loggerNoStack.d(e);
_isDownloading = false; // setState(() {
}); // _isDownloading = false;
} // });
} // }
// }
Future<String?> getAPkName() async { //
setInitDir(initStorageDir: true); // Future<String?> getAPkName() async {
await DirectoryUtil.getInstance(); // setInitDir(initStorageDir: true);
DirectoryUtil.createStorageDirSync(category: 'Download'); // await DirectoryUtil.getInstance();
return DirectoryUtil.getStoragePath( // DirectoryUtil.createStorageDirSync(category: 'Download');
fileName: 'report_${widget.versionNumber}', // return DirectoryUtil.getStoragePath(
category: 'Download', // fileName: 'report_${widget.versionNumber}',
format: 'apk'); // category: 'Download',
} // format: 'apk');
// }
void _toUpdate() { //
if (defaultTargetPlatform == TargetPlatform.iOS) { // void _toUpdate() {
Navigator.pop(context); // if (defaultTargetPlatform == TargetPlatform.iOS) {
OpenStore.instance.open(appStoreId: widget.iosAppId ?? ''); // Navigator.pop(context);
} else if (defaultTargetPlatform == TargetPlatform.android) { // OpenStore.instance.open(appStoreId: widget.iosAppId ?? '');
getAPkName().then((path) async { // } else if (defaultTargetPlatform == TargetPlatform.android) {
setState(() { // getAPkName().then((path) async {
_isDownloading = true; // setState(() {
}); // _isDownloading = true;
await _download(path ?? ''); // });
}); // await _download(path ?? '');
} // });
} // }
// }
openApk(String path) async { //
OpenResult openResult = await OpenFilex.open(path); // openApk(String path) async {
// final openResult = await OpenFile.open(path); // OpenResult openResult = await OpenFilex.open(path);
if (openResult.type == ResultType.error) { // // final openResult = await OpenFile.open(path);
ToastUtil.showToast(openResult.message); // if (openResult.type == ResultType.error) {
} else if (openResult.type == ResultType.permissionDenied) { // ToastUtil.showToast(openResult.message);
ToastUtil.showToast("无权限"); // } else if (openResult.type == ResultType.permissionDenied) {
} else if (openResult.type == ResultType.fileNotFound) { // ToastUtil.showToast("无权限");
ToastUtil.showToast("未发现文件"); // } else if (openResult.type == ResultType.fileNotFound) {
} else if (openResult.type == ResultType.noAppToOpen) { // ToastUtil.showToast("未发现文件");
ToastUtil.showToast("无打开方式"); // } else if (openResult.type == ResultType.noAppToOpen) {
} else { // ToastUtil.showToast("无打开方式");
// ToastUtil.showToast(openResult.message); // } else {
} // // ToastUtil.showToast(openResult.message);
} // }
// }
Widget _buildButton(BuildContext context) { //
return Column( // Widget _buildButton(BuildContext context) {
children: <Widget>[ // return Column(
GFButton( // children: <Widget>[
color: primaryColor, // GFButton(
size: 40, // color: primaryColor,
textStyle: const TextStyle(fontSize: 16.0), // size: 40,
fullWidthButton: true, // textStyle: const TextStyle(fontSize: 16.0),
onPressed: () { // fullWidthButton: true,
_toUpdate(); // onPressed: () {
}, // _toUpdate();
text: '立即更新', // },
), // text: '立即更新',
Offstage(offstage: !widget.isUpdateMore!, child: vGap10), // ),
Offstage( // Offstage(offstage: !widget.isUpdateMore!, child: vGap10),
offstage: widget.isUpdateMore!, // Offstage(
child: TextButton( // offstage: widget.isUpdateMore!,
onPressed: () { // child: TextButton(
widget.onIgnore?.call(); // onPressed: () {
Navigator.pop(context); // widget.onIgnore?.call();
}, // Navigator.pop(context);
child: const Text( // },
'忽略此版本', // child: const Text(
style: TextStyle(color: Color(0xFF666666), fontSize: 14.0), // '忽略此版本',
), // style: TextStyle(color: Color(0xFF666666), fontSize: 14.0),
), // ),
), // ),
], // ),
); // ],
} // );
} // }
// }
import 'dart:io'; import 'dart:io';
import 'package:device_info/device_info.dart'; import 'package:device_info_plus/device_info_plus.dart';
class DeviceInfo { class DeviceInfo {
String deviceId; String deviceId;
...@@ -29,7 +29,7 @@ class DeviceInfo { ...@@ -29,7 +29,7 @@ class DeviceInfo {
// 根据 Android 设备信息创建 DeviceInfo 对象 // 根据 Android 设备信息创建 DeviceInfo 对象
factory DeviceInfo.fromAndroidDeviceInfo(AndroidDeviceInfo androidInfo) { factory DeviceInfo.fromAndroidDeviceInfo(AndroidDeviceInfo androidInfo) {
return DeviceInfo( return DeviceInfo(
deviceId: androidInfo.androidId, deviceId: androidInfo.serialNumber,
deviceName: androidInfo.model, deviceName: androidInfo.model,
systemVersion: androidInfo.version.release, systemVersion: androidInfo.version.release,
brand: androidInfo.brand); brand: androidInfo.brand);
...@@ -38,7 +38,7 @@ class DeviceInfo { ...@@ -38,7 +38,7 @@ class DeviceInfo {
// 根据 iOS 设备信息创建 DeviceInfo 对象 // 根据 iOS 设备信息创建 DeviceInfo 对象
factory DeviceInfo.fromIosDeviceInfo(IosDeviceInfo iosInfo) { factory DeviceInfo.fromIosDeviceInfo(IosDeviceInfo iosInfo) {
return DeviceInfo( return DeviceInfo(
deviceId: iosInfo.identifierForVendor, deviceId: iosInfo.identifierForVendor ?? "",
deviceName: AppleDeviceModelMapper.getModelName(iosInfo.utsname.machine), deviceName: AppleDeviceModelMapper.getModelName(iosInfo.utsname.machine),
systemVersion: iosInfo.systemVersion, systemVersion: iosInfo.systemVersion,
); );
......
import 'package:account_center/account_center.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter_clx_base/flutter_clx_base.dart'; import 'package:getwidget/getwidget.dart';
class CodeVerifyButton extends StatefulWidget { class CodeVerifyButton extends StatefulWidget {
final String text; final String text;
......
import 'package:account_center/account_center.dart';
import 'package:account_center/style/style_params.dart'; import 'package:account_center/style/style_params.dart';
import 'package:account_center/widget/radio_check.dart'; import 'package:account_center/widget/radio_check.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:getwidget/getwidget.dart';
/// 风格化控件,处理统一风格,和颜色 /// 风格化控件,处理统一风格,和颜色
abstract class StyleWidget { abstract class StyleWidget {
......
...@@ -4,7 +4,7 @@ import 'dart:io'; ...@@ -4,7 +4,7 @@ import 'dart:io';
import 'package:account_center/widget/file_utils.dart'; import 'package:account_center/widget/file_utils.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_pdfview/flutter_pdfview.dart'; // import 'package:flutter_pdfview/flutter_pdfview.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
class PdfPreview extends StatefulWidget { class PdfPreview extends StatefulWidget {
...@@ -38,8 +38,8 @@ class _PdfPreviewState extends State<PdfPreview> { ...@@ -38,8 +38,8 @@ class _PdfPreviewState extends State<PdfPreview> {
return filePath == null return filePath == null
? const Center( ? const Center(
child: CircularProgressIndicator(), child: CircularProgressIndicator(),
) ):SizedBox();
: PDFView(filePath: filePath); // : PDFView(filePath: filePath);
} }
Future<File> createFileOfPdfUrl() async { Future<File> createFileOfPdfUrl() async {
......
...@@ -10,33 +10,34 @@ environment: ...@@ -10,33 +10,34 @@ environment:
dependencies: dependencies:
flutter: flutter:
sdk: flutter sdk: flutter
device_info: ^2.0.0 device_info_plus: ^11.2.2
flutter_svg: ^2.0.6 flutter_svg: ^2.1.0
external_path: ^1.0.3 external_path: ^2.2.0
file_picker: ^5.3.1 file_picker: 10.3.2
url_launcher: ^6.1.2 url_launcher: ^6.3.1
# 打开文件 # 打开文件
open_filex: ^4.3.2 open_filex: ^4.7.0
flutter_widget_from_html_core: ^0.10.1 flutter_widget_from_html_core: ^0.16.1
open_store: ^0.5.0 open_store: ^0.5.0
connectivity_plus: ^5.0.2 connectivity_plus: ^6.1.5
flutter_pdfview: 1.4.0 # flutter_pdfview: 1.4.3
flutter_oss_aliyun: ^6.4.2 flutter_oss_aliyun: ^6.4.2
aliyun_face_plugin: aliyun_face_plugin:
git: git:
url: https://dev:devfortesting@t.clxkj.cn/openSourceLibrary/aliyun_face_plugin.git url: https://dev:devfortesting@t.clxkj.cn/openSourceLibrary/aliyun_face_plugin.git
ref: v1.0.4 ref: v1.0.4-flutter-3.24.5
flutter_clx_base:
git:
url: https://t.clxkj.cn/openSourceLibrary/flutter_clx_base.git
ref: v1.0.3_3.24.5
getwidget: ^7.0.0
dependency_overrides: dependency_overrides:
ffi: 2.0.1
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_lints: ^3.0.1 flutter_lints: ^3.0.1
flutter_clx_base:
git:
url: https://t.clxkj.cn/openSourceLibrary/flutter_clx_base.git
ref: v1.0.2
flutter: flutter:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论