From 2c9785a232d38c6024bf5365a8ccd85f99fe7e24 Mon Sep 17 00:00:00 2001 From: PH2 <1293456824@qq.com> Date: Tue, 30 Mar 2021 18:57:32 +0800 Subject: [PATCH 01/21] =?UTF-8?q?1=E3=80=81=E6=B6=88=E9=99=A4=E7=A9=BA?= =?UTF-8?q?=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/home_goods/models/home_goods_list_style_model.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/widgets/home/home_goods/models/home_goods_list_style_model.dart b/lib/widgets/home/home_goods/models/home_goods_list_style_model.dart index b63ded9..af660f6 100644 --- a/lib/widgets/home/home_goods/models/home_goods_list_style_model.dart +++ b/lib/widgets/home/home_goods/models/home_goods_list_style_model.dart @@ -33,7 +33,7 @@ class HomeGoodsListStyleModel { }); HomeGoodsListStyleModel.fromJson(Map json) { - hotRankIconList = json['hot_rank_icon_list']. cast(); + hotRankIconList = json['hot_rank_icon_list'].cast(); topMargin = json['top_margin']; listColumn = json['list_column']; leftRighMargin = json['left_righ_margin']; From 14d9b03b46c3603767f1c794c60901401d109d10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyanghuaxuan=E2=80=9D?= <“646903573@qq.com”> Date: Tue, 30 Mar 2021 19:00:35 +0800 Subject: [PATCH 02/21] =?UTF-8?q?1.=E6=9B=B4=E6=96=B0=E5=88=86=E4=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/build.gradle | 2 +- example/android/app/build.gradle | 53 +++++++++--------- .../libs/AMap_Location_V4.9.0_20200228.jar | Bin .../MainActivity.java | 12 ++-- example/lib/main.dart | 9 ++- example/pubspec.yaml | 4 +- .../activity_dialog/activity_dialog.dart | 2 + .../goods_share_image/goods_share_image.dart | 6 +- lib/pages/launch_page/launch_page.dart | 16 +++++- lib/utils/contants.dart | 4 ++ 10 files changed, 69 insertions(+), 39 deletions(-) rename {android => example/android/app}/libs/AMap_Location_V4.9.0_20200228.jar (100%) diff --git a/android/build.gradle b/android/build.gradle index 91bcb83..cc4941b 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -33,6 +33,6 @@ android { } dependencies { - // implementation 'com.amap.api:location:5.2.0' + } } diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 72f7620..b81116c 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -54,7 +54,7 @@ android { ndk { //选择要添加的对应cpu类型的.so库。 abiFilters 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'mips', 'mips64', 'arm64-v8a' - //abiFilters 'armeabi-v7a','x86_64','arm64-v8a' + // abiFilters 'armeabi-v7a','x86_64' } } @@ -109,19 +109,19 @@ android { // 应用信息配置 -// productFlavors { -// // 智夜生活 -// zhiying { -// applicationId "cn.zhios.zhiying" -// versionCode 57 -// dimension "app" -// versionName '1.3.17' -// // 签名信息 -// signingConfig signingConfigs.zhiying -// } -// } -// -// // 打包脚本 + productFlavors { + // 智夜生活 + zhiying { + applicationId "cn.zhios.zhiying" + versionCode 59 + dimension "app" + versionName '1.3.19' + // 签名信息 + signingConfig signingConfigs.zhiying + } + } + + // 打包脚本 // android.applicationVariants.all { variant -> // if (variant.buildType.name != "debug") { // variant.getPackageApplicationProvider().get().outputDirectory = new File(project.rootDir.absolutePath + "/app/build/outputs/apk") @@ -136,18 +136,18 @@ android { // } // } // } - - configurations.all { - resolutionStrategy.eachDependency { DependencyResolveDetails details -> - def requested = details.requested - if (requested.group == 'com.android.support') { - if (!requested.name.startsWith("multidex")) { - details.useVersion '28.0.3' - } - } - resolutionStrategy.force 'com.android.support:support-v4:28.0.0' - } - } +// +// configurations.all { +// resolutionStrategy.eachDependency { DependencyResolveDetails details -> +// def requested = details.requested +// if (requested.group == 'com.android.support') { +// if (!requested.name.startsWith("multidex")) { +// details.useVersion '28.0.3' +// } +// } +// resolutionStrategy.force 'com.android.support:support-v4:28.0.0' +// } +// } } @@ -186,6 +186,7 @@ dependencies { implementation 'com.alibaba.sdk.android:nb_trade:4.0.0.16@aar' implementation 'com.alibaba:fastjson:1.2.41@jar' + implementation 'com.amap.api:location:5.2.0' } diff --git a/android/libs/AMap_Location_V4.9.0_20200228.jar b/example/android/app/libs/AMap_Location_V4.9.0_20200228.jar similarity index 100% rename from android/libs/AMap_Location_V4.9.0_20200228.jar rename to example/android/app/libs/AMap_Location_V4.9.0_20200228.jar diff --git a/example/android/app/src/main/java/cn/zhios/zhiying_base_widget_example/MainActivity.java b/example/android/app/src/main/java/cn/zhios/zhiying_base_widget_example/MainActivity.java index 4bd7141..b8f36e8 100644 --- a/example/android/app/src/main/java/cn/zhios/zhiying_base_widget_example/MainActivity.java +++ b/example/android/app/src/main/java/cn/zhios/zhiying_base_widget_example/MainActivity.java @@ -155,9 +155,9 @@ public class MainActivity extends FlutterActivity implements ZhiyingFlutterCommN public Map getSetting() { Map map = new HashMap(); // ///测试 -// map.put("domain", "http://inapi.izhyin.cn/");//"http://120.76.175.204:8989");http://47.114.51.254:80 http://inapi.izhyin.cn/ -// map.put("master_id", "123456"); -// map.put("secret_key", "123456"); + map.put("domain", "http://inapi.izhyin.cn/");//"http://120.76.175.204:8989");http://47.114.51.254:80 http://inapi.izhyin.cn/ + map.put("master_id", "123456"); + map.put("secret_key", "123456"); ///正式 // map.put("domain", "http://api.zhios.cn/");//45678910,api.zhios.cn84198689 @@ -165,9 +165,9 @@ public class MainActivity extends FlutterActivity implements ZhiyingFlutterCommN // map.put("secret_key", "123456"); //客户测试 - map.put("domain", "http://admin.asmetymj.com/");//45678910,api.zhios.cn84198689 - map.put("master_id", "32053480"); - map.put("secret_key", "123456"); +// map.put("domain", "http://api.zhios.cn/");//45678910,api.zhios.cn84198689 +// map.put("master_id", "13376168"); +// map.put("secret_key", "123456"); // map.put("token", "123465"); return map; diff --git a/example/lib/main.dart b/example/lib/main.dart index 9b6d622..0997527 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -23,6 +23,7 @@ import 'package:zhiying_member_upgrade/register.dart'; import 'package:zhiying_equity_card/zhiying_equity_card.dart'; import 'package:zhiying_official/register.dart'; import 'package:zhiying_base_widget/zhiying_base_widget.dart'; +import 'package:zhiying_acquisition/register.dart'; void main() { FlutterError.onError = (FlutterErrorDetails details) { @@ -65,6 +66,7 @@ class _MyAppState extends State { MemberUpgradeRegister.init(); EquityCardRegister.init(); OfficialRegister.init(); + AcquisitionRegister.init(); print('初始化百川'); FlutterAlibc.initAlibc(version: "", appName: "").then((result) { print("白川" + '${result.errorCode} ${result.errorMessage}'); @@ -72,9 +74,12 @@ class _MyAppState extends State { MobPushUtil.setCanPush(); EventUtil.instance.on().listen((event) {}); + const bool inProduction = const bool.fromEnvironment("dart.vm.product"); + if (!inProduction) { + //debug app不更新 app更新插件 + AppUpdateUtil.initXUpdate(); + } - // app更新插件 - AppUpdateUtil.initXUpdate(); } @override diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 5c3a35e..f97c094 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -32,6 +32,8 @@ dev_dependencies: path: ../../zhiying_equity_card zhiying_official: path: ../../zhiying_official + zhiying_acquisition: + path: ../../zhiying_acquisition #微信导师 zhiying_wechat_teacher: #path: ../zhiying_wechat_teacher @@ -42,7 +44,7 @@ dev_dependencies: zhiying_moments: #path: ../zhiying_moments git: - ref: 0.2.0 + ref: 0.2.2 url: http://192.168.0.138:3000/FnuoOS_ZhiYing/zhiying_moments.git #会员升级 zhiying_member_upgrade: diff --git a/lib/dialog/global_dialog/activity_dialog/activity_dialog.dart b/lib/dialog/global_dialog/activity_dialog/activity_dialog.dart index 01c46e7..a925e28 100644 --- a/lib/dialog/global_dialog/activity_dialog/activity_dialog.dart +++ b/lib/dialog/global_dialog/activity_dialog/activity_dialog.dart @@ -14,6 +14,8 @@ class ActivityDialog extends StatelessWidget { const ActivityDialog(this.model, {Key key}) : super(key: key); + + static Future show(BuildContext context) async { try { Map result = await NetUtil.post('/api/v1/mod/pub.flutter.current_activity_dialog', method: NetMethod.GET); diff --git a/lib/pages/goods_share_page/goods_share_image/goods_share_image.dart b/lib/pages/goods_share_page/goods_share_image/goods_share_image.dart index 8af4d0e..c7c7f96 100644 --- a/lib/pages/goods_share_page/goods_share_image/goods_share_image.dart +++ b/lib/pages/goods_share_page/goods_share_image/goods_share_image.dart @@ -368,7 +368,7 @@ class _GoodsShareImageContentState extends State<_GoodsShareImageContent> with A Loading.show(context); ByteData byteData = await image.toByteData(format: ui.ImageByteFormat.png); Uint8List pngBytes = byteData.buffer.asUint8List(); - File file = await EncodeUtil.compressImage(context,images: pngBytes, size: 400); + File file = await EncodeUtil.compressImage(context, images: pngBytes, size: 400); Loading.dismiss(); _shareModel.poster = file.readAsBytesSync(); } @@ -406,6 +406,10 @@ class _GoodsShareImageContentState extends State<_GoodsShareImageContent> with A // ============= 复制文案 ================= Clipboard.setData(ClipboardData(text: _content)); + if(_shareModel.image==null){ + _shareModel.image=List(); + } + showCupertinoModalPopup( context: context, builder: (context) => ShareAlert( diff --git a/lib/pages/launch_page/launch_page.dart b/lib/pages/launch_page/launch_page.dart index eb58166..6514547 100644 --- a/lib/pages/launch_page/launch_page.dart +++ b/lib/pages/launch_page/launch_page.dart @@ -40,12 +40,10 @@ class LaunchPage extends StatefulWidget { class _LaunchPageState extends State with TickerProviderStateMixin { final GlobalKey navigatorKey = new GlobalKey(); - int showTime = 0; @override void initState() { - validateInit(); super.initState(); } @@ -56,6 +54,20 @@ class _LaunchPageState extends State with TickerProviderStateMixin { // I am connected to a wifi network. Logger.debug('ConnectivityResult.wifi'); print('ConnectivityResult.wifi'); + + ///检查是否覆盖安装 + //取masterId + String lasterMasterId = await SharedPreferencesUtil.getStringValue(Constants.masterId, defaultVal: "1"); + Map setting = await NativeUtil.getSetting(); + String masterId = setting['master_id']; + if (lasterMasterId != "1") { + if (masterId != lasterMasterId) { + await SharedPreferencesUtil.clean(); + } + } + + SharedPreferencesUtil.setStringValue(Constants.masterId, masterId); + Application.init().then((_) async { ///引导页 PackageInfo packageInfo = await PackageInfo.fromPlatform(); diff --git a/lib/utils/contants.dart b/lib/utils/contants.dart index cd1aa6a..e0434e9 100644 --- a/lib/utils/contants.dart +++ b/lib/utils/contants.dart @@ -29,4 +29,8 @@ class Constants { //==============================版本号,控制引导页显示=================================== static String versionNumber = "versionNumber"; + + + ///masterId + static String masterId="sp_master_id"; } From a0ddb25f1d3f918a2ffe44052ea29ce4660ff7e5 Mon Sep 17 00:00:00 2001 From: PH2 <1293456824@qq.com> Date: Tue, 30 Mar 2021 19:32:40 +0800 Subject: [PATCH 03/21] =?UTF-8?q?1=E3=80=81=E9=87=8D=E5=90=AFApp=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/custom_page/custom_item_page.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/pages/custom_page/custom_item_page.dart b/lib/pages/custom_page/custom_item_page.dart index 7620bde..4412267 100644 --- a/lib/pages/custom_page/custom_item_page.dart +++ b/lib/pages/custom_page/custom_item_page.dart @@ -137,7 +137,9 @@ class __CustomItemPageContainerState extends State<_CustomItemPageContainer> wit if (current is CustomItemPageAppRestartState) { // 重启App Logger.log('开始重新启动App CustomItemPageAppRestartState'); - EventUtil.instance.fire(ReloadEvent()); + Timer(Duration(milliseconds: 1000), () { + EventUtil.instance.fire(ReloadEvent()); + }); return false; } return true; From 2adbbd87bddc8aa7c994bee50118c7520e51534d Mon Sep 17 00:00:00 2001 From: PH2 <1293456824@qq.com> Date: Wed, 31 Mar 2021 10:02:07 +0800 Subject: [PATCH 04/21] =?UTF-8?q?1=E3=80=81=E6=A8=A1=E7=89=88=E6=9B=B4?= =?UTF-8?q?=E6=96=B0bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/custom_page/custom_item_page.dart | 4 +--- lib/widgets/restart_widget/restart_widget.dart | 10 +++++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/pages/custom_page/custom_item_page.dart b/lib/pages/custom_page/custom_item_page.dart index 4412267..7620bde 100644 --- a/lib/pages/custom_page/custom_item_page.dart +++ b/lib/pages/custom_page/custom_item_page.dart @@ -137,9 +137,7 @@ class __CustomItemPageContainerState extends State<_CustomItemPageContainer> wit if (current is CustomItemPageAppRestartState) { // 重启App Logger.log('开始重新启动App CustomItemPageAppRestartState'); - Timer(Duration(milliseconds: 1000), () { - EventUtil.instance.fire(ReloadEvent()); - }); + EventUtil.instance.fire(ReloadEvent()); return false; } return true; diff --git a/lib/widgets/restart_widget/restart_widget.dart b/lib/widgets/restart_widget/restart_widget.dart index 703063a..2ac7ba2 100644 --- a/lib/widgets/restart_widget/restart_widget.dart +++ b/lib/widgets/restart_widget/restart_widget.dart @@ -68,11 +68,11 @@ class _RestartWidgetState extends State { @override Widget build(BuildContext context) { - const bool inProduction = const bool.fromEnvironment("dart.vm.product"); - if (!inProduction) { - ///debug阶段可重启 - isFirst=true; - } + // const bool inProduction = const bool.fromEnvironment("dart.vm.product"); + // if (!inProduction) { + // ///debug阶段可重启 + // isFirst=true; + // } return StreamBuilder(stream: outData,builder: (context,asyn){ if(asyn.data==null&&!isFirst){ return Scaffold( From bdf24bd95219ab48843201407e5e53a066729256 Mon Sep 17 00:00:00 2001 From: PH2 <1293456824@qq.com> Date: Wed, 31 Mar 2021 18:28:38 +0800 Subject: [PATCH 05/21] =?UTF-8?q?1=E3=80=81=E9=AA=8C=E8=AF=81=E7=A0=81?= =?UTF-8?q?=E4=BD=8D=E6=95=B0=E7=9A=84=E4=BF=AE=E6=94=B9=E6=94=AF=E6=8C=81?= =?UTF-8?q?4=EF=BD=9E6=E4=BD=8D=202=E3=80=81appUI=E9=87=8D=E5=90=AF?= =?UTF-8?q?=E7=9A=84bug=E4=BF=AE=E6=94=B9=203=E3=80=81=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E6=90=9C=E7=B4=A2=E7=9A=84key?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../security_bind_alipay_page.dart | 2 +- .../security_mobile/security_mobile_unbind.dart | 2 +- .../security_password/security_password.dart | 3 ++- .../security_unbind_alipay/security_unbin_alipay.dart | 2 +- lib/widgets/custom/search/custom_search_widget.dart | 10 ++++++++-- lib/widgets/restart_widget/restart_widget.dart | 2 ++ 6 files changed, 15 insertions(+), 6 deletions(-) diff --git a/lib/pages/security_page/security_bind_alipay/security_bind_alipay_page.dart b/lib/pages/security_page/security_bind_alipay/security_bind_alipay_page.dart index e4c3de1..6653791 100644 --- a/lib/pages/security_page/security_bind_alipay/security_bind_alipay_page.dart +++ b/lib/pages/security_page/security_bind_alipay/security_bind_alipay_page.dart @@ -80,7 +80,7 @@ class _SecurityBindAlipayContainerState void _verifiy() { bool canConfirm = _nameController.text.length > 0 && _accountController.text.length > 0 && - _codeController.text.length == 6; + _codeController.text.length >= 4 && _codeController.text.length <= 4; if (canConfirm != _canConfirm) { setState(() { _canConfirm = canConfirm; diff --git a/lib/pages/security_page/security_mobile/security_mobile_unbind.dart b/lib/pages/security_page/security_mobile/security_mobile_unbind.dart index 9d44f54..8381dd0 100644 --- a/lib/pages/security_page/security_mobile/security_mobile_unbind.dart +++ b/lib/pages/security_page/security_mobile/security_mobile_unbind.dart @@ -130,7 +130,7 @@ class _SecurityMobileUnbindState extends State { } void _verifiy() { - bool canConfirm = _codeController.text.length == 6; + bool canConfirm = _codeController.text.length >= 4 && _codeController.text.length <= 6; if (canConfirm != _canConfirm) { setState(() { _canConfirm = canConfirm; diff --git a/lib/pages/security_page/security_password/security_password.dart b/lib/pages/security_page/security_password/security_password.dart index d02d79b..1b0715b 100644 --- a/lib/pages/security_page/security_password/security_password.dart +++ b/lib/pages/security_page/security_password/security_password.dart @@ -145,7 +145,8 @@ class _SecurityPasswordState extends State { } void _verifiy() { - bool canConfirm = _passwordController.text.length >= 6 && _confirmController.text.length >= 6 && _codeController.text.length == 6; + bool canConfirm = _passwordController.text.length >= 6 && _confirmController.text.length >= 6 && + _codeController.text.length >= 4 && _codeController.text.length <= 6; if (canConfirm != _canConfirm) { setState(() { _canConfirm = canConfirm; diff --git a/lib/pages/security_page/security_unbind_alipay/security_unbin_alipay.dart b/lib/pages/security_page/security_unbind_alipay/security_unbin_alipay.dart index 82b5300..3e96b9a 100644 --- a/lib/pages/security_page/security_unbind_alipay/security_unbin_alipay.dart +++ b/lib/pages/security_page/security_unbind_alipay/security_unbin_alipay.dart @@ -36,7 +36,7 @@ class _SecurityUnbinAlipayState extends State { } void _verifiy() { - bool canConfirm = _codeController.text.length == 6; + bool canConfirm = _codeController.text.length >= 4 && _codeController.text.length <= 6; if (canConfirm != _canConfirm) { setState(() { _canConfirm = canConfirm; diff --git a/lib/widgets/custom/search/custom_search_widget.dart b/lib/widgets/custom/search/custom_search_widget.dart index 11a98db..1c5bd42 100644 --- a/lib/widgets/custom/search/custom_search_widget.dart +++ b/lib/widgets/custom/search/custom_search_widget.dart @@ -48,12 +48,18 @@ class CustomSearchWidget extends StatelessWidget { if (EmptyUtil.isEmpty(model)) return Container(); Widget rlt; switch (model.moduleType) { - case 'search_1': + case 'search_1': // 右1图标 rlt = _buildStyle1Widget(context); break; - case 'search_2': + case 'search_2': // 无图标 rlt = _buildStyle2Widget(context); break; + case 'search_3': // 左1右1图标 + rlt = Container(); + break; + case 'search_4': // 右按钮 + rlt = Container(); + break; default: rlt = Container(); break; diff --git a/lib/widgets/restart_widget/restart_widget.dart b/lib/widgets/restart_widget/restart_widget.dart index 2ac7ba2..98dbd0e 100644 --- a/lib/widgets/restart_widget/restart_widget.dart +++ b/lib/widgets/restart_widget/restart_widget.dart @@ -73,6 +73,7 @@ class _RestartWidgetState extends State { // ///debug阶段可重启 // isFirst=true; // } + isFirst = true; return StreamBuilder(stream: outData,builder: (context,asyn){ if(asyn.data==null&&!isFirst){ return Scaffold( @@ -82,6 +83,7 @@ class _RestartWidgetState extends State { isFirst=false; return widget?.child; } + // return widget?.child; }); } From edbbb387b6e23c9c7c10360f6dc94b9a8cac19fa Mon Sep 17 00:00:00 2001 From: PH2 <1293456824@qq.com> Date: Wed, 31 Mar 2021 19:46:54 +0800 Subject: [PATCH 06/21] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E5=A4=9A?= =?UTF-8?q?=E7=9C=BC=E5=AF=BC=E8=88=AA=E7=9A=84=E5=AD=97=E4=BD=93=E5=A4=A7?= =?UTF-8?q?=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../custom/multi_nav/custom_quick_entry.dart | 85 +------------------ .../custom/search/custom_search_widget.dart | 14 ++- 2 files changed, 16 insertions(+), 83 deletions(-) diff --git a/lib/widgets/custom/multi_nav/custom_quick_entry.dart b/lib/widgets/custom/multi_nav/custom_quick_entry.dart index 7a2690b..943ab8f 100644 --- a/lib/widgets/custom/multi_nav/custom_quick_entry.dart +++ b/lib/widgets/custom/multi_nav/custom_quick_entry.dart @@ -118,7 +118,7 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> // 图标的高度 double iconHeight = 40.0; // 标题的高度 - double titleHeight = 20.0; + double titleHeight = 21.0; // 子元素的高度 double itemHeight = iconHeight; @@ -412,7 +412,7 @@ class __CustomQuickEntryContainerState extends State<_CustomQuickEntryContainer> padding: const EdgeInsets.only(top: 5), child: Text( item?.title ?? '', - style: TextStyle(fontSize: 10, color: HexColor.fromHex(model?.titleColor)), + style: TextStyle(fontSize: 12, color: HexColor.fromHex(model?.titleColor)), ), ), ), @@ -514,83 +514,6 @@ class MyNetWorkImage extends StatelessWidget { child: CachedNetworkImage(width: width, imageUrl: imgUrl), ); } - -// Widget _getMainWidget(CustomQuickEntryModel model) { -// // 数据总数 -// int totalDataSize = model?.listStyle?.length ?? 0; -// -// // 展示的总行数 -// int totalRowSize = 1;int.parse(model?.rowSize ?? '1'); -// -// // 展示的列数 -// int columSize = 5;int.parse(model?.columnSize ?? '5'); -// -// // 图标的高度 -// double iconHeight = 40.0; -// // 标题的高度 -// double titleHeight = 20.0; -// -// // 子元素的高度 -// double itemHeight = iconHeight; -// -// // 如果有一级标题 -// if (!EmptyUtil.isEmpty(model?.isShowTitle) && model.isShowTitle == '1') { -// itemHeight = iconHeight + titleHeight; -// } -// -// //如果有二级标题 -// if (!EmptyUtil.isEmpty(model?.isShowSubTitle) && model.isShowSubTitle == '1') { -// itemHeight = iconHeight + titleHeight * 2; -// } -// -// // 进度条的边距 -// double barMargin = 15.0; -// // 总页数 -// int totalPage = totalDataSize % (totalRowSize * columSize) == 0 ? totalDataSize ~/ (totalRowSize * columSize) : (totalDataSize ~/ (totalRowSize * columSize)) + 1; -// -// // 总体高度 = 行数 * (子元素高度 + 边距高度) + 进度条的高度 -// double totalHeight = totalRowSize * (itemHeight + barMargin) + 4; -// if (!EmptyUtil.isEmpty(model?.pagination) && model.pagination != 'type_null' /*model.pagination_open == '0'*/) { -// totalHeight = totalRowSize * (itemHeight + barMargin); -// } -// -// return Container( -// color: HexColor.fromHex(widget?.model['bg_color']), -// // color: Colors.yellow, -// child: Container( -// margin: EdgeInsets.only(top: 15, bottom: totalPage > 1 ? 15 : 0), -// height: totalHeight, -// // 总体高度 -// width: double.infinity, -// color: HexColor.fromHex(widget?.model['bg_color']), -// child: Swiper( -// controller: _controller, -// itemCount: totalPage, -// loop: false, -// itemBuilder: (context, index) { -// return Container( -// height: double.infinity, -// width: double.infinity, -// padding: const EdgeInsets.symmetric(horizontal: 12.5), -// child: _getPageWidget( -// iconHeight: iconHeight, -// titleHeight: titleHeight, -// totalDataSize: totalDataSize, -// totalPage: totalPage, -// currentPage: index, -// totalRowSize: totalRowSize, -// columSize: columSize, -// model: model, -// itemHeight: itemHeight, -// ), -// ); -// }, -// pagination: totalPage <= 1 ? null : _getSwiperPaginationContorl(model, totalPage), -// ), -// ), -// ); -// } - } class CustomQuickCateEntry extends StatefulWidget { @@ -694,7 +617,7 @@ class _CustomQuickCateEntryState extends State with Ticker // 图标的高度 double iconHeight = 40; // 标题的高度 - double titleHeight = 20.0; + double titleHeight = 21.0; // 子元素的高度 double itemHeight = iconHeight; @@ -997,7 +920,7 @@ class _CustomQuickCateEntryState extends State with Ticker padding: const EdgeInsets.only(top: 5), child: Text( item?.title ?? '', - style: TextStyle(fontSize: 10, color: HexColor.fromHex(model?.titleColor)), + style: TextStyle(fontSize: 12, color: HexColor.fromHex(model?.titleColor)), ), ), ), diff --git a/lib/widgets/custom/search/custom_search_widget.dart b/lib/widgets/custom/search/custom_search_widget.dart index 1c5bd42..48c827d 100644 --- a/lib/widgets/custom/search/custom_search_widget.dart +++ b/lib/widgets/custom/search/custom_search_widget.dart @@ -55,10 +55,10 @@ class CustomSearchWidget extends StatelessWidget { rlt = _buildStyle2Widget(context); break; case 'search_3': // 左1右1图标 - rlt = Container(); + rlt = _buildStyle3Widget(context); break; case 'search_4': // 右按钮 - rlt = Container(); + rlt = _buildStyle4Widget(context); break; default: rlt = Container(); @@ -68,6 +68,16 @@ class CustomSearchWidget extends StatelessWidget { return rlt; } + /// 左1右1图标 + Widget _buildStyle3Widget(BuildContext context) { + return Container(); + } + + /// 右按钮 + Widget _buildStyle4Widget(BuildContext context) { + return Container(); + } + /// 右1图标 Widget _buildStyle1Widget(BuildContext context) { return Row( From 13d1a512a563903fb7096bb48ce0997c3e69063b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyanghuaxuan=E2=80=9D?= <“646903573@qq.com”> Date: Fri, 2 Apr 2021 11:12:19 +0800 Subject: [PATCH 07/21] =?UTF-8?q?1.=E7=A7=BB=E9=99=A4=E7=BD=91=E7=BB=9C?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E7=9A=84=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/lib/main.dart | 13 +++++++++---- example/pubspec.yaml | 2 ++ lib/pages/home_page/home_page.dart | 1 - lib/pages/launch_page/launch_page.dart | 1 - pubspec.yaml | 2 +- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 0997527..a4bc361 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -25,6 +25,7 @@ import 'package:zhiying_official/register.dart'; import 'package:zhiying_base_widget/zhiying_base_widget.dart'; import 'package:zhiying_acquisition/register.dart'; + void main() { FlutterError.onError = (FlutterErrorDetails details) { FlutterError.dumpErrorToConsole(details); @@ -49,7 +50,11 @@ class _MyAppState extends State { return Center( child: Text( "" + erroStr, - style: Theme.of(context).textTheme.title.copyWith(color: Colors.grey[200]), + style: Theme + .of(context) + .textTheme + .title + .copyWith(color: Colors.grey[200]), ), ); } @@ -67,6 +72,7 @@ class _MyAppState extends State { EquityCardRegister.init(); OfficialRegister.init(); AcquisitionRegister.init(); + print('初始化百川'); FlutterAlibc.initAlibc(version: "", appName: "").then((result) { print("白川" + '${result.errorCode} ${result.errorMessage}'); @@ -79,7 +85,6 @@ class _MyAppState extends State { //debug app不更新 app更新插件 AppUpdateUtil.initXUpdate(); } - } @override @@ -130,8 +135,8 @@ class _MyAppState extends State { return locale; }, home: LaunchPage( - // builder: (context) => HomePage(), - ), + // builder: (context) => HomePage(), + ), ), ), ); diff --git a/example/pubspec.yaml b/example/pubspec.yaml index f97c094..8ecd814 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -34,6 +34,8 @@ dev_dependencies: path: ../../zhiying_official zhiying_acquisition: path: ../../zhiying_acquisition + zhiying_credit_card: + path: ../../zhiying_credit_card #微信导师 zhiying_wechat_teacher: #path: ../zhiying_wechat_teacher diff --git a/lib/pages/home_page/home_page.dart b/lib/pages/home_page/home_page.dart index a463313..b897b76 100644 --- a/lib/pages/home_page/home_page.dart +++ b/lib/pages/home_page/home_page.dart @@ -4,7 +4,6 @@ import 'dart:convert'; import 'dart:io'; import 'package:cached_network_image/cached_network_image.dart'; -import 'package:connectivity/connectivity.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; diff --git a/lib/pages/launch_page/launch_page.dart b/lib/pages/launch_page/launch_page.dart index 6514547..d0b3795 100644 --- a/lib/pages/launch_page/launch_page.dart +++ b/lib/pages/launch_page/launch_page.dart @@ -3,7 +3,6 @@ import 'dart:async'; import 'dart:io'; import 'dart:typed_data'; -import 'package:connectivity/connectivity.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; diff --git a/pubspec.yaml b/pubspec.yaml index 4d8942f..414e29b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -24,7 +24,7 @@ dependencies: ref: '0.0.1' image_picker: ^0.6.7+3 tab_indicator_styler: 1.0.0 - connectivity: ^0.4.9+3 + image_cropper: git: url: 'http://192.168.0.138:3000/FnuoOS_Flutter_Components/Image_Cropper.git' From eb6120a7f22499d016b4e984c569ad16789651d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyanghuaxuan=E2=80=9D?= <“646903573@qq.com”> Date: Fri, 2 Apr 2021 13:54:09 +0800 Subject: [PATCH 08/21] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E4=BF=A1=E7=94=A8?= =?UTF-8?q?=E5=8D=A1=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dart_tool/package_config.json | 274 ++++++++++++++++----------------- 1 file changed, 131 insertions(+), 143 deletions(-) diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json index dd62346..d2341c6 100644 --- a/.dart_tool/package_config.json +++ b/.dart_tool/package_config.json @@ -3,727 +3,715 @@ "packages": [ { "name": "ali_auth_wbq", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/zhiying_ali_auth_wbq-f6421fe5735eab13738946da8fa7405e7aa952c6/", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/zhiying_ali_auth_wbq-f6421fe5735eab13738946da8fa7405e7aa952c6/", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "amap_flutter_location", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/amap_flutter_location-1.0.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/amap_flutter_location-1.0.1", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "archive", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/archive-2.0.13", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/archive-2.0.13", "packageUri": "lib/", "languageVersion": "2.0" }, { "name": "args", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/args-1.6.0", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/args-1.6.0", "packageUri": "lib/", "languageVersion": "2.3" }, { "name": "async", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.5.0-nullsafety.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.5.0-nullsafety.1", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "bloc", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/bloc-4.0.0", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/bloc-5.0.1", "packageUri": "lib/", "languageVersion": "2.6" }, { "name": "boolean_selector", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0-nullsafety.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0-nullsafety.1", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "cached_network_image", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-2.5.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-2.5.1", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "characters", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.1.0-nullsafety.3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.1.0-nullsafety.3", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "charcode", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.2.0-nullsafety.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.2.0-nullsafety.1", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "clock", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0-nullsafety.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0-nullsafety.1", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "collection", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0-nullsafety.3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0-nullsafety.3", "packageUri": "lib/", "languageVersion": "2.10" }, - { - "name": "connectivity", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity-0.4.9+5", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "connectivity_for_web", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_for_web-0.3.1+4", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "connectivity_macos", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_macos-0.1.0+7", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "connectivity_platform_interface", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_platform_interface-1.0.6", - "packageUri": "lib/", - "languageVersion": "2.1" - }, { "name": "convert", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/convert-2.1.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/convert-2.1.1", "packageUri": "lib/", "languageVersion": "1.17" }, { "name": "cookie_jar", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cookie_jar-1.0.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/cookie_jar-1.0.1", "packageUri": "lib/", "languageVersion": "1.20" }, { "name": "crypto", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/crypto-2.1.5", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/crypto-2.1.5", "packageUri": "lib/", "languageVersion": "2.3" }, + { + "name": "cubit", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/cubit-0.1.2", + "packageUri": "lib/", + "languageVersion": "2.7" + }, { "name": "device_info", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/device_info-0.4.2+10", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/device_info-0.4.2+10", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "device_info_platform_interface", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/device_info_platform_interface-1.0.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/device_info_platform_interface-1.0.1", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "dio", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio-3.0.10", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio-3.0.10", "packageUri": "lib/", "languageVersion": "2.4" }, { "name": "dio_cookie_manager", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio_cookie_manager-1.0.0", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio_cookie_manager-1.0.0", "packageUri": "lib/", "languageVersion": "2.4" }, { "name": "equatable", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/equatable-1.2.6", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/equatable-1.2.6", "packageUri": "lib/", "languageVersion": "2.0" }, { "name": "event_bus", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/event_bus-1.1.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/event_bus-1.1.1", "packageUri": "lib/", "languageVersion": "2.0" }, { "name": "fake_async", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0-nullsafety.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0-nullsafety.1", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "ffi", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/ffi-0.1.3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/ffi-0.1.3", "packageUri": "lib/", "languageVersion": "2.6" }, { "name": "file", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/file-5.2.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/file-5.2.1", "packageUri": "lib/", "languageVersion": "2.2" }, { "name": "flutter", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/packages/flutter", + "rootUri": "file:///Users/fnuser02/flutter/packages/flutter", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "flutter_alibc", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/zhiying_flutter_alibc-159f123705b3e3dc28d6991df5b39b24a54c41a0/", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/zhiying_flutter_alibc-159f123705b3e3dc28d6991df5b39b24a54c41a0/", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "flutter_bloc", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_bloc-4.0.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_bloc-5.0.1", "packageUri": "lib/", "languageVersion": "2.6" }, { "name": "flutter_blurhash", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_blurhash-0.5.0", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_blurhash-0.5.0", "packageUri": "lib/", "languageVersion": "2.4" }, { "name": "flutter_cache_manager", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_cache_manager-2.1.0", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_cache_manager-2.1.0", "packageUri": "lib/", "languageVersion": "2.6" }, + { + "name": "flutter_cubit", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_cubit-0.1.1", + "packageUri": "lib/", + "languageVersion": "2.7" + }, { "name": "flutter_cupertino_date_picker", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/flutter-cupertino-date-picker-82142a924a770e68dca2a2f7b51449166870d7e2/", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/flutter-cupertino-date-picker-82142a924a770e68dca2a2f7b51449166870d7e2/", "packageUri": "lib/", "languageVersion": "1.19" }, { "name": "flutter_native_image", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_native_image-0.0.5+3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_native_image-0.0.5+3", "packageUri": "lib/", "languageVersion": "1.19" }, { "name": "flutter_page_indicator", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_page_indicator-0.0.3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_page_indicator-0.0.3", "packageUri": "lib/", "languageVersion": "2.0" }, { "name": "flutter_plugin_android_lifecycle", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-1.0.11", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-1.0.11", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "flutter_screenutil", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_screenutil-1.1.0", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_screenutil-1.1.0", "packageUri": "lib/", "languageVersion": "2.6" }, { "name": "flutter_slidable", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_slidable-0.5.7", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_slidable-0.5.7", "packageUri": "lib/", "languageVersion": "1.19" }, { "name": "flutter_swiper", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_swiper-1.1.6", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_swiper-1.1.6", "packageUri": "lib/", "languageVersion": "2.0" }, { "name": "flutter_test", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/packages/flutter_test", + "rootUri": "file:///Users/fnuser02/flutter/packages/flutter_test", "packageUri": "lib/", "languageVersion": "2.2" }, { "name": "flutter_update_dialog", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_update_dialog-1.0.0", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_update_dialog-1.0.0", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "flutter_user_agent", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_user_agent-1.2.2", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_user_agent-1.2.2", "packageUri": "lib/", "languageVersion": "2.0" }, { "name": "flutter_web_plugins", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/packages/flutter_web_plugins", + "rootUri": "file:///Users/fnuser02/flutter/packages/flutter_web_plugins", "packageUri": "lib/", "languageVersion": "2.0" }, { "name": "flutter_xupdate", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/flutter_xupdate-d17c695461ee4588dec990533d7467c11884cd0f/", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/flutter_xupdate-d17c695461ee4588dec990533d7467c11884cd0f/", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "fluttertoast", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluttertoast-4.0.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluttertoast-4.0.1", "packageUri": "lib/", "languageVersion": "2.0" }, { "name": "fluwx", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluwx-2.6.2", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluwx-2.6.2", "packageUri": "lib/", "languageVersion": "2.6" }, { "name": "http", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.2", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.2", "packageUri": "lib/", "languageVersion": "2.4" }, { "name": "http_parser", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.4", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.4", "packageUri": "lib/", "languageVersion": "2.3" }, { "name": "image", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image-2.1.19", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/image-2.1.19", "packageUri": "lib/", "languageVersion": "2.0" }, { "name": "image_cropper", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/Image_Cropper-e32f2264f86a27a2f5d7a7a5e26c6154eaf5798e/", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/Image_Cropper-e32f2264f86a27a2f5d7a7a5e26c6154eaf5798e/", "packageUri": "lib/", "languageVersion": "1.20" }, { "name": "image_picker", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker-0.6.7+22", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker-0.6.7+22", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "image_picker_platform_interface", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker_platform_interface-1.1.6", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker_platform_interface-1.1.6", "packageUri": "lib/", "languageVersion": "2.5" }, { "name": "imei_plugin", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/imei_plugin-1.2.0", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/imei_plugin-1.2.0", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "intl", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/intl-0.16.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/intl-0.16.1", "packageUri": "lib/", "languageVersion": "2.5" }, { "name": "jdsdk", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/jdsdk-0.0.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/jdsdk-0.0.1", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "loading_indicator", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/loading_indicator-1.2.0", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/loading_indicator-1.2.0", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "matcher", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.10-nullsafety.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.10-nullsafety.1", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "meta", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.3.0-nullsafety.3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.3.0-nullsafety.3", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "moblink", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/moblink-5472bb698d70e336cf55febb9b0a209411466632/", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/moblink-5472bb698d70e336cf55febb9b0a209411466632/", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "mobpush_plugin", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobpush_plugin-1.1.6", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobpush_plugin-1.1.6", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "mobsms", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobsms-1.1.3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobsms-1.1.3", "packageUri": "lib/", "languageVersion": "2.0" }, { "name": "more_picture_share", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/more_picture_share-4767c418bfe4b8d75f9f8958199384141ba88e21/", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/more_picture_share-4767c418bfe4b8d75f9f8958199384141ba88e21/", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "nested", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/nested-0.0.4", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/nested-0.0.4", "packageUri": "lib/", "languageVersion": "2.2" }, { "name": "octo_image", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/octo_image-0.3.0", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/octo_image-0.3.0", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "package_info", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3+4", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3+4", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "path", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0-nullsafety.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0-nullsafety.1", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "path_provider", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider-1.6.28", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider-1.6.28", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "path_provider_linux", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_linux-0.0.1+2", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_linux-0.0.1+2", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "path_provider_macos", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_macos-0.0.4+8", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_macos-0.0.4+8", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "path_provider_platform_interface", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_platform_interface-1.0.4", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_platform_interface-1.0.4", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "path_provider_windows", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-0.0.4+3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-0.0.4+3", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "pedantic", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.9.2", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.9.2", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "permission_handler", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/permission_handler-b8c45c4c20221ac39fe083113fc360cc632f33a4/", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/permission_handler-b8c45c4c20221ac39fe083113fc360cc632f33a4/", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "permission_handler_platform_interface", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/permission_handler_platform_interface-2.0.2", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/permission_handler_platform_interface-2.0.1", "packageUri": "lib/", "languageVersion": "2.6" }, { "name": "petitparser", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/petitparser-3.1.0", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/petitparser-3.1.0", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "photo_view", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/photo_view-0.10.3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/photo_view-0.10.3", "packageUri": "lib/", "languageVersion": "2.6" }, { "name": "platform", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/platform-2.2.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/platform-2.2.1", "packageUri": "lib/", "languageVersion": "1.24" }, { "name": "plugin_platform_interface", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-1.0.3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-1.0.2", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "process", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/process-3.0.13", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/process-3.0.13", "packageUri": "lib/", "languageVersion": "2.0" }, { "name": "provider", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/provider-4.3.3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/provider-4.3.3", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "pull_to_refresh", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/flutter_pulltorefresh-78a12e0ea45fdf1fbc615b8d243e0f4a8667489f/", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/flutter_pulltorefresh-78a12e0ea45fdf1fbc615b8d243e0f4a8667489f/", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "rxdart", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/rxdart-0.25.0", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/rxdart-0.25.0", "packageUri": "lib/", "languageVersion": "2.6" }, { "name": "save_image", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/save_image-b719ab2d77298cbfa5ce3397d83d5ba253ed29c1/", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/save_image-b719ab2d77298cbfa5ce3397d83d5ba253ed29c1/", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "secverify", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/secverify-5ec756e9fe63339209cc6906a37a778952ac61f1/", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/secverify-5ec756e9fe63339209cc6906a37a778952ac61f1/", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "share_extend", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/share_extend-1.1.9", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/share_extend-1.1.9", "packageUri": "lib/", "languageVersion": "2.0" }, { "name": "shared_preferences", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-0.5.12+4", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-0.5.12+4", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "shared_preferences_linux", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_linux-0.0.2+4", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_linux-0.0.2+4", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "shared_preferences_macos", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_macos-0.0.1+11", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_macos-0.0.1+11", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "shared_preferences_platform_interface", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_platform_interface-1.0.4", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_platform_interface-1.0.4", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "shared_preferences_web", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_web-0.1.2+7", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_web-0.1.2+7", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "shared_preferences_windows", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_windows-0.0.2+3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_windows-0.0.2+3", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "sharesdk_plugin", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/sharesdk_plugin-f947c09803374acdc4fb720ccb5356d0779afe2f/", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/sharesdk_plugin-f947c09803374acdc4fb720ccb5356d0779afe2f/", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "shimmer", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shimmer-1.1.2", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/shimmer-1.1.2", "packageUri": "lib/", "languageVersion": "1.20" }, { "name": "sky_engine", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/bin/cache/pkg/sky_engine", + "rootUri": "file:///Users/fnuser02/flutter/bin/cache/pkg/sky_engine", "packageUri": "lib/", "languageVersion": "1.11" }, { "name": "source_span", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.0-nullsafety.2", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.0-nullsafety.2", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "sqflite", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite-1.3.1+2", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite-1.3.1+2", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "sqflite_common", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite_common-1.0.3+3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite_common-1.0.3+3", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "stack_trace", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0-nullsafety.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0-nullsafety.1", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "stream_channel", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0-nullsafety.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0-nullsafety.1", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "string_scanner", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0-nullsafety.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0-nullsafety.1", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "string_validator", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_validator-0.1.4", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_validator-0.1.4", "packageUri": "lib/", "languageVersion": "2.0" }, { "name": "synchronized", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/synchronized-2.2.0+2", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/synchronized-2.2.0+2", "packageUri": "lib/", "languageVersion": "2.8" }, { "name": "tab_indicator_styler", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/tab_indicator_styler-1.0.0", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/tab_indicator_styler-1.0.0", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "term_glyph", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0-nullsafety.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0-nullsafety.1", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "test_api", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.2.19-nullsafety.2", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.2.19-nullsafety.2", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "tobias", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/git/tobias-15f6acb72df68703c96b2d8a14e1ab28f5dcc008/", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/tobias-15f6acb72df68703c96b2d8a14e1ab28f5dcc008/", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "transformer_page_view", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/transformer_page_view-0.1.6", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/transformer_page_view-0.1.6", "packageUri": "lib/", "languageVersion": "2.0" }, { "name": "typed_data", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0-nullsafety.3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0-nullsafety.3", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "url_launcher", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-5.7.10", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-5.7.10", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "url_launcher_linux", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-0.0.1+4", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-0.0.1+4", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "url_launcher_macos", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_macos-0.0.1+9", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_macos-0.0.1+9", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "url_launcher_platform_interface", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_platform_interface-1.0.9", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_platform_interface-1.0.9", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "url_launcher_web", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_web-0.1.5+3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_web-0.1.5+3", "packageUri": "lib/", "languageVersion": "2.2" }, { "name": "url_launcher_windows", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-0.0.1+3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-0.0.1+3", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "uuid", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/uuid-2.2.2", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/uuid-2.2.2", "packageUri": "lib/", "languageVersion": "2.2" }, { "name": "vector_math", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.0-nullsafety.3", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.0-nullsafety.3", "packageUri": "lib/", "languageVersion": "2.10" }, { "name": "webview_flutter", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/webview_flutter-1.0.7", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/webview_flutter-1.0.7", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "win32", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/win32-1.7.4+1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/win32-1.7.4+1", "packageUri": "lib/", "languageVersion": "2.7" }, { "name": "xdg_directories", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/xdg_directories-0.1.2", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/xdg_directories-0.1.2", "packageUri": "lib/", "languageVersion": "2.3" }, { "name": "xml", - "rootUri": "file:///Users/fnuoos/development/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/xml-4.5.1", + "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/xml-4.5.1", "packageUri": "lib/", "languageVersion": "2.7" }, @@ -740,7 +728,7 @@ "languageVersion": "2.8" } ], - "generated": "2021-03-27T01:30:55.826166Z", + "generated": "2021-04-02T03:09:05.833431Z", "generator": "pub", - "generatorVersion": "2.10.0" + "generatorVersion": "2.10.1" } From e8ce395fb28491c5239ea23b0809cf8c61875ab8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyanghuaxuan=E2=80=9D?= <“646903573@qq.com”> Date: Fri, 2 Apr 2021 13:54:10 +0800 Subject: [PATCH 09/21] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E4=BF=A1=E7=94=A8?= =?UTF-8?q?=E5=8D=A1=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/ios/Podfile.lock | 40 ++++++++++++++------------------ example/ios/Runner/AppDelegate.m | 20 ++++++++-------- example/lib/main.dart | 14 ++++------- 3 files changed, 33 insertions(+), 41 deletions(-) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index a7a115b..d1b60b2 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -12,13 +12,6 @@ PODS: - AMapFoundation (~> 1.6.4) - BCUserTrack (5.2.0.18-appkeys): - UTDID - - connectivity (0.0.1): - - Flutter - - Reachability - - connectivity_for_web (0.1.0): - - Flutter - - connectivity_macos (0.0.1): - - Flutter - device_info (0.0.1): - Flutter - Flutter (1.0.0) @@ -32,6 +25,8 @@ PODS: - securityGuard (= 5.4.191) - UTDID (= 1.1.0.16) - WindVane (= 8.5.0.46-bc11) + - flutter_kaduofen (0.0.1): + - Flutter - flutter_native_image (0.0.1): - Flutter - flutter_plugin_android_lifecycle (0.0.1): @@ -142,7 +137,6 @@ PODS: - Flutter - "permission_handler (5.0.1+1)": - Flutter - - Reachability (3.2) - save_image (0.0.1): - Flutter - securityGuard (5.4.191) @@ -209,12 +203,16 @@ PODS: - WindVane/Basic (8.5.0.46-bc11) - WindVane/Core (8.5.0.46-bc11) - WindVane/WindVane (8.5.0.46-bc11) + - zhiying_acquisition (0.0.1): + - Flutter - zhiying_base_widget (0.0.1): - Flutter - zhiying_business_college (0.0.1): - Flutter - zhiying_comm (0.0.1): - Flutter + - zhiying_credit_card (0.0.1): + - Flutter - zhiying_equity_card (0.0.1): - Flutter - zhiying_member_upgrade (0.0.1): @@ -229,12 +227,10 @@ PODS: DEPENDENCIES: - ali_auth_wbq (from `.symlinks/plugins/ali_auth_wbq/ios`) - amap_flutter_location (from `.symlinks/plugins/amap_flutter_location/ios`) - - connectivity (from `.symlinks/plugins/connectivity/ios`) - - connectivity_for_web (from `.symlinks/plugins/connectivity_for_web/ios`) - - connectivity_macos (from `.symlinks/plugins/connectivity_macos/ios`) - device_info (from `.symlinks/plugins/device_info/ios`) - Flutter (from `Flutter`) - flutter_alibc (from `.symlinks/plugins/flutter_alibc/ios`) + - flutter_kaduofen (from `.symlinks/plugins/flutter_kaduofen/ios`) - flutter_native_image (from `.symlinks/plugins/flutter_native_image/ios`) - flutter_plugin_android_lifecycle (from `.symlinks/plugins/flutter_plugin_android_lifecycle/ios`) - flutter_user_agent (from `.symlinks/plugins/flutter_user_agent/ios`) @@ -275,9 +271,11 @@ DEPENDENCIES: - video_player (from `.symlinks/plugins/video_player/ios`) - video_player_web (from `.symlinks/plugins/video_player_web/ios`) - webview_flutter (from `.symlinks/plugins/webview_flutter/ios`) + - zhiying_acquisition (from `.symlinks/plugins/zhiying_acquisition/ios`) - zhiying_base_widget (from `.symlinks/plugins/zhiying_base_widget/ios`) - zhiying_business_college (from `.symlinks/plugins/zhiying_business_college/ios`) - zhiying_comm (from `.symlinks/plugins/zhiying_comm/ios`) + - zhiying_credit_card (from `.symlinks/plugins/zhiying_credit_card/ios`) - zhiying_equity_card (from `.symlinks/plugins/zhiying_equity_card/ios`) - zhiying_member_upgrade (from `.symlinks/plugins/zhiying_member_upgrade/ios`) - zhiying_new_user_free (from `.symlinks/plugins/zhiying_new_user_free/ios`) @@ -304,7 +302,6 @@ SPEC REPOS: - mob_sharesdk - mob_smssdk - MOBFoundation - - Reachability - TOCropViewController - WechatOpenSDK @@ -313,18 +310,14 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/ali_auth_wbq/ios" amap_flutter_location: :path: ".symlinks/plugins/amap_flutter_location/ios" - connectivity: - :path: ".symlinks/plugins/connectivity/ios" - connectivity_for_web: - :path: ".symlinks/plugins/connectivity_for_web/ios" - connectivity_macos: - :path: ".symlinks/plugins/connectivity_macos/ios" device_info: :path: ".symlinks/plugins/device_info/ios" Flutter: :path: Flutter flutter_alibc: :path: ".symlinks/plugins/flutter_alibc/ios" + flutter_kaduofen: + :path: ".symlinks/plugins/flutter_kaduofen/ios" flutter_native_image: :path: ".symlinks/plugins/flutter_native_image/ios" flutter_plugin_android_lifecycle: @@ -405,12 +398,16 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/video_player_web/ios" webview_flutter: :path: ".symlinks/plugins/webview_flutter/ios" + zhiying_acquisition: + :path: ".symlinks/plugins/zhiying_acquisition/ios" zhiying_base_widget: :path: ".symlinks/plugins/zhiying_base_widget/ios" zhiying_business_college: :path: ".symlinks/plugins/zhiying_business_college/ios" zhiying_comm: :path: ".symlinks/plugins/zhiying_comm/ios" + zhiying_credit_card: + :path: ".symlinks/plugins/zhiying_credit_card/ios" zhiying_equity_card: :path: ".symlinks/plugins/zhiying_equity_card/ios" zhiying_member_upgrade: @@ -431,12 +428,10 @@ SPEC CHECKSUMS: AMapFoundation: b67560a6f21aab81c8c12f84616b55a3833b6253 AMapLocation: a46c30d9930d0f3a3bd21139d8f845d10ac3f01d BCUserTrack: 49251c6fb7c65cbbc221a492bbd3f3e142f1fb0f - connectivity: c4130b2985d4ef6fd26f9702e886bd5260681467 - connectivity_for_web: 2b8584556930d4bd490d82b836bcf45067ce345b - connectivity_macos: e2e9731b6b22dda39eb1b128f6969d574460e191 device_info: d7d233b645a32c40dfdc212de5cf646ca482f175 Flutter: 0e3d915762c693b495b44d77113d4970485de6ec flutter_alibc: 0e2a29e7c1de759672d87a260051240d209964b9 + flutter_kaduofen: 12c2c62ef2346a8899796e03c05ad8060002f59f flutter_native_image: 9c0b7451838484458e5b0fae007b86a4c2d4bdfe flutter_plugin_android_lifecycle: dc0b544e129eebb77a6bfb1239d4d1c673a60a35 flutter_user_agent: 27c45d034dc31b80948d29998cea52cd3a7bf936 @@ -466,7 +461,6 @@ SPEC CHECKSUMS: path_provider_macos: f760a3c5b04357c380e2fddb6f9db6f3015897e0 path_provider_windows: a2b81600c677ac1959367280991971cb9a1edb3b permission_handler: eac8e15b4a1a3fba55b761d19f3f4e6b005d15b6 - Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 save_image: 1d4bdcb69832f573215c0e2971fe9e572dfc1c84 securityGuard: 9c04c44a3b663f36e15064042abfc107fa07133c secverify: f4bc7284766a8804646c377e61f37252964842dd @@ -491,9 +485,11 @@ SPEC CHECKSUMS: webview_flutter: d2b4d6c66968ad042ad94cbb791f5b72b4678a96 WechatOpenSDK: 6a4d1436c15b3b5fe2a0bd383f3046010186da44 WindVane: 56e096abae757397ccd3accb66a959f3ffcbf949 + zhiying_acquisition: d18b272f27cdda68733e7becc54f17e0a64f9806 zhiying_base_widget: 00868c0d2723a3a425c18b27204fbc67e3f7e59d zhiying_business_college: dc3ba7fb32aad4db421aa94dbbc1ef712e7d00cd zhiying_comm: 0daef4a480f4f4dbea3e11b615f3264aafea924b + zhiying_credit_card: 1ebff7a1f74683c6d4adc7bf2dc3aa3b83bbf7da zhiying_equity_card: 1afe5c3c8e5317dcebf55159b4087cd0d57e49ff zhiying_member_upgrade: 1207671575ad01ed3336c604e235843a98fa1a0c zhiying_new_user_free: 1640f83c12643475f03fabffcba13f498e555243 diff --git a/example/ios/Runner/AppDelegate.m b/example/ios/Runner/AppDelegate.m index 610674d..e805d24 100644 --- a/example/ios/Runner/AppDelegate.m +++ b/example/ios/Runner/AppDelegate.m @@ -27,19 +27,19 @@ // 获取设置 - (NSDictionary*)getSetting { -// return @{ -// @"domain": @"http://inapi.izhyin.cn", -// @"master_id": @"123456", -// @"secret_key": @"123456" + return @{ + @"domain": @"http://inapi.izhyin.cn", + @"master_id": @"123456", + @"secret_key": @"123456" //@"domain": @"http://192.168.0.113:5000" -// }; + }; - return @{ - @"domain": @"http://api.zhios.cn", - @"master_id": @"99813608", - @"secret_key": @"123456" +// return @{ +// @"domain": @"http://api.zhios.cn", +// @"master_id": @"99813608", +// @"secret_key": @"123456" //@"domain": @"http://192.168.0.113:5000" - }; +// }; } #pragma mark -- 第三方应用跳转 diff --git a/example/lib/main.dart b/example/lib/main.dart index a4bc361..d00d3e2 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -24,7 +24,7 @@ import 'package:zhiying_equity_card/zhiying_equity_card.dart'; import 'package:zhiying_official/register.dart'; import 'package:zhiying_base_widget/zhiying_base_widget.dart'; import 'package:zhiying_acquisition/register.dart'; - +import 'package:zhiying_credit_card/register.dart'; void main() { FlutterError.onError = (FlutterErrorDetails details) { @@ -50,11 +50,7 @@ class _MyAppState extends State { return Center( child: Text( "" + erroStr, - style: Theme - .of(context) - .textTheme - .title - .copyWith(color: Colors.grey[200]), + style: Theme.of(context).textTheme.title.copyWith(color: Colors.grey[200]), ), ); } @@ -72,7 +68,7 @@ class _MyAppState extends State { EquityCardRegister.init(); OfficialRegister.init(); AcquisitionRegister.init(); - + CreditCardRegister.init(); print('初始化百川'); FlutterAlibc.initAlibc(version: "", appName: "").then((result) { print("白川" + '${result.errorCode} ${result.errorMessage}'); @@ -135,8 +131,8 @@ class _MyAppState extends State { return locale; }, home: LaunchPage( - // builder: (context) => HomePage(), - ), + // builder: (context) => HomePage(), + ), ), ), ); From 6a941f95dd2ebecdf246820ed90bd63ec8009a45 Mon Sep 17 00:00:00 2001 From: Weller <1812208341@qq.com> Date: Fri, 2 Apr 2021 16:17:34 +0800 Subject: [PATCH 10/21] =?UTF-8?q?=E6=B7=BB=E5=8A=A0navigationController?= =?UTF-8?q?=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/ios/Runner.xcodeproj/project.pbxproj | 6 +++ example/ios/Runner/Base.lproj/Main.storyboard | 9 +++-- .../ios/Runner/FNBaseFlutterViewController.h | 18 +++++++++ .../ios/Runner/FNBaseFlutterViewController.m | 38 +++++++++++++++++++ 4 files changed, 67 insertions(+), 4 deletions(-) create mode 100644 example/ios/Runner/FNBaseFlutterViewController.h create mode 100644 example/ios/Runner/FNBaseFlutterViewController.m diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index 71000f8..05769ae 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -10,6 +10,7 @@ 0AE1282E2855C01A7663C354 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A860D105A09AEA74261219D2 /* libPods-Runner.a */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 1F2F55D7256DFF5400A97630 /* app_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 1F2F55D6256DFF5400A97630 /* app_icon.png */; }; + 1F5407E52616FE4800C6A831 /* FNBaseFlutterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F5407E42616FE4800C6A831 /* FNBaseFlutterViewController.m */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; @@ -41,6 +42,8 @@ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 1F2F55D6256DFF5400A97630 /* app_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = app_icon.png; sourceTree = ""; }; + 1F5407E32616FE4800C6A831 /* FNBaseFlutterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FNBaseFlutterViewController.h; sourceTree = ""; }; + 1F5407E42616FE4800C6A831 /* FNBaseFlutterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FNBaseFlutterViewController.m; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; 3CF5E07C1CDF5F802B057127 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 5F28AF46041AA2464EF2701A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; @@ -123,6 +126,8 @@ 97C146F01CF9000F007C117D /* Runner */ = { isa = PBXGroup; children = ( + 1F5407E32616FE4800C6A831 /* FNBaseFlutterViewController.h */, + 1F5407E42616FE4800C6A831 /* FNBaseFlutterViewController.m */, 9F5F7EA525626514009BD779 /* Runner.entitlements */, 9FFCE2F3251ADE0600F4F353 /* 项目资源 */, 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, @@ -362,6 +367,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 1F5407E52616FE4800C6A831 /* FNBaseFlutterViewController.m in Sources */, 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, 97C146F31CF9000F007C117D /* main.m in Sources */, 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, diff --git a/example/ios/Runner/Base.lproj/Main.storyboard b/example/ios/Runner/Base.lproj/Main.storyboard index 6f73d39..df4b87d 100644 --- a/example/ios/Runner/Base.lproj/Main.storyboard +++ b/example/ios/Runner/Base.lproj/Main.storyboard @@ -1,16 +1,16 @@ - + - + - + - + @@ -20,6 +20,7 @@ + diff --git a/example/ios/Runner/FNBaseFlutterViewController.h b/example/ios/Runner/FNBaseFlutterViewController.h new file mode 100644 index 0000000..668484a --- /dev/null +++ b/example/ios/Runner/FNBaseFlutterViewController.h @@ -0,0 +1,18 @@ +// +// FNBaseFlutterViewController.h +// Runner +// +// Created by FNUser on 2020/10/28. +// + +#import +#import "Flutter/FlutterViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FNBaseFlutterViewController : FlutterViewController + + +@end + +NS_ASSUME_NONNULL_END diff --git a/example/ios/Runner/FNBaseFlutterViewController.m b/example/ios/Runner/FNBaseFlutterViewController.m new file mode 100644 index 0000000..bdc8bcc --- /dev/null +++ b/example/ios/Runner/FNBaseFlutterViewController.m @@ -0,0 +1,38 @@ +// +// FNBaseFlutterViewController.m +// Runner +// +// Created by FNUser on 2020/10/28. +// + +#import "FNBaseFlutterViewController.h" + +@interface FNBaseFlutterViewController () + + +@end + +@implementation FNBaseFlutterViewController + + +- (void)viewDidLoad { + [super viewDidLoad]; + UIWindow *window = [UIApplication sharedApplication].delegate.window; + UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self]; + window.rootViewController = navController; + navController.navigationBar.hidden = YES; + +} + +- (void)viewWillDisappear:(BOOL)animated { + [super viewWillDisappear:animated]; + [self.navigationController setNavigationBarHidden:NO animated:animated]; +} + +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + [self.navigationController setNavigationBarHidden:YES animated:animated]; +} + + +@end From c6ed7dc1108cf4bd12e9ff5398977fab5876e195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyanghuaxuan=E2=80=9D?= <“646903573@qq.com”> Date: Fri, 2 Apr 2021 16:36:16 +0800 Subject: [PATCH 11/21] =?UTF-8?q?1.=E5=9C=A8=E5=8A=A0=E8=BD=BD=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E4=BF=A1=E6=81=AF=E6=97=B6=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E4=BF=A1=E7=94=A8=E5=8D=A1=E7=9A=84=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/widgets/mine/mine_header/mine_header_bloc.dart | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/widgets/mine/mine_header/mine_header_bloc.dart b/lib/widgets/mine/mine_header/mine_header_bloc.dart index 80d5664..06c3684 100644 --- a/lib/widgets/mine/mine_header/mine_header_bloc.dart +++ b/lib/widgets/mine/mine_header/mine_header_bloc.dart @@ -1,5 +1,6 @@ import 'dart:async'; import 'dart:convert'; +import 'dart:html'; import 'package:zhiying_base_widget/widgets/mine/mine_header/model/mine_profile_model.dart'; import 'package:zhiying_comm/util/base_bloc.dart'; @@ -26,9 +27,13 @@ class MineHeaderBloc extends BlocBase { Logger.log("我的数据:"+ json.encode(data)); _profile = MineProfileModel.fromJson(Map.from(data)); _profileController.add(_profile); + ///信用卡初始化 + ///只有在用户数据被加载时调用 + Application.doStringMethod("initCreditCard"); }, onError: (err) { _profile = MineProfileModel(); _profileController.add(_profile); }); + } } From aa000a9be2b77c9f6a452c210680504d750b84e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyanghuaxuan=E2=80=9D?= <“646903573@qq.com”> Date: Fri, 2 Apr 2021 16:46:57 +0800 Subject: [PATCH 12/21] =?UTF-8?q?1.=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E3=80=81=E5=A2=9E=E5=8A=A0=E8=A1=8C=E7=94=A8=E5=8D=A1=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/pubspec.yaml | 2 +- lib/widgets/mine/mine_header/mine_header_bloc.dart | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 8ecd814..33478e0 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -40,7 +40,7 @@ dev_dependencies: zhiying_wechat_teacher: #path: ../zhiying_wechat_teacher git: - ref: 0.0.1+1 + ref: 0.0.2 url: http://192.168.0.138:3000/FnuoOS_ZhiYing/zhiying_wechat_teacher.git #朋友圈 zhiying_moments: diff --git a/lib/widgets/mine/mine_header/mine_header_bloc.dart b/lib/widgets/mine/mine_header/mine_header_bloc.dart index 06c3684..e6c25f0 100644 --- a/lib/widgets/mine/mine_header/mine_header_bloc.dart +++ b/lib/widgets/mine/mine_header/mine_header_bloc.dart @@ -1,6 +1,5 @@ import 'dart:async'; import 'dart:convert'; -import 'dart:html'; import 'package:zhiying_base_widget/widgets/mine/mine_header/model/mine_profile_model.dart'; import 'package:zhiying_comm/util/base_bloc.dart'; From 125ae6a7722638ba901045ac5d31df1636506e74 Mon Sep 17 00:00:00 2001 From: PH2 <1293456824@qq.com> Date: Fri, 2 Apr 2021 20:35:16 +0800 Subject: [PATCH 13/21] =?UTF-8?q?1=E3=80=81=E5=95=86=E5=93=81=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=9B=BE=E9=A1=B6=E9=83=A8=E7=9A=84=E4=BC=98=E5=8C=96?= =?UTF-8?q?=202=E3=80=81=E7=B2=98=E8=B4=B4=E6=9D=BF=E7=9A=84=E4=BC=98?= =?UTF-8?q?=E5=8C=96=203=E3=80=81=E6=88=91=E7=9A=84=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=A4=84=E7=90=86=E6=B2=A1=E6=9C=89=E6=95=B0=E6=8D=AE=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E7=9A=84=E6=83=85=E5=86=B5=204=E3=80=81=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=BA=95=E9=83=A8=E7=89=B9=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../advertising_dialog.dart | 2 +- .../intellect_create.dart | 8 +- .../intellect_search_no_goods_dialog.dart | 8 +- lib/pages/custom_page/custom_page.dart | 46 +++++--- lib/pages/home_page/home_page.dart | 8 ++ lib/pages/team_page/team_page.dart | 4 +- .../custom/search/custom_search_widget.dart | 110 +++++++++++++++++- .../appbar/goods_details_appbar_widget.dart | 3 + .../mine/mine_data/mine_data_widget.dart | 8 +- pubspec.yaml | 4 +- 10 files changed, 168 insertions(+), 33 deletions(-) diff --git a/lib/dialog/global_dialog/advertising_dialog/advertising_dialog.dart b/lib/dialog/global_dialog/advertising_dialog/advertising_dialog.dart index ceb8609..89ee9e4 100644 --- a/lib/dialog/global_dialog/advertising_dialog/advertising_dialog.dart +++ b/lib/dialog/global_dialog/advertising_dialog/advertising_dialog.dart @@ -25,8 +25,8 @@ class AdvertisingDialog extends StatelessWidget { if (!EmptyUtil.isEmpty(item)) { AdvertisingDialogModel model = AdvertisingDialogModel.fromJson(item); if (!EmptyUtil.isEmpty(model)) { - await Future.delayed(Duration(milliseconds: model?.interval*1000)); await showCupertinoDialog(context: context, builder: (_) => AdvertisingDialog(model)); + await Future.delayed(Duration(milliseconds: (model?.interval ?? 0) * 1000 * 60)); } } } diff --git a/lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_create.dart b/lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_create.dart index 7f10c80..a604198 100644 --- a/lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_create.dart +++ b/lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_create.dart @@ -1,9 +1,11 @@ import 'dart:async'; import 'dart:convert'; +import 'dart:io'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_clipboard_plugin/flutter_clipboard_plugin.dart'; import 'package:zhiying_base_widget/dialog/global_dialog/intellect_search_goods_dialog/model/Intellect_search_set_model.dart'; import 'package:zhiying_base_widget/dialog/global_dialog/intellect_search_goods_dialog/model/intellect_dialog_data_model.dart'; import 'package:zhiying_base_widget/utils/contants.dart'; @@ -30,8 +32,7 @@ class IntellectCreate { await _requestSetData(context); } catch (e, s) { isRequest = false; - print(e); - print(s); + Logger.error(e, s); } } // Timer(Duration(milliseconds: 500), () async { @@ -119,8 +120,7 @@ class IntellectCreate { ///检查字段是否被监听 static void validate(BuildContext context, IntellectSearchSetModel setModel) async { //获取粘贴板的文字 - ClipboardData data = await Clipboard.getData(Clipboard.kTextPlain); - String content = data?.text?.trim() ?? ""; + String content = await FlutterClipboardPlugin.getData; ///粘贴版的文字如果是空直接跳出不检索 if (content == null || content.length == 0) { diff --git a/lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_search_no_goods_dialog.dart b/lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_search_no_goods_dialog.dart index 48f04ef..18a8c17 100644 --- a/lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_search_no_goods_dialog.dart +++ b/lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_search_no_goods_dialog.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_clipboard_plugin/flutter_clipboard_plugin.dart'; import 'package:zhiying_base_widget/dialog/global_dialog/intellect_search_goods_dialog/model/intellect_dialog_data_model.dart'; import 'package:zhiying_base_widget/dialog/global_dialog/intellect_search_goods_dialog/model/no_goods_dialog_style_model.dart'; import 'package:cached_network_image/cached_network_image.dart'; @@ -34,9 +35,10 @@ class _IntellectSearchNoGoodsDialogState extends State with Single String parentTitle = !EmptyUtil.isEmpty(widget?.data) ? widget?.data['title'] ?? '' : ''; _isHasAppbar = true; return AppBar( - backgroundColor: HexColor.fromHex(null != data ? data['app_bar_bg_color'] ?? '#FFFFFF' : '#FFFFFF'), + backgroundColor: HexColor.fromHex(!EmptyUtil.isEmpty(data) ? data['app_bar_bg_color'] ?? '#FFFFFF' : '#FFFFFF'), brightness: Brightness.light, - leading: IconButton( + leading: Navigator.canPop(context) ? IconButton( icon: Icon( Icons.arrow_back_ios, size: 22, - color: HexColor.fromHex('#333333'), + color: HexColor.fromHex(!EmptyUtil.isEmpty(data) ? data['app_bar_name_color'] ?? '#333333' : '#333333'), ), onPressed: () => Navigator.maybePop(context), - ), + ) : null, title: Text( - null != data && data.containsKey('app_bar_name') - ? data['app_bar_name'] != '自定义页面' + !EmptyUtil.isEmpty(data) && data.containsKey('app_bar_name') + // ? data['app_bar_name'] != '自定义页面' ? data['app_bar_name'] - : parentTitle + // : parentTitle : parentTitle, style: TextStyle( - color: HexColor.fromHex(null != data ? data['app_bar_name_color'] ?? '#333333' : '#333333'), + color: HexColor.fromHex(!EmptyUtil.isEmpty(data) ? data['app_bar_name_color'] ?? '#333333' : '#333333'), fontSize: 16, fontWeight: FontWeight.bold, ), @@ -314,6 +311,15 @@ class __CommonPageContainerState extends State<_CommonPageContainer> with Single // 2、导航栏开启的情况 if (listStyle.length > 0) { + + // 获取分类类型,如果第一位type等于imageAndText说明是带有小图标的 + bool haveIcon = false; + try { + haveIcon = listStyle[0]['type']?.toString() == 'imageAndText'; + } catch (e, s){ + Logger.error(e, s); + } + // tabContorller 初始化 if (null == _tabController || _tabController.length != listStyle.length) { _tabController = new TabController(length: listStyle.length, vsync: this); @@ -321,6 +327,7 @@ class __CommonPageContainerState extends State<_CommonPageContainer> with Single result.add(Container( height: 40, + padding: const EdgeInsets.only(bottom: 5), width: double.infinity, color: HexColor.fromHex(data['bg_color']), child: TabBar( @@ -340,7 +347,18 @@ class __CommonPageContainerState extends State<_CommonPageContainer> with Single height: 2.5, horizontalPadding: 5, ), - tabs: listStyle.map((e) => Text(e['name'])).toList(), + // 不带图标 + tabs: !haveIcon ? listStyle.map((e) => Text(e['name'])).toList() : + // 带图标 + listStyle.map((item) { + return MyTab( + icon: CachedNetworkImage( + imageUrl: item['choose_image_url'] ?? '', + width: 14, + ), + text: item['name'], + ); + }).toList() ), )); @@ -372,6 +390,7 @@ class __CommonPageContainerState extends State<_CommonPageContainer> with Single return result; } + /// 背景颜色 _buildBackground(BackgroundModel backgroundModel) { if (backgroundModel != null) { var headerBg = backgroundModel.headerBg; @@ -422,7 +441,6 @@ class __CommonPageContainerState extends State<_CommonPageContainer> with Single } @override - // TODO: implement wantKeepAlive bool get wantKeepAlive => true; } diff --git a/lib/pages/home_page/home_page.dart b/lib/pages/home_page/home_page.dart index b897b76..06d3fc7 100644 --- a/lib/pages/home_page/home_page.dart +++ b/lib/pages/home_page/home_page.dart @@ -4,6 +4,8 @@ import 'dart:convert'; import 'dart:io'; import 'package:cached_network_image/cached_network_image.dart'; +import 'package:connectivity/connectivity.dart'; +import 'package:convex_bottom_bar/convex_bottom_bar.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -289,6 +291,11 @@ class _HomePageState extends State with WidgetsBindingObserver, Ticker items: items); } + Widget createBottomNavigationBarNew(List> tabs) { + + return ConvexAppBar(items: null, initialActiveIndex: _currentIndex, style: TabStyle.titled,); + } + Future _checkLimit(BaseTabModel model) async { if (model.requiredLogin == '1') { UserInfoModel user = await Provider.of(context, listen: false).getUserInfoModel(); @@ -319,6 +326,7 @@ class _HomePageState extends State with WidgetsBindingObserver, Ticker // 活动弹窗 await AdvertisingDialog.show(context); + // 检查app更新 await AppUpdateUtil.updateApp(context); IntellectCreate.checkAndCreateFirst(context); diff --git a/lib/pages/team_page/team_page.dart b/lib/pages/team_page/team_page.dart index c8566d6..7d707c3 100644 --- a/lib/pages/team_page/team_page.dart +++ b/lib/pages/team_page/team_page.dart @@ -133,7 +133,7 @@ class _TeamPageContainerState extends State<_TeamPageContainer> { SliverPersistentHeader( delegate: new _SliverTabBarDelegate( tabBar: TabBar( - isScrollable: false, + isScrollable: (styleModel?.userLvTabs?.length ?? 0) <= 4 ? false : true, labelStyle: TextStyle(fontWeight: FontWeight.bold, fontSize: 13), unselectedLabelStyle: TextStyle(fontSize: 13), indicator: MaterialIndicator( @@ -143,7 +143,7 @@ class _TeamPageContainerState extends State<_TeamPageContainer> { bottomLeftRadius: 8, bottomRightRadius: 8, color: HexColor.fromHex(styleModel?.userLvTabsLineColor ?? '#F94B47'), - horizontalPadding: 30, + horizontalPadding: (styleModel?.userLvTabs?.length ?? 0) <= 4 ? 30 : 20, ), controller: _controller, // tabs: tabTitle.map((f) => Tab(text: f)).toList(), diff --git a/lib/widgets/custom/search/custom_search_widget.dart b/lib/widgets/custom/search/custom_search_widget.dart index 48c827d..48c669a 100644 --- a/lib/widgets/custom/search/custom_search_widget.dart +++ b/lib/widgets/custom/search/custom_search_widget.dart @@ -70,7 +70,111 @@ class CustomSearchWidget extends StatelessWidget { /// 左1右1图标 Widget _buildStyle3Widget(BuildContext context) { - return Container(); + return Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + GestureDetector( + onTap: () => _onClickListener(context, model?.listStyle?.rightCss), + child: CachedNetworkImage( + width: 30, + height: 30, + imageUrl: model?.listStyle?.rightCss?.image ?? '', + )), + // 图标1 + SizedBox(width: 10), + // 中间 + Expanded( + child: GestureDetector( + onTap: () => _onClickListener(context, model?.listStyle?.searchCss), + behavior: HitTestBehavior.opaque, + child: Container( + // height: 30, + width: double.infinity, + padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 9), + decoration: BoxDecoration(borderRadius: BorderRadius.circular(60 / 2), color: HexColor.fromHex(model?.listStyle?.searchCss?.bgColor)), + child: Row( + children: [ + CachedNetworkImage( + width: 15, + height: 15, + imageUrl: model?.listStyle?.searchCss?.image ?? '', + ), + SizedBox(width: 4), + Text(model?.listStyle?.searchCss?.text ?? '输入搜索内容,领券省钱', style: TextStyle(fontSize: 13, color: HexColor.fromHex(model?.listStyle?.searchCss?.textColor??"#FFFFFF"))) + ], + ), + ), + )), + SizedBox(width: 10), + // 图标2 + GestureDetector( + onTap: () => _onClickListener(context, model?.listStyle?.rightCss), + child: CachedNetworkImage( + width: 30, + height: 30, + imageUrl: model?.listStyle?.rightCss?.image ?? '', + )), + ], + ); + } + + /// 左1右2图标 + Widget _buildStyle5Widget(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + GestureDetector( + onTap: () => _onClickListener(context, model?.listStyle?.rightCss), + child: CachedNetworkImage( + width: 30, + height: 30, + imageUrl: model?.listStyle?.rightCss?.image ?? '', + )), + // 图标1 + SizedBox(width: 10), + // 中间 + Expanded( + child: GestureDetector( + onTap: () => _onClickListener(context, model?.listStyle?.searchCss), + behavior: HitTestBehavior.opaque, + child: Container( + // height: 30, + width: double.infinity, + padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 9), + decoration: BoxDecoration(borderRadius: BorderRadius.circular(60 / 2), color: HexColor.fromHex(model?.listStyle?.searchCss?.bgColor)), + child: Row( + children: [ + CachedNetworkImage( + width: 15, + height: 15, + imageUrl: model?.listStyle?.searchCss?.image ?? '', + ), + SizedBox(width: 4), + Text(model?.listStyle?.searchCss?.text ?? '输入搜索内容,领券省钱', style: TextStyle(fontSize: 13, color: HexColor.fromHex(model?.listStyle?.searchCss?.textColor??"#FFFFFF"))) + ], + ), + ), + )), + SizedBox(width: 10), + // 图标2 + GestureDetector( + onTap: () => _onClickListener(context, model?.listStyle?.rightCss), + child: CachedNetworkImage( + width: 30, + height: 30, + imageUrl: model?.listStyle?.rightCss?.image ?? '', + )), + SizedBox(width: 10), + // 图标2 + GestureDetector( + onTap: () => _onClickListener(context, model?.listStyle?.rightCss), + child: CachedNetworkImage( + width: 30, + height: 30, + imageUrl: model?.listStyle?.rightCss?.image ?? '', + )), + ], + ); } /// 右按钮 @@ -94,8 +198,8 @@ class CustomSearchWidget extends StatelessWidget { child: Row( children: [ CachedNetworkImage( - width: 13, - height: 13, + width: 15, + height: 15, imageUrl: model?.listStyle?.searchCss?.image ?? '', ), SizedBox(width: 4), diff --git a/lib/widgets/goods_details/appbar/goods_details_appbar_widget.dart b/lib/widgets/goods_details/appbar/goods_details_appbar_widget.dart index 7c1ee74..e7cc54e 100644 --- a/lib/widgets/goods_details/appbar/goods_details_appbar_widget.dart +++ b/lib/widgets/goods_details/appbar/goods_details_appbar_widget.dart @@ -14,6 +14,7 @@ class GoodsDetailsAppBarWidget extends StatefulWidget { GoodsDetailsAppBarWidget(this.data, {Key key}) : super(key: key){ try{ model = GoodsDetailsAppBarModel.fromJson(jsonDecode(data['data'])); + Logger.log('商品详情页面数据 = ${model.toJson()}'); }catch(e, s){ Logger.error(e, s); } @@ -54,6 +55,8 @@ class _GoodsDetailsAppBarWidgetState extends State { @override Widget build(BuildContext context) { + _endTextColor = HexColor.fromHex(widget?.model?.appBarNameColor ?? '#FFFFFF' ); + _endBgColor = HexColor.fromHex(widget?.model?.appBarBgColor ?? '#FF4242'); // Logger.log('^-^'); return Container( width: double.infinity, diff --git a/lib/widgets/mine/mine_data/mine_data_widget.dart b/lib/widgets/mine/mine_data/mine_data_widget.dart index 5a31626..1103018 100644 --- a/lib/widgets/mine/mine_data/mine_data_widget.dart +++ b/lib/widgets/mine/mine_data/mine_data_widget.dart @@ -127,7 +127,7 @@ class _MineDataWidgetState extends State { ), ), Text( - widget?.profile?.gridViews[0]?.value ?? "¥0", + EmptyUtil.isEmpty(widget?.profile?.gridViews) ? '¥0' : widget?.profile?.gridViews[0]?.value ?? "¥0", style: TextStyle( fontSize: 18, fontWeight: FontWeight.w800, @@ -158,8 +158,8 @@ class _MineDataWidgetState extends State { ), Center( child: Text( - _style.cashBtn.btnText, - style: TextStyle(fontSize: 12, color: HexColor.fromHex(_style.cashBtn.btnTextColor)), + _style?.cashBtn?.btnText ?? '', + style: TextStyle(fontSize: 12, color: HexColor.fromHex(_style?.cashBtn?.btnTextColor)), ), ) ], @@ -167,7 +167,7 @@ class _MineDataWidgetState extends State { ), behavior: HitTestBehavior.opaque, onTap: () { - RouterUtil.route(_style.cashBtn, _style.cashBtn.toJson(), context); + RouterUtil.route(_style?.cashBtn, _style?.cashBtn?.toJson(), context); }, ) ], diff --git a/pubspec.yaml b/pubspec.yaml index 414e29b..ff623fe 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -60,8 +60,8 @@ dependencies: permission_handler_platform_interface: "2.0.1" flutter_user_agent: ^1.2.2 - - + # 特效底部 + convex_bottom_bar: ^2.7.1+2 dev_dependencies: flutter_test: From 2de738ec6e69acfcb621adc0d2af1435531fa1f5 Mon Sep 17 00:00:00 2001 From: PH2 <1293456824@qq.com> Date: Fri, 2 Apr 2021 21:02:28 +0800 Subject: [PATCH 14/21] =?UTF-8?q?1=E3=80=81=E8=A7=A3=E5=86=B3connectivity?= =?UTF-8?q?=E6=89=BE=E4=B8=8D=E5=88=B0=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/home_page/home_page.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/pages/home_page/home_page.dart b/lib/pages/home_page/home_page.dart index 06d3fc7..50c44e6 100644 --- a/lib/pages/home_page/home_page.dart +++ b/lib/pages/home_page/home_page.dart @@ -4,7 +4,6 @@ import 'dart:convert'; import 'dart:io'; import 'package:cached_network_image/cached_network_image.dart'; -import 'package:connectivity/connectivity.dart'; import 'package:convex_bottom_bar/convex_bottom_bar.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; From eafeb82157c81092f6dcfd0bc64e2c513eb2ee93 Mon Sep 17 00:00:00 2001 From: PH2 <1293456824@qq.com> Date: Fri, 2 Apr 2021 21:49:37 +0800 Subject: [PATCH 15/21] =?UTF-8?q?1=E3=80=81=E5=8E=BB=E9=99=A4=E7=89=B9?= =?UTF-8?q?=E6=95=88=E5=BA=95=E9=83=A8=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/home_page/home_page.dart | 9 ++++----- pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/pages/home_page/home_page.dart b/lib/pages/home_page/home_page.dart index 50c44e6..18123ef 100644 --- a/lib/pages/home_page/home_page.dart +++ b/lib/pages/home_page/home_page.dart @@ -4,7 +4,6 @@ import 'dart:convert'; import 'dart:io'; import 'package:cached_network_image/cached_network_image.dart'; -import 'package:convex_bottom_bar/convex_bottom_bar.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -290,10 +289,10 @@ class _HomePageState extends State with WidgetsBindingObserver, Ticker items: items); } - Widget createBottomNavigationBarNew(List> tabs) { - - return ConvexAppBar(items: null, initialActiveIndex: _currentIndex, style: TabStyle.titled,); - } + // Widget createBottomNavigationBarNew(List> tabs) { + // + // return ConvexAppBar(items: null, initialActiveIndex: _currentIndex, style: TabStyle.titled,); + // } Future _checkLimit(BaseTabModel model) async { if (model.requiredLogin == '1') { diff --git a/pubspec.yaml b/pubspec.yaml index ff623fe..2a380f1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -61,7 +61,7 @@ dependencies: flutter_user_agent: ^1.2.2 # 特效底部 - convex_bottom_bar: ^2.7.1+2 +# convex_bottom_bar: ^2.7.1+2 dev_dependencies: flutter_test: From 4c92b64418cddccdd63dbcf565e858c52cd18b80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyanghuaxuan=E2=80=9D?= <“646903573@qq.com”> Date: Tue, 6 Apr 2021 14:20:08 +0800 Subject: [PATCH 16/21] =?UTF-8?q?1.=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 33478e0..ed0dd69 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -52,7 +52,7 @@ dev_dependencies: zhiying_member_upgrade: #path: ../Zhiying_Member_Upgrade git: - ref: 0.0.2 + ref: 0.0.6 url: http://192.168.0.138:3000/FnuoOS_ZhiYing/Zhiying_Member_Upgrade.git plugin_platform_interface: "1.0.2" permission_handler_platform_interface: "2.0.1" From 6bedfa835b9572d6b2dc80d46e1ae65e7270901f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyanghuaxuan=E2=80=9D?= <“646903573@qq.com”> Date: Tue, 6 Apr 2021 14:23:02 +0800 Subject: [PATCH 17/21] =?UTF-8?q?1.=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dart_tool/package_config.json | 734 --------------------------------- 1 file changed, 734 deletions(-) delete mode 100644 .dart_tool/package_config.json diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json deleted file mode 100644 index d2341c6..0000000 --- a/.dart_tool/package_config.json +++ /dev/null @@ -1,734 +0,0 @@ -{ - "configVersion": 2, - "packages": [ - { - "name": "ali_auth_wbq", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/zhiying_ali_auth_wbq-f6421fe5735eab13738946da8fa7405e7aa952c6/", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "amap_flutter_location", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/amap_flutter_location-1.0.1", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "archive", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/archive-2.0.13", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "args", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/args-1.6.0", - "packageUri": "lib/", - "languageVersion": "2.3" - }, - { - "name": "async", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.5.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "bloc", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/bloc-5.0.1", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "boolean_selector", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "cached_network_image", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-2.5.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "characters", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.1.0-nullsafety.3", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "charcode", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.2.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "clock", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "collection", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0-nullsafety.3", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "convert", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/convert-2.1.1", - "packageUri": "lib/", - "languageVersion": "1.17" - }, - { - "name": "cookie_jar", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/cookie_jar-1.0.1", - "packageUri": "lib/", - "languageVersion": "1.20" - }, - { - "name": "crypto", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/crypto-2.1.5", - "packageUri": "lib/", - "languageVersion": "2.3" - }, - { - "name": "cubit", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/cubit-0.1.2", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "device_info", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/device_info-0.4.2+10", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "device_info_platform_interface", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/device_info_platform_interface-1.0.1", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "dio", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio-3.0.10", - "packageUri": "lib/", - "languageVersion": "2.4" - }, - { - "name": "dio_cookie_manager", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio_cookie_manager-1.0.0", - "packageUri": "lib/", - "languageVersion": "2.4" - }, - { - "name": "equatable", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/equatable-1.2.6", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "event_bus", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/event_bus-1.1.1", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "fake_async", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "ffi", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/ffi-0.1.3", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "file", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/file-5.2.1", - "packageUri": "lib/", - "languageVersion": "2.2" - }, - { - "name": "flutter", - "rootUri": "file:///Users/fnuser02/flutter/packages/flutter", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "flutter_alibc", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/zhiying_flutter_alibc-159f123705b3e3dc28d6991df5b39b24a54c41a0/", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "flutter_bloc", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_bloc-5.0.1", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "flutter_blurhash", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_blurhash-0.5.0", - "packageUri": "lib/", - "languageVersion": "2.4" - }, - { - "name": "flutter_cache_manager", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_cache_manager-2.1.0", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "flutter_cubit", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_cubit-0.1.1", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "flutter_cupertino_date_picker", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/flutter-cupertino-date-picker-82142a924a770e68dca2a2f7b51449166870d7e2/", - "packageUri": "lib/", - "languageVersion": "1.19" - }, - { - "name": "flutter_native_image", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_native_image-0.0.5+3", - "packageUri": "lib/", - "languageVersion": "1.19" - }, - { - "name": "flutter_page_indicator", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_page_indicator-0.0.3", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "flutter_plugin_android_lifecycle", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-1.0.11", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "flutter_screenutil", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_screenutil-1.1.0", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "flutter_slidable", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_slidable-0.5.7", - "packageUri": "lib/", - "languageVersion": "1.19" - }, - { - "name": "flutter_swiper", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_swiper-1.1.6", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "flutter_test", - "rootUri": "file:///Users/fnuser02/flutter/packages/flutter_test", - "packageUri": "lib/", - "languageVersion": "2.2" - }, - { - "name": "flutter_update_dialog", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_update_dialog-1.0.0", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "flutter_user_agent", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_user_agent-1.2.2", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "flutter_web_plugins", - "rootUri": "file:///Users/fnuser02/flutter/packages/flutter_web_plugins", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "flutter_xupdate", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/flutter_xupdate-d17c695461ee4588dec990533d7467c11884cd0f/", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "fluttertoast", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluttertoast-4.0.1", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "fluwx", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluwx-2.6.2", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "http", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.2", - "packageUri": "lib/", - "languageVersion": "2.4" - }, - { - "name": "http_parser", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.4", - "packageUri": "lib/", - "languageVersion": "2.3" - }, - { - "name": "image", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/image-2.1.19", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "image_cropper", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/Image_Cropper-e32f2264f86a27a2f5d7a7a5e26c6154eaf5798e/", - "packageUri": "lib/", - "languageVersion": "1.20" - }, - { - "name": "image_picker", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker-0.6.7+22", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "image_picker_platform_interface", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker_platform_interface-1.1.6", - "packageUri": "lib/", - "languageVersion": "2.5" - }, - { - "name": "imei_plugin", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/imei_plugin-1.2.0", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "intl", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/intl-0.16.1", - "packageUri": "lib/", - "languageVersion": "2.5" - }, - { - "name": "jdsdk", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/jdsdk-0.0.1", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "loading_indicator", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/loading_indicator-1.2.0", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "matcher", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.10-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "meta", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.3.0-nullsafety.3", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "moblink", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/moblink-5472bb698d70e336cf55febb9b0a209411466632/", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "mobpush_plugin", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobpush_plugin-1.1.6", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "mobsms", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobsms-1.1.3", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "more_picture_share", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/more_picture_share-4767c418bfe4b8d75f9f8958199384141ba88e21/", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "nested", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/nested-0.0.4", - "packageUri": "lib/", - "languageVersion": "2.2" - }, - { - "name": "octo_image", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/octo_image-0.3.0", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "package_info", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3+4", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "path", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "path_provider", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider-1.6.28", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "path_provider_linux", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_linux-0.0.1+2", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "path_provider_macos", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_macos-0.0.4+8", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "path_provider_platform_interface", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_platform_interface-1.0.4", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "path_provider_windows", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-0.0.4+3", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "pedantic", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.9.2", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "permission_handler", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/permission_handler-b8c45c4c20221ac39fe083113fc360cc632f33a4/", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "permission_handler_platform_interface", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/permission_handler_platform_interface-2.0.1", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "petitparser", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/petitparser-3.1.0", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "photo_view", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/photo_view-0.10.3", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "platform", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/platform-2.2.1", - "packageUri": "lib/", - "languageVersion": "1.24" - }, - { - "name": "plugin_platform_interface", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-1.0.2", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "process", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/process-3.0.13", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "provider", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/provider-4.3.3", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "pull_to_refresh", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/flutter_pulltorefresh-78a12e0ea45fdf1fbc615b8d243e0f4a8667489f/", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "rxdart", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/rxdart-0.25.0", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "save_image", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/save_image-b719ab2d77298cbfa5ce3397d83d5ba253ed29c1/", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "secverify", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/secverify-5ec756e9fe63339209cc6906a37a778952ac61f1/", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "share_extend", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/share_extend-1.1.9", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "shared_preferences", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-0.5.12+4", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "shared_preferences_linux", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_linux-0.0.2+4", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "shared_preferences_macos", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_macos-0.0.1+11", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "shared_preferences_platform_interface", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_platform_interface-1.0.4", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "shared_preferences_web", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_web-0.1.2+7", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "shared_preferences_windows", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_windows-0.0.2+3", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "sharesdk_plugin", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/sharesdk_plugin-f947c09803374acdc4fb720ccb5356d0779afe2f/", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "shimmer", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/shimmer-1.1.2", - "packageUri": "lib/", - "languageVersion": "1.20" - }, - { - "name": "sky_engine", - "rootUri": "file:///Users/fnuser02/flutter/bin/cache/pkg/sky_engine", - "packageUri": "lib/", - "languageVersion": "1.11" - }, - { - "name": "source_span", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.0-nullsafety.2", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "sqflite", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite-1.3.1+2", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "sqflite_common", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite_common-1.0.3+3", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "stack_trace", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "stream_channel", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "string_scanner", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "string_validator", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_validator-0.1.4", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "synchronized", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/synchronized-2.2.0+2", - "packageUri": "lib/", - "languageVersion": "2.8" - }, - { - "name": "tab_indicator_styler", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/tab_indicator_styler-1.0.0", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "term_glyph", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "test_api", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.2.19-nullsafety.2", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "tobias", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/git/tobias-15f6acb72df68703c96b2d8a14e1ab28f5dcc008/", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "transformer_page_view", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/transformer_page_view-0.1.6", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "typed_data", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0-nullsafety.3", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "url_launcher", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-5.7.10", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "url_launcher_linux", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-0.0.1+4", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "url_launcher_macos", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_macos-0.0.1+9", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "url_launcher_platform_interface", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_platform_interface-1.0.9", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "url_launcher_web", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_web-0.1.5+3", - "packageUri": "lib/", - "languageVersion": "2.2" - }, - { - "name": "url_launcher_windows", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-0.0.1+3", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "uuid", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/uuid-2.2.2", - "packageUri": "lib/", - "languageVersion": "2.2" - }, - { - "name": "vector_math", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.0-nullsafety.3", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "webview_flutter", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/webview_flutter-1.0.7", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "win32", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/win32-1.7.4+1", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "xdg_directories", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/xdg_directories-0.1.2", - "packageUri": "lib/", - "languageVersion": "2.3" - }, - { - "name": "xml", - "rootUri": "file:///Users/fnuser02/flutter/.pub-cache/hosted/pub.flutter-io.cn/xml-4.5.1", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "zhiying_comm", - "rootUri": "../../zhiying_comm", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "zhiying_base_widget", - "rootUri": "../", - "packageUri": "lib/", - "languageVersion": "2.8" - } - ], - "generated": "2021-04-02T03:09:05.833431Z", - "generator": "pub", - "generatorVersion": "2.10.1" -} From 99040eb4ca950164f1f6bd6508e82d34107a9af4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyanghuaxuan=E2=80=9D?= <“646903573@qq.com”> Date: Tue, 6 Apr 2021 16:48:54 +0800 Subject: [PATCH 18/21] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E7=9B=91=E5=90=AC=EF=BC=8C=E5=8F=AA=E6=9C=89=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E6=89=8D=E8=BF=9B=E8=A1=8C=E6=99=BA=E8=83=BD?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/android/app/build.gradle | 53 ++++++++-------- example/android/app/libs/kaduofensdk.aar | Bin 0 -> 256837 bytes example/android/build.gradle | 6 ++ example/lib/main.dart | 1 + .../intellect_create.dart | 20 +++++- lib/pages/home_page/home_page.dart | 57 +++++++++++++++++- 6 files changed, 107 insertions(+), 30 deletions(-) create mode 100644 example/android/app/libs/kaduofensdk.aar diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index b81116c..ba8c05a 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -109,19 +109,19 @@ android { // 应用信息配置 - productFlavors { - // 智夜生活 - zhiying { - applicationId "cn.zhios.zhiying" - versionCode 59 - dimension "app" - versionName '1.3.19' - // 签名信息 - signingConfig signingConfigs.zhiying - } - } - - // 打包脚本 +// productFlavors { +// // 智夜生活 +// zhiying { +// applicationId "cn.zhios.zhiying" +// versionCode 59 +// dimension "app" +// versionName '1.3.19' +// // 签名信息 +// signingConfig signingConfigs.zhiying +// } +// } +// +// // 打包脚本 // android.applicationVariants.all { variant -> // if (variant.buildType.name != "debug") { // variant.getPackageApplicationProvider().get().outputDirectory = new File(project.rootDir.absolutePath + "/app/build/outputs/apk") @@ -136,18 +136,18 @@ android { // } // } // } -// -// configurations.all { -// resolutionStrategy.eachDependency { DependencyResolveDetails details -> -// def requested = details.requested -// if (requested.group == 'com.android.support') { -// if (!requested.name.startsWith("multidex")) { -// details.useVersion '28.0.3' -// } -// } -// resolutionStrategy.force 'com.android.support:support-v4:28.0.0' -// } -// } + + configurations.all { + resolutionStrategy.eachDependency { DependencyResolveDetails details -> + def requested = details.requested + if (requested.group == 'com.android.support') { + if (!requested.name.startsWith("multidex")) { + details.useVersion '28.0.3' + } + } + resolutionStrategy.force 'com.android.support:support-v4:28.0.0' + } + } } @@ -185,9 +185,10 @@ dependencies { implementation 'com.alibaba.sdk.android:AlibcTradeBiz:4.0.0.16@aar' implementation 'com.alibaba.sdk.android:nb_trade:4.0.0.16@aar' implementation 'com.alibaba:fastjson:1.2.41@jar' - implementation 'com.amap.api:location:5.2.0' + implementation (name: 'kaduofensdk', ext: 'aar') + } diff --git a/example/android/app/libs/kaduofensdk.aar b/example/android/app/libs/kaduofensdk.aar new file mode 100644 index 0000000000000000000000000000000000000000..1833e79a80c754981cf4157c8c57c6b3786b52f9 GIT binary patch literal 256837 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
Llm5suH3oni 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 literal 0 HcmV?d00001 diff --git a/example/android/build.gradle b/example/android/build.gradle index fce6d9c..7ba321d 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -2,6 +2,9 @@ buildscript { repositories { google() jcenter() + flatDir { + dirs 'libs' + } } dependencies { @@ -18,6 +21,9 @@ allprojects { maven { url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/" } + flatDir { + dirs 'libs' + } } } diff --git a/example/lib/main.dart b/example/lib/main.dart index d00d3e2..dbd0ff4 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -107,6 +107,7 @@ class _MyAppState extends State { child: child, ); }, + navigatorObservers: [lifeObserver], theme: ThemeData( fontFamily: 'PingFang', primaryColor: HexColor.fromHex('#FF4242'), diff --git a/lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_create.dart b/lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_create.dart index a604198..1899de4 100644 --- a/lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_create.dart +++ b/lib/dialog/global_dialog/intellect_search_goods_dialog/intellect_create.dart @@ -20,9 +20,19 @@ class IntellectCreate { static IntellectSearchSetModel _setModel; static bool isRequest = false; + //是否检查粘贴板 + static bool check = false; + + static setCheck(bool isCheck){ + check=isCheck; + } + ///判断规则 static checkAndCreate(AppLifecycleState state, BuildContext context) async { - if (state == AppLifecycleState.resumed && !isRequest) { + + + if (state == AppLifecycleState.resumed && !isRequest &&check) { + print("读取粘贴版"); isRequest = true; Timer(Duration(milliseconds: 2000), () { @@ -96,7 +106,11 @@ class IntellectCreate { ///弹起存在不存在商品的弹窗 if (!Constants.isShowIntellectDialog) { Constants.isShowIntellectDialog = true; - await showDialog(context: context, child: IntellectSearchNoGoodsDialog(setModel: _setModel,)); + await showDialog( + context: context, + child: IntellectSearchNoGoodsDialog( + setModel: _setModel, + )); Constants.isShowIntellectDialog = false; } } else if (data.toString() == "403032") { @@ -162,6 +176,6 @@ class IntellectCreate { } } } - requestDialog(context, content,setModel); + requestDialog(context, content, setModel); } } diff --git a/lib/pages/home_page/home_page.dart b/lib/pages/home_page/home_page.dart index 18123ef..f7dbbe6 100644 --- a/lib/pages/home_page/home_page.dart +++ b/lib/pages/home_page/home_page.dart @@ -59,7 +59,7 @@ class HomePage extends StatefulWidget { _HomePageState createState() => _HomePageState(); } -class _HomePageState extends State with WidgetsBindingObserver, TickerProviderStateMixin { +class _HomePageState extends LifeState with WidgetsBindingObserver, TickerProviderStateMixin { int _currentIndex = 0; List> _data = List(); static const EventChannel _eventChannel = const EventChannel('JAVA_TO_FLUTTER'); @@ -389,4 +389,59 @@ class _HomePageState extends State with WidgetsBindingObserver, Ticker ) ])); } + + @override + void onPaused() { + print("首页调用不可见"); + IntellectCreate.setCheck(false); + } + + @override + void onResume() { + print("首页调用可见"); + IntellectCreate.setCheck(true); + } +} + +final RouteObserver lifeObserver = RouteObserver(); + +abstract class LifeState extends State + with RouteAware { + @override + void initState() { + super.initState(); + } + + @override + void didChangeDependencies() { + lifeObserver.subscribe(this, ModalRoute.of(context)); + super.didChangeDependencies(); + } + + @override + void dispose() { + lifeObserver.unsubscribe(this); + super.dispose(); + } + + + void didPop() { + onPaused(); + } + + void didPopNext() { + onResume(); + } + + void didPush() { + onResume(); + } + + void didPushNext() { + onPaused(); + } + + void onResume(); + + void onPaused(); } From fca2571eb5440e54b405ba9303ef421d95360f52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyanghuaxuan=E2=80=9D?= <“646903573@qq.com”> Date: Wed, 7 Apr 2021 16:15:49 +0800 Subject: [PATCH 19/21] =?UTF-8?q?1.=E5=BC=80=E6=94=BE=E5=BE=AE=E5=8D=9A?= =?UTF-8?q?=E5=88=86=E4=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/android/app/build.gradle | 58 +++++++++---------- .../MainActivity.java | 12 ++-- lib/register.dart | 4 +- 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index ba8c05a..717c98b 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -53,8 +53,8 @@ android { testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" ndk { //选择要添加的对应cpu类型的.so库。 - abiFilters 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'mips', 'mips64', 'arm64-v8a' - // abiFilters 'armeabi-v7a','x86_64' + // abiFilters 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'mips', 'mips64', 'arm64-v8a' + abiFilters 'armeabi-v7a','x86_64' } } @@ -109,33 +109,33 @@ android { // 应用信息配置 -// productFlavors { -// // 智夜生活 -// zhiying { -// applicationId "cn.zhios.zhiying" -// versionCode 59 -// dimension "app" -// versionName '1.3.19' -// // 签名信息 -// signingConfig signingConfigs.zhiying -// } -// } -// -// // 打包脚本 -// android.applicationVariants.all { variant -> -// if (variant.buildType.name != "debug") { -// variant.getPackageApplicationProvider().get().outputDirectory = new File(project.rootDir.absolutePath + "/app/build/outputs/apk") -// } -// -// variant.outputs.all { output -> -// def outputFile = output.outputFile -// if (outputFile != null && outputFile.name.endsWith('.apk')) { -// //这里修改apk文件名 -// def fileName = "${variant.productFlavors[0].name}_${releaseTime()}01_&V${variant.productFlavors[0].versionCode}.apk" -// outputFileName = fileName -// } -// } -// } + productFlavors { + // 智夜生活 + zhiying { + applicationId "cn.zhios.zhiying" + versionCode 60 + dimension "app" + versionName '1.3.20' + // 签名信息 + signingConfig signingConfigs.zhiying + } + } + + // 打包脚本 + android.applicationVariants.all { variant -> + if (variant.buildType.name != "debug") { + variant.getPackageApplicationProvider().get().outputDirectory = new File(project.rootDir.absolutePath + "/app/build/outputs/apk") + } + + variant.outputs.all { output -> + def outputFile = output.outputFile + if (outputFile != null && outputFile.name.endsWith('.apk')) { + //这里修改apk文件名 + def fileName = "${variant.productFlavors[0].name}_${releaseTime()}01_&V${variant.productFlavors[0].versionCode}.apk" + outputFileName = fileName + } + } + } configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> diff --git a/example/android/app/src/main/java/cn/zhios/zhiying_base_widget_example/MainActivity.java b/example/android/app/src/main/java/cn/zhios/zhiying_base_widget_example/MainActivity.java index b8f36e8..32365c6 100644 --- a/example/android/app/src/main/java/cn/zhios/zhiying_base_widget_example/MainActivity.java +++ b/example/android/app/src/main/java/cn/zhios/zhiying_base_widget_example/MainActivity.java @@ -155,14 +155,14 @@ public class MainActivity extends FlutterActivity implements ZhiyingFlutterCommN public Map getSetting() { Map map = new HashMap(); // ///测试 - map.put("domain", "http://inapi.izhyin.cn/");//"http://120.76.175.204:8989");http://47.114.51.254:80 http://inapi.izhyin.cn/ - map.put("master_id", "123456"); - map.put("secret_key", "123456"); +// map.put("domain", "http://inapi.izhyin.cn/");//"http://120.76.175.204:8989");http://47.114.51.254:80 http://inapi.izhyin.cn/ +// map.put("master_id", "123456"); +// map.put("secret_key", "123456"); ///正式 -// map.put("domain", "http://api.zhios.cn/");//45678910,api.zhios.cn84198689 -// map.put("master_id", "99813608"); -// map.put("secret_key", "123456"); + map.put("domain", "http://api.zhios.cn/");//45678910,api.zhios.cn84198689 + map.put("master_id", "99813608"); + map.put("secret_key", "123456"); //客户测试 // map.put("domain", "http://api.zhios.cn/");//45678910,api.zhios.cn84198689 diff --git a/lib/register.dart b/lib/register.dart index a426865..70d6eff 100644 --- a/lib/register.dart +++ b/lib/register.dart @@ -121,8 +121,8 @@ class BaseWidgetRegister { // ================ Weixin register.setupWechat(config.keys?.weixin?.appId ?? '', config.keys?.weixin?.secret ?? '', config.keys?.weixin?.universalLink ?? ''); - // ================ Weibo - // register.setupSinaWeibo(config.keys?.weibo?.appkey ?? '', config.keys?.weibo?.secret ?? '', config.keys?.weibo?.redirectUrl ?? ''); + //================ Weibo + register.setupSinaWeibo(config.keys?.weibo?.appkey ?? '', config.keys?.weibo?.secret ?? '', config.keys?.weibo?.redirectUrl ?? '',config.keys?.weibo?.universalLink??''); // ================ QQ register.setupQQ(config.keys?.qq?.appId ?? '', config.keys?.qq?.appkey ?? ''); From 9df769c59c1b9ec22136aa9799cc1a4ebd7f7e55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyanghuaxuan=E2=80=9D?= <“646903573@qq.com”> Date: Thu, 8 Apr 2021 10:03:24 +0800 Subject: [PATCH 20/21] =?UTF-8?q?1.=E5=BE=AE=E5=8D=9A=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E8=AE=BE=E5=AE=9A=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/register.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/register.dart b/lib/register.dart index 70d6eff..310c961 100644 --- a/lib/register.dart +++ b/lib/register.dart @@ -122,7 +122,7 @@ class BaseWidgetRegister { register.setupWechat(config.keys?.weixin?.appId ?? '', config.keys?.weixin?.secret ?? '', config.keys?.weixin?.universalLink ?? ''); //================ Weibo - register.setupSinaWeibo(config.keys?.weibo?.appkey ?? '', config.keys?.weibo?.secret ?? '', config.keys?.weibo?.redirectUrl ?? '',config.keys?.weibo?.universalLink??''); + register.setupSinaWeibo(config.keys?.weibo?.appkey ?? '', config.keys?.weibo?.secret ?? '', config.keys?.weibo?.redirectUrl ?? '',config.keys?.weibo?.universalLink??'templink'); // ================ QQ register.setupQQ(config.keys?.qq?.appId ?? '', config.keys?.qq?.appkey ?? ''); From 9852d4277c969c3837730024f9792382ea77552c Mon Sep 17 00:00:00 2001 From: PH2 <1293456824@qq.com> Date: Thu, 8 Apr 2021 14:17:48 +0800 Subject: [PATCH 21/21] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E4=BA=86?= =?UTF-8?q?=E6=88=91=E7=9A=84=E8=AE=A2=E5=8D=95UI=E9=97=AE=E9=A2=98=202?= =?UTF-8?q?=E3=80=81=E6=B7=BB=E5=8A=A0=E4=BA=86=E6=90=9C=E7=B4=A2=E6=A1=86?= =?UTF-8?q?=E7=9A=842=E4=B8=AA=E6=A0=B7=E5=BC=8F=203=E3=80=81=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BA=86=E5=88=86=E4=BA=AB=E5=86=85=E5=AE=B9=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=204=E3=80=81=E4=BF=AE=E6=94=B9=E4=BA=86=E5=88=86?= =?UTF-8?q?=E4=BA=AB=E7=BA=AF=E6=96=87=E5=AD=97=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/home_page/home_page.dart | 66 ++++++-- .../views/order_tabbar_widget.dart | 2 +- lib/register.dart | 3 + .../custom/search/custom_search_widget.dart | 115 +++++++------- .../search/model/custom_search_model.dart | 91 +++++++++-- .../bloc/custom_share_content_bloc.dart | 39 +++++ .../bloc/custom_share_content_event.dart | 10 ++ .../bloc/custom_share_content_repository.dart | 42 ++++++ .../bloc/custom_share_content_state.dart | 16 ++ .../model/custom_share_content_model.dart | 139 +++++++++++++++++ .../share_content/share_content_creater.dart | 22 +++ .../share_content/share_content_sk.dart | 8 + .../share_content/share_content_widget.dart | 142 ++++++++++++++++++ lib/widgets/share/share_alert.dart | 4 +- 14 files changed, 612 insertions(+), 87 deletions(-) create mode 100644 lib/widgets/custom/share_content/bloc/custom_share_content_bloc.dart create mode 100644 lib/widgets/custom/share_content/bloc/custom_share_content_event.dart create mode 100644 lib/widgets/custom/share_content/bloc/custom_share_content_repository.dart create mode 100644 lib/widgets/custom/share_content/bloc/custom_share_content_state.dart create mode 100644 lib/widgets/custom/share_content/model/custom_share_content_model.dart create mode 100644 lib/widgets/custom/share_content/share_content_creater.dart create mode 100644 lib/widgets/custom/share_content/share_content_sk.dart create mode 100644 lib/widgets/custom/share_content/share_content_widget.dart diff --git a/lib/pages/home_page/home_page.dart b/lib/pages/home_page/home_page.dart index f7dbbe6..5517733 100644 --- a/lib/pages/home_page/home_page.dart +++ b/lib/pages/home_page/home_page.dart @@ -1,7 +1,5 @@ import 'dart:async'; import 'dart:convert' as convert; -import 'dart:convert'; -import 'dart:io'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/cupertino.dart'; @@ -10,16 +8,10 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; import 'package:moblink/moblink.dart'; -import 'package:mobpush_plugin/mobpush_custom_message.dart'; -import 'package:mobpush_plugin/mobpush_notify_message.dart'; -import 'package:mobpush_plugin/mobpush_plugin.dart'; import 'package:provider/provider.dart'; -import 'package:zhiying_base_widget/dialog/global_dialog/activity_dialog/activity_dialog.dart'; import 'package:zhiying_base_widget/dialog/global_dialog/advertising_dialog/advertising_dialog.dart'; import 'package:zhiying_base_widget/dialog/global_dialog/intellect_search_goods_dialog/intellect_create.dart'; import 'package:zhiying_base_widget/dialog/global_dialog/notification_setting_dialog/notification_setting_dialog.dart'; -import 'package:zhiying_base_widget/dialog/global_dialog/policy_dialog/policy_dialog.dart'; -import 'package:zhiying_base_widget/dialog/tip_dialog/tip_dialog.dart'; import 'package:zhiying_base_widget/models/app_config_model.dart'; import 'package:zhiying_base_widget/pages/custom_page/event/reload_event.dart'; import 'package:zhiying_base_widget/utils/contants.dart'; @@ -35,10 +27,6 @@ import 'package:zhiying_comm/zhiying_comm.dart'; import 'package:zhiying_comm/util/event_util/login_success_event.dart'; import 'package:zhiying_comm/util/event_util/event_util.dart'; import 'package:zhiying_comm/util/event_util/log_out.dart'; -import 'package:zhiying_comm/util/event_util/login_success_event.dart'; -import 'package:zhiying_comm/util/event_util/event_util.dart'; -import 'package:zhiying_comm/util/event_util/log_out.dart'; -import 'package:package_info/package_info.dart'; class HomeCenterPage extends StatefulWidget { @override @@ -291,7 +279,59 @@ class _HomePageState extends LifeState with WidgetsBindingObserver, Ti // Widget createBottomNavigationBarNew(List> tabs) { // - // return ConvexAppBar(items: null, initialActiveIndex: _currentIndex, style: TabStyle.titled,); + // List items = List(); + // for (int i = 0; i < tabs.length; i++) { + // BaseTabModel model = BaseTabModel.fromJson(tabs[i]); + // String icon = ImageUtil.getUrl(model.icon); + // String selectedIcon = ImageUtil.getUrl(model.chooseIcon ?? model.icon); + // String textColor = model.fontColor; + // String chooseColor = model.chooseColor ?? textColor; + // + // if (model.isShow == "1") { + // items.add(TabItem( + // icon: Image.network(icon ?? ''), + // activeIcon: Image.network(selectedIcon ?? ''), + // title: model.name ?? '' + // )); + // } + // } + // + // if (items.length < 2) { + // return Container(); + // } + // String bgColor = '#ffffff'; + // String textColor = '#999999'; + // String activeColor = '#FF4242'; + // if (tabs.first != null) { + // BaseTabModel model = BaseTabModel.fromJson(tabs.first); + // bgColor = model.bgColor ?? bgColor; + // textColor = model?.fontColor ?? textColor; + // activeColor = model?.chooseColor ?? activeColor; + // } + // + // return ConvexAppBar( + // elevation: 0, + // backgroundColor: HexColor.fromHex(bgColor), + // items: items, + // height: 50, + // color: HexColor.fromHex(textColor), + // activeColor: HexColor.fromHex(activeColor), + // initialActiveIndex: _currentIndex, + // style: TabStyle.react, + // onTap: (int index) async { + // BaseTabModel model = BaseTabModel.fromJson(tabs[index]); + // if (await _checkLimit(model)) { + // ///避免同一个页面多次点击多次重绘 + // if (_currentIndex == index) { + // return; + // } else { + // setState(() { + // _currentIndex = index; + // }); + // } + // } + // }, + // ); // } Future _checkLimit(BaseTabModel model) async { diff --git a/lib/pages/orders_page/views/order_tabbar_widget.dart b/lib/pages/orders_page/views/order_tabbar_widget.dart index e50e3e4..7a4296b 100644 --- a/lib/pages/orders_page/views/order_tabbar_widget.dart +++ b/lib/pages/orders_page/views/order_tabbar_widget.dart @@ -29,7 +29,7 @@ class OrderTabbarWidget extends StatelessWidget { Expanded( child: TabBar( controller: controller, - isScrollable: false, + isScrollable: (controller?.length ?? 0) >=4 ? true : false, indicatorSize: TabBarIndicatorSize.label, // tabs: widgets, indicatorColor: diff --git a/lib/register.dart b/lib/register.dart index 310c961..024ee5e 100644 --- a/lib/register.dart +++ b/lib/register.dart @@ -41,6 +41,7 @@ import 'package:zhiying_base_widget/widgets/custom/goods/custom_goods_creater.da import 'package:zhiying_base_widget/widgets/custom/multi_nav/custom_quick_entry.dart'; import 'package:zhiying_base_widget/widgets/custom/notice/custom_notice_widget.dart'; import 'package:zhiying_base_widget/widgets/custom/search/custom_search_widget.dart'; +import 'package:zhiying_base_widget/widgets/custom/share_content/share_content_widget.dart'; import 'package:zhiying_base_widget/widgets/custom/slide_banner/custom_slide_banner_creater.dart'; import 'package:zhiying_base_widget/widgets/goods_details/footer/goods_details_footer_widget.dart'; import 'package:zhiying_base_widget/widgets/goods_details/price/goods_details_price_widget.dart'; @@ -410,5 +411,7 @@ class BaseWidgetRegister { WidgetFactory.regist('placard', DefaultWidgetCreater((model) => CustomNoticeWidget(model))); // 授权 WidgetFactory.regist('audit_tip', DefaultWidgetCreater((model) => HomeAuth(model))); + // 分享内容组件 + WidgetFactory.regist('share_content', DefaultWidgetCreater((model) => CustomShareContentWidget(model))); } } diff --git a/lib/widgets/custom/search/custom_search_widget.dart b/lib/widgets/custom/search/custom_search_widget.dart index 48c669a..6a672a5 100644 --- a/lib/widgets/custom/search/custom_search_widget.dart +++ b/lib/widgets/custom/search/custom_search_widget.dart @@ -74,11 +74,11 @@ class CustomSearchWidget extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.center, children: [ GestureDetector( - onTap: () => _onClickListener(context, model?.listStyle?.rightCss), + onTap: () => _onClickListener(context, model?.listStyle?.leftCss), child: CachedNetworkImage( width: 30, height: 30, - imageUrl: model?.listStyle?.rightCss?.image ?? '', + imageUrl: model?.listStyle?.leftCss?.image ?? '', )), // 图标1 SizedBox(width: 10), @@ -118,70 +118,63 @@ class CustomSearchWidget extends StatelessWidget { ); } - /// 左1右2图标 - Widget _buildStyle5Widget(BuildContext context) { - return Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - GestureDetector( - onTap: () => _onClickListener(context, model?.listStyle?.rightCss), - child: CachedNetworkImage( - width: 30, - height: 30, - imageUrl: model?.listStyle?.rightCss?.image ?? '', + /// 右按钮 + Widget _buildStyle4Widget(BuildContext context) { + return GestureDetector( + onTap: () => _onClickListener(context, model?.listStyle?.rightBtnCss), + child: Container( + height: 38, + padding: EdgeInsets.only(left: 10.5), + decoration: BoxDecoration( + border: Border.all(color: HexColor.fromHex(model?.listStyle?.searchCss?.borderColor ?? "")), + borderRadius: BorderRadius.only( + bottomRight: Radius.circular(ParseUtil.stringParseDouble(model?.bottomRightRadius)), + bottomLeft: Radius.circular(ParseUtil.stringParseDouble(model?.bottomLeftRadius)), + topLeft: Radius.circular(ParseUtil.stringParseDouble(model?.topLeftRadius)), + topRight: Radius.circular(ParseUtil.stringParseDouble(model?.topRightRadius)), )), - // 图标1 - SizedBox(width: 10), - // 中间 - Expanded( - child: GestureDetector( - onTap: () => _onClickListener(context, model?.listStyle?.searchCss), - behavior: HitTestBehavior.opaque, - child: Container( - // height: 30, - width: double.infinity, - padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 9), - decoration: BoxDecoration(borderRadius: BorderRadius.circular(60 / 2), color: HexColor.fromHex(model?.listStyle?.searchCss?.bgColor)), - child: Row( - children: [ - CachedNetworkImage( - width: 15, - height: 15, - imageUrl: model?.listStyle?.searchCss?.image ?? '', - ), - SizedBox(width: 4), - Text(model?.listStyle?.searchCss?.text ?? '输入搜索内容,领券省钱', style: TextStyle(fontSize: 13, color: HexColor.fromHex(model?.listStyle?.searchCss?.textColor??"#FFFFFF"))) - ], - ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + ///搜索图标 + CachedNetworkImage( + imageUrl: model?.listStyle?.searchCss?.image ?? '', + width: 16, + fit: BoxFit.fitWidth, + ), + SizedBox( + width: 4, + ), + Expanded( + child: TextField( + style: TextStyle(fontSize: 13), + decoration: InputDecoration( + isDense: true, + enabled: false, + border: InputBorder.none, + hintText: model?.listStyle?.searchCss?.text ?? "", + hintStyle: TextStyle(color: HexColor.fromHex(model?.listStyle?.searchCss?.textColor ?? ""))), ), - )), - SizedBox(width: 10), - // 图标2 - GestureDetector( - onTap: () => _onClickListener(context, model?.listStyle?.rightCss), - child: CachedNetworkImage( - width: 30, - height: 30, - imageUrl: model?.listStyle?.rightCss?.image ?? '', - )), - SizedBox(width: 10), - // 图标2 - GestureDetector( - onTap: () => _onClickListener(context, model?.listStyle?.rightCss), - child: CachedNetworkImage( - width: 30, - height: 30, - imageUrl: model?.listStyle?.rightCss?.image ?? '', - )), - ], + ), + Container( + padding: EdgeInsets.only(left: 16, right: 16), + decoration: BoxDecoration( + image: DecorationImage(image: CachedNetworkImageProvider(model?.listStyle?.rightBtnCss?.bgImg ?? ""), fit: BoxFit.fitHeight), + borderRadius: BorderRadius.circular(2)), + height: double.infinity, + child: Center( + child: Text( + model?.listStyle?.rightBtnCss?.text ?? "", + style: TextStyle(color: HexColor.fromHex(model?.listStyle?.rightBtnCss?.textColor ?? "#FFFFFF"), fontWeight: FontWeight.w500, fontSize: 13), + )), + ) + ], + ), + ), ); } - /// 右按钮 - Widget _buildStyle4Widget(BuildContext context) { - return Container(); - } - /// 右1图标 Widget _buildStyle1Widget(BuildContext context) { return Row( diff --git a/lib/widgets/custom/search/model/custom_search_model.dart b/lib/widgets/custom/search/model/custom_search_model.dart index ee3d54a..ef1fa10 100644 --- a/lib/widgets/custom/search/model/custom_search_model.dart +++ b/lib/widgets/custom/search/model/custom_search_model.dart @@ -83,12 +83,16 @@ class CustomSearchModel { class ListStyle { SearchCss searchCss; RightCss rightCss; + RightCss leftCss; + RightBtnCss rightBtnCss; - ListStyle({this.searchCss, this.rightCss}); + ListStyle({this.searchCss, this.rightCss, this.leftCss, this.rightBtnCss}); ListStyle.fromJson(Map json) { searchCss = json['search_css'] != null ? new SearchCss.fromJson(json['search_css']) : null; rightCss = json['right_css'] != null ? new RightCss.fromJson(json['right_css']) : null; + leftCss = json['left_css'] != null ? new RightCss.fromJson(json['left_css']) : null; + rightBtnCss = json['right_btn_css'] != null ? new RightBtnCss.fromJson(json['right_btn_css']) : null; } Map toJson() { @@ -99,6 +103,12 @@ class ListStyle { if (this.rightCss != null) { data['right_css'] = this.rightCss.toJson(); } + if (this.leftCss != null) { + data['left_css'] = this.leftCss.toJson(); + } + if (this.rightBtnCss != null) { + data['right_btn_css'] = this.rightBtnCss.toJson(); + } return data; } } @@ -112,19 +122,21 @@ class SearchCss extends SkipModel { String requiredLogin; String requiredTaobaoAuth; String skipIdentifier; + String borderColor; - SearchCss({this.name, this.text, this.image, this.bgColor, this.textColor, this.requiredLogin, this.requiredTaobaoAuth, this.skipIdentifier}); + SearchCss({this.name, this.text, this.image, this.bgColor, this.textColor, this.requiredLogin, this.requiredTaobaoAuth, this.skipIdentifier, this.borderColor}); SearchCss.fromJson(Map json) { super.fromJson(json); - name = json['name']; - text = json['text']; - image = json['image']; - bgColor = json['bg_color']; - textColor = json['text_color']; - requiredLogin = json['required_login']; - requiredTaobaoAuth = json['required_taobao_auth']; - skipIdentifier = json['skip_identifier']; + name = json['name']?.toString(); + text = json['text']?.toString(); + image = json['image']?.toString(); + bgColor = json['bg_color']?.toString(); + textColor = json['text_color']?.toString(); + requiredLogin = json['required_login']?.toString(); + requiredTaobaoAuth = json['required_taobao_auth']?.toString(); + skipIdentifier = json['skip_identifier']?.toString(); + borderColor = json['border_color']?.toString(); } Map toJson() { @@ -137,6 +149,7 @@ class SearchCss extends SkipModel { data['required_login'] = this.requiredLogin; data['required_taobao_auth'] = this.requiredTaobaoAuth; data['skip_identifier'] = this.skipIdentifier; + data['border_color'] = this.borderColor; return data; } } @@ -175,3 +188,61 @@ class RightCss extends SkipModel { return data; } } + +class RightBtnCss extends SkipModel { + String name; + String text; + String textColor; + String bgImg; + String bgImgUrl; + String skipIdentifier; + String skipName; + String requiredLogin; + String requiredTaobaoAuth; + String isJump; + String cateTag; + + RightBtnCss( + {this.name, + this.text, + this.textColor, + this.bgImg, + this.bgImgUrl, + this.skipIdentifier, + this.skipName, + this.requiredLogin, + this.requiredTaobaoAuth, + this.isJump, + this.cateTag}); + + RightBtnCss.fromJson(Map json) { + super.fromJson(json); + name = json['name']; + text = json['text']; + textColor = json['text_color']; + bgImg = json['bg_img']; + bgImgUrl = json['bg_img_url']; + skipIdentifier = json['skip_identifier']; + skipName = json['skip_name']; + requiredLogin = json['required_login']; + requiredTaobaoAuth = json['required_taobao_auth']; + isJump = json['is_jump']; + cateTag = json['cate_tag']; + } + + Map toJson() { + final Map data = super.toJson(); + data['name'] = this.name; + data['text'] = this.text; + data['text_color'] = this.textColor; + data['bg_img'] = this.bgImg; + data['bg_img_url'] = this.bgImgUrl; + data['skip_identifier'] = this.skipIdentifier; + data['skip_name'] = this.skipName; + data['required_login'] = this.requiredLogin; + data['required_taobao_auth'] = this.requiredTaobaoAuth; + data['is_jump'] = this.isJump; + data['cate_tag'] = this.cateTag; + return data; + } +} diff --git a/lib/widgets/custom/share_content/bloc/custom_share_content_bloc.dart b/lib/widgets/custom/share_content/bloc/custom_share_content_bloc.dart new file mode 100644 index 0000000..ddecf30 --- /dev/null +++ b/lib/widgets/custom/share_content/bloc/custom_share_content_bloc.dart @@ -0,0 +1,39 @@ +import 'dart:async'; + +import 'package:bloc/bloc.dart'; +import 'package:meta/meta.dart'; +import 'package:zhiying_base_widget/widgets/custom/share_content/model/custom_share_content_model.dart'; +import 'package:zhiying_comm/zhiying_comm.dart'; +import 'custom_share_content_repository.dart'; +part 'custom_share_content_event.dart'; +part 'custom_share_content_state.dart'; + +class CustomShareContentBloc extends Bloc { + CustomShareContentBloc({this.repository}) : super(CustomShareContentInitial()); + CustomShareContentRepository repository; + + @override + Stream mapEventToState( + CustomShareContentEvent event, + ) async* { + /// 初始化 + if (event is CustomShareContentInitEvent) { + yield* _mapInitEventToState(event); + } + } + + /// 初始化事件 + Stream _mapInitEventToState(CustomShareContentInitEvent event) async* { + var parentData = await repository.fetchParentStyle(event.model); + if (!EmptyUtil.isEmpty(parentData)) { + yield CustomShareContentLoadedState(model: parentData); + var netData = await repository.fetchNetData(event.model); + if (!EmptyUtil.isEmpty(netData)) { + parentData..text = netData?.toString(); + yield CustomShareContentLoadedState(model: parentData); + } + } else { + yield CustomShareContentErrorState(); + } + } +} diff --git a/lib/widgets/custom/share_content/bloc/custom_share_content_event.dart b/lib/widgets/custom/share_content/bloc/custom_share_content_event.dart new file mode 100644 index 0000000..deeca50 --- /dev/null +++ b/lib/widgets/custom/share_content/bloc/custom_share_content_event.dart @@ -0,0 +1,10 @@ +part of 'custom_share_content_bloc.dart'; + +@immutable +abstract class CustomShareContentEvent {} + +/// 初始化事件 +class CustomShareContentInitEvent extends CustomShareContentEvent { + final Map model; + CustomShareContentInitEvent({this.model}); +} diff --git a/lib/widgets/custom/share_content/bloc/custom_share_content_repository.dart b/lib/widgets/custom/share_content/bloc/custom_share_content_repository.dart new file mode 100644 index 0000000..a2ad2ae --- /dev/null +++ b/lib/widgets/custom/share_content/bloc/custom_share_content_repository.dart @@ -0,0 +1,42 @@ + +import 'dart:convert'; +import 'package:zhiying_base_widget/widgets/custom/share_content/model/custom_share_content_model.dart'; +import 'package:zhiying_comm/zhiying_comm.dart'; + +class CustomShareContentRepository { + + /// + /// 获取缓存的数据 + /// + Future fetchParentStyle(Map model) async { + try { + if (!EmptyUtil.isEmpty(model)) { + return CustomShareContentModel.fromJson(jsonDecode(model['data'])); + } + } catch (e, s) { + Logger.error(e, s); + } + return null; + } + + /// + /// 获取网络的数据 + /// + Future fetchNetData(Map model) async { + try { + if (!EmptyUtil.isEmpty(model)) { + var result = await NetUtil.post('/api/v1/third_party/content/${model['mod_id']?.toString()}', method: NetMethod.GET ); + if (NetUtil.isSuccess(result) && !EmptyUtil.isEmpty(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA])) { + var data = result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]['content']; + if (!EmptyUtil.isEmpty(data)) { + return data; + } + } + } + } catch (e, s) { + Logger.error(e, s); + } + return null; + } + +} \ No newline at end of file diff --git a/lib/widgets/custom/share_content/bloc/custom_share_content_state.dart b/lib/widgets/custom/share_content/bloc/custom_share_content_state.dart new file mode 100644 index 0000000..2d63819 --- /dev/null +++ b/lib/widgets/custom/share_content/bloc/custom_share_content_state.dart @@ -0,0 +1,16 @@ +part of 'custom_share_content_bloc.dart'; + +@immutable +abstract class CustomShareContentState {} + +/// 初始化 +class CustomShareContentInitial extends CustomShareContentState {} + +/// 数据加载成功 +class CustomShareContentLoadedState extends CustomShareContentState { + CustomShareContentModel model; + CustomShareContentLoadedState({this.model}); +} + +/// 数据加载失败 +class CustomShareContentErrorState extends CustomShareContentState {} \ No newline at end of file diff --git a/lib/widgets/custom/share_content/model/custom_share_content_model.dart b/lib/widgets/custom/share_content/model/custom_share_content_model.dart new file mode 100644 index 0000000..3cda492 --- /dev/null +++ b/lib/widgets/custom/share_content/model/custom_share_content_model.dart @@ -0,0 +1,139 @@ +import 'package:zhiying_comm/zhiying_comm.dart'; + +class CustomShareContentModel extends SkipModel{ + String name; + String desc; + String text; + String moduleType; + String moduleKey; + String isTopMargin; + String isLeftRightMargin; + String isShow; + String topMargin; + String leftRightMargin; + String topLeftRadius; + String topRightRadius; + String bottomLeftRadius; + String bottomRightRadius; + String bgColor; + String isShowShareFriend; + String bgImage; + String bgImageUrl; + String titleImage; + String titleImageUrl; + String copyImage; + String copyImageUrl; + String copyLongImage; + String copyLongImageUrl; + String shareImage; + String shareImageUrl; + String textColor; + String skipName; + String cateTag; + + CustomShareContentModel( + {this.name, + this.desc, + this.text, + this.moduleType, + this.moduleKey, + this.isTopMargin, + this.isLeftRightMargin, + this.isShow, + this.topMargin, + this.leftRightMargin, + this.topLeftRadius, + this.topRightRadius, + this.bottomLeftRadius, + this.bottomRightRadius, + this.bgColor, + this.isShowShareFriend, + this.bgImage, + this.bgImageUrl, + this.titleImage, + this.titleImageUrl, + this.copyImage, + this.copyImageUrl, + this.copyLongImage, + this.copyLongImageUrl, + this.shareImage, + this.shareImageUrl, + this.textColor, + this.skipName, + this.cateTag}); + + CustomShareContentModel.fromJson(Map json) { + super.fromJson(json); + name = json['name']; + desc = json['desc']; + text = json['text']; + moduleType = json['module_type']; + moduleKey = json['module_key']; + isTopMargin = json['is_top_margin']; + isLeftRightMargin = json['is_left_right_margin']; + isShow = json['is_show']; + topMargin = json['top_margin']; + leftRightMargin = json['left_right_margin']; + topLeftRadius = json['top_left_radius']; + topRightRadius = json['top_right_radius']; + bottomLeftRadius = json['bottom_left_radius']; + bottomRightRadius = json['bottom_right_radius']; + bgColor = json['bg_color']; + isShowShareFriend = json['is_show_share_friend']; + bgImage = json['bg_image']; + bgImageUrl = json['bg_image_url']; + titleImage = json['title_image']; + titleImageUrl = json['title_image_url']; + copyImage = json['copy_image']; + copyImageUrl = json['copy_image_url']; + copyLongImage = json['copy_long_image']; + copyLongImageUrl = json['copy_long_image_url']; + shareImage = json['share_image']; + shareImageUrl = json['share_image_url']; + textColor = json['text_color']; + skipIdentifier = json['skip_identifier']; + skipName = json['skip_name']; + requiredLogin = json['required_login']; + requiredTaobaoAuth = json['required_taobao_auth']; + isJump = json['is_jump']; + cateTag = json['cate_tag']; + } + + Map toJson() { + final Map data = super.toJson(); + data['name'] = this.name; + data['desc'] = this.desc; + data['text'] = this.text; + data['module_type'] = this.moduleType; + data['module_key'] = this.moduleKey; + data['is_top_margin'] = this.isTopMargin; + data['is_left_right_margin'] = this.isLeftRightMargin; + data['is_show'] = this.isShow; + data['top_margin'] = this.topMargin; + data['left_right_margin'] = this.leftRightMargin; + data['top_left_radius'] = this.topLeftRadius; + data['top_right_radius'] = this.topRightRadius; + data['bottom_left_radius'] = this.bottomLeftRadius; + data['bottom_right_radius'] = this.bottomRightRadius; + data['bg_color'] = this.bgColor; + data['is_show_share_friend'] = this.isShowShareFriend; + data['bg_image'] = this.bgImage; + data['bg_image_url'] = this.bgImageUrl; + data['title_image'] = this.titleImage; + data['title_image_url'] = this.titleImageUrl; + data['copy_image'] = this.copyImage; + data['copy_image_url'] = this.copyImageUrl; + data['copy_long_image'] = this.copyLongImage; + data['copy_long_image_url'] = this.copyLongImageUrl; + data['share_image'] = this.shareImage; + data['share_image_url'] = this.shareImageUrl; + data['text_color'] = this.textColor; + data['skip_identifier'] = this.skipIdentifier; + data['skip_name'] = this.skipName; + data['required_login'] = this.requiredLogin; + data['required_taobao_auth'] = this.requiredTaobaoAuth; + data['is_jump'] = this.isJump; + data['cate_tag'] = this.cateTag; + return data; + } +} \ No newline at end of file diff --git a/lib/widgets/custom/share_content/share_content_creater.dart b/lib/widgets/custom/share_content/share_content_creater.dart new file mode 100644 index 0000000..ebc001d --- /dev/null +++ b/lib/widgets/custom/share_content/share_content_creater.dart @@ -0,0 +1,22 @@ +import 'package:flutter/material.dart'; +import 'package:zhiying_base_widget/widgets/custom/share_content/share_content_sk.dart'; +import 'package:zhiying_base_widget/widgets/custom/share_content/share_content_widget.dart'; +import 'package:zhiying_comm/zhiying_comm.dart'; + + +/// +/// 可以滚动Banner +/// +class CustomShareContentCreater extends WidgetCreater { + @override + List createSkeleton(Map model) { + return [CustomShareContentSkeleton()]; + } + + @override + List createWidgets(Map model) { + return [ + CustomShareContentWidget(model), + ]; + } +} diff --git a/lib/widgets/custom/share_content/share_content_sk.dart b/lib/widgets/custom/share_content/share_content_sk.dart new file mode 100644 index 0000000..209550b --- /dev/null +++ b/lib/widgets/custom/share_content/share_content_sk.dart @@ -0,0 +1,8 @@ +import 'package:flutter/material.dart'; + +class CustomShareContentSkeleton extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Container(); + } +} diff --git a/lib/widgets/custom/share_content/share_content_widget.dart b/lib/widgets/custom/share_content/share_content_widget.dart new file mode 100644 index 0000000..9646853 --- /dev/null +++ b/lib/widgets/custom/share_content/share_content_widget.dart @@ -0,0 +1,142 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:zhiying_base_widget/widgets/custom/share_content/model/custom_share_content_model.dart'; +import 'package:zhiying_base_widget/widgets/custom/share_content/share_content_sk.dart'; +import 'package:zhiying_base_widget/widgets/share/models/share_alert_model.dart'; +import 'package:zhiying_base_widget/widgets/share/models/share_data_model.dart'; +import 'package:zhiying_base_widget/widgets/share/share_alert.dart'; +import 'package:zhiying_comm/zhiying_comm.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'bloc/custom_share_content_bloc.dart'; +import 'bloc/custom_share_content_repository.dart'; +import 'package:flutter/cupertino.dart'; + +/// +/// 分享内容组件 +/// +class CustomShareContentWidget extends StatelessWidget { + + final Map model; + + const CustomShareContentWidget(this.model, {Key key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return BlocProvider( + create: (_) => CustomShareContentBloc(repository: CustomShareContentRepository())..add(CustomShareContentInitEvent(model: model)), + child: _CustomShareContentContainerWidget(), + ); + } +} + +class _CustomShareContentContainerWidget extends StatefulWidget { + @override + _CustomShareContentContainerWidgetState createState() => _CustomShareContentContainerWidgetState(); +} + +class _CustomShareContentContainerWidgetState extends State<_CustomShareContentContainerWidget> { + + /// 分享方法 + void _clickShareButton(val) { + showCupertinoModalPopup( + context: context, + builder: (context) => ShareAlert(ShareDataModel(content: val), 'pub.flutter.share_icon', isContentShow: false), + ); + } + + /// 复制方法 + void _clickCopyButton(String val) { + if (!EmptyUtil.isEmpty(val)) { + Clipboard.setData(ClipboardData(text: val)); + Fluttertoast.showToast(msg: '复制成功'); + } + } + + @override + Widget build(BuildContext context) { + return BlocConsumer( + listener: (prev, next) {}, + buildWhen: (context, state) { + return true; + }, + builder: (context, state) { + Logger.log('商品详情刷新了 builder state = ' + state?.toString()); + /// 数据加载完毕 + if (state is CustomShareContentLoadedState) { + return _getMainWidget(state?.model); + } + + /// 异常 + if (state is CustomShareContentErrorState) { + return _errorWidget(); + } + /// 骨架图 + return _getSkeletonWidget(); + }, + ); + } + + /// 主视图 + Widget _getMainWidget(CustomShareContentModel model) { + return Container( + width: double.infinity, + // height: 98, + margin: EdgeInsets.only(top: ParseUtil.stringParseDouble(model?.topMargin), left: ParseUtil.stringParseDouble(model?.leftRightMargin, defVal: 12.5), right: ParseUtil.stringParseDouble(model?.leftRightMargin, defVal: 12.5)), + decoration: BoxDecoration( + // color: Colors.red, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(ParseUtil.stringParseDouble(model?.bottomLeftRadius)), + bottomRight: Radius.circular(ParseUtil.stringParseDouble(model?.bottomRightRadius)), + topLeft: Radius.circular(ParseUtil.stringParseDouble(model?.topLeftRadius)), + topRight: Radius.circular(ParseUtil.stringParseDouble(model?.topRightRadius)), + )), + child: Container( + padding: const EdgeInsets.only(left: 12, right: 12, top: 12, bottom: 14), + height: 200, + width: double.infinity, + decoration: BoxDecoration( + image: DecorationImage( + image: CachedNetworkImageProvider(model?.bgImageUrl ?? '') + ) + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + // 标题 + CachedNetworkImage(imageUrl: model?.titleImageUrl, width: 90,), + // SizedBox(height: 20), + // 文案 + Text(model?.text?? '', style: TextStyle(color: HexColor.fromHex(model?.textColor), fontSize: 15),), + // SizedBox(height: 22), + // 复制按钮 or 分享 按钮 + Visibility( + visible: (model?.isShowShareFriend ?? '0') == '1', + // 仅仅复制按钮 + replacement: GestureDetector( onTap: () => _clickCopyButton(model?.text) ,child: CachedNetworkImage(imageUrl: model?.copyLongImageUrl ?? '', width: double.infinity)), + child: Row( + children: [ + // 复制按钮 + Flexible(flex: 1, child: GestureDetector(onTap: () => _clickCopyButton(model?.text),child: CachedNetworkImage(imageUrl: model?.copyImageUrl, width: double.infinity,))), + SizedBox(width: 20), + // 分享按钮 + Flexible(flex: 1,child: GestureDetector(onTap: ()=> _clickShareButton(model?.text), child: CachedNetworkImage(imageUrl: model?.shareImageUrl, width: double.infinity,))) + ], + )) + ], + ), + ) + ); + } + + /// 骨架图 + Widget _getSkeletonWidget() { + return CustomShareContentSkeleton(); + } + + /// 无数据视图 or 异常 + Widget _errorWidget() { + return Container(); + } + +} + diff --git a/lib/widgets/share/share_alert.dart b/lib/widgets/share/share_alert.dart index 52dc0f8..327fa31 100644 --- a/lib/widgets/share/share_alert.dart +++ b/lib/widgets/share/share_alert.dart @@ -278,9 +278,9 @@ class _ShareAlertContentState extends State<_ShareAlertContent> { } else { var type = SSDKContentTypes.auto; - if (widget?.model?.image?.length != 0 && widget.model?.url != null) { + if ((widget?.model?.image?.length ?? 0) != 0 && widget.model?.url != null) { type = SSDKContentTypes.webpage; - } else if (widget?.model?.image?.length != 0) { + } else if ((widget?.model?.image?.length ?? 0) != 0) { type = SSDKContentTypes.image; } else if (widget?.model?.title != null || widget.model?.content != null) { type = SSDKContentTypes.text;