From ba718c6ecd733ac65295368e8cf9cd0e1857d316 Mon Sep 17 00:00:00 2001 From: wurong <953969641@qq.com> Date: Thu, 2 Mar 2023 11:53:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/app/build.gradle | 2 +- lib/message/system_details.dart | 1034 ++++++++++++++++--------------- lib/message/system_message.dart | 1 + pubspec.lock | 300 ++++----- pubspec.yaml | 4 +- 5 files changed, 698 insertions(+), 643 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index aa38b250..f35fed4c 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -184,7 +184,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.6.5' +// implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.6.5' implementation fileTree(include: ['*.aar'], dir: 'libs') implementation 'androidx.legacy:legacy-support-v4:1.0.0' diff --git a/lib/message/system_details.dart b/lib/message/system_details.dart index 79f27255..8e4742e4 100644 --- a/lib/message/system_details.dart +++ b/lib/message/system_details.dart @@ -23,6 +23,7 @@ class SystemDetails extends StatefulWidget { final Map arguments; SystemDetails({this.arguments}); + @override State createState() { return _SystemDetails(); @@ -34,6 +35,7 @@ class _SystemDetails extends State { int pageNum = 1; List messages = []; int msgType = 0; + // String parenId = "0"; var commentFocus = FocusNode(); String hintText = S.current.liuxianinjingcaidepinglunba; @@ -43,7 +45,6 @@ class _SystemDetails extends State { final TextEditingController commentTextController = TextEditingController(); int indexMsg = 0; - @override void initState() { super.initState(); @@ -56,7 +57,6 @@ class _SystemDetails extends State { }); } - _refresh() { pageNum = 1; queryMessage(); @@ -92,13 +92,14 @@ class _SystemDetails extends State { } } - ///关注/取关会员 - _vipFollow(followId,isFollow) async { + ///关注/取关会员 + _vipFollow(followId, isFollow) async { BaseData baseData = await apiService.follow(followId); if (baseData != null && baseData.isSuccess) { // widget.refresh(); queryMessage(); - SmartDialog.showToast(isFollow?"取关成功":"关注成功", alignment: Alignment.center); + SmartDialog.showToast(isFollow ? "取关成功" : "关注成功", + alignment: Alignment.center); } else { SmartDialog.showToast(baseData.msg, alignment: Alignment.center); } @@ -117,16 +118,15 @@ class _SystemDetails extends State { BaseData baseData = await apiService.memberComment({ "content": content, "parentId": messageRelational["additionId"].toString(), - "relationalId":messageRelational["businessId"].toString(), - "relationalType":4 + "relationalId": messageRelational["businessId"].toString(), + "relationalType": 4 }).catchError((error) {}); if (baseData != null && baseData.isSuccess) { commentTextController.text = ""; FocusScope.of(context).unfocus(); Navigator.of(context).pop(); SmartDialog.showToast("发布成功", alignment: Alignment.center); - } - else{ + } else { SmartDialog.showToast(baseData.msg, alignment: Alignment.center); } } @@ -139,11 +139,19 @@ class _SystemDetails extends State { appBar: MyAppBar( background: Colors.white, leadingColor: Colors.black, - title: (msgType == 2) ? S.of(context).dingdantongzhi:(msgType == 3) ? S.of(context).chongzhixiaoxi:(msgType == 4) ?"关注":(msgType == 5) ?"点赞":"评论", + title: (msgType == 2) + ? S.of(context).dingdantongzhi + : (msgType == 3) + ? S.of(context).chongzhixiaoxi + : (msgType == 4) + ? S.of(context).guanzhu + : (msgType == 5) + ? S.of(context).dianzan + : S.of(context).pinglun, titleSize: 18.sp, titleColor: Colors.black, ), - body:SmartRefresher( + body: SmartRefresher( enablePullDown: true, enablePullUp: true, header: MyHeader(), @@ -151,7 +159,7 @@ class _SystemDetails extends State { footer: CustomFooter( loadStyle: LoadStyle.ShowWhenLoading, builder: (BuildContext context, LoadStatus mode) { - return (messages.length == 0)?Container():MyFooter(mode); + return (messages.length == 0) ? Container() : MyFooter(mode); }, ), controller: _refreshController, @@ -159,76 +167,69 @@ class _SystemDetails extends State { onLoading: () { queryMessage(); }, - child: - Container( - child: SingleChildScrollView( - physics: BouncingScrollPhysics(), - child: - Container( - child: Column( - children: [ - if(msgType == 2) - orderMessage(), - if(msgType == 3) - rechargeMessage(), - if(msgType == 5) - fabulousMessage(), - if(msgType == 6) - commentMessage(), - if(msgType == 4) - followMessage(), - ], - ), - ), + child: Container( + child: SingleChildScrollView( + physics: BouncingScrollPhysics(), + child: Container( + child: Column( + children: [ + if (msgType == 2) orderMessage(), + if (msgType == 3) rechargeMessage(), + if (msgType == 5) fabulousMessage(), + if (msgType == 6) commentMessage(), + if (msgType == 4) followMessage(), + ], ), ), + ), + ), ), ); } ///订单通知 - Widget orderMessage(){ + Widget orderMessage() { return Container( - color: Colors.white, - width: double.infinity, - padding: EdgeInsets.only(top:10.h,bottom:20.h,left: 20.w,right: 20.w), - child:Column( - mainAxisAlignment: MainAxisAlignment.spaceAround, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - (messages == null || messages.length == 0) - ? NoDataView( - src: "assets/image/icon_empty.webp", - isShowBtn: false, - text: S.of(context).haimeiyouxiaoxi, - fontSize: 16.sp, - margin: EdgeInsets.only(top: 120.h), - ) - : ListView.builder( - padding: EdgeInsets.only(top: 16), - itemCount: messages.length, - shrinkWrap: true, - physics: NeverScrollableScrollPhysics(), - itemBuilder: (context, position) { - return GestureDetector( - onTap: () { - // if (messages[position].typed == 2) { - // Navigator.of(context) - // .pushNamed('/router/exchange_order_details'); - // } - }, - child: orderMessageItem(messages[position]), - ); - }), - ], - ) - ); + color: Colors.white, + width: double.infinity, + padding: + EdgeInsets.only(top: 10.h, bottom: 20.h, left: 20.w, right: 20.w), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceAround, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + (messages == null || messages.length == 0) + ? NoDataView( + src: "assets/image/icon_empty.webp", + isShowBtn: false, + text: S.of(context).haimeiyouxiaoxi, + fontSize: 16.sp, + margin: EdgeInsets.only(top: 120.h), + ) + : ListView.builder( + padding: EdgeInsets.only(top: 16), + itemCount: messages.length, + shrinkWrap: true, + physics: NeverScrollableScrollPhysics(), + itemBuilder: (context, position) { + return GestureDetector( + onTap: () { + // if (messages[position].typed == 2) { + // Navigator.of(context) + // .pushNamed('/router/exchange_order_details'); + // } + }, + child: orderMessageItem(messages[position]), + ); + }), + ], + )); } + Widget orderMessageItem(Message message) { return Container( margin: EdgeInsets.only(top: 8.h, bottom: 8.h), - child: - Column( + child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -242,13 +243,13 @@ class _SystemDetails extends State { (message.typed == 1) ? "assets/image/icon_system_message.webp" : (message.typed == 2) - ? "assets/image/icon_system_message.webp" - : "assets/image/c_z.webp", + ? "assets/image/icon_system_message.webp" + : "assets/image/c_z.webp", width: 24.w, height: 24.h, ), SizedBox( - width:8.w, + width: 8.w, ), Text( (message.typed == 1) @@ -273,87 +274,89 @@ class _SystemDetails extends State { ), ], ), - Container( - width: double.infinity, - margin: EdgeInsets.only(left:30.w, top:20.h), - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Expanded(child: Text( + Container( + width: double.infinity, + margin: EdgeInsets.only(left: 30.w, top: 20.h), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Expanded( + child: Text( message.content, maxLines: 2, - overflow:TextOverflow.ellipsis, + overflow: TextOverflow.ellipsis, style: TextStyle( fontSize: 12.sp, color: Color(0xFF353535), ), - ),), - Icon( - Icons.keyboard_arrow_right, - color: Colors.black, - ) - ], - ), - Container( - margin: EdgeInsets.only(top: 14.h), - height: 1, - width: double.infinity, - color: Color(0XFFF7F7F7), - ) - ], - ), - ) + ), + ), + Icon( + Icons.keyboard_arrow_right, + color: Colors.black, + ) + ], + ), + Container( + margin: EdgeInsets.only(top: 14.h), + height: 1, + width: double.infinity, + color: Color(0XFFF7F7F7), + ) + ], + ), + ) ], ), ); } ///充值消息通知 - Widget rechargeMessage(){ + Widget rechargeMessage() { return Container( color: Colors.white, width: double.infinity, - padding: EdgeInsets.only(top:10.h,bottom:20.h,left: 20.w,right: 20.w), - child:Column( + padding: + EdgeInsets.only(top: 10.h, bottom: 20.h, left: 20.w, right: 20.w), + child: Column( mainAxisAlignment: MainAxisAlignment.spaceAround, crossAxisAlignment: CrossAxisAlignment.start, children: [ (messages == null || messages.length == 0) ? NoDataView( - src:"assets/image/icon_empty.webp", - isShowBtn: false, - text: S.of(context).haimeiyouxiaoxi, - fontSize: 16.sp, - margin: EdgeInsets.only(top: 120.h), - ) + src: "assets/image/icon_empty.webp", + isShowBtn: false, + text: S.of(context).haimeiyouxiaoxi, + fontSize: 16.sp, + margin: EdgeInsets.only(top: 120.h), + ) : ListView.builder( - padding: EdgeInsets.only(top: 16), - itemCount: messages.length, - shrinkWrap: true, - physics: NeverScrollableScrollPhysics(), - itemBuilder: (context, position) { - return GestureDetector( - onTap: () { - // if (messages[position].typed == 2) { - // Navigator.of(context) - // .pushNamed('/router/exchange_order_details'); - // } - }, - child: rechargeMessageItem(messages[position]), - ); - }), + padding: EdgeInsets.only(top: 16), + itemCount: messages.length, + shrinkWrap: true, + physics: NeverScrollableScrollPhysics(), + itemBuilder: (context, position) { + return GestureDetector( + onTap: () { + // if (messages[position].typed == 2) { + // Navigator.of(context) + // .pushNamed('/router/exchange_order_details'); + // } + }, + child: rechargeMessageItem(messages[position]), + ); + }), ], - ) - ); + )); } + Widget rechargeMessageItem(Message message) { return Container( margin: EdgeInsets.only(top: 8.h, bottom: 8.h), - child: - Column( + child: Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -367,20 +370,20 @@ class _SystemDetails extends State { (message.typed == 1) ? "assets/image/icon_system_message.webp" : (message.typed == 2) - ? "assets/image/icon_system_message.webp" - : "assets/image/c_z.webp", + ? "assets/image/icon_system_message.webp" + : "assets/image/c_z.webp", width: 24.w, height: 24.h, ), SizedBox( - width:8.w, + width: 8.w, ), Text( (message.typed == 1) ? S.of(context).xitongtongzhi : (message.typed == 2) - ? S.of(context).dingdanxiaoxi - : "充值通知", + ? S.of(context).dingdanxiaoxi + : "充值通知", style: TextStyle( fontSize: 14.sp, fontWeight: FontWeight.bold, @@ -400,7 +403,7 @@ class _SystemDetails extends State { ), Container( width: double.infinity, - margin: EdgeInsets.only(left:30.w, top:20.h), + margin: EdgeInsets.only(left: 30.w, top: 20.h), child: Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, @@ -413,20 +416,24 @@ class _SystemDetails extends State { color: Color(0xFF353535), ), ), - SizedBox(height:8.h,), + SizedBox( + height: 8.h, + ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.center, children: [ - Expanded(child: Text( - message.content, - maxLines: 2, - overflow:TextOverflow.ellipsis, - style: TextStyle( - fontSize: 12.sp, - color: Color(0xFF353535), + Expanded( + child: Text( + message.content, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 12.sp, + color: Color(0xFF353535), + ), ), - ),), + ), Icon( Icons.keyboard_arrow_right, color: Colors.black, @@ -448,171 +455,182 @@ class _SystemDetails extends State { } ///点赞通知 - Widget fabulousMessage(){ + Widget fabulousMessage() { return Container( color: Colors.white, width: double.infinity, - padding: EdgeInsets.only(bottom:20.h,left: 20.w,right: 20.w), - child:Column( + padding: EdgeInsets.only(bottom: 20.h, left: 20.w, right: 20.w), + child: Column( mainAxisAlignment: MainAxisAlignment.spaceAround, crossAxisAlignment: CrossAxisAlignment.start, children: [ (messages == null || messages.length == 0) ? NoDataView( - src:"assets/image/icon_empty.webp", - isShowBtn: false, - text: S.of(context).haimeiyouxiaoxi, - fontSize: 16.sp, - margin: EdgeInsets.only(top: 120.h), - ) + src: "assets/image/icon_empty.webp", + isShowBtn: false, + text: S.of(context).haimeiyouxiaoxi, + fontSize: 16.sp, + margin: EdgeInsets.only(top: 120.h), + ) : ListView.builder( - padding: EdgeInsets.only(top: 16), - itemCount: messages.length, - shrinkWrap: true, - physics: NeverScrollableScrollPhysics(), - itemBuilder: (context, position) { - return GestureDetector( - onTap: () { - Navigator.of(context).pushNamed( - '/router/community_details', - arguments: { - "businessId":jsonDecode(messages[position].relational)["businessId"].toString(), - "mid":messages[position].mid + padding: EdgeInsets.only(top: 16), + itemCount: messages.length, + shrinkWrap: true, + physics: NeverScrollableScrollPhysics(), + itemBuilder: (context, position) { + return GestureDetector( + onTap: () { + Navigator.of(context).pushNamed( + '/router/community_details', + arguments: { + "businessId": + jsonDecode(messages[position].relational)[ + "businessId"] + .toString(), + "mid": messages[position].mid + }, + ); }, + child: fabulousMessageItem(messages[position]), ); - }, - child: fabulousMessageItem(messages[position]), - ); - }), + }), ], - ) - ); + )); } + Widget fabulousMessageItem(Message message) { var messageRelational = jsonDecode(message.relational); return Container( - child: - Row( + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + MImage( + messageRelational["avatar"] ?? "", + width: 44, + height: 44, + isCircle: true, + fit: BoxFit.cover, + errorSrc: "assets/image/default_1.webp", + fadeSrc: "assets/image/default_1.webp", + ), + SizedBox( + width: 8, + ), + Expanded( + child: Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ - MImage( - messageRelational["avatar"] ?? "", - width: 44, - height: 44, - isCircle: true, - fit: BoxFit.cover, - errorSrc: "assets/image/default_1.webp", - fadeSrc: "assets/image/default_1.webp", - ), - SizedBox(width: 8,), - Expanded(child:Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, + Row( children: [ - Row( - children: [ - Text( - messageRelational["nickname"] ?? "", - style: TextStyle( - fontWeight: MyFontWeight.semi_bold, - fontSize: 14.sp, - color: Color(0xFF1A1A1A)) - ), - SizedBox(width:8.w,), - Text( - "点赞了", - style:TextStyle( - fontWeight: MyFontWeight.medium, + Text(messageRelational["nickname"] ?? "", + style: TextStyle( + fontWeight: MyFontWeight.semi_bold, fontSize: 14.sp, - color: Color(0xFF32A060), - ), - ), - ], + color: Color(0xFF1A1A1A))), + SizedBox( + width: 8.w, ), - SizedBox(height: 8,), Text( - message.updateTime, + "点赞了", style: TextStyle( - fontSize: 12.sp, - color: Color(0xFFA29E9E), - ), - ), - SizedBox(height:12.h,), - Container( - width: double.infinity, - color:Color(0xFFF2F2F2), - padding:EdgeInsets.all(5), - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - // Text( - // "我的评论:", - // style: TextStyle( - // fontSize: 12.sp, - // height: 1.3, - // fontWeight: MyFontWeight.regular, - // color: Color(0xFF1A1A1A), - // ), - // ), - MImage( - messageRelational["nickname"] , - width: 38, - height: 38, - isCircle: true, - fit: BoxFit.cover, - radius: BorderRadius.circular(2), - errorSrc: "assets/image/default_1.webp", - fadeSrc: "assets/image/default_1.webp", - ), - SizedBox(width:2.w), - Expanded(child:Text( - messageRelational["content"] ?? "", - maxLines: 2, - overflow:TextOverflow.ellipsis, - style: TextStyle( - fontSize: 12.sp, - height: 1.3, - fontWeight: MyFontWeight.regular, - color: Color(0xFF808080), - ), - ),) - ], + fontWeight: MyFontWeight.medium, + fontSize: 14.sp, + color: Color(0xFF32A060), ), ), - Container( - margin: EdgeInsets.only(top: 16.h,bottom:16.h), - height: 1.h, - width: double.infinity, - color: Color(0xFFF7F7F7), - ), ], - )), + ), + SizedBox( + height: 8, + ), + Text( + message.updateTime, + style: TextStyle( + fontSize: 12.sp, + color: Color(0xFFA29E9E), + ), + ), + SizedBox( + height: 12.h, + ), + Container( + width: double.infinity, + color: Color(0xFFF2F2F2), + padding: EdgeInsets.all(5), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + // Text( + // "我的评论:", + // style: TextStyle( + // fontSize: 12.sp, + // height: 1.3, + // fontWeight: MyFontWeight.regular, + // color: Color(0xFF1A1A1A), + // ), + // ), + MImage( + messageRelational["nickname"], + width: 38, + height: 38, + isCircle: true, + fit: BoxFit.cover, + radius: BorderRadius.circular(2), + errorSrc: "assets/image/default_1.webp", + fadeSrc: "assets/image/default_1.webp", + ), + SizedBox(width: 2.w), + Expanded( + child: Text( + messageRelational["content"] ?? "", + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 12.sp, + height: 1.3, + fontWeight: MyFontWeight.regular, + color: Color(0xFF808080), + ), + ), + ) + ], + ), + ), + Container( + margin: EdgeInsets.only(top: 16.h, bottom: 16.h), + height: 1.h, + width: double.infinity, + color: Color(0xFFF7F7F7), + ), ], - ), + )), + ], + ), ); } ///评论通知 - Widget commentMessage(){ + Widget commentMessage() { return Container( - color: Colors.white, - width: double.infinity, - padding: EdgeInsets.only(bottom:20.h,left: 20.w,right: 20.w), - child:Column( - mainAxisAlignment: MainAxisAlignment.spaceAround, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - (messages == null || messages.length == 0) - ? NoDataView( - src:"assets/image/icon_empty.webp", - isShowBtn: false, - text: S.of(context).haimeiyouxiaoxi, - fontSize: 16.sp, - margin: EdgeInsets.only(top: 120.h), - ) - : ListView.builder( + color: Colors.white, + width: double.infinity, + padding: EdgeInsets.only(bottom: 20.h, left: 20.w, right: 20.w), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceAround, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + (messages == null || messages.length == 0) + ? NoDataView( + src: "assets/image/icon_empty.webp", + isShowBtn: false, + text: S.of(context).haimeiyouxiaoxi, + fontSize: 16.sp, + margin: EdgeInsets.only(top: 120.h), + ) + : ListView.builder( padding: EdgeInsets.only(top: 16), itemCount: messages.length, shrinkWrap: true, @@ -623,28 +641,30 @@ class _SystemDetails extends State { Navigator.of(context).pushNamed( '/router/community_details', arguments: { - "businessId":jsonDecode(messages[position].relational)["businessId"].toString(), - "mid":messages[position].mid + "businessId": + jsonDecode(messages[position].relational)[ + "businessId"] + .toString(), + "mid": messages[position].mid }, ); }, - child: commentMessageItem(messages[position],position), + child: commentMessageItem(messages[position], position), ); }), - ], - ) - ); + ], + )); } - Widget commentMessageItem(Message message,index) { + + Widget commentMessageItem(Message message, index) { var messageRelational = jsonDecode(message.relational); return Container( - child: - Row( + child: Row( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ MImage( - messageRelational["avatar"], + messageRelational["avatar"], width: 44, height: 44, isCircle: true, @@ -652,8 +672,11 @@ class _SystemDetails extends State { errorSrc: "assets/image/default_1.webp", fadeSrc: "assets/image/default_1.webp", ), - SizedBox(width: 8,), - Expanded(child:Column( + SizedBox( + width: 8, + ), + Expanded( + child: Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -661,42 +684,46 @@ class _SystemDetails extends State { mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Expanded(child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - Text( - messageRelational["nickname"], + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Text(messageRelational["nickname"], + style: TextStyle( + fontWeight: MyFontWeight.semi_bold, + fontSize: 14.sp, + color: Color(0xFF1A1A1A))), + SizedBox( + width: 8.w, + ), + Text( + "评论了", style: TextStyle( - fontWeight: MyFontWeight.semi_bold, - fontSize: 14.sp, - color: Color(0xFF1A1A1A)) - ), - SizedBox(width:8.w,), - Text( - "评论了", - style:TextStyle( - fontWeight: MyFontWeight.medium, - fontSize: 14.sp, - color: Color(0xFF32A060), + fontWeight: MyFontWeight.medium, + fontSize: 14.sp, + color: Color(0xFF32A060), + ), ), + ], + ), + SizedBox( + height: 8, + ), + Text( + message.updateTime, + style: TextStyle( + fontSize: 12.sp, + color: Color(0xFFA29E9E), ), - ], - ), - SizedBox(height: 8,), - Text( - message.updateTime, - style: TextStyle( - fontSize: 12.sp, - color: Color(0xFFA29E9E), ), - ), - ], - ),), + ], + ), + ), GestureDetector( - onTap: (){ + onTap: () { setState(() { indexMsg = index; showDeleteDialog(); @@ -704,9 +731,9 @@ class _SystemDetails extends State { }); }, child: Container( - height:22.h, + height: 22.h, width: 40.w, - padding:EdgeInsets.only(left:2,right:2), + padding: EdgeInsets.only(left: 2, right: 2), alignment: Alignment.center, decoration: BoxDecoration( borderRadius: BorderRadius.circular(11), @@ -728,7 +755,9 @@ class _SystemDetails extends State { ) ], ), - SizedBox(height:8.h,), + SizedBox( + height: 8.h, + ), // Text( // messageRelational["content"], // maxLines: 2, @@ -785,8 +814,8 @@ class _SystemDetails extends State { // ), Container( width: double.infinity, - color:Color(0xFFF2F2F2), - padding:EdgeInsets.all(5), + color: Color(0xFFF2F2F2), + padding: EdgeInsets.all(5), child: Row( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, @@ -810,23 +839,25 @@ class _SystemDetails extends State { errorSrc: "assets/image/default_1.webp", fadeSrc: "assets/image/default_1.webp", ), - SizedBox(width:2.w), - Expanded(child:Text( - messageRelational["content"], - maxLines: 2, - overflow:TextOverflow.ellipsis, - style: TextStyle( - fontSize: 12.sp, - height: 1.3, - fontWeight: MyFontWeight.regular, - color: Color(0xFF808080), + SizedBox(width: 2.w), + Expanded( + child: Text( + messageRelational["content"], + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 12.sp, + height: 1.3, + fontWeight: MyFontWeight.regular, + color: Color(0xFF808080), + ), ), - ),) + ) ], ), ), Container( - margin: EdgeInsets.only(top: 16.h,bottom:16.h), + margin: EdgeInsets.only(top: 16.h, bottom: 16.h), height: 1.h, width: double.infinity, color: Color(0xFFF7F7F7), @@ -839,188 +870,195 @@ class _SystemDetails extends State { } ///关注通知 - Widget followMessage(){ + Widget followMessage() { return Container( color: Colors.white, width: double.infinity, - padding: EdgeInsets.only(bottom:20.h,left: 20.w,right: 20.w), - child:Column( + padding: EdgeInsets.only(bottom: 20.h, left: 20.w, right: 20.w), + child: Column( mainAxisAlignment: MainAxisAlignment.spaceAround, crossAxisAlignment: CrossAxisAlignment.start, children: [ (messages == null || messages.length == 0) ? NoDataView( - src:"assets/image/icon_empty.webp", - isShowBtn: false, - text: S.of(context).haimeiyouxiaoxi, - fontSize: 16.sp, - margin: EdgeInsets.only(top: 120.h), - ) + src: "assets/image/icon_empty.webp", + isShowBtn: false, + text: S.of(context).haimeiyouxiaoxi, + fontSize: 16.sp, + margin: EdgeInsets.only(top: 120.h), + ) : ListView.builder( - padding: EdgeInsets.only(top: 16), - itemCount: messages.length, - shrinkWrap: true, - physics: NeverScrollableScrollPhysics(), - itemBuilder: (context, position) { - return GestureDetector( - onTap: () { - // if (messages[position].typed == 2) { - // Navigator.of(context) - // .pushNamed('/router/exchange_order_details'); - // } - }, - child: followMessageItem(messages[position]), - ); - }), + padding: EdgeInsets.only(top: 16), + itemCount: messages.length, + shrinkWrap: true, + physics: NeverScrollableScrollPhysics(), + itemBuilder: (context, position) { + return GestureDetector( + onTap: () { + // if (messages[position].typed == 2) { + // Navigator.of(context) + // .pushNamed('/router/exchange_order_details'); + // } + }, + child: followMessageItem(messages[position]), + ); + }), ], - ) - ); + )); } + Widget followMessageItem(Message message) { var messageRelational = jsonDecode(message.relational); - if(message.relational.startsWith("{")) - return Container( - child: - Row( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - - MImage( - messageRelational["avatar"], - width: 44, - height: 44, - isCircle: true, - fit: BoxFit.cover, - errorSrc: "assets/image/default_1.webp", - fadeSrc: "assets/image/default_1.webp", - ), - SizedBox(width: 8,), - Expanded(child:Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Expanded(child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( + if (message.relational.startsWith("{")) + return Container( + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + MImage( + messageRelational["avatar"], + width: 44, + height: 44, + isCircle: true, + fit: BoxFit.cover, + errorSrc: "assets/image/default_1.webp", + fadeSrc: "assets/image/default_1.webp", + ), + SizedBox( + width: 8, + ), + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text( - messageRelational["nickname"], - style: TextStyle( - fontWeight: MyFontWeight.semi_bold, + Row( + children: [ + Text(messageRelational["nickname"], + style: TextStyle( + fontWeight: MyFontWeight.semi_bold, + fontSize: 14.sp, + color: Color(0xFF1A1A1A))), + SizedBox( + width: 8.w, + ), + Text( + "关注了你", + style: TextStyle( + fontWeight: MyFontWeight.medium, fontSize: 14.sp, - color: Color(0xFF1A1A1A)) + color: Color(0xFF32A060), + ), + ), + ], + ), + SizedBox( + height: 8, ), - SizedBox(width:8.w,), Text( - "关注了你", - style:TextStyle( - fontWeight: MyFontWeight.medium, - fontSize: 14.sp, - color: Color(0xFF32A060), + message.updateTime, + style: TextStyle( + fontSize: 12.sp, + color: Color(0xFFA29E9E), ), ), ], ), - SizedBox(height: 8,), - Text( - message.updateTime, - style: TextStyle( - fontSize: 12.sp, - color: Color(0xFFA29E9E), + ), + GestureDetector( + onTap: () { + setState(() { + _vipFollow(messageRelational["mid"].toString(), + message?.followed ?? false); + }); + }, + child: RoundButton( + height: 21.h, + width: 56.w, + padding: EdgeInsets.all(2), + backgroup: (message?.followed ?? false) + ? Color(0xFFE6E6E6) + : Color(0xFF32A060), + textColor: (message?.followed ?? false) + ? Color(0xFF808080) + : Colors.white, + text: (message?.followed ?? false) ? "已关注" : "回关", + radius: 20, + icons: Icon( + (message?.followed ?? false) + ? Icons.check + : Icons.add, + color: (message?.followed ?? false) + ? Color(0xFF808080) + : Colors.white, + size: 12, + ), + ) + // Container( + // height: 21.h, + // width:56.w, + // padding:EdgeInsets.only(left:5,right:5), + // alignment: Alignment.center, + // decoration: BoxDecoration( + // borderRadius: BorderRadius.circular(11), + // border: Border.all( + // width: 1, + // color: Color(0xFF00A359), + // style: BorderStyle.solid, + // ), + // color: (message?.followed ?? false) + // ? Color(0xFFE6E6E6) + // : Color(0xFF32A060), + // ), + // child: Row( + // children: [ + // Icon((message?.followed ?? false) + // ? Icons.check + // : Icons.add, + // color:(message?.followed?? false) + // ? Color(0xFF808080) + // : Colors.white, + // size: 16, + // ), + // Text( + // (message?.followed ?? false) ? "已关注" : "回关", + // style: TextStyle( + // fontSize: 12.sp, + // fontWeight: MyFontWeight.medium, + // color:(message?.followed ?? false) + // ? Color(0xFF808080) + // : Colors.white, + // ), + // ), + // ], + // ), + // ) ), - ), - ], - ),), - GestureDetector( - onTap: (){ - setState(() { - _vipFollow(messageRelational["mid"].toString(),message?.followed ?? false); - }); - }, - child: - RoundButton( - height: 21.h, - width:56.w, - padding: EdgeInsets.all(2), - backgroup: (message?.followed ?? false) - ? Color(0xFFE6E6E6) - : Color(0xFF32A060), - textColor: (message?.followed ?? false) - ? Color(0xFF808080) - : Colors.white, - text: (message?.followed ?? false) ? "已关注" : "回关", - radius:20, - icons: Icon( - (message?.followed ?? false) - ? Icons.check - : Icons.add, - color: (message?.followed?? false) - ? Color(0xFF808080) - : Colors.white, - size: 12, - ), - ) - // Container( - // height: 21.h, - // width:56.w, - // padding:EdgeInsets.only(left:5,right:5), - // alignment: Alignment.center, - // decoration: BoxDecoration( - // borderRadius: BorderRadius.circular(11), - // border: Border.all( - // width: 1, - // color: Color(0xFF00A359), - // style: BorderStyle.solid, - // ), - // color: (message?.followed ?? false) - // ? Color(0xFFE6E6E6) - // : Color(0xFF32A060), - // ), - // child: Row( - // children: [ - // Icon((message?.followed ?? false) - // ? Icons.check - // : Icons.add, - // color:(message?.followed?? false) - // ? Color(0xFF808080) - // : Colors.white, - // size: 16, - // ), - // Text( - // (message?.followed ?? false) ? "已关注" : "回关", - // style: TextStyle( - // fontSize: 12.sp, - // fontWeight: MyFontWeight.medium, - // color:(message?.followed ?? false) - // ? Color(0xFF808080) - // : Colors.white, - // ), - // ), - // ], - // ), - // ) - ), - ], - ), - SizedBox(height:8.h,), - Container( - margin: EdgeInsets.only(top: 16.h,bottom:16.h), - height: 1.h, - width: double.infinity, - color: Color(0xFFF7F7F7), - ), - ], - )), - ], - ), - ); + ], + ), + SizedBox( + height: 8.h, + ), + Container( + margin: EdgeInsets.only(top: 16.h, bottom: 16.h), + height: 1.h, + width: double.infinity, + color: Color(0xFFF7F7F7), + ), + ], + )), + ], + ), + ); } ///动态弹窗 @@ -1061,11 +1099,11 @@ class _SystemDetails extends State { child: TextField( maxLines: 8, minLines: 1, - focusNode:commentFocus, - controller:commentTextController, + focusNode: commentFocus, + controller: commentTextController, decoration: InputDecoration( border: InputBorder.none, - hintText:hintText, + hintText: hintText, hintStyle: TextStyle( fontSize: 14.sp, color: Color(0xFF868686), diff --git a/lib/message/system_message.dart b/lib/message/system_message.dart index b8631255..48eeff31 100644 --- a/lib/message/system_message.dart +++ b/lib/message/system_message.dart @@ -176,6 +176,7 @@ class _SystemMessagePage extends State { child: SingleChildScrollView( physics: BouncingScrollPhysics(), child: Container( + padding: EdgeInsets.only(bottom: 30.h), child: Column( children: [ Container( diff --git a/pubspec.lock b/pubspec.lock index fd60a0b3..caa771cd 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,154 +5,161 @@ packages: dependency: "direct main" description: name: ai_decimal_accuracy - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.0" android_intent_plus: dependency: "direct main" description: name: android_intent_plus - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.2" async: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.8.2" barcode: dependency: transitive description: name: barcode - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.0" barcode_widget: dependency: "direct main" description: name: barcode_widget - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.1" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.0" bubble_tab_indicator: dependency: "direct main" description: name: bubble_tab_indicator - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.1.6" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.2.0" charcode: dependency: transitive description: name: charcode - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.1" chewie: dependency: transitive description: name: chewie - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.3" chewie_audio: dependency: "direct main" description: name: chewie_audio - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.0" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.0" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.16.0" + crypto: + dependency: transitive + description: + name: crypto + url: "https://pub.flutter-io.cn" + source: hosted + version: "3.0.2" csslib: dependency: transitive description: name: csslib - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.17.2" cupertino_icons: dependency: "direct main" description: name: cupertino_icons - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.5" dio: dependency: "direct main" description: name: dio - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.0.10" emoji_picker_flutter: dependency: "direct main" description: name: emoji_picker_flutter - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.4.1" event_bus: dependency: "direct main" description: name: event_bus - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.0" fake_async: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.0" ffi: dependency: transitive description: name: ffi - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.1" file: dependency: transitive description: name: file - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "6.1.4" flare_flutter: dependency: "direct main" description: name: flare_flutter - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.0.2" flutter: @@ -164,56 +171,56 @@ packages: dependency: "direct main" description: name: flutter_baidu_mapapi_base - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "3.2.0" + version: "3.3.0" flutter_baidu_mapapi_map: dependency: "direct main" description: name: flutter_baidu_mapapi_map - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.2.1" flutter_baidu_mapapi_search: dependency: "direct main" description: name: flutter_baidu_mapapi_search - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "3.2.0" + version: "3.3.0" flutter_baidu_mapapi_utils: dependency: "direct main" description: name: flutter_baidu_mapapi_utils - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "3.2.0" + version: "3.3.0" flutter_bmflocation: dependency: "direct main" description: name: flutter_bmflocation - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "3.2.1" + version: "3.3.0" flutter_easyloading: dependency: "direct main" description: name: flutter_easyloading - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.0.5" flutter_html: dependency: "direct main" description: name: flutter_html - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.2.1" flutter_layout_grid: dependency: transitive description: name: flutter_layout_grid - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.6" flutter_localizations: @@ -225,70 +232,70 @@ packages: dependency: transitive description: name: flutter_math_fork - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.4.2+2" flutter_page_indicator: dependency: transitive description: name: flutter_page_indicator - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.0.3" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.7" flutter_screenutil: dependency: "direct main" description: name: flutter_screenutil - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "5.0.0+1" flutter_slidable: dependency: "direct main" description: name: flutter_slidable - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.2" flutter_smart_dialog: dependency: "direct main" description: name: flutter_smart_dialog - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.3.8" + version: "2.1.6" flutter_spinkit: dependency: "direct main" description: name: flutter_spinkit - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "5.1.0" flutter_staggered_grid_view: dependency: "direct main" description: name: flutter_staggered_grid_view - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.4.1" flutter_svg: dependency: "direct main" description: name: flutter_svg - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.22.0" flutter_swiper: dependency: "direct main" description: name: flutter_swiper - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.6" flutter_test: @@ -305,385 +312,392 @@ packages: dependency: "direct main" description: name: fluwx - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "3.9.0+2" + version: "3.12.2" font_awesome_flutter: dependency: "direct main" description: name: font_awesome_flutter - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "9.2.0" gradient_widgets: dependency: "direct main" description: name: gradient_widgets - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.6.0" graphs: dependency: transitive description: name: graphs - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.2.0" html: dependency: transitive description: name: html - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.15.1" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.1.4" image_pickers: dependency: "direct main" description: name: image_pickers - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0+2" + version: "2.0.0+6" intl: dependency: "direct main" description: name: intl - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.17.0" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.6.4" json_annotation: dependency: "direct main" description: name: json_annotation - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.1.1" keframe: dependency: "direct main" description: name: keframe - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.0.0" like_button: dependency: "direct main" description: name: like_button - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.5" logger: dependency: "direct main" description: name: logger - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.0" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.12.11" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.1.4" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.7.0" + mqtt_client: + dependency: "direct main" + description: + name: mqtt_client + url: "https://pub.flutter-io.cn" + source: hosted + version: "9.6.8" nested: dependency: transitive description: name: nested - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.0" network_to_file_image: dependency: "direct main" description: name: network_to_file_image - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "4.0.1" number_precision: dependency: "direct main" description: name: number_precision - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.2+1" numerus: dependency: transitive description: name: numerus - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.1" package_info: dependency: "direct main" description: name: package_info - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.2" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.8.1" path_drawing: dependency: transitive description: name: path_drawing - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.5.1+1" path_parsing: dependency: transitive description: name: path_parsing - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.2.1" path_provider: dependency: "direct main" description: name: path_provider - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.2.0" path_provider_linux: dependency: transitive description: name: path_provider_linux - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.7" path_provider_platform_interface: dependency: transitive description: name: path_provider_platform_interface - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.0" path_provider_windows: dependency: transitive description: name: path_provider_windows - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.3" permission_handler: dependency: "direct main" description: name: permission_handler - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "5.1.0+2" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.2" petitparser: dependency: transitive description: name: petitparser - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "5.0.0" photo_view: dependency: "direct main" description: name: photo_view - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.13.0" pin_input_text_field: dependency: "direct main" description: name: pin_input_text_field - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "4.2.0" platform: dependency: transitive description: name: platform - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.1.0" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.3" process: dependency: transitive description: name: process - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "4.2.4" provider: dependency: transitive description: name: provider - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "6.0.4" + version: "6.0.5" pull_to_refresh: dependency: "direct main" description: name: pull_to_refresh - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.0" qr: dependency: transitive description: name: qr - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.0" qr_flutter: dependency: "direct main" description: name: qr_flutter - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "4.0.0" quiver: dependency: transitive description: name: quiver - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "3.1.0" + version: "3.2.1" retrofit: dependency: "direct main" description: name: retrofit - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.4+1" rive: dependency: "direct main" description: name: rive - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.6.8" rxdart: dependency: "direct main" description: name: rxdart - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.26.0" scan: dependency: "direct main" description: name: scan - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.6.0" shared_preferences: dependency: "direct main" description: name: shared_preferences - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.15" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.14" shared_preferences_ios: dependency: transitive description: name: shared_preferences_ios - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.1" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.1" + version: "2.1.2" shared_preferences_macos: dependency: transitive description: name: shared_preferences_macos - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.4" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.0" shared_preferences_web: dependency: transitive description: name: shared_preferences_web - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.4" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.1" + version: "2.1.2" sharesdk_plugin: dependency: "direct main" description: name: sharesdk_plugin - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "1.3.5" + version: "1.3.6" simple_gesture_detector: dependency: transitive description: name: simple_gesture_detector - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.1.6" sky_engine: @@ -695,63 +709,63 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.8.2" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.10.0" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.0" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.0" table_calendar: dependency: "direct main" description: name: table_calendar - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.3.3" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.2.0" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.4.9" thumbnails: dependency: "direct main" description: name: thumbnails - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.1" tobias: dependency: "direct main" description: name: tobias - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.4.1" tpns_flutter_plugin: @@ -767,168 +781,168 @@ packages: dependency: transitive description: name: transformer_page_view - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.1.6" tuple: dependency: transitive description: name: tuple - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.1" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.1" url_launcher: dependency: "direct main" description: name: url_launcher - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "5.7.10" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.0.1+4" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.0.1+9" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.9" url_launcher_web: dependency: transitive description: name: url_launcher_web - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.1.5+3" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.0.1+3" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.2" video_player: dependency: "direct main" description: name: video_player - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.2.19" video_player_android: dependency: transitive description: name: video_player_android - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.3.4" video_player_avfoundation: dependency: transitive description: name: video_player_avfoundation - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.3.7" + version: "2.3.8" video_player_platform_interface: dependency: transitive description: name: video_player_platform_interface - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "4.2.0" video_player_web: dependency: transitive description: name: video_player_web - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.12" + version: "2.0.13" wakelock: dependency: transitive description: name: wakelock - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.6.2" wakelock_macos: dependency: transitive description: name: wakelock_macos - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.4.0" wakelock_platform_interface: dependency: transitive description: name: wakelock_platform_interface - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.3.0" wakelock_web: dependency: transitive description: name: wakelock_web - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.4.0" wakelock_windows: dependency: transitive description: name: wakelock_windows - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.2.1" webview_flutter: dependency: transitive description: name: webview_flutter - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.14" win32: dependency: transitive description: name: win32 - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.1" + version: "3.1.3" xdg_directories: dependency: transitive description: name: xdg_directories - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.2.0+2" xml: dependency: transitive description: name: xml - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "5.4.1" sdks: diff --git a/pubspec.yaml b/pubspec.yaml index 95525547..23a4247f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: 一心回乡. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 3.2.0+41 +version: 3.2.3+44 environment: sdk: ">=2.7.0 <3.0.0" @@ -103,6 +103,8 @@ dependencies: emoji_picker_flutter: ^1.4.1 + mqtt_client: ^9.6.8 + dev_dependencies: flutter_test: sdk: flutter