From c0f102003dcd3ab11d5e292343dff029dc09c9f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyanghuaxuan=E2=80=9D?= <“646903573@qq.com”> Date: Wed, 12 May 2021 09:27:06 +0800 Subject: [PATCH 1/8] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=89=BE=E5=9B=9E=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/android/app/build.gradle | 2 +- .../order_found_page/order_found_search_page.dart | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 lib/pages/order_found_page/order_found_search_page.dart diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 9769b65..244869a 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -45,7 +45,7 @@ android { applicationId "cn.zhios.zhiying" minSdkVersion 21 targetSdkVersion 28 - versionCode 1618056480 + versionCode 1718056480 versionName "10.6.0" aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false diff --git a/lib/pages/order_found_page/order_found_search_page.dart b/lib/pages/order_found_page/order_found_search_page.dart new file mode 100644 index 0000000..5852f33 --- /dev/null +++ b/lib/pages/order_found_page/order_found_search_page.dart @@ -0,0 +1,14 @@ +import 'package:flutter/material.dart'; + +///订单搜索页 +class OrderFoundSearchPage extends StatefulWidget { + @override + _OrderFoundSearchPageState createState() => _OrderFoundSearchPageState(); +} + +class _OrderFoundSearchPageState extends State { + @override + Widget build(BuildContext context) { + return Container(); + } +} From 54234a6f5c9e1744e0cd3cf29d49293039555e6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyanghuaxuan=E2=80=9D?= <“646903573@qq.com”> Date: Fri, 14 May 2021 10:06:24 +0800 Subject: [PATCH 2/8] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=9F=A5=E6=89=BE=E8=87=AA=E5=AE=9A=E4=B9=89=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/lib/main.dart | 35 ++++ .../order_found_search_page.dart | 14 -- .../order_found_search_page.dart | 166 ++++++++++++++++++ .../order_found_nav/order_found_nav.dart | 90 ++++++++++ lib/zhiying_base_widget.dart | 1 + 5 files changed, 292 insertions(+), 14 deletions(-) delete mode 100644 lib/pages/order_found_page/order_found_search_page.dart create mode 100644 lib/pages/order_found_page/order_found_search_page/order_found_search_page.dart create mode 100644 lib/widgets/custom/ordedr_found/order_found_nav/order_found_nav.dart diff --git a/example/lib/main.dart b/example/lib/main.dart index 9fbd3b4..3e635cd 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -26,6 +26,7 @@ import 'package:zhiying_base_widget/zhiying_base_widget.dart'; import 'package:zhiying_acquisition/register.dart'; import 'package:zhiying_shopping_mall/zhiying_shopping_mall.dart'; import 'package:zhiying_credit_card/register.dart'; +import 'package:zhiying_base_widget/zhiying_base_widget.dart'; void main() { FlutterError.onError = (FlutterErrorDetails details) { @@ -151,3 +152,37 @@ class _MyAppState extends State { // if (!currentFocus.hasPrimaryFocus && currentFocus.focusedChild != null) { // FocusManager.instance.primaryFocus.unfocus(); // } + +class TestPage extends StatefulWidget { + @override + _TestPageState createState() => _TestPageState(); +} + +class _TestPageState extends State { + @override + void initState() { + NativeUtil.notifyInitSuccess(); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text("临时测试页"), + ), + body: Container( + child: ListView( + children: [ + ListTile( + title: Text("查询页"), + onTap: () { + Navigator.push(context, MaterialPageRoute(builder: (context) => OrderFoundSearchPage())); + }, + ) + ], + ), + ), + ); + } +} diff --git a/lib/pages/order_found_page/order_found_search_page.dart b/lib/pages/order_found_page/order_found_search_page.dart deleted file mode 100644 index 5852f33..0000000 --- a/lib/pages/order_found_page/order_found_search_page.dart +++ /dev/null @@ -1,14 +0,0 @@ -import 'package:flutter/material.dart'; - -///订单搜索页 -class OrderFoundSearchPage extends StatefulWidget { - @override - _OrderFoundSearchPageState createState() => _OrderFoundSearchPageState(); -} - -class _OrderFoundSearchPageState extends State { - @override - Widget build(BuildContext context) { - return Container(); - } -} diff --git a/lib/pages/order_found_page/order_found_search_page/order_found_search_page.dart b/lib/pages/order_found_page/order_found_search_page/order_found_search_page.dart new file mode 100644 index 0000000..55fcd19 --- /dev/null +++ b/lib/pages/order_found_page/order_found_search_page/order_found_search_page.dart @@ -0,0 +1,166 @@ +import 'package:flutter/material.dart'; +import 'package:zhiying_base_widget/widgets/custom/ordedr_found/order_found_nav/order_found_nav.dart'; +import 'package:zhiying_comm/zhiying_comm.dart'; + +///订单搜索页 +class OrderFoundSearchPage extends StatefulWidget { + @override + _OrderFoundSearchPageState createState() => _OrderFoundSearchPageState(); +} + +class _OrderFoundSearchPageState extends State { + @override + Widget build(BuildContext context) { + return Stack( + children: [ + Scaffold( + appBar: _buildAppBar(), + body: Container( + child: ListView( + children: [ + _buildSearch(), + _buildCenter(), + _buildBottom(), + _buildTest() + ], + ), + ), + ), + ], + ); + } + + _buildAppBar() { + return AppBar( + leading: Navigator.canPop(context) + ? IconButton( + icon: Icon( + Icons.arrow_back_ios_rounded, + ), + iconSize: 18, + onPressed: () { + Navigator.pop(context); + }) + : Container(), + title: Text( + "订单查询", + style: TextStyle(fontSize: 17), + ), + centerTitle: true, + actions: [IconButton(icon: Icon(Icons.refresh), onPressed: () {})], + ); + } + + ///构建搜索 + _buildSearch() { + return Container( + height: 50, + decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(10), border: Border.all(color: Colors.white)), + margin: EdgeInsets.only(left: 10, right: 10, top: 10, bottom: 10), + padding: EdgeInsets.only(left: 10, right: 4), + child: Row( + children: [ + Expanded( + child: TextField( + decoration: InputDecoration(border: InputBorder.none, hintText: "请输入或粘粘淘宝订单编号", hintStyle: TextStyle(color: HexColor.fromHex("#999999"), fontSize: 14), isDense: true), + )), + Container( + height: 42, + alignment: Alignment.center, + padding: EdgeInsets.only(left: 24, right: 24), + decoration: BoxDecoration(color: HexColor.fromHex("#FF2020"), borderRadius: BorderRadius.circular(10)), + child: Text( + "搜索", + style: TextStyle(color: HexColor.fromHex("#FFFFFF")), + ), + ), + ], + ), + ); + } + + _buildCenter() { + return Container( + margin: EdgeInsets.only(left: 10, right: 10, top: 10, bottom: 10), + padding: EdgeInsets.only(left: 10, right: 10, top: 10, bottom: 10), + decoration: BoxDecoration(color: HexColor.fromHex("#FFFFFF"), borderRadius: BorderRadius.circular(10)), + child: Column( + children: [ + Row( + children: [ + Container( + width: 4, + height: 14, + decoration: BoxDecoration(color: HexColor.fromHex("#FF2020"), borderRadius: BorderRadius.circular(10)), + margin: EdgeInsets.only(right: 10), + ), + Text( + "如何获取订单编号?", + style: TextStyle(color: HexColor.fromHex("#333333"), fontSize: 15, fontWeight: FontWeight.w500), + ) + ], + ), + SizedBox( + height: 16, + ), + CachedNetworkImage( + imageUrl: "https://alipic.lanhuapp.com/SketchPng9ae52da74764fe05917a1d5a4a8d5eb94a9013106c4412056afa00340164bde5", + fit: BoxFit.fitWidth, + ) + ], + ), + ); + } + + _buildBottom() { + return Container( + margin: EdgeInsets.only(left: 10, right: 10, top: 0, bottom: 10), + padding: EdgeInsets.only(left: 10, right: 10, top: 10, bottom: 10), + decoration: BoxDecoration(color: HexColor.fromHex("#FFFFFF"), borderRadius: BorderRadius.circular(10)), + child: Column( + children: [ + Row( + children: [ + Container( + width: 4, + height: 14, + margin: EdgeInsets.only(right: 10), + decoration: BoxDecoration(color: HexColor.fromHex("#FF2020"), borderRadius: BorderRadius.circular(10)), + ), + Text( + "查询规则?", + style: TextStyle(color: HexColor.fromHex("#333333"), fontSize: 15, fontWeight: FontWeight.w500), + ) + ], + ), + SizedBox( + height: 16, + ), + ListView( + shrinkWrap: true, + physics: NeverScrollableScrollPhysics(), + children: [ + Text( + ''' + 1.购买人没同步的订单可通过订单查询找回; +2.当查找人查找到订单,并且该订单在订单库确实找不到归 +属时,该订单归属到查找人; +3.当有多个用户输入同一订单号,以第一个输入人为准; +4.已归属的订单不支持继续查询; +5.建议购买人自查,运营商帮助超级会员查询时,不要点击 +确认找回,可让购买人自查并找回; +6.收益将按查找人的当前的用户关系进行归属。 + ''', + style: TextStyle(color: HexColor.fromHex("#999999"), fontSize: 12, fontWeight: FontWeight.w500), + ) + ], + ) + ], + ), + ); + } + + _buildTest() { + return OrderFoundNav(); + } +} diff --git a/lib/widgets/custom/ordedr_found/order_found_nav/order_found_nav.dart b/lib/widgets/custom/ordedr_found/order_found_nav/order_found_nav.dart new file mode 100644 index 0000000..d650ded --- /dev/null +++ b/lib/widgets/custom/ordedr_found/order_found_nav/order_found_nav.dart @@ -0,0 +1,90 @@ +import 'package:flutter/material.dart'; +import 'package:zhiying_comm/util/extension/color.dart'; +import 'package:zhiying_comm/zhiying_comm.dart'; + +class OrderFoundNav extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.only(left: 10, right: 10, top: 10, bottom: 10), + padding: EdgeInsets.only(left: 10, right: 10, top: 10, bottom: 10), + decoration: BoxDecoration(color: HexColor.fromHex("#FFFFFF"), borderRadius: BorderRadius.circular(10)), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + width: 4, + height: 14, + decoration: BoxDecoration(color: HexColor.fromHex("#FF2020"), borderRadius: BorderRadius.circular(10)), + margin: EdgeInsets.only(right: 10), + ), + Text( + "如何获取订单编号?", + style: TextStyle(color: HexColor.fromHex("#333333"), fontSize: 15, fontWeight: FontWeight.w500), + ) + ], + ), + Padding( + padding: const EdgeInsets.only(left: 15), + child: Text( + "美图、饿了么、权益等", + style: TextStyle(color: HexColor.fromHex("#999999"), fontSize: 12, fontWeight: FontWeight.w500), + ), + ), + SizedBox( + height: 10, + ), + createNav() + ], + ), + ); + } + + createNav() { + List listWidget = List(); + + for (var index = 0; index < 2; index++) { + listWidget.add(Row( + children: _buildRow(index), + )); + } + + return Column(children: listWidget); + } + + _buildRow(int index2) { + List listWidget = List(); + + for (var index = 0; index < 5; index++) { + listWidget.add(Expanded( + child: _buildItem(), + )); + } + + return listWidget; + } + + _buildItem() { + return Container( + margin: EdgeInsets.only(top: 10), + child: Column( + children: [ + CachedNetworkImage( + imageUrl: "https://alipic.lanhuapp.com/SketchPngcc0450a94dea814bcb680581f96ff1646a8b4f7c00a496f21e808f6c3dbfebe1", + width: 40, + height: 40, + ), + SizedBox( + height: 6, + ), + Text( + "苏宁", + style: TextStyle(color: HexColor.fromHex("#333333"), fontSize: 12), + ), + ], + ), + ); + } +} diff --git a/lib/zhiying_base_widget.dart b/lib/zhiying_base_widget.dart index ed9c031..dfe74eb 100644 --- a/lib/zhiying_base_widget.dart +++ b/lib/zhiying_base_widget.dart @@ -13,6 +13,7 @@ export 'package:amap_flutter_location/amap_flutter_location.dart'; export 'package:amap_flutter_location/amap_location_option.dart'; export 'package:tab_indicator_styler/tab_indicator_styler.dart'; export 'package:zhiying_base_widget/dialog/global_dialog/notification_setting_dialog/notification_setting_dialog.dart'; +export 'pages/order_found_page/order_found_search_page/order_found_search_page.dart'; class ZhiyingBaseWidget { static const MethodChannel _channel = const MethodChannel('zhiying_base_widget'); From 462fd61c2ad23848eddb537339a2dc4d5458979a Mon Sep 17 00:00:00 2001 From: "23028876916@qq.com" Date: Fri, 14 May 2021 14:17:30 +0800 Subject: [PATCH 3/8] =?UTF-8?q?0514=20=E8=AE=A2=E5=8D=95=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E9=A1=B5=E9=9D=A2=E9=83=A8=E5=88=86=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order_found_result_bloc.dart | 31 ++ .../order_found_result_model.dart | 104 +++++ .../order_found_result_page.dart | 430 ++++++++++++++++++ 3 files changed, 565 insertions(+) create mode 100644 lib/pages/order_found_page/order_found_result/order_found_result_bloc.dart create mode 100644 lib/pages/order_found_page/order_found_result/order_found_result_model.dart create mode 100644 lib/pages/order_found_page/order_found_result/order_found_result_page.dart diff --git a/lib/pages/order_found_page/order_found_result/order_found_result_bloc.dart b/lib/pages/order_found_page/order_found_result/order_found_result_bloc.dart new file mode 100644 index 0000000..db622c8 --- /dev/null +++ b/lib/pages/order_found_page/order_found_result/order_found_result_bloc.dart @@ -0,0 +1,31 @@ +import 'dart:async'; + +import 'package:zhiying_comm/util/base_bloc.dart'; + +import 'order_found_result_model.dart'; + +class OrderFoundResultBloc + extends BlocBase +{ + StreamController streamController = StreamController(); + + OrderFoundResultModel orderFoundResultModel; + + Stream get outData { + return streamController.stream; + } + + //获取页面数据 + getData() { + // NetUtil.request("", method: NetMethod.POST, onSuccess: (data) { + // }); + orderFoundResultModel = OrderFoundResultModel(); + streamController.add(orderFoundResultModel); + } + + @override + void dispose() { + streamController.close(); + // TODO: implement dispose + } +} diff --git a/lib/pages/order_found_page/order_found_result/order_found_result_model.dart b/lib/pages/order_found_page/order_found_result/order_found_result_model.dart new file mode 100644 index 0000000..cdc1f1b --- /dev/null +++ b/lib/pages/order_found_page/order_found_result/order_found_result_model.dart @@ -0,0 +1,104 @@ +class OrderFoundResultModel { + int uid; + String nickname; + bool hidOrder; + String ordId; + String providerOid; + String itemId; + int itemNum; + String itemTitle; + String itemPrice; + String provider; + String paidPrice; + int orderType; + int priceType; + String priceName; + String userCommission; + String userCommissionRate; + String reason; + int state; + String createAt; + String updateAt; + String confirmAt; + String settleAt; + String thumbnail; + + OrderFoundResultModel( + {this.uid, + this.nickname, + this.hidOrder, + this.ordId, + this.providerOid, + this.itemId, + this.itemNum, + this.itemTitle, + this.itemPrice, + this.provider, + this.paidPrice, + this.orderType, + this.priceType, + this.priceName, + this.userCommission, + this.userCommissionRate, + this.reason, + this.state, + this.createAt, + this.updateAt, + this.confirmAt, + this.settleAt, + this.thumbnail}); + + OrderFoundResultModel.fromJson(Map json) { + uid = json['uid']; + nickname = json['nickname']; + hidOrder = json['hid_order']; + ordId = json['ord_id']; + providerOid = json['provider_oid']; + itemId = json['item_id']; + itemNum = json['item_num']; + itemTitle = json['item_title']; + itemPrice = json['item_price']; + provider = json['provider']; + paidPrice = json['paid_price']; + orderType = json['order_type']; + priceType = json['price_type']; + priceName = json['price_name']; + userCommission = json['user_commission']; + userCommissionRate = json['user_commission_rate']; + reason = json['reason']; + state = json['state']; + createAt = json['create_at']; + updateAt = json['update_at']; + confirmAt = json['confirm_at']; + settleAt = json['settle_at']; + thumbnail = json['thumbnail']; + } + + Map toJson() { + final Map data = new Map(); + data['uid'] = this.uid; + data['nickname'] = this.nickname; + data['hid_order'] = this.hidOrder; + data['ord_id'] = this.ordId; + data['provider_oid'] = this.providerOid; + data['item_id'] = this.itemId; + data['item_num'] = this.itemNum; + data['item_title'] = this.itemTitle; + data['item_price'] = this.itemPrice; + data['provider'] = this.provider; + data['paid_price'] = this.paidPrice; + data['order_type'] = this.orderType; + data['price_type'] = this.priceType; + data['price_name'] = this.priceName; + data['user_commission'] = this.userCommission; + data['user_commission_rate'] = this.userCommissionRate; + data['reason'] = this.reason; + data['state'] = this.state; + data['create_at'] = this.createAt; + data['update_at'] = this.updateAt; + data['confirm_at'] = this.confirmAt; + data['settle_at'] = this.settleAt; + data['thumbnail'] = this.thumbnail; + return data; + } +} \ No newline at end of file diff --git a/lib/pages/order_found_page/order_found_result/order_found_result_page.dart b/lib/pages/order_found_page/order_found_result/order_found_result_page.dart new file mode 100644 index 0000000..aea0bb4 --- /dev/null +++ b/lib/pages/order_found_page/order_found_result/order_found_result_page.dart @@ -0,0 +1,430 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:zhiying_base_widget/pages/order_found_page/order_found_result/order_found_result_bloc.dart'; + +import 'package:zhiying_comm/zhiying_comm.dart'; + +class OrderFoundResultPage extends StatefulWidget { + @override + _OrderFoundResultPageState createState() => _OrderFoundResultPageState(); +} + +class _OrderFoundResultPageState extends State { + OrderFoundResultBloc _bloc; + bool hasData = true; + + @override + void initState() { + // TODO: implement initState + super.initState(); + _bloc = OrderFoundResultBloc(); + _bloc.getData(); + } + + retrieveOrderClick() { + print("是我的,找回该订单点击"); + Map params = {}; + params['oid'] = ""; + NetUtil.request('/api/v1/order/find', + method: NetMethod.POST, params: params, onSuccess: (data) {}); + } + + continueToQuery() { + print("继续查询点击"); + Navigator.pop(context); + } + + //复制订单号 + copyOrderCode() { + ClipboardData data = new ClipboardData(text: "复制的内容"); + Clipboard.setData(data); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + elevation: 0, + brightness: Brightness.light, + backgroundColor: Colors.white, + title: Text( + "订单查询", + style: TextStyle( + fontSize: 16, + color: HexColor.fromHex("#FF333333"), + fontWeight: FontWeight.w600), + ), + centerTitle: true, + leading: Navigator.canPop(context) + ? IconButton( + icon: Icon( + Icons.arrow_back_ios, + size: 18, + color: HexColor.fromHex("#FF444444"), + ), + onPressed: () { + Navigator.pop(context); + }) + : Container(), + ), + body: Container( + child: hasData ? hasOrderView() : emptyView(), + ), + ); + } + + //有订单数据的页面 + hasOrderView() { + return Column( + children: [ + Expanded( + child: Column( + children: [ + orderTip(), //提示文字 + orderMsg(), //订单数据 + ], + )), + //继续查询按钮 + GestureDetector( + onTap: () { + continueToQuery(); + }, + behavior: HitTestBehavior.opaque, + child: Container( + padding: EdgeInsets.all(12), + child: Text( + "不是我的,继续查询", + style: TextStyle(fontSize: 14, color: HexColor.fromHex("#FF999999")), + ), + ), + ), + //找回订单按钮 + GestureDetector( + onTap: () { + retrieveOrderClick(); + }, + behavior: HitTestBehavior.opaque, + child: Container( + height: 50, + width: double.infinity, + margin: EdgeInsets.only(left: 24, right: 24, bottom: 24), + decoration: + BoxDecoration(borderRadius: BorderRadius.circular(12), color: Colors.red), + alignment: Alignment.center, + child: Text( + "是我的,找回该订单", + style: TextStyle(fontSize: 14, color: Colors.white), + ), + ), + ), + ], + ); + } + + //提示文字 + orderTip() { + return Container( + margin: EdgeInsets.only(top: 15, left: 12), + child: Row( + children: [ + Container( + margin: EdgeInsets.only(right: 5), + width: 4, + height: 15, + decoration: + BoxDecoration(borderRadius: BorderRadius.circular(2), color: Colors.red), + ), + Text( + "是否为这笔订单?", + style: TextStyle( + fontSize: 15, + color: HexColor.fromHex("#FF333333"), + fontWeight: FontWeight.bold), + ) + ], + ), + ); + } + + //订单数据 + orderMsg() { + return Container( + height: 150, + margin: EdgeInsets.only(top: 10, left: 12, right: 12), + padding: EdgeInsets.only(top: 10, left: 10, right: 10), + decoration: + BoxDecoration(borderRadius: BorderRadius.circular(12), color: Colors.white), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "自购订单", + style: TextStyle( + fontSize: 12, + color: HexColor.fromHex("#FF333333"), + fontWeight: FontWeight.w600), + ), + Text( + "已结算", + style: TextStyle( + fontSize: 12, + color: HexColor.fromHex("#FF999999"), + fontWeight: FontWeight.w600), + ), + ], + ), + Container( + child: Row( + children: [ + Container( + margin: EdgeInsets.only(top: 10, bottom: 10), + width: 97, + height: 97, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(7.5), + image: DecorationImage( + image: NetworkImage( + "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fg.search.alicdn.com%2Fimg%2Fbao%2Fuploaded%2Fi4%2Fi2%2F2012325070%2FO1CN01LQlnX41nK6dBt4ILq_%21%212012325070.jpg&refer=http%3A%2F%2Fg.search.alicdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1623381327&t=ee9bbd715990660f92747f181a0c3858"), + fit: BoxFit.fill)), + ), + Expanded( + child: Container( + margin: EdgeInsets.only(left: 10), + height: 100, + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + margin: EdgeInsets.only(right: 4), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(2.5), + color: Colors.red), + padding: EdgeInsets.only(left: 10, right: 10), + child: Text( + "京东", + style: TextStyle(fontSize: 10, color: Colors.white), + ), + ), + Expanded( + child: Text( + "桶装水抽水器饮水机泵器动桶装水抽水器饮水机泵器动", + style: TextStyle( + fontSize: 13, + color: HexColor.fromHex("#FF333333"), + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ) + ], + ), + Row( + children: [ + Text( + "订单编号:15487945211587", + style: TextStyle( + fontSize: 10, + color: HexColor.fromHex("#FF999999"), + ), + ), + GestureDetector( + onTap: () { + copyOrderCode(); + }, + behavior: HitTestBehavior.opaque, + child: Container( + width: 40, + margin: EdgeInsets.only(left: 4), + decoration: BoxDecoration( + border: new Border.all( + color: HexColor.fromHex("#FFD6D6D6"), width: 0.5), + borderRadius: BorderRadius.circular(2.5), + color: HexColor.fromHex("#FFF5F5F5")), + alignment: Alignment.center, + child: Text( + "复制", + style: TextStyle( + fontSize: 9, color: HexColor.fromHex("#FF999999")), + ), + ), + ) + ], + ), + Text( + "下单时间:2020-06-18 17:11:15", + style: TextStyle( + fontSize: 10, + color: HexColor.fromHex("#FF999999"), + ), + ), + Text( + "完成时间:2020-06-18 17:11:15", + style: TextStyle( + fontSize: 10, + color: HexColor.fromHex("#FF999999"), + ), + ), + Row( + children: [ + Expanded( + child: Text( + "订单金额:¥ 199", + style: TextStyle( + fontSize: 10, + color: HexColor.fromHex("#FF333333"), + ), + ), + ), + // RichText( + // text: TextSpan(children: [ + // TextSpan( + // text: "收益:¥ ", + // style: TextStyle( + // fontSize: 11, + // color: Colors.red, + // fontWeight: FontWeight.w600)), + // TextSpan( + // text: "10.19", + // style: TextStyle( + // fontSize: 18, + // color: Colors.red, + // fontWeight: FontWeight.w600)) + // ]), + // ) + ], + ), + ], + ), + ), + ), + ], + ), + ), + // Container( + // padding: EdgeInsets.only(left: 6), + // height: 25, + // alignment: Alignment.centerLeft, + // decoration: BoxDecoration( + // borderRadius: BorderRadius.circular(2.5), + // color: HexColor.fromHex("#FFF9F9F9")), + // child: RichText( + // text: TextSpan(children: [ + // TextSpan( + // text: "补贴于", + // style: TextStyle( + // fontSize: 10, color: HexColor.fromHex("#FF666666"))), + // TextSpan( + // text: "2020年07月23日", + // style: TextStyle( + // fontSize: 10, color: HexColor.fromHex("#FFFF4242"))), + // TextSpan( + // text: "到账,注意查收", + // style: TextStyle( + // fontSize: 10, color: HexColor.fromHex("#FF666666"))) + // ]), + // ), + // ) + ], + ), + ); + } + + //没有订单数据的空页面 + emptyView() { + return Column( + children: [ + Expanded( + child: Column( + children: [ + Container( + width: double.infinity, + margin: EdgeInsets.only(top: 8, left: 12, right: 12), + padding: EdgeInsets.only(bottom: 16, left: 12, right: 12, top: 28), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(12), color: Colors.white), + child: Column( + children: [ + Image.network( + "https://alipic.lanhuapp.com/SketchPng9ae52da74764fe05917a1d5a4a8d5eb94a9013106c4412056afa00340164bde5", + width: 152, + fit: BoxFit.fitWidth, + ), + Container( + margin: EdgeInsets.only(top: 16), + child: Text( + "未查询到该订单", + style: + TextStyle(fontSize: 15, color: HexColor.fromHex("#FF999999")), + ), + ), + Container( + margin: EdgeInsets.only(top: 24), + color: HexColor.fromHex("#FFF9F9F9"), + ), + Container( + margin: EdgeInsets.only(top: 16), + child: Row( + children: [ + Container( + margin: EdgeInsets.only(right: 5), + width: 4, + height: 15, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(2), color: Colors.red), + ), + Text( + "未查询到该订单可能原因", + style: TextStyle( + fontSize: 15, + color: HexColor.fromHex("#FF333333"), + fontWeight: FontWeight.bold), + ) + ], + ), + ), + Container( + alignment: Alignment.topLeft, + margin: EdgeInsets.only(top: 8), + child: Text( + "1.订单有延迟,建议下单后15分钟再查询\n" + "2.非您购买或推广的订单" + "
3.不是通过本APP下的订单
" + "4.创建订单超过40分钟付款,次日才能同步", + style: + TextStyle(fontSize: 12, color: HexColor.fromHex("#FF999999")), + ), + ) + ], + ), + ), + ], + )), + GestureDetector( + onTap: () { + continueToQuery(); + }, + behavior: HitTestBehavior.opaque, + child: Container( + height: 50, + width: double.infinity, + margin: EdgeInsets.only(left: 24, right: 24, bottom: 24), + decoration: + BoxDecoration(borderRadius: BorderRadius.circular(12), color: Colors.red), + alignment: Alignment.center, + child: Text( + "重新查询", + style: TextStyle(fontSize: 14, color: Colors.white), + ), + ), + ), + ], + ); + } +} From e0d14649f4ce52637037319437b4b327baec3e17 Mon Sep 17 00:00:00 2001 From: "23028876916@qq.com" Date: Fri, 14 May 2021 14:57:46 +0800 Subject: [PATCH 4/8] =?UTF-8?q?0514=20=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dart_tool/package_config.json | 746 ++++++++++++++++++ .../MainActivity.java | 8 + .../order_found_result_page.dart | 80 +- pubspec.yaml | 4 +- 4 files changed, 808 insertions(+), 30 deletions(-) create mode 100644 .dart_tool/package_config.json diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json new file mode 100644 index 0000000..d3450a5 --- /dev/null +++ b/.dart_tool/package_config.json @@ -0,0 +1,746 @@ +{ + "configVersion": 2, + "packages": [ + { + "name": "ali_auth_wbq", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/zhiying_ali_auth_wbq-f6421fe5735eab13738946da8fa7405e7aa952c6/", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "amap_flutter_location", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/amap_flutter_location-1.0.1", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "archive", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/archive-2.0.13", + "packageUri": "lib/", + "languageVersion": "2.0" + }, + { + "name": "args", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/args-1.6.0", + "packageUri": "lib/", + "languageVersion": "2.3" + }, + { + "name": "async", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.5.0-nullsafety.1", + "packageUri": "lib/", + "languageVersion": "2.10" + }, + { + "name": "bloc", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/bloc-5.0.1", + "packageUri": "lib/", + "languageVersion": "2.6" + }, + { + "name": "boolean_selector", + "rootUri": "file:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-2.5.1", + "packageUri": "lib/", + "languageVersion": "2.10" + }, + { + "name": "characters", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.1.0-nullsafety.3", + "packageUri": "lib/", + "languageVersion": "2.10" + }, + { + "name": "charcode", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.2.0-nullsafety.1", + "packageUri": "lib/", + "languageVersion": "2.10" + }, + { + "name": "clock", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0-nullsafety.1", + "packageUri": "lib/", + "languageVersion": "2.10" + }, + { + "name": "collection", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0-nullsafety.3", + "packageUri": "lib/", + "languageVersion": "2.10" + }, + { + "name": "convert", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/convert-2.1.1", + "packageUri": "lib/", + "languageVersion": "1.17" + }, + { + "name": "cookie_jar", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cookie_jar-1.0.1", + "packageUri": "lib/", + "languageVersion": "1.20" + }, + { + "name": "crypto", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/crypto-2.1.5", + "packageUri": "lib/", + "languageVersion": "2.3" + }, + { + "name": "cubit", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cubit-0.1.2", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "device_info", + "rootUri": "file:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/device_info_platform_interface-1.0.1", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "dio", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio-3.0.10", + "packageUri": "lib/", + "languageVersion": "2.4" + }, + { + "name": "dio_cookie_manager", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio_cookie_manager-1.0.0", + "packageUri": "lib/", + "languageVersion": "2.4" + }, + { + "name": "equatable", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/equatable-1.2.6", + "packageUri": "lib/", + "languageVersion": "2.0" + }, + { + "name": "event_bus", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/event_bus-1.1.1", + "packageUri": "lib/", + "languageVersion": "2.0" + }, + { + "name": "fake_async", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0-nullsafety.1", + "packageUri": "lib/", + "languageVersion": "2.10" + }, + { + "name": "ffi", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/ffi-0.1.3", + "packageUri": "lib/", + "languageVersion": "2.6" + }, + { + "name": "file", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/file-5.2.1", + "packageUri": "lib/", + "languageVersion": "2.2" + }, + { + "name": "flutter", + "rootUri": "file:///D:/flutter/flutter/packages/flutter", + "packageUri": "lib/", + "languageVersion": "2.10" + }, + { + "name": "flutter_alibc", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/zhiying_flutter_alibc-321acab9044f4097088c4235f46d16a4946eec9f/", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "flutter_bloc", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_bloc-5.0.1", + "packageUri": "lib/", + "languageVersion": "2.6" + }, + { + "name": "flutter_blurhash", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_blurhash-0.5.0", + "packageUri": "lib/", + "languageVersion": "2.4" + }, + { + "name": "flutter_cache_manager", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_cache_manager-2.1.0", + "packageUri": "lib/", + "languageVersion": "2.6" + }, + { + "name": "flutter_clipboard_plugin", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/flutter_clipboard_plugin-409b284517d93c775a502176389047fa73064900/", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "flutter_cubit", + "rootUri": "file:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/git/flutter-cupertino-date-picker-82142a924a770e68dca2a2f7b51449166870d7e2/", + "packageUri": "lib/", + "languageVersion": "1.19" + }, + { + "name": "flutter_native_image", + "rootUri": "file:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_screenutil-1.1.0", + "packageUri": "lib/", + "languageVersion": "2.6" + }, + { + "name": "flutter_slidable", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_slidable-0.5.7", + "packageUri": "lib/", + "languageVersion": "1.19" + }, + { + "name": "flutter_swiper", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_swiper-1.1.6", + "packageUri": "lib/", + "languageVersion": "2.0" + }, + { + "name": "flutter_test", + "rootUri": "file:///D:/flutter/flutter/packages/flutter_test", + "packageUri": "lib/", + "languageVersion": "2.2" + }, + { + "name": "flutter_update_dialog", + "rootUri": "file:///D:/flutter/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:///D:/flutter/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:///D:/flutter/flutter/packages/flutter_web_plugins", + "packageUri": "lib/", + "languageVersion": "2.0" + }, + { + "name": "flutter_xupdate", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/flutter_xupdate-d17c695461ee4588dec990533d7467c11884cd0f/", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "fluttertoast", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluttertoast-4.0.1", + "packageUri": "lib/", + "languageVersion": "2.0" + }, + { + "name": "fluwx", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluwx-2.6.2", + "packageUri": "lib/", + "languageVersion": "2.6" + }, + { + "name": "http", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.2", + "packageUri": "lib/", + "languageVersion": "2.4" + }, + { + "name": "http_parser", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.4", + "packageUri": "lib/", + "languageVersion": "2.3" + }, + { + "name": "image", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image-2.1.19", + "packageUri": "lib/", + "languageVersion": "2.0" + }, + { + "name": "image_cropper", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/Image_Cropper-e32f2264f86a27a2f5d7a7a5e26c6154eaf5798e/", + "packageUri": "lib/", + "languageVersion": "1.20" + }, + { + "name": "image_picker", + "rootUri": "file:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker_platform_interface-1.1.6", + "packageUri": "lib/", + "languageVersion": "2.5" + }, + { + "name": "intl", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/intl-0.16.1", + "packageUri": "lib/", + "languageVersion": "2.5" + }, + { + "name": "jdsdk", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/jdsdk-0.0.1", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "loading_indicator", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/loading_indicator-1.2.0", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "matcher", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.10-nullsafety.1", + "packageUri": "lib/", + "languageVersion": "2.10" + }, + { + "name": "meta", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.3.0-nullsafety.3", + "packageUri": "lib/", + "languageVersion": "2.10" + }, + { + "name": "mobcommonlib", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobcommonlib-1.0.2", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "moblink", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/moblink-5472bb698d70e336cf55febb9b0a209411466632/", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "mobpush_plugin", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobpush_plugin-1.1.6", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "mobsms", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobsms-1.1.3", + "packageUri": "lib/", + "languageVersion": "2.0" + }, + { + "name": "more_picture_share", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/more_picture_share-4767c418bfe4b8d75f9f8958199384141ba88e21/", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "nested", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/nested-0.0.4", + "packageUri": "lib/", + "languageVersion": "2.2" + }, + { + "name": "octo_image", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/octo_image-0.3.0", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "package_info", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3+4", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "path", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0-nullsafety.1", + "packageUri": "lib/", + "languageVersion": "2.10" + }, + { + "name": "path_provider", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider-1.6.28", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "path_provider_linux", + "rootUri": "file:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-0.0.4+3", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "pedantic", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.9.2", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "permission_handler", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/permission_handler-c51d87952b6947996eebeb1fa84f52db6436c596/", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "permission_handler_platform_interface", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/permission_handler_platform_interface-2.0.1", + "packageUri": "lib/", + "languageVersion": "2.6" + }, + { + "name": "petitparser", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/petitparser-3.1.0", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "photo_view", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/photo_view-0.10.3", + "packageUri": "lib/", + "languageVersion": "2.6" + }, + { + "name": "platform", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/platform-2.2.1", + "packageUri": "lib/", + "languageVersion": "1.24" + }, + { + "name": "plugin_platform_interface", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-1.0.2", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "process", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/process-3.0.13", + "packageUri": "lib/", + "languageVersion": "2.0" + }, + { + "name": "provider", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/provider-4.3.3", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "pull_to_refresh", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/flutter_pulltorefresh-78a12e0ea45fdf1fbc615b8d243e0f4a8667489f/", + "packageUri": "lib/", + "languageVersion": "2.10" + }, + { + "name": "rxdart", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/rxdart-0.25.0", + "packageUri": "lib/", + "languageVersion": "2.6" + }, + { + "name": "save_image", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/save_image-22e462499b373bb78611311d3ec9a14a64820f61/", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "secverify", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/secverify-5ec756e9fe63339209cc6906a37a778952ac61f1/", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "share_extend", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/share_extend-1.1.9", + "packageUri": "lib/", + "languageVersion": "2.0" + }, + { + "name": "shared_preferences", + "rootUri": "file:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/git/sharesdk_plugin-f947c09803374acdc4fb720ccb5356d0779afe2f/", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "shimmer", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shimmer-1.1.2", + "packageUri": "lib/", + "languageVersion": "1.20" + }, + { + "name": "sky_engine", + "rootUri": "file:///D:/flutter/flutter/bin/cache/pkg/sky_engine", + "packageUri": "lib/", + "languageVersion": "1.11" + }, + { + "name": "source_span", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.0-nullsafety.2", + "packageUri": "lib/", + "languageVersion": "2.10" + }, + { + "name": "sqflite", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite-1.3.1+2", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "sqflite_common", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite_common-1.0.3+3", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "stack_trace", + "rootUri": "file:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_validator-0.1.4", + "packageUri": "lib/", + "languageVersion": "2.0" + }, + { + "name": "synchronized", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/synchronized-2.2.0+2", + "packageUri": "lib/", + "languageVersion": "2.8" + }, + { + "name": "tab_indicator_styler", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/tab_indicator_styler-1.0.0", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "term_glyph", + "rootUri": "file:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.2.19-nullsafety.2", + "packageUri": "lib/", + "languageVersion": "2.10" + }, + { + "name": "tobias", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/tobias-15f6acb72df68703c96b2d8a14e1ab28f5dcc008/", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "transformer_page_view", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/transformer_page_view-0.1.6", + "packageUri": "lib/", + "languageVersion": "2.0" + }, + { + "name": "typed_data", + "rootUri": "file:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-5.7.10", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "url_launcher_linux", + "rootUri": "file:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-0.0.1+3", + "packageUri": "lib/", + "languageVersion": "2.1" + }, + { + "name": "uuid", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/uuid-2.2.2", + "packageUri": "lib/", + "languageVersion": "2.2" + }, + { + "name": "vector_math", + "rootUri": "file:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/webview_flutter-1.0.7", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "win32", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/win32-1.7.4+1", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "xdg_directories", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/xdg_directories-0.1.2", + "packageUri": "lib/", + "languageVersion": "2.3" + }, + { + "name": "xml", + "rootUri": "file:///D:/flutter/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_flutter_webview", + "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/zhiying_flutter_webview-08b92b596b1002265c72b51b6bcb1f11506de9b7/", + "packageUri": "lib/", + "languageVersion": "2.7" + }, + { + "name": "zhiying_base_widget", + "rootUri": "../", + "packageUri": "lib/", + "languageVersion": "2.8" + } + ], + "generated": "2021-05-14T06:05:16.178616Z", + "generator": "pub", + "generatorVersion": "2.10.1" +} 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 6f2cd4f..c2adee2 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 @@ -161,6 +161,14 @@ public class MainActivity extends FlutterActivity implements ZhiyingFlutterCommN 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", "22255132"); +// 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/pages/order_found_page/order_found_result/order_found_result_page.dart b/lib/pages/order_found_page/order_found_result/order_found_result_page.dart index aea0bb4..bb40e22 100644 --- a/lib/pages/order_found_page/order_found_result/order_found_result_page.dart +++ b/lib/pages/order_found_page/order_found_result/order_found_result_page.dart @@ -3,30 +3,66 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:zhiying_base_widget/pages/order_found_page/order_found_result/order_found_result_bloc.dart'; +import 'package:zhiying_base_widget/pages/order_found_page/order_found_result/order_found_result_model.dart'; import 'package:zhiying_comm/zhiying_comm.dart'; class OrderFoundResultPage extends StatefulWidget { + //有数据的model + final OrderFoundResultModel orderFoundResultModel; + + //没有订单数据的空页面的title + final String emptyOrderTitle; + + //没有订单数据的空页面的内容 + final String emptyOrderContent; + + //没有订单数据的空页面的图片 + final String emptyOrderPic; + + const OrderFoundResultPage( + {Key key, + this.orderFoundResultModel, + this.emptyOrderTitle, + this.emptyOrderContent, + this.emptyOrderPic}) + : super(key: key); + @override _OrderFoundResultPageState createState() => _OrderFoundResultPageState(); } class _OrderFoundResultPageState extends State { - OrderFoundResultBloc _bloc; + // OrderFoundResultBloc _bloc; bool hasData = true; + OrderFoundResultModel model; + + String emptyOrderTitle; + String emptyOrderContent; + String emptyOrderPic; + @override void initState() { // TODO: implement initState super.initState(); - _bloc = OrderFoundResultBloc(); - _bloc.getData(); + model = widget.orderFoundResultModel; + if (!EmptyUtil.isEmpty(model)) { + hasData = true; + } else { + hasData = false; + } + emptyOrderTitle = widget.emptyOrderTitle; + emptyOrderContent = widget.emptyOrderContent; + emptyOrderPic = widget.emptyOrderPic; + // _bloc = OrderFoundResultBloc(); + // _bloc.getData(); } retrieveOrderClick() { print("是我的,找回该订单点击"); Map params = {}; - params['oid'] = ""; + params['oid'] = model?.ordId; NetUtil.request('/api/v1/order/find', method: NetMethod.POST, params: params, onSuccess: (data) {}); } @@ -38,7 +74,7 @@ class _OrderFoundResultPageState extends State { //复制订单号 copyOrderCode() { - ClipboardData data = new ClipboardData(text: "复制的内容"); + ClipboardData data = new ClipboardData(text: model?.ordId); Clipboard.setData(data); } @@ -168,13 +204,6 @@ class _OrderFoundResultPageState extends State { color: HexColor.fromHex("#FF333333"), fontWeight: FontWeight.w600), ), - Text( - "已结算", - style: TextStyle( - fontSize: 12, - color: HexColor.fromHex("#FF999999"), - fontWeight: FontWeight.w600), - ), ], ), Container( @@ -187,9 +216,7 @@ class _OrderFoundResultPageState extends State { decoration: BoxDecoration( borderRadius: BorderRadius.circular(7.5), image: DecorationImage( - image: NetworkImage( - "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fg.search.alicdn.com%2Fimg%2Fbao%2Fuploaded%2Fi4%2Fi2%2F2012325070%2FO1CN01LQlnX41nK6dBt4ILq_%21%212012325070.jpg&refer=http%3A%2F%2Fg.search.alicdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1623381327&t=ee9bbd715990660f92747f181a0c3858"), - fit: BoxFit.fill)), + image: NetworkImage(model?.thumbnail ?? ""), fit: BoxFit.fill)), ), Expanded( child: Container( @@ -208,13 +235,13 @@ class _OrderFoundResultPageState extends State { color: Colors.red), padding: EdgeInsets.only(left: 10, right: 10), child: Text( - "京东", + model?.provider, style: TextStyle(fontSize: 10, color: Colors.white), ), ), Expanded( child: Text( - "桶装水抽水器饮水机泵器动桶装水抽水器饮水机泵器动", + model?.itemTitle, style: TextStyle( fontSize: 13, color: HexColor.fromHex("#FF333333"), @@ -228,7 +255,7 @@ class _OrderFoundResultPageState extends State { Row( children: [ Text( - "订单编号:15487945211587", + "订单编号:${model?.ordId}", style: TextStyle( fontSize: 10, color: HexColor.fromHex("#FF999999"), @@ -258,14 +285,14 @@ class _OrderFoundResultPageState extends State { ], ), Text( - "下单时间:2020-06-18 17:11:15", + "下单时间:${model?.createAt}", style: TextStyle( fontSize: 10, color: HexColor.fromHex("#FF999999"), ), ), Text( - "完成时间:2020-06-18 17:11:15", + "完成时间:${model?.updateAt}", style: TextStyle( fontSize: 10, color: HexColor.fromHex("#FF999999"), @@ -275,7 +302,7 @@ class _OrderFoundResultPageState extends State { children: [ Expanded( child: Text( - "订单金额:¥ 199", + "订单金额:¥ ${model?.paidPrice}", style: TextStyle( fontSize: 10, color: HexColor.fromHex("#FF333333"), @@ -351,8 +378,8 @@ class _OrderFoundResultPageState extends State { borderRadius: BorderRadius.circular(12), color: Colors.white), child: Column( children: [ - Image.network( - "https://alipic.lanhuapp.com/SketchPng9ae52da74764fe05917a1d5a4a8d5eb94a9013106c4412056afa00340164bde5", + CachedNetworkImage( + imageUrl: emptyOrderPic ?? "", width: 152, fit: BoxFit.fitWidth, ), @@ -380,7 +407,7 @@ class _OrderFoundResultPageState extends State { borderRadius: BorderRadius.circular(2), color: Colors.red), ), Text( - "未查询到该订单可能原因", + emptyOrderTitle ?? "", style: TextStyle( fontSize: 15, color: HexColor.fromHex("#FF333333"), @@ -393,10 +420,7 @@ class _OrderFoundResultPageState extends State { alignment: Alignment.topLeft, margin: EdgeInsets.only(top: 8), child: Text( - "1.订单有延迟,建议下单后15分钟再查询\n" - "2.非您购买或推广的订单" - "
3.不是通过本APP下的订单
" - "4.创建订单超过40分钟付款,次日才能同步", + emptyOrderContent ?? "", style: TextStyle(fontSize: 12, color: HexColor.fromHex("#FF999999")), ), diff --git a/pubspec.yaml b/pubspec.yaml index 8ff9ac7..f465504 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -39,8 +39,8 @@ dependencies: # image_gallery_saver: ^1.6.0 permission_handler: git: - ref: 0.0.2 url: http://192.168.0.138:3000/FnuoOS_Flutter_Components/permission_handler.git + ref: 0.0.2 more_picture_share: git: @@ -63,8 +63,8 @@ dependencies: zhiying_flutter_webview: git: - ref: 0.0.4 url: http://192.168.0.138:3000/FnuoOS_ZhiYing/zhiying_flutter_webview.git + ref: 0.0.4 # 特效底部 # convex_bottom_bar: ^2.7.1+2 From ba9d03e7d61aef87f8da6e4f7e18685c7143daf7 Mon Sep 17 00:00:00 2001 From: "23028876916@qq.com" Date: Fri, 14 May 2021 14:59:06 +0800 Subject: [PATCH 5/8] =?UTF-8?q?0514=20=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dart_tool/package_config.json | 746 --------------------------------- 1 file changed, 746 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 d3450a5..0000000 --- a/.dart_tool/package_config.json +++ /dev/null @@ -1,746 +0,0 @@ -{ - "configVersion": 2, - "packages": [ - { - "name": "ali_auth_wbq", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/zhiying_ali_auth_wbq-f6421fe5735eab13738946da8fa7405e7aa952c6/", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "amap_flutter_location", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/amap_flutter_location-1.0.1", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "archive", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/archive-2.0.13", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "args", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/args-1.6.0", - "packageUri": "lib/", - "languageVersion": "2.3" - }, - { - "name": "async", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.5.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "bloc", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/bloc-5.0.1", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "boolean_selector", - "rootUri": "file:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-2.5.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "characters", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.1.0-nullsafety.3", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "charcode", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.2.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "clock", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/clock-1.1.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "collection", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0-nullsafety.3", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "convert", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/convert-2.1.1", - "packageUri": "lib/", - "languageVersion": "1.17" - }, - { - "name": "cookie_jar", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cookie_jar-1.0.1", - "packageUri": "lib/", - "languageVersion": "1.20" - }, - { - "name": "crypto", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/crypto-2.1.5", - "packageUri": "lib/", - "languageVersion": "2.3" - }, - { - "name": "cubit", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/cubit-0.1.2", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "device_info", - "rootUri": "file:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/device_info_platform_interface-1.0.1", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "dio", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio-3.0.10", - "packageUri": "lib/", - "languageVersion": "2.4" - }, - { - "name": "dio_cookie_manager", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio_cookie_manager-1.0.0", - "packageUri": "lib/", - "languageVersion": "2.4" - }, - { - "name": "equatable", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/equatable-1.2.6", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "event_bus", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/event_bus-1.1.1", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "fake_async", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fake_async-1.2.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "ffi", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/ffi-0.1.3", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "file", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/file-5.2.1", - "packageUri": "lib/", - "languageVersion": "2.2" - }, - { - "name": "flutter", - "rootUri": "file:///D:/flutter/flutter/packages/flutter", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "flutter_alibc", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/zhiying_flutter_alibc-321acab9044f4097088c4235f46d16a4946eec9f/", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "flutter_bloc", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_bloc-5.0.1", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "flutter_blurhash", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_blurhash-0.5.0", - "packageUri": "lib/", - "languageVersion": "2.4" - }, - { - "name": "flutter_cache_manager", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_cache_manager-2.1.0", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "flutter_clipboard_plugin", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/flutter_clipboard_plugin-409b284517d93c775a502176389047fa73064900/", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "flutter_cubit", - "rootUri": "file:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/git/flutter-cupertino-date-picker-82142a924a770e68dca2a2f7b51449166870d7e2/", - "packageUri": "lib/", - "languageVersion": "1.19" - }, - { - "name": "flutter_native_image", - "rootUri": "file:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_screenutil-1.1.0", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "flutter_slidable", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_slidable-0.5.7", - "packageUri": "lib/", - "languageVersion": "1.19" - }, - { - "name": "flutter_swiper", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_swiper-1.1.6", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "flutter_test", - "rootUri": "file:///D:/flutter/flutter/packages/flutter_test", - "packageUri": "lib/", - "languageVersion": "2.2" - }, - { - "name": "flutter_update_dialog", - "rootUri": "file:///D:/flutter/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:///D:/flutter/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:///D:/flutter/flutter/packages/flutter_web_plugins", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "flutter_xupdate", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/flutter_xupdate-d17c695461ee4588dec990533d7467c11884cd0f/", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "fluttertoast", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluttertoast-4.0.1", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "fluwx", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/fluwx-2.6.2", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "http", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.2", - "packageUri": "lib/", - "languageVersion": "2.4" - }, - { - "name": "http_parser", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.4", - "packageUri": "lib/", - "languageVersion": "2.3" - }, - { - "name": "image", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image-2.1.19", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "image_cropper", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/Image_Cropper-e32f2264f86a27a2f5d7a7a5e26c6154eaf5798e/", - "packageUri": "lib/", - "languageVersion": "1.20" - }, - { - "name": "image_picker", - "rootUri": "file:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker_platform_interface-1.1.6", - "packageUri": "lib/", - "languageVersion": "2.5" - }, - { - "name": "intl", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/intl-0.16.1", - "packageUri": "lib/", - "languageVersion": "2.5" - }, - { - "name": "jdsdk", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/jdsdk-0.0.1", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "loading_indicator", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/loading_indicator-1.2.0", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "matcher", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.10-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "meta", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.3.0-nullsafety.3", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "mobcommonlib", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobcommonlib-1.0.2", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "moblink", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/moblink-5472bb698d70e336cf55febb9b0a209411466632/", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "mobpush_plugin", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobpush_plugin-1.1.6", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "mobsms", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/mobsms-1.1.3", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "more_picture_share", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/more_picture_share-4767c418bfe4b8d75f9f8958199384141ba88e21/", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "nested", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/nested-0.0.4", - "packageUri": "lib/", - "languageVersion": "2.2" - }, - { - "name": "octo_image", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/octo_image-0.3.0", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "package_info", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3+4", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "path", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0-nullsafety.1", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "path_provider", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider-1.6.28", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "path_provider_linux", - "rootUri": "file:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-0.0.4+3", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "pedantic", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.9.2", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "permission_handler", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/permission_handler-c51d87952b6947996eebeb1fa84f52db6436c596/", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "permission_handler_platform_interface", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/permission_handler_platform_interface-2.0.1", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "petitparser", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/petitparser-3.1.0", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "photo_view", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/photo_view-0.10.3", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "platform", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/platform-2.2.1", - "packageUri": "lib/", - "languageVersion": "1.24" - }, - { - "name": "plugin_platform_interface", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-1.0.2", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "process", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/process-3.0.13", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "provider", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/provider-4.3.3", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "pull_to_refresh", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/flutter_pulltorefresh-78a12e0ea45fdf1fbc615b8d243e0f4a8667489f/", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "rxdart", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/rxdart-0.25.0", - "packageUri": "lib/", - "languageVersion": "2.6" - }, - { - "name": "save_image", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/save_image-22e462499b373bb78611311d3ec9a14a64820f61/", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "secverify", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/secverify-5ec756e9fe63339209cc6906a37a778952ac61f1/", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "share_extend", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/share_extend-1.1.9", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "shared_preferences", - "rootUri": "file:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/git/sharesdk_plugin-f947c09803374acdc4fb720ccb5356d0779afe2f/", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "shimmer", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/shimmer-1.1.2", - "packageUri": "lib/", - "languageVersion": "1.20" - }, - { - "name": "sky_engine", - "rootUri": "file:///D:/flutter/flutter/bin/cache/pkg/sky_engine", - "packageUri": "lib/", - "languageVersion": "1.11" - }, - { - "name": "source_span", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.0-nullsafety.2", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "sqflite", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite-1.3.1+2", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "sqflite_common", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/sqflite_common-1.0.3+3", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "stack_trace", - "rootUri": "file:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_validator-0.1.4", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "synchronized", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/synchronized-2.2.0+2", - "packageUri": "lib/", - "languageVersion": "2.8" - }, - { - "name": "tab_indicator_styler", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/tab_indicator_styler-1.0.0", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "term_glyph", - "rootUri": "file:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.2.19-nullsafety.2", - "packageUri": "lib/", - "languageVersion": "2.10" - }, - { - "name": "tobias", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/tobias-15f6acb72df68703c96b2d8a14e1ab28f5dcc008/", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "transformer_page_view", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/transformer_page_view-0.1.6", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "typed_data", - "rootUri": "file:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-5.7.10", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "url_launcher_linux", - "rootUri": "file:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-0.0.1+3", - "packageUri": "lib/", - "languageVersion": "2.1" - }, - { - "name": "uuid", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/uuid-2.2.2", - "packageUri": "lib/", - "languageVersion": "2.2" - }, - { - "name": "vector_math", - "rootUri": "file:///D:/flutter/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:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/webview_flutter-1.0.7", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "win32", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/win32-1.7.4+1", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "xdg_directories", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/hosted/pub.flutter-io.cn/xdg_directories-0.1.2", - "packageUri": "lib/", - "languageVersion": "2.3" - }, - { - "name": "xml", - "rootUri": "file:///D:/flutter/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_flutter_webview", - "rootUri": "file:///D:/flutter/flutter/.pub-cache/git/zhiying_flutter_webview-08b92b596b1002265c72b51b6bcb1f11506de9b7/", - "packageUri": "lib/", - "languageVersion": "2.7" - }, - { - "name": "zhiying_base_widget", - "rootUri": "../", - "packageUri": "lib/", - "languageVersion": "2.8" - } - ], - "generated": "2021-05-14T06:05:16.178616Z", - "generator": "pub", - "generatorVersion": "2.10.1" -} From 0de81e5249670c4e239b0abec3520e937227b595 Mon Sep 17 00:00:00 2001 From: "23028876916@qq.com" Date: Fri, 14 May 2021 15:13:55 +0800 Subject: [PATCH 6/8] =?UTF-8?q?0514=20=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E9=A1=B5=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order_found_result/order_found_result_page.dart | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/pages/order_found_page/order_found_result/order_found_result_page.dart b/lib/pages/order_found_page/order_found_result/order_found_result_page.dart index bb40e22..374deda 100644 --- a/lib/pages/order_found_page/order_found_result/order_found_result_page.dart +++ b/lib/pages/order_found_page/order_found_result/order_found_result_page.dart @@ -6,6 +6,7 @@ import 'package:zhiying_base_widget/pages/order_found_page/order_found_result/or import 'package:zhiying_base_widget/pages/order_found_page/order_found_result/order_found_result_model.dart'; import 'package:zhiying_comm/zhiying_comm.dart'; +import 'package:fluttertoast/fluttertoast.dart'; class OrderFoundResultPage extends StatefulWidget { //有数据的model @@ -63,8 +64,11 @@ class _OrderFoundResultPageState extends State { print("是我的,找回该订单点击"); Map params = {}; params['oid'] = model?.ordId; - NetUtil.request('/api/v1/order/find', - method: NetMethod.POST, params: params, onSuccess: (data) {}); + NetUtil.request('/api/v1/order/find', method: NetMethod.POST, params: params, + onSuccess: (data) { + Fluttertoast.showToast(msg: "找回成功"); + Navigator.pop(context, "success"); + }); } continueToQuery() { From 28618068e60698feaa19f92db3c07d689628f8d8 Mon Sep 17 00:00:00 2001 From: "23028876916@qq.com" Date: Fri, 14 May 2021 16:03:40 +0800 Subject: [PATCH 7/8] =?UTF-8?q?0514=20=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E9=A1=B5=E6=8F=90=E7=A4=BA=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order_found_result/order_found_result_page.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/pages/order_found_page/order_found_result/order_found_result_page.dart b/lib/pages/order_found_page/order_found_result/order_found_result_page.dart index 374deda..74eddc0 100644 --- a/lib/pages/order_found_page/order_found_result/order_found_result_page.dart +++ b/lib/pages/order_found_page/order_found_result/order_found_result_page.dart @@ -60,6 +60,7 @@ class _OrderFoundResultPageState extends State { // _bloc.getData(); } + //找回订单操作 retrieveOrderClick() { print("是我的,找回该订单点击"); Map params = {}; @@ -77,9 +78,10 @@ class _OrderFoundResultPageState extends State { } //复制订单号 - copyOrderCode() { + copyOrderCode() async{ ClipboardData data = new ClipboardData(text: model?.ordId); - Clipboard.setData(data); + await Clipboard.setData(data); + Fluttertoast.showToast(msg: "已复制订单号"); } @override From 46f6e91a88d9bd19ed10e048c956b972977bad95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyanghuaxuan=E2=80=9D?= <“646903573@qq.com”> Date: Mon, 17 May 2021 11:09:13 +0800 Subject: [PATCH 8/8] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=89=BE=E5=9B=9E=E6=A8=A1=E5=9D=97=EF=BC=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=88=91=E7=9A=84=E8=AE=A2=E5=8D=95=EF=BC=8C=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E5=88=86=E7=B1=BB=E3=80=81=E5=BA=95?= =?UTF-8?q?=E9=83=A8=E6=89=BE=E5=9B=9E=E8=AE=A2=E5=8D=95=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E6=A8=A1=E5=9D=97=202.=E4=BF=AE=E6=94=B9=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E9=A1=B5=E9=9D=A2tabBar=E5=9B=BE=E6=A0=87?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/custom_page/custom_item_page.dart | 42 +++- lib/pages/custom_page/custom_page.dart | 2 +- .../model/order_found_search_style.dart | 184 +++++++++++++++++ .../order_found_search_bloc.dart | 69 +++++++ .../order_found_search_page.dart | 153 +++++++++----- .../orders_page/bloc/order_content_bloc.dart | 6 +- .../orders_page/bloc/order_page_bloc.dart | 25 ++- .../orders_page/bloc/order_search_bloc.dart | 1 + lib/pages/orders_page/order_content_page.dart | 6 +- lib/pages/orders_page/orders_page.dart | 27 ++- lib/register.dart | 9 + lib/widgets/custom/bottom_pic/bottom_pic.dart | 42 ++++ .../custom/bottom_pic/bottom_pic_style.dart | 100 ++++++++++ .../order_class_nav/order_class_nav.dart | 133 +++++++++++++ .../order_class_nav/order_class_style.dart | 186 ++++++++++++++++++ .../order_found_nav/order_found_nav.dart | 90 --------- 16 files changed, 911 insertions(+), 164 deletions(-) create mode 100644 lib/pages/order_found_page/order_found_search_page/model/order_found_search_style.dart create mode 100644 lib/pages/order_found_page/order_found_search_page/order_found_search_bloc.dart create mode 100644 lib/widgets/custom/bottom_pic/bottom_pic.dart create mode 100644 lib/widgets/custom/bottom_pic/bottom_pic_style.dart create mode 100644 lib/widgets/custom/ordedr_class/order_class_nav/order_class_nav.dart create mode 100644 lib/widgets/custom/ordedr_class/order_class_nav/order_class_style.dart delete mode 100644 lib/widgets/custom/ordedr_found/order_found_nav/order_found_nav.dart diff --git a/lib/pages/custom_page/custom_item_page.dart b/lib/pages/custom_page/custom_item_page.dart index 7620bde..db43bb0 100644 --- a/lib/pages/custom_page/custom_item_page.dart +++ b/lib/pages/custom_page/custom_item_page.dart @@ -6,6 +6,7 @@ import 'package:pull_to_refresh/pull_to_refresh.dart'; import 'package:provider/provider.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:zhiying_base_widget/pages/main_page/notifier/main_page_notifier.dart'; +import 'package:zhiying_base_widget/widgets/custom/bottom_pic/bottom_pic.dart'; import 'package:zhiying_base_widget/widgets/empty/empty_widget.dart'; import 'package:zhiying_base_widget/widgets/home/home_auth/home_auth.dart'; import 'package:zhiying_base_widget/widgets/refresh/refresh_header/refresh_gif_header.dart'; @@ -26,7 +27,7 @@ class CustomItemPage extends StatelessWidget { final String modPid; final String modId; final bool needBuildStatus; - Function(double) scroller; + Function(double) scroller; CustomItemPage(this.data, this.tabIndex, this.modId, this.modPid, this.needBuildStatus, {this.scroller}); @@ -38,7 +39,14 @@ class CustomItemPage extends StatelessWidget { ], child: BlocProvider( create: (_) => CustomItemPageBloc(CustomItemPageRepository(this.data, this.tabIndex, this.modId, this.modPid)), - child: _CustomItemPageContainer(this.data, this.tabIndex, this.modId, this.modPid, this.needBuildStatus,scroller: this.scroller,), + child: _CustomItemPageContainer( + this.data, + this.tabIndex, + this.modId, + this.modPid, + this.needBuildStatus, + scroller: this.scroller, + ), ), ); } @@ -94,8 +102,9 @@ class __CustomItemPageContainerState extends State<_CustomItemPageContainer> wit _controller = ScrollController(); _eventBus = EventBus(); _refreshController = RefreshController(initialRefresh: false); - _initEvent();_controller.addListener(() { - if(widget.scroller!=null){ + _initEvent(); + _controller.addListener(() { + if (widget.scroller != null) { widget?.scroller(_controller.offset); } }); @@ -186,6 +195,13 @@ class __CustomItemPageContainerState extends State<_CustomItemPageContainer> wit margin: const EdgeInsets.only(bottom: 8), child: _buildAuthWidget(model), ), //_buildAuthWidget(model), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.only(bottom: MediaQuery.of(context).padding.bottom), + child: _buildBottomPic(model), + ), //_buildAuthWidget(model), ) ], ), @@ -197,7 +213,7 @@ class __CustomItemPageContainerState extends State<_CustomItemPageContainer> wit List result = []; for (int i = 0; i < datas.length; i++) { WidgetModel item = WidgetModel.fromJson(Map.from(datas[i])); - if (item.modName == 'audit_tip') { + if (item.modName == 'audit_tip' || item.modName == "bottom_suspension") { Logger.debug('授权组件,跳过'); continue; } @@ -261,4 +277,20 @@ class __CustomItemPageContainerState extends State<_CustomItemPageContainer> wit return rlt ?? Container(); } + + /// 特殊的底部图片跳转 + Widget _buildBottomPic(final List> datas) { + int length = datas?.length ?? 0; + if (length == 0) return Container(); + Widget rlt; + for (int i = 0; i < datas.length; i++) { + WidgetModel item = WidgetModel.fromJson(Map.from(datas[i])); + if (item.modName == 'bottom_suspension') { + rlt = BottomPic(model: datas[i]); + break; + } + } + + return rlt ?? Container(); + } } diff --git a/lib/pages/custom_page/custom_page.dart b/lib/pages/custom_page/custom_page.dart index 8222b8c..be57a50 100644 --- a/lib/pages/custom_page/custom_page.dart +++ b/lib/pages/custom_page/custom_page.dart @@ -354,7 +354,7 @@ class __CommonPageContainerState extends State<_CommonPageContainer> with Single return MyTab( icon: CachedNetworkImage( imageUrl: item['choose_image_url'] ?? '', - width: 14, + width: 16, ), text: item['name'], ); diff --git a/lib/pages/order_found_page/order_found_search_page/model/order_found_search_style.dart b/lib/pages/order_found_page/order_found_search_page/model/order_found_search_style.dart new file mode 100644 index 0000000..1023e12 --- /dev/null +++ b/lib/pages/order_found_page/order_found_search_page/model/order_found_search_style.dart @@ -0,0 +1,184 @@ +class OrderFoundSearchStyle { + Top top; + SearchCss searchCss; + RuleCss ruleCss; + FindRuleCss findRuleCss; + ResultCss resultCss; + FindRuleCss notFindRuleCss; + + OrderFoundSearchStyle( + {this.top, + this.searchCss, + this.ruleCss, + this.findRuleCss, + this.resultCss, + this.notFindRuleCss}); + + OrderFoundSearchStyle.fromJson(Map json) { + top = json['top'] != null ? new Top.fromJson(json['top']) : null; + searchCss = json['search_css'] != null + ? new SearchCss.fromJson(json['search_css']) + : null; + ruleCss = json['rule_css'] != null + ? new RuleCss.fromJson(json['rule_css']) + : null; + findRuleCss = json['find_rule_css'] != null + ? new FindRuleCss.fromJson(json['find_rule_css']) + : null; + resultCss = json['result_css'] != null + ? new ResultCss.fromJson(json['result_css']) + : null; + notFindRuleCss = json['not_find_rule_css'] != null + ? new FindRuleCss.fromJson(json['not_find_rule_css']) + : null; + } + + Map toJson() { + final Map data = new Map(); + if (this.top != null) { + data['top'] = this.top.toJson(); + } + if (this.searchCss != null) { + data['search_css'] = this.searchCss.toJson(); + } + if (this.ruleCss != null) { + data['rule_css'] = this.ruleCss.toJson(); + } + if (this.findRuleCss != null) { + data['find_rule_css'] = this.findRuleCss.toJson(); + } + if (this.resultCss != null) { + data['result_css'] = this.resultCss.toJson(); + } + if (this.notFindRuleCss != null) { + data['not_find_rule_css'] = this.notFindRuleCss.toJson(); + } + return data; + } +} + +class Top { + String bgColor; + String bgSubColor; + String str; + String strColor; + + Top({this.bgColor, this.bgSubColor, this.str, this.strColor}); + + Top.fromJson(Map json) { + bgColor = json['bg_color']; + bgSubColor = json['bg_sub_color']; + str = json['str']; + strColor = json['str_color']; + } + + Map toJson() { + final Map data = new Map(); + data['bg_color'] = this.bgColor; + data['bg_sub_color'] = this.bgSubColor; + data['str'] = this.str; + data['str_color'] = this.strColor; + return data; + } +} + +class SearchCss { + String str; + String bgColor; + String strColor; + String btnStr; + String btnStrColor; + String btnBgColor; + String btnBgSubColor; + + SearchCss( + {this.str, + this.bgColor, + this.strColor, + this.btnStr, + this.btnStrColor, + this.btnBgColor, + this.btnBgSubColor}); + + SearchCss.fromJson(Map json) { + str = json['str']; + bgColor = json['bg_color']; + strColor = json['str_color']; + btnStr = json['btn_str']; + btnStrColor = json['btn_str_color']; + btnBgColor = json['btn_bg_color']; + btnBgSubColor = json['btn_bg_sub_color']; + } + + Map toJson() { + final Map data = new Map(); + data['str'] = this.str; + data['bg_color'] = this.bgColor; + data['str_color'] = this.strColor; + data['btn_str'] = this.btnStr; + data['btn_str_color'] = this.btnStrColor; + data['btn_bg_color'] = this.btnBgColor; + data['btn_bg_sub_color'] = this.btnBgSubColor; + return data; + } +} + +class RuleCss { + String str; + String img; + String imgUrl; + + RuleCss({this.str, this.img, this.imgUrl}); + + RuleCss.fromJson(Map json) { + str = json['str']; + img = json['img']; + imgUrl = json['img_url']; + } + + Map toJson() { + final Map data = new Map(); + data['str'] = this.str; + data['img'] = this.img; + data['img_url'] = this.imgUrl; + return data; + } +} + +class FindRuleCss { + String title; + String content; + + FindRuleCss({this.title, this.content}); + + FindRuleCss.fromJson(Map json) { + title = json['title']; + content = json['content']; + } + + Map toJson() { + final Map data = new Map(); + data['title'] = this.title; + data['content'] = this.content; + return data; + } +} + +class ResultCss { + String btnBgColor; + String btnBgSubColor; + + ResultCss({this.btnBgColor, this.btnBgSubColor}); + + ResultCss.fromJson(Map json) { + btnBgColor = json['btn_bg_color']; + btnBgSubColor = json['btn_bg_sub_color']; + } + + Map toJson() { + final Map data = new Map(); + data['btn_bg_color'] = this.btnBgColor; + data['btn_bg_sub_color'] = this.btnBgSubColor; + return data; + } +} diff --git a/lib/pages/order_found_page/order_found_search_page/order_found_search_bloc.dart b/lib/pages/order_found_page/order_found_search_page/order_found_search_bloc.dart new file mode 100644 index 0000000..e0d17e3 --- /dev/null +++ b/lib/pages/order_found_page/order_found_search_page/order_found_search_bloc.dart @@ -0,0 +1,69 @@ +import 'dart:async'; +import 'dart:convert'; + +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:zhiying_base_widget/dialog/loading/loading.dart'; +import 'package:zhiying_base_widget/pages/order_found_page/order_found_result/order_found_result_model.dart'; +import 'package:zhiying_base_widget/pages/order_found_page/order_found_result/order_found_result_page.dart'; +import 'package:zhiying_base_widget/pages/order_found_page/order_found_search_page/model/order_found_search_style.dart'; +import 'package:zhiying_comm/util/base_bloc.dart'; +import 'package:zhiying_comm/util/empty_util.dart'; +import 'package:zhiying_comm/util/log/let_log.dart'; +import 'package:zhiying_comm/util/net_util.dart'; +import 'package:zhiying_comm/zhiying_comm.dart'; + +class OrderFoundSearchBloc extends BlocBase { + StreamController streamController = StreamController.broadcast(); + + Stream get outData => streamController.stream; + + OrderFoundSearchStyle style; + + loadStyle() { + NetUtil.request("/api/v1/order/find/css", onSuccess: (data) { + style = OrderFoundSearchStyle.fromJson(json.decode(data['data'])); + streamController.add(style); + Logger.log(json.encode(data['data'])); + }); + } + + searchOrderById(BuildContext context, String id) { + var params = {"oid": id}; + Loading.show(context); + NetUtil.request("/api/v1/order/find/search", params: params, method: NetMethod.POST, onSuccess: (data) { + Loading.dismiss(); + if (EmptyUtil.isEmpty(data)) { + Navigator.push( + context, + MaterialPageRoute( + builder: (_) => OrderFoundResultPage( + emptyOrderTitle: style?.notFindRuleCss?.title ?? '', + emptyOrderContent: style?.notFindRuleCss?.content ?? "", + ))); + } else { + Navigator.push( + context, + MaterialPageRoute( + builder: (_) => OrderFoundResultPage( + orderFoundResultModel: OrderFoundResultModel.fromJson(data), + emptyOrderTitle: style?.notFindRuleCss?.title ?? '', + emptyOrderContent: style?.notFindRuleCss?.content ?? "", + ))).then((value) { + if (value != null && value == "success") { + Navigator.pop(context); + } + }); + } + streamController.add(style); + Logger.log(json.encode(data['data'])); + }, onError: (e) { + Loading.dismiss(); + }); + } + + @override + void dispose() { + // TODO: implement dispose + } +} diff --git a/lib/pages/order_found_page/order_found_search_page/order_found_search_page.dart b/lib/pages/order_found_page/order_found_search_page/order_found_search_page.dart index 55fcd19..ca3b246 100644 --- a/lib/pages/order_found_page/order_found_search_page/order_found_search_page.dart +++ b/lib/pages/order_found_page/order_found_search_page/order_found_search_page.dart @@ -1,7 +1,9 @@ import 'package:flutter/material.dart'; -import 'package:zhiying_base_widget/widgets/custom/ordedr_found/order_found_nav/order_found_nav.dart'; +import 'package:zhiying_base_widget/pages/order_found_page/order_found_search_page/order_found_search_bloc.dart'; import 'package:zhiying_comm/zhiying_comm.dart'; +import 'model/order_found_search_style.dart'; + ///订单搜索页 class OrderFoundSearchPage extends StatefulWidget { @override @@ -9,29 +11,60 @@ class OrderFoundSearchPage extends StatefulWidget { } class _OrderFoundSearchPageState extends State { + OrderFoundSearchBloc _bloc; + OrderFoundSearchStyle style; + TextEditingController textEditingController; + + @override + void initState() { + textEditingController = TextEditingController(); + _bloc = OrderFoundSearchBloc(); + _bloc.loadStyle(); + super.initState(); + } + @override Widget build(BuildContext context) { - return Stack( - children: [ - Scaffold( - appBar: _buildAppBar(), - body: Container( - child: ListView( - children: [ - _buildSearch(), - _buildCenter(), - _buildBottom(), - _buildTest() - ], - ), - ), - ), - ], - ); + return StreamBuilder( + stream: _bloc.outData, + builder: (context, asyn) { + if (asyn.data == null) { + return Container( + color: Colors.white, + ); + } + style = asyn.data; + return Stack( + children: [ + Container( + color: HexColor.fromHex("#f9f9f9"), + ), + Container( + height: 200, + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration( + borderRadius: BorderRadius.only(bottomLeft: Radius.circular(6), bottomRight: Radius.circular(6)), + gradient: LinearGradient( + begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: [HexColor.fromHex(style?.top?.bgColor), HexColor.fromHex(style?.top?.bgSubColor ?? '')])), + ), + Scaffold( + backgroundColor: Colors.transparent, + appBar: _buildAppBar(), + body: Container( + child: ListView( + children: [_buildSearch(), _buildCenter(), _buildBottom()], + ), + ), + ), + ], + ); + }); } _buildAppBar() { return AppBar( + backgroundColor: Colors.transparent, + elevation: 0, leading: Navigator.canPop(context) ? IconButton( icon: Icon( @@ -43,11 +76,20 @@ class _OrderFoundSearchPageState extends State { }) : Container(), title: Text( - "订单查询", - style: TextStyle(fontSize: 17), + style?.top?.str ?? '', + style: TextStyle(fontSize: 17, color: HexColor.fromHex(style?.top?.strColor)), ), centerTitle: true, - actions: [IconButton(icon: Icon(Icons.refresh), onPressed: () {})], + actions: [ + IconButton( + icon: Icon( + Icons.refresh, + color: HexColor.fromHex(style?.top?.strColor), + ), + onPressed: () { + _bloc?.loadStyle(); + }) + ], ); } @@ -55,23 +97,43 @@ class _OrderFoundSearchPageState extends State { _buildSearch() { return Container( height: 50, - decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(10), border: Border.all(color: Colors.white)), + decoration: BoxDecoration(color: HexColor.fromHex(style?.searchCss?.bgColor ?? ''), borderRadius: BorderRadius.circular(10), border: Border.all(color: Colors.white)), margin: EdgeInsets.only(left: 10, right: 10, top: 10, bottom: 10), padding: EdgeInsets.only(left: 10, right: 4), child: Row( children: [ Expanded( child: TextField( - decoration: InputDecoration(border: InputBorder.none, hintText: "请输入或粘粘淘宝订单编号", hintStyle: TextStyle(color: HexColor.fromHex("#999999"), fontSize: 14), isDense: true), + controller: textEditingController, + decoration: InputDecoration( + border: InputBorder.none, + hintText: style?.searchCss?.str ?? '', + hintStyle: TextStyle(color: HexColor.fromHex(style?.searchCss?.strColor ?? ""), fontSize: 14), + isDense: true), )), - Container( - height: 42, - alignment: Alignment.center, - padding: EdgeInsets.only(left: 24, right: 24), - decoration: BoxDecoration(color: HexColor.fromHex("#FF2020"), borderRadius: BorderRadius.circular(10)), - child: Text( - "搜索", - style: TextStyle(color: HexColor.fromHex("#FFFFFF")), + GestureDetector( + onTap: () { + if (textEditingController?.text.trim().length == 0) { + Fluttertoast.showToast(msg: "请输入搜索的订单编号"); + return; + } + FocusScope.of(context).requestFocus(new FocusNode()); + _bloc.searchOrderById(context, textEditingController.text); + }, + child: Container( + height: 42, + alignment: Alignment.center, + padding: EdgeInsets.only(left: 24, right: 24), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + gradient: LinearGradient( + begin: Alignment.centerLeft, + end: Alignment.centerRight, + colors: [HexColor.fromHex(style?.searchCss?.btnBgColor), HexColor.fromHex(style?.searchCss?.btnBgSubColor ?? '')])), + child: Text( + style?.searchCss?.btnStr ?? "", + style: TextStyle(color: HexColor.fromHex(style?.searchCss?.btnStrColor ?? "")), + ), ), ), ], @@ -95,7 +157,7 @@ class _OrderFoundSearchPageState extends State { margin: EdgeInsets.only(right: 10), ), Text( - "如何获取订单编号?", + style?.ruleCss?.str ?? "", style: TextStyle(color: HexColor.fromHex("#333333"), fontSize: 15, fontWeight: FontWeight.w500), ) ], @@ -103,9 +165,14 @@ class _OrderFoundSearchPageState extends State { SizedBox( height: 16, ), - CachedNetworkImage( - imageUrl: "https://alipic.lanhuapp.com/SketchPng9ae52da74764fe05917a1d5a4a8d5eb94a9013106c4412056afa00340164bde5", - fit: BoxFit.fitWidth, + GestureDetector( + onTap: () { + PhotoPreview.showPhotoPreviewByimages(context, [style?.ruleCss?.img ?? ""]); + }, + child: CachedNetworkImage( + imageUrl: style?.ruleCss?.img ?? '', + fit: BoxFit.fitWidth, + ), ) ], ), @@ -128,7 +195,7 @@ class _OrderFoundSearchPageState extends State { decoration: BoxDecoration(color: HexColor.fromHex("#FF2020"), borderRadius: BorderRadius.circular(10)), ), Text( - "查询规则?", + style?.findRuleCss?.title ?? '', style: TextStyle(color: HexColor.fromHex("#333333"), fontSize: 15, fontWeight: FontWeight.w500), ) ], @@ -141,16 +208,7 @@ class _OrderFoundSearchPageState extends State { physics: NeverScrollableScrollPhysics(), children: [ Text( - ''' - 1.购买人没同步的订单可通过订单查询找回; -2.当查找人查找到订单,并且该订单在订单库确实找不到归 -属时,该订单归属到查找人; -3.当有多个用户输入同一订单号,以第一个输入人为准; -4.已归属的订单不支持继续查询; -5.建议购买人自查,运营商帮助超级会员查询时,不要点击 -确认找回,可让购买人自查并找回; -6.收益将按查找人的当前的用户关系进行归属。 - ''', + style?.findRuleCss?.content ?? "", style: TextStyle(color: HexColor.fromHex("#999999"), fontSize: 12, fontWeight: FontWeight.w500), ) ], @@ -160,7 +218,4 @@ class _OrderFoundSearchPageState extends State { ); } - _buildTest() { - return OrderFoundNav(); - } } diff --git a/lib/pages/orders_page/bloc/order_content_bloc.dart b/lib/pages/orders_page/bloc/order_content_bloc.dart index 0fdb46d..7265a84 100644 --- a/lib/pages/orders_page/bloc/order_content_bloc.dart +++ b/lib/pages/orders_page/bloc/order_content_bloc.dart @@ -9,7 +9,7 @@ import 'package:zhiying_comm/zhiying_comm.dart'; class OrderContentBloc extends BlocBase { final String skipIdentifier; - OrderContentBloc({this.skipIdentifier}); + OrderContentBloc({this.skipIdentifier,this.source}); List _orders = List(); @@ -21,6 +21,7 @@ class OrderContentBloc extends BlocBase { OrderFilterModel _filter; RefreshController refreshController = RefreshController(initialRefresh: false); + String source; @override void dispose() { _ordersController.close(); @@ -40,6 +41,9 @@ class OrderContentBloc extends BlocBase { params.removeWhere((key, value) => value == null || value == ''); params['state'] = _state; String reqUrl = skipIdentifier == 'pub.flutter.order_by_userlvup' ? '/api/v1/order_by_userlvup' : '/api/v1/order'; + if(skipIdentifier=="pub.flutter.order_list"){ + reqUrl="/api/v1/order_list/"+(source??""); + } NetUtil.request(reqUrl, method: NetMethod.POST, params: params, onCache: (data) { //_parseData(data); diff --git a/lib/pages/orders_page/bloc/order_page_bloc.dart b/lib/pages/orders_page/bloc/order_page_bloc.dart index 2eeed3e..634f715 100644 --- a/lib/pages/orders_page/bloc/order_page_bloc.dart +++ b/lib/pages/orders_page/bloc/order_page_bloc.dart @@ -19,13 +19,24 @@ class OrderPageBloc extends BlocBase { _styleController = null; } - void loadData(String skipIdentifier) async { - NetUtil.request('/api/v1/mod/${skipIdentifier.toString()}', - method: NetMethod.GET, onCache: (data) { - // _loadData(data); - }, onSuccess: (data) { - _loadData(data); - }); + void loadData(String skipIdentifier,{String source}) async { + if(skipIdentifier=="pub.flutter.order_list"){ + skipIdentifier="pub.flutter.my_order"; + NetUtil.request('/api/v1/mod/${skipIdentifier.toString()}?source_type='+source, + method: NetMethod.GET, onCache: (data) { + // _loadData(data); + }, onSuccess: (data) { + _loadData(data); + }); + }else{ + NetUtil.request('/api/v1/mod/${skipIdentifier.toString()}', + method: NetMethod.GET, onCache: (data) { + // _loadData(data); + }, onSuccess: (data) { + _loadData(data); + }); + } + } void _loadData(dynamic data) { diff --git a/lib/pages/orders_page/bloc/order_search_bloc.dart b/lib/pages/orders_page/bloc/order_search_bloc.dart index d0ceb84..9d33ac4 100644 --- a/lib/pages/orders_page/bloc/order_search_bloc.dart +++ b/lib/pages/orders_page/bloc/order_search_bloc.dart @@ -14,6 +14,7 @@ class OrderSearchBloc extends BlocBase { int _page = 1; String _keyword = ''; + String source; @override void dispose() { _ordersController.close(); diff --git a/lib/pages/orders_page/order_content_page.dart b/lib/pages/orders_page/order_content_page.dart index d90d3ee..eb89fe6 100644 --- a/lib/pages/orders_page/order_content_page.dart +++ b/lib/pages/orders_page/order_content_page.dart @@ -18,9 +18,10 @@ class OrderContentPage extends StatefulWidget { final int index; final EventBus eventBus; final String skipIdentifier; + final String source;///通过自定义页面订单分类进入的订单类型 const OrderContentPage(this.state, - {Key key, this.filter, this.style, this.index, this.eventBus, this.skipIdentifier}) + {Key key, this.filter, this.style, this.index, this.eventBus, this.skipIdentifier,this.source}) : super(key: key); @override @@ -31,7 +32,7 @@ class _OrderContentPageState extends State { @override Widget build(BuildContext context) { return BlocProvider( - bloc: OrderContentBloc(skipIdentifier: widget?.skipIdentifier), + bloc: OrderContentBloc(skipIdentifier: widget?.skipIdentifier,source: widget?.source), child: OrderContentContainer( widget.state, widget.filter, @@ -49,7 +50,6 @@ class OrderContentContainer extends StatefulWidget { final OrderPageStyleModel style; final int index; final EventBus eventBus; - const OrderContentContainer(this.state, this.filter, this.style, {Key key, this.index, this.eventBus}) : super(key: key); diff --git a/lib/pages/orders_page/orders_page.dart b/lib/pages/orders_page/orders_page.dart index 46f1b50..be73bd8 100644 --- a/lib/pages/orders_page/orders_page.dart +++ b/lib/pages/orders_page/orders_page.dart @@ -67,7 +67,7 @@ class _OrdersPageState extends State { ) : Container(), middle: Text( - widget.data['skip_identifier'] == 'pub.flutter.my_order' ? '我的订单' : '会员升级订单', + widget?.data["skip_name"] ??( widget.data['skip_identifier'] == 'pub.flutter.my_order' ? '我的订单' : '会员升级订单'), style: TextStyle( fontSize: 15, color: Color(0xff333333), @@ -86,8 +86,7 @@ class _OrdersContainer extends StatefulWidget { _OrdersContainerState createState() => _OrdersContainerState(); } -class _OrdersContainerState extends State<_OrdersContainer> - with TickerProviderStateMixin { +class _OrdersContainerState extends State<_OrdersContainer> with TickerProviderStateMixin { TabController _tabController; GlobalKey _tabKey = GlobalKey(); OrderPageBloc _bloc; @@ -100,11 +99,21 @@ class _OrdersContainerState extends State<_OrdersContainer> EventBus _eventBus = EventBus(); + String source; + @override void initState() { _bloc = BlocProvider.of(context); if (widget.data.containsKey('skip_identifier')) { - _bloc.loadData(widget.data['skip_identifier']); + String source = null; + if (widget?.data['data'] != null) { + source = widget?.data['data']['source_type']; + } + _bloc.loadData(widget.data['skip_identifier'], source: source); + } + + if(widget?.data['data']!=null&&widget.data['data']['source_type']!=null){ + source=widget.data['data']['source_type']; } super.initState(); @@ -128,8 +137,7 @@ class _OrdersContainerState extends State<_OrdersContainer> List type = model.filter.orderState; _tabController?.dispose(); - _tabController = - TabController(length: type?.length ?? 0, vsync: this); + _tabController = TabController(length: type?.length ?? 0, vsync: this); _tabController.addListener(() { Logger.debug('????? ${_tabController.index.toString()}'); }); @@ -143,6 +151,7 @@ class _OrdersContainerState extends State<_OrdersContainer> index: index, eventBus: _eventBus, skipIdentifier: widget.data['skip_identifier'], + source: source, ), ); @@ -155,13 +164,13 @@ class _OrdersContainerState extends State<_OrdersContainer> child: GestureDetector( child: OrderSearchWidget(model), onTap: () { - Navigator.of(context) - .push(CupertinoPageRoute(builder: (BuildContext context) { + Navigator.of(context).push(CupertinoPageRoute(builder: (BuildContext context) { return OrderSearchPage(model); })); }, ), ), + /// TabBar 分类导航 OrderTabbarWidget( model, @@ -174,6 +183,7 @@ class _OrdersContainerState extends State<_OrdersContainer> }); }, ), + /// TabView 子视图 Expanded( child: Stack( @@ -182,6 +192,7 @@ class _OrdersContainerState extends State<_OrdersContainer> children: _contents, controller: _tabController, ), + /// 筛选视图 Visibility( visible: _isFilterShow, diff --git a/lib/register.dart b/lib/register.dart index d59174e..59e91a5 100644 --- a/lib/register.dart +++ b/lib/register.dart @@ -43,6 +43,7 @@ import 'package:zhiying_base_widget/widgets/custom/banner/custom_banner_widget.d import 'package:zhiying_base_widget/widgets/custom/goods/custom_goods_creater.dart'; 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/ordedr_class/order_class_nav/order_class_nav.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'; @@ -310,6 +311,12 @@ class BaseWidgetRegister { /// 通用模块 PageFactory.regist('pub.flutter.custom', (model) => CustomPage(model)); + + ///订单找回 + PageFactory.regist("pub.flutter.order_find", (model) => OrderFoundSearchPage()); + + /// 订单页面 + PageFactory.regist('pub.flutter.order_list', (model) => OrdersPage(model)); } // 注册控件 @@ -453,5 +460,7 @@ class BaseWidgetRegister { WidgetFactory.regist('audit_tip', DefaultWidgetCreater((model) => HomeAuth(model))); // 分享内容组件 WidgetFactory.regist('share_content', DefaultWidgetCreater((model) => CustomShareContentWidget(model))); + + WidgetFactory.regist('features_cate', DefaultWidgetCreater((model) => OrderClassNav(model))); } } diff --git a/lib/widgets/custom/bottom_pic/bottom_pic.dart b/lib/widgets/custom/bottom_pic/bottom_pic.dart new file mode 100644 index 0000000..21ff32d --- /dev/null +++ b/lib/widgets/custom/bottom_pic/bottom_pic.dart @@ -0,0 +1,42 @@ +import 'dart:convert'; + +import 'package:flutter/material.dart'; +import 'package:zhiying_comm/util/log/let_log.dart'; +import 'package:zhiying_comm/zhiying_comm.dart'; + +import 'bottom_pic_style.dart'; + +class BottomPic extends StatelessWidget { + final Map model; + + BottomPic({Key key, this.model}) : super(key: key); + @override + BottomPicStyle style; + + Widget build(BuildContext context) { + style = BottomPicStyle.fromJson(json.decode(model['data'])); + Logger.log(model['data']); + if (style == null) { + return Container(); + } + return GestureDetector( + onTap: () { + RouterUtil.route(SkipModel.fromJson(style.toJson()), style.toJson(), context); + }, + child: Container( + margin: EdgeInsets.only( + left: double.tryParse(style?.leftRightMargin ?? "0"), right: double.tryParse(style?.leftRightMargin ?? "0"), top: double.tryParse(style?.topMargin ?? "0"), bottom: 0), + decoration: BoxDecoration( + color: HexColor.fromHex(style?.bgColor ?? ''), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(double.tryParse(style?.topLeftRadius ?? "0")), + topRight: Radius.circular(double.tryParse(style?.topRightRadius ?? "0")), + bottomLeft: Radius.circular(double.tryParse(style?.bottomLeftRadius ?? "0")), + bottomRight: Radius.circular(double.tryParse(style?.bottomRightRadius ?? "0")))), + child: CachedNetworkImage( + imageUrl: style?.bgImage ?? "", + ), + ), + ); + } +} diff --git a/lib/widgets/custom/bottom_pic/bottom_pic_style.dart b/lib/widgets/custom/bottom_pic/bottom_pic_style.dart new file mode 100644 index 0000000..92f08c0 --- /dev/null +++ b/lib/widgets/custom/bottom_pic/bottom_pic_style.dart @@ -0,0 +1,100 @@ +class BottomPicStyle { + String name; + String desc; + 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 bgImage; + String bgImageUrl; + String skipIdentifier; + String skipName; + String requiredLogin; + String requiredTaobaoAuth; + String isJump; + String cateTag; + + BottomPicStyle( + {this.name, + this.desc, + 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.bgImage, + this.bgImageUrl, + this.skipIdentifier, + this.skipName, + this.requiredLogin, + this.requiredTaobaoAuth, + this.isJump, + this.cateTag}); + + BottomPicStyle.fromJson(Map json) { + name = json['name']; + desc = json['desc']; + 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']; + bgImage = json['bg_image']; + bgImageUrl = json['bg_image_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 = new Map(); + data['name'] = this.name; + data['desc'] = this.desc; + 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['bg_image'] = this.bgImage; + data['bg_image_url'] = this.bgImageUrl; + 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/ordedr_class/order_class_nav/order_class_nav.dart b/lib/widgets/custom/ordedr_class/order_class_nav/order_class_nav.dart new file mode 100644 index 0000000..8573e1c --- /dev/null +++ b/lib/widgets/custom/ordedr_class/order_class_nav/order_class_nav.dart @@ -0,0 +1,133 @@ +import 'dart:convert'; + +import 'package:flutter/material.dart'; +import 'package:zhiying_base_widget/widgets/custom/ordedr_class/order_class_nav/order_class_style.dart'; +import 'package:zhiying_comm/util/extension/color.dart'; +import 'package:zhiying_comm/zhiying_comm.dart'; + +///订单分类 +class OrderClassNav extends StatelessWidget { + final Map model; + + OrderClassNav(this.model, {Key key}) : super(key: key); + + OrderClassStyle style; + BuildContext context; + + @override + Widget build(BuildContext context) { + // Logger.log(model['data']); + style = OrderClassStyle.fromJson(json.decode(model['data'])); + if (style == null) { + return Container(); + } + this.context = context; + return Container( + margin: EdgeInsets.only( + left: double.tryParse(style?.leftRightMargin ?? "0"), right: double.tryParse(style?.leftRightMargin ?? "0"), top: double.tryParse(style?.topMargin ?? "0"), bottom: 0), + padding: EdgeInsets.only(left: 10, right: 10, top: 10, bottom: 10), + decoration: BoxDecoration( + color: HexColor.fromHex(style?.bgColor ?? ''), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(double.tryParse(style?.topLeftRadius ?? "0")), + topRight: Radius.circular(double.tryParse(style?.topRightRadius ?? "0")), + bottomLeft: Radius.circular(double.tryParse(style?.bottomLeftRadius ?? "0")), + bottomRight: Radius.circular(double.tryParse(style?.bottomRightRadius ?? "0")))), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + width: 4, + height: 14, + decoration: BoxDecoration(color: HexColor.fromHex("#FF2020"), borderRadius: BorderRadius.circular(10)), + margin: EdgeInsets.only(right: 10), + ), + Text( + style?.title ?? "", + style: TextStyle(color: HexColor.fromHex("#333333"), fontSize: 15, fontWeight: FontWeight.w500), + ) + ], + ), + Padding( + padding: const EdgeInsets.only(left: 15), + child: Text( + style?.subTitle ?? "", + style: TextStyle(color: HexColor.fromHex("#999999"), fontSize: 12, fontWeight: FontWeight.w500), + ), + ), + SizedBox( + height: 10, + ), + createNav() + ], + ), + ); + } + + createNav() { + List listWidget = List(); + int row = (style?.listStyle?.length / style?.columSize).ceil(); + for (var index = 0; index < row; index++) { + listWidget.add(Row( + children: _buildRow(index), + )); + } + + return Column(children: listWidget); + } + + _buildRow(int index2) { + List listWidget = List(); + + int currentIndex = index2 * style?.columSize; + + for (var index = 0; index < style?.columSize; index++) { + var nowIndex = currentIndex + index; + listWidget.add(Expanded( + child: _buildItem(nowIndex), + )); + } + + return listWidget; + } + + _buildItem(int currentIndex) { + print(currentIndex.toString()); + if (currentIndex >= style?.listStyle?.length) { + return Container(); + } + + var item = style.listStyle[currentIndex]; + print(currentIndex.toString() + item?.title); + return GestureDetector( + onTap: () { + RouterUtil.route(SkipModel.fromJson(item.toJson() ?? ''), item.toJson(), context); + }, + child: Container( + margin: EdgeInsets.only(top: 10), + child: Column( + children: [ + CachedNetworkImage( + imageUrl: item?.img ?? "", + width: 40, + height: 40, + ), + SizedBox( + height: 6, + ), + Text( + item?.title, + style: TextStyle(color: HexColor.fromHex("#333333"), fontSize: 12), + ), + Text( + item?.subTitle, + style: TextStyle(color: HexColor.fromHex("#333333"), fontSize: 10), + ), + ], + ), + ), + ); + } +} diff --git a/lib/widgets/custom/ordedr_class/order_class_nav/order_class_style.dart b/lib/widgets/custom/ordedr_class/order_class_nav/order_class_style.dart new file mode 100644 index 0000000..cbb02bc --- /dev/null +++ b/lib/widgets/custom/ordedr_class/order_class_nav/order_class_style.dart @@ -0,0 +1,186 @@ +class OrderClassStyle { + String name; + String desc; + String title; + int customFeaturesCate; + 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 subTitle; + List listStyle; + int columSize; + + OrderClassStyle( + {this.name, + this.desc, + this.title, + this.customFeaturesCate, + 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.subTitle, + this.listStyle, + this.columSize}); + + OrderClassStyle.fromJson(Map json) { + name = json['name']; + desc = json['desc']; + title = json['title']; + customFeaturesCate = json['custom_features_cate']; + 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']; + subTitle = json['sub_title']; + if (json['list_style'] != null) { + listStyle = new List(); + json['list_style'].forEach((v) { + listStyle.add(new ListStyle.fromJson(v)); + }); + } + columSize = json['colum_size']; + } + + Map toJson() { + final Map data = new Map(); + data['name'] = this.name; + data['desc'] = this.desc; + data['title'] = this.title; + data['custom_features_cate'] = this.customFeaturesCate; + 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['sub_title'] = this.subTitle; + if (this.listStyle != null) { + data['list_style'] = this.listStyle.map((v) => v.toJson()).toList(); + } + data['colum_size'] = this.columSize; + return data; + } +} + +class ListStyle { + String idx; + String title; + String img; + Data data; + String imgUrl; + String subTitle; + String isShow; + String rightIcon; + String rightIconUrl; + String skipIdentifier; + String requiredLogin; + String requiredTaobaoAuth; + String isJump; + String cateTag; + String skipName; + + ListStyle( + {this.idx, + this.title, + this.img, + this.data, + this.imgUrl, + this.subTitle, + this.isShow, + this.rightIcon, + this.rightIconUrl, + this.skipIdentifier, + this.requiredLogin, + this.requiredTaobaoAuth, + this.isJump, + this.cateTag, + this.skipName}); + + ListStyle.fromJson(Map json) { + idx = json['idx']; + title = json['title']; + img = json['img']; + data = json['data'] != null ? new Data.fromJson(json['data']) : null; + imgUrl = json['img_url']; + subTitle = json['sub_title']; + isShow = json['is_show']; + rightIcon = json['right_icon']; + rightIconUrl = json['right_icon_url']; + skipIdentifier = json['skip_identifier']; + requiredLogin = json['required_login']; + requiredTaobaoAuth = json['required_taobao_auth']; + isJump = json['is_jump']; + cateTag = json['cate_tag']; + skipName = json['skip_name']; + } + + Map toJson() { + final Map data = new Map(); + data['idx'] = this.idx; + data['title'] = this.title; + data['img'] = this.img; + if (this.data != null) { + data['data'] = this.data.toJson(); + } + data['img_url'] = this.imgUrl; + data['sub_title'] = this.subTitle; + data['is_show'] = this.isShow; + data['right_icon'] = this.rightIcon; + data['right_icon_url'] = this.rightIconUrl; + data['skip_identifier'] = this.skipIdentifier; + data['required_login'] = this.requiredLogin; + data['required_taobao_auth'] = this.requiredTaobaoAuth; + data['is_jump'] = this.isJump; + data['cate_tag'] = this.cateTag; + data['skip_name'] = this.skipName; + return data; + } +} + +class Data { + String sourceType; + + Data({this.sourceType}); + + Data.fromJson(Map json) { + sourceType = json['source_type']; + } + + Map toJson() { + final Map data = new Map(); + data['source_type'] = this.sourceType; + return data; + } +} diff --git a/lib/widgets/custom/ordedr_found/order_found_nav/order_found_nav.dart b/lib/widgets/custom/ordedr_found/order_found_nav/order_found_nav.dart deleted file mode 100644 index d650ded..0000000 --- a/lib/widgets/custom/ordedr_found/order_found_nav/order_found_nav.dart +++ /dev/null @@ -1,90 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:zhiying_comm/util/extension/color.dart'; -import 'package:zhiying_comm/zhiying_comm.dart'; - -class OrderFoundNav extends StatelessWidget { - @override - Widget build(BuildContext context) { - return Container( - margin: EdgeInsets.only(left: 10, right: 10, top: 10, bottom: 10), - padding: EdgeInsets.only(left: 10, right: 10, top: 10, bottom: 10), - decoration: BoxDecoration(color: HexColor.fromHex("#FFFFFF"), borderRadius: BorderRadius.circular(10)), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - Container( - width: 4, - height: 14, - decoration: BoxDecoration(color: HexColor.fromHex("#FF2020"), borderRadius: BorderRadius.circular(10)), - margin: EdgeInsets.only(right: 10), - ), - Text( - "如何获取订单编号?", - style: TextStyle(color: HexColor.fromHex("#333333"), fontSize: 15, fontWeight: FontWeight.w500), - ) - ], - ), - Padding( - padding: const EdgeInsets.only(left: 15), - child: Text( - "美图、饿了么、权益等", - style: TextStyle(color: HexColor.fromHex("#999999"), fontSize: 12, fontWeight: FontWeight.w500), - ), - ), - SizedBox( - height: 10, - ), - createNav() - ], - ), - ); - } - - createNav() { - List listWidget = List(); - - for (var index = 0; index < 2; index++) { - listWidget.add(Row( - children: _buildRow(index), - )); - } - - return Column(children: listWidget); - } - - _buildRow(int index2) { - List listWidget = List(); - - for (var index = 0; index < 5; index++) { - listWidget.add(Expanded( - child: _buildItem(), - )); - } - - return listWidget; - } - - _buildItem() { - return Container( - margin: EdgeInsets.only(top: 10), - child: Column( - children: [ - CachedNetworkImage( - imageUrl: "https://alipic.lanhuapp.com/SketchPngcc0450a94dea814bcb680581f96ff1646a8b4f7c00a496f21e808f6c3dbfebe1", - width: 40, - height: 40, - ), - SizedBox( - height: 6, - ), - Text( - "苏宁", - style: TextStyle(color: HexColor.fromHex("#333333"), fontSize: 12), - ), - ], - ), - ); - } -}