Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
account_center_plugin_temp
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
openSourceLibrary
account_center_plugin_temp
Commits
51ae530b
提交
51ae530b
authored
10月 30, 2025
作者:
史晓晨
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
调试-90%
上级
403f3632
隐藏空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
438 行增加
和
481 行删除
+438
-481
build.gradle
android/build.gradle
+14
-10
AndroidManifest.xml
android/src/main/AndroidManifest.xml
+6
-9
build.gradle
example/android/app/build.gradle
+11
-6
AndroidManifest.xml
example/android/app/src/debug/AndroidManifest.xml
+2
-3
AndroidManifest.xml
example/android/app/src/main/AndroidManifest.xml
+18
-16
AndroidManifest.xml
example/android/app/src/profile/AndroidManifest.xml
+2
-3
build.gradle
example/android/build.gradle
+2
-2
gradle-wrapper.properties
example/android/gradle/wrapper/gradle-wrapper.properties
+1
-1
pubspec.lock
example/pubspec.lock
+93
-141
pubspec.yaml
example/pubspec.yaml
+4
-8
update_dialog.dart
lib/common/update/update_dialog.dart
+260
-259
device_util.dart
lib/common/utils/device_util.dart
+3
-3
verify_code_button.dart
...ge/staff_manager/add_staff/widget/verify_code_button.dart
+2
-1
style_widget.dart
lib/style/style_widget.dart
+1
-1
pdf_preview.dart
lib/widget/pdf_preview.dart
+3
-3
pubspec.yaml
pubspec.yaml
+16
-15
没有找到文件。
android/build.gradle
浏览文件 @
51ae530b
...
@@ -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.
1
0'
ext
.
kotlin_version
=
'1.8.
2
0'
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
...
...
android/src/main/AndroidManifest.xml
浏览文件 @
51ae530b
<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>
...
...
example/android/app/build.gradle
浏览文件 @
51ae530b
...
@@ -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_1
7
targetCompatibility
JavaVersion
.
VERSION_1
_8
targetCompatibility
JavaVersion
.
VERSION_1
7
}
}
// 3. Kotlin JVM 目标版本同步为 17
kotlinOptions
{
kotlinOptions
{
jvmTarget
=
'1
.8
'
jvmTarget
=
'1
7
'
}
}
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
3
2
targetSdkVersion
3
1
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-jdk
7
:$kotlin_version"
implementation
"org.jetbrains.kotlin:kotlin-stdlib-jdk
8
:$kotlin_version"
}
}
example/android/app/src/debug/AndroidManifest.xml
浏览文件 @
51ae530b
<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>
example/android/app/src/main/AndroidManifest.xml
浏览文件 @
51ae530b
<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,40 +10,40 @@
...
@@ -10,40 +10,40 @@
<!-- 必要权限,安装权限 -->
<!-- 必要权限,安装权限 -->
<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
while the Flutter UI initializes. After that, this theme continues
while the Flutter UI initializes. After that, this theme continues
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>
...
...
example/android/app/src/profile/AndroidManifest.xml
浏览文件 @
51ae530b
<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>
example/android/build.gradle
浏览文件 @
51ae530b
buildscript
{
buildscript
{
ext
.
kotlin_version
=
'1.8.
1
0'
ext
.
kotlin_version
=
'1.8.
2
0'
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"
}
}
}
}
...
...
example/android/gradle/wrapper/gradle-wrapper.properties
浏览文件 @
51ae530b
...
@@ -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
example/pubspec.lock
浏览文件 @
51ae530b
...
@@ -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: d
39e7f95621fc84376bc0f7d504f05c3a41488c562f4a8ad410569127507402c
sha256: d
44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1
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.1
0.6
"
version: "0.1
6.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: "1
0259b111176fba5c505b102e3a5b022b51dd97e30522e906d6922c745584745
"
sha256: "1
6eee997588c60225bda0488b6dcfac69280a6b7a3cf02c741895dd370a02968
"
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: "
9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c
6"
sha256: "
202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f08
6"
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.2
7.7
"
version: "0.2
8.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: "4
ac59808bbfca6da38c99f415ff2d3a5d7ca0a6b4809c71d9cf30fba5daf9752
"
sha256: "4
4cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de
"
url: "https://pub.flutter-io.cn"
url: "https://pub.flutter-io.cn"
source: hosted
source: hosted
version: "1.1.1
0+1
"
version: "1.1.1
8
"
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.1
0+1
"
version: "1.1.1
3
"
vector_graphics_compiler:
vector_graphics_compiler:
dependency: transitive
dependency: transitive
description:
description:
name: vector_graphics_compiler
name: vector_graphics_compiler
sha256: "1
8489bdd8850de3dd7ca8a34e0c446f719ec63e2bab2e7a8cc66a9028dd76c5a
"
sha256: "1
b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad
"
url: "https://pub.flutter-io.cn"
url: "https://pub.flutter-io.cn"
source: hosted
source: hosted
version: "1.1.1
0+1
"
version: "1.1.1
6
"
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:
...
...
example/pubspec.yaml
浏览文件 @
51ae530b
...
@@ -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
...
...
lib/common/update/update_dialog.dart
浏览文件 @
51ae530b
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),
),
// ),
),
// ),
],
// ),
);
// ],
}
// );
}
// }
// }
lib/common/utils/device_util.dart
浏览文件 @
51ae530b
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
,
);
);
...
...
lib/page/staff_manager/add_staff/widget/verify_code_button.dart
浏览文件 @
51ae530b
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
;
...
...
lib/style/style_widget.dart
浏览文件 @
51ae530b
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
{
...
...
lib/widget/pdf_preview.dart
浏览文件 @
51ae530b
...
@@ -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
{
...
...
pubspec.yaml
浏览文件 @
51ae530b
...
@@ -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.1
0
.1
flutter_widget_from_html_core
:
^0.1
6
.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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论