panhui 6 سال پیش
والد
کامیت
189c216509

BIN
images/img_guangmang_1.png


+ 3 - 0
lib/main.dart

@@ -50,6 +50,9 @@ class MobileCyberGamesApp extends StatelessWidget {
               buttonColor: Color(0xFFC2524D),
               buttonColor: Color(0xFFC2524D),
               highlightColor: Color(0xFF9B4040),
               highlightColor: Color(0xFF9B4040),
               splashColor: Color(0xFF9B4040),
               splashColor: Color(0xFF9B4040),
+               shape: RoundedRectangleBorder(
+                    borderRadius: BorderRadius.all(Radius.circular(0))
+                  ),
             )),
             )),
         home: store.state.userInfo != null ? HomePage() : LoginFirst(),
         home: store.state.userInfo != null ? HomePage() : LoginFirst(),
         routes: {"/home": (BuildContext context) => HomePage()},
         routes: {"/home": (BuildContext context) => HomePage()},

+ 3 - 1
lib/model/HouseInfo.dart

@@ -24,7 +24,8 @@ class HouseInfo {
       this.gameHousePassword,
       this.gameHousePassword,
       this.statusFlag,
       this.statusFlag,
       this.createUser,
       this.createUser,
-      this.beginTime);
+      this.beginTime,
+      this.createTime);
   int id;
   int id;
   int gameId; //游戏ID
   int gameId; //游戏ID
   int userId; //用户ID
   int userId; //用户ID
@@ -43,6 +44,7 @@ class HouseInfo {
   int statusFlag; //状态
   int statusFlag; //状态
   String createUser; //创建人
   String createUser; //创建人
   int beginTime; //开始时间
   int beginTime; //开始时间
+  int createTime;//创建时间
   factory HouseInfo.fromJson(Map<String, dynamic> json) =>
   factory HouseInfo.fromJson(Map<String, dynamic> json) =>
       _$HouseInfoFromJson(json);
       _$HouseInfoFromJson(json);
 
 

+ 4 - 2
lib/model/HouseInfo.g.dart

@@ -27,7 +27,8 @@ HouseInfo _$HouseInfoFromJson(Map<String, dynamic> json) {
       json['gameHousePassword'] as String,
       json['gameHousePassword'] as String,
       json['statusFlag'] as int,
       json['statusFlag'] as int,
       json['createUser'] as String,
       json['createUser'] as String,
-      json['beginTime'] as int);
+      json['beginTime'] as int,
+      json['createTime'] as int);
 }
 }
 
 
 //  int id;
 //  int id;
@@ -64,5 +65,6 @@ Map<String, dynamic> _$HouseInfoToJson(HouseInfo instance) => <String, dynamic>{
       'gameHousePassword': instance.gameHousePassword,
       'gameHousePassword': instance.gameHousePassword,
       'statusFlag': instance.statusFlag,
       'statusFlag': instance.statusFlag,
       'createUser': instance.createUser,
       'createUser': instance.createUser,
-      'beginTime':instance.beginTime
+      'beginTime':instance.beginTime,
+      'createTime':instance.createTime
     };
     };

+ 5 - 5
lib/pages/CompetitionInformation.dart

@@ -31,7 +31,7 @@ class CompetitionInformationState extends State<CompetitionInformation> {
             child: Center(
             child: Center(
                 child: Swiper(
                 child: Swiper(
                     controller: _swiperController,
                     controller: _swiperController,
-                    layout: SwiperLayout.TINDER,
+                    layout: SwiperLayout.DEFAULT,
                     itemWidth: 270.0,
                     itemWidth: 270.0,
                     itemHeight: 422.0,
                     itemHeight: 422.0,
                     control: SwiperControl(
                     control: SwiperControl(
@@ -253,18 +253,18 @@ class InfoBox extends StatelessWidget {
             Text.rich(
             Text.rich(
                 TextSpan(children: [
                 TextSpan(children: [
                   TextSpan(
                   TextSpan(
-                    text: '在游戏比赛结束后,',
+                    text: '在游戏中吃鸡后,',
                     style: _text,
                     style: _text,
                   ),
                   ),
                   TextSpan(
                   TextSpan(
-                    text: '请一定要点击查看游戏最后的分数名次结算页面',
+                    text: '请一定一定一定要点击“继续”按钮',
                     style: TextStyle(
                     style: TextStyle(
                         color: Color(0xFFC2524D),
                         color: Color(0xFFC2524D),
                         fontSize: 14,
                         fontSize: 14,
-                        fontWeight: FontWeight.w500),
+                        fontWeight: FontWeight.w600),
                   ),
                   ),
                   TextSpan(
                   TextSpan(
-                    text: ',返回游戏主页,最后再切换到我们竞赛app中,点击完成比赛,方可成功长传本次成绩,赢取大奖',
+                    text: ',显示到上图所示画面,然后再切换到我们全民APP中,点击完成比赛,方可成功上传本次成绩,赢取大奖',
                     style: _text,
                     style: _text,
                   )
                   )
                 ]),
                 ]),

+ 1 - 1
lib/pages/HomePage.dart

@@ -160,7 +160,7 @@ class _HomePageState extends State<HomePage> with WidgetsBindingObserver {
                             Navigator.push(
                             Navigator.push(
                                 context,
                                 context,
                                 new CupertinoPageRoute(
                                 new CupertinoPageRoute(
-                                    builder: (context) => new RankList(raceId: seasonList[index].id, gameId: seasonList[index].competitionSeason.gameId)));
+                                    builder: (context) => new RankList(raceId: seasonList[index].competitionSeason.id, gameId: seasonList[index].competitionSeason.gameId)));
                           },
                           },
                           onIndexChanged: (index) {
                           onIndexChanged: (index) {
                             setState(() {
                             setState(() {

+ 1 - 1
lib/pages/RecordList.dart

@@ -189,7 +189,7 @@ class houseItem extends StatelessWidget {
                         ],
                         ],
                       ),
                       ),
                       Text(
                       Text(
-                        roomInfo.houseAbstract,
+                        roomInfo.houseAbstract??"",
                         style: TextStyle(fontSize: 12, fontWeight: FontWeight.w400, color: Color(0xFF9BA0AE)),
                         style: TextStyle(fontSize: 12, fontWeight: FontWeight.w400, color: Color(0xFF9BA0AE)),
                         maxLines: 2,
                         maxLines: 2,
                         overflow: TextOverflow.ellipsis,
                         overflow: TextOverflow.ellipsis,

+ 157 - 0
lib/pages/SecondRoomInfo.dart

@@ -0,0 +1,157 @@
+import 'package:flutter/material.dart';
+import '../model/PlayerInfo.dart';
+import 'dart:async';
+import '../styles/totast.dart';
+import '../net/HttpManager.dart';
+import '../net/Result.dart';
+import '../styles/colors.dart';
+class SecondPage extends StatefulWidget {
+  SecondPage({Key key, this.roomId, this.status}) : super(key: key);
+  final String roomId; // 用来储存传递过来的值
+  final int status;
+  @override
+  SecondPageState createState() => SecondPageState();
+}
+
+class SecondPageState extends State<SecondPage> {
+  List<PlayerInfo> joinList = [];
+  int currentPage = 1;
+  bool ismore = true;
+  ScrollController _perController;
+
+  //获取房间用户
+  getPlayerPage() async {
+    ismore = false;
+    Toast.show(context, '加载中', -1, 'loading');
+    Result res = await HttpManager.get("playerInfo/rankPage", data: {
+      "houseId": widget.roomId,
+      "currentPage": currentPage,
+      "pageNumber": 20
+    });
+    Toast.hide();
+    List<PlayerInfo> list = joinList;
+    if (currentPage == 1) {
+      list = [];
+    }
+    if (res.success) {
+      print(res.data['pp']);
+      for (var item in res.data['pp']) {
+        PlayerInfo jonPlayer = PlayerInfo.fromJson(item);
+        list.add(jonPlayer);
+      }
+      if (res.data['page']['currentPage'] < res.data['page']['totalPage']) {
+        ismore = true;
+      }
+    } else {}
+    setState(() {
+      joinList = list;
+    });
+  }
+
+  @override
+  void initState() {
+    super.initState();
+    _perController = ScrollController();
+    currentPage = 1;
+    Future.delayed(Duration.zero, () {
+      getPlayerPage();
+      _perController.addListener(() {
+        if (_perController.position.pixels ==
+            _perController.position.maxScrollExtent) {
+          if (ismore) {
+            currentPage++;
+            getPlayerPage();
+          }
+        }
+      });
+    });
+  }
+
+  @override
+  void dispose() {
+    super.dispose();
+    _perController.dispose();
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    return RefreshIndicator(
+      color: PRIMARY_COLOR,
+      backgroundColor: Colors.white,
+      displacement: 10,
+      onRefresh: () async {
+        await new Future.delayed(const Duration(seconds: 1));
+        currentPage = 1;
+        getPlayerPage();
+      },
+      child: ListView.builder(
+          physics: AlwaysScrollableScrollPhysics(),
+          controller: _perController,
+          itemCount: joinList.length + 1,
+          itemBuilder: (BuildContext context, int index) {
+            if (index < joinList.length) {
+              return person_item(joinList[index], index);
+            } else {
+              return Container(
+                padding: EdgeInsets.all(15),
+                child: Text(
+                  '其他人员正在火速赶来中...',
+                  style: TextStyle(color: Colors.white30),
+                  textAlign: TextAlign.center,
+                ),
+              );
+            }
+          }),
+    );
+  }
+
+  Widget person_item(PlayerInfo info, int index) {
+    return Container(
+      width: double.infinity,
+      height: 60,
+      color: Color(0xFF2B2B42),
+      margin: EdgeInsets.only(top: index == 0 ? 10 : 0),
+      padding: EdgeInsets.only(left: 15, right: 15),
+      child: Container(
+        decoration: BoxDecoration(
+            border: Border(
+                bottom: BorderSide(
+                    width: 1, color: BG_SUB_COLOR, style: BorderStyle.solid))),
+        child: Row(
+          children: <Widget>[
+            Container(
+              margin: EdgeInsets.only(right: 12),
+              width: 36,
+              height: 36,
+              child: info.userInfo != null
+                  ? CircleAvatar(
+                      backgroundImage: NetworkImage(info.userInfo.icon),
+                    )
+                  : Container(),
+            ),
+            Expanded(
+              flex: 1,
+              child: Text(
+                info.userInfo != null ? info.userInfo.nickname : '',
+                style: TextStyle(
+                  color: Colors.white,
+                  fontSize: 14,
+                ),
+                maxLines: 1,
+                overflow: TextOverflow.ellipsis,
+              ),
+            ),
+            widget.status == 4 && index < 3
+                ? Image.asset(
+                    'images/icon_paihangbang_0' +
+                        (index + 1).toString() +
+                        '.png',
+                    width: 32,
+                  )
+                : Container()
+          ],
+        ),
+      ),
+    );
+  }
+}

+ 13 - 7
lib/pages/TipInfo.dart

@@ -10,6 +10,7 @@ import '../model/HouseInfo.dart';
 import '../model/GameInfo.dart';
 import '../model/GameInfo.dart';
 import '../pages/RoomInfo.dart';
 import '../pages/RoomInfo.dart';
 import '../widget/SuccessfulReception.dart';
 import '../widget/SuccessfulReception.dart';
+import '../widget/CircleProgressBarPainter.dart';
 
 
 class TipInfo extends StatefulWidget {
 class TipInfo extends StatefulWidget {
   TipInfo({Key key, this.tipId}) : super(key: key);
   TipInfo({Key key, this.tipId}) : super(key: key);
@@ -53,7 +54,6 @@ class TipInfoState extends State<TipInfo> {
         houseInfo = HouseInfo.fromJson(res2.data);
         houseInfo = HouseInfo.fromJson(res2.data);
       });
       });
     }
     }
-
   }
   }
 
 
   void showSuccess(money) {
   void showSuccess(money) {
@@ -79,7 +79,6 @@ class TipInfoState extends State<TipInfo> {
   void initState() {
   void initState() {
     super.initState();
     super.initState();
     Future.delayed(Duration.zero, () => getInfo());
     Future.delayed(Duration.zero, () => getInfo());
-    
   }
   }
 
 
   @override
   @override
@@ -134,15 +133,17 @@ class TipInfoState extends State<TipInfo> {
                 houseInfo != null && type != 3
                 houseInfo != null && type != 3
                     ? houseItem(roomInfo: houseInfo, gameInfo: gameInfo)
                     ? houseItem(roomInfo: houseInfo, gameInfo: gameInfo)
                     : Container(),
                     : Container(),
-                (type == 2 || type == 3) && status == 0
+                (type == 2 || type == 3)
                     ? Container(
                     ? Container(
                         width: double.infinity,
                         width: double.infinity,
                         height: 48,
                         height: 48,
                         padding: EdgeInsets.symmetric(horizontal: 15),
                         padding: EdgeInsets.symmetric(horizontal: 15),
                         child: RaisedButton(
                         child: RaisedButton(
                           textColor: Colors.white,
                           textColor: Colors.white,
-                          child: Text('立即领取'),
-                          onPressed: () async {
+                          disabledColor: Color(0xFF763939),
+                          disabledTextColor: Color(0xFF252532),
+                          child: Text(status==0?'立即领取':'已领取'),
+                          onPressed: status==0?() async {
                             Toast.show(context, '加载中', -1, 'loading');
                             Toast.show(context, '加载中', -1, 'loading');
                             Result res = type == 2
                             Result res = type == 2
                                 ? await HttpManager.post("playerInfo/receive",
                                 ? await HttpManager.post("playerInfo/receive",
@@ -160,10 +161,15 @@ class TipInfoState extends State<TipInfo> {
                             } else {
                             } else {
                               Toast.show(context, res.error, 1000, 'info');
                               Toast.show(context, res.error, 1000, 'info');
                             }
                             }
-                          },
+                          }:null,
                         ),
                         ),
                       )
                       )
-                    : Container()
+                    : Container(),
+                // CustomPaint(
+                //   painter: CircleProgressBarPainter(
+                //       Color(0xFFDCA659), Color(0xFFAE4945), 0.0, 270.0, 360.0, 18.0),
+                //   size: Size(108.0, 108.0),
+                // )
               ],
               ],
             ),
             ),
           )),
           )),

+ 257 - 116
lib/pages/rankList.dart

@@ -10,7 +10,7 @@ import '../redux/AppState.dart';
 import '../model/CompetitionSeason.dart';
 import '../model/CompetitionSeason.dart';
 
 
 class RankList extends StatefulWidget {
 class RankList extends StatefulWidget {
-  RankList({Key key, this.raceId,this.gameId}) : super(key: key);
+  RankList({Key key, this.raceId, this.gameId}) : super(key: key);
   final int raceId; // 用来储存传递过来的值
   final int raceId; // 用来储存传递过来的值
   final int gameId;
   final int gameId;
   @override
   @override
@@ -29,8 +29,11 @@ class RankListState extends State<RankList> {
   PlayerInfo myPlayInfo;
   PlayerInfo myPlayInfo;
 
 
   void getUserRank() async {
   void getUserRank() async {
-    Result res =
-        await HttpManager.get("playerInfo/seasonUserRank", data: {"seasonId": raceId, "userId": StoreProvider.of<AppState>(context).state.userInfo.id,'gameId':widget.gameId});
+    Result res = await HttpManager.get("playerInfo/seasonUserRank", data: {
+      "seasonId": raceId,
+      "userId": StoreProvider.of<AppState>(context).state.userInfo.id,
+      'gameId': widget.gameId
+    });
     if (res.success && res.data != null) {
     if (res.success && res.data != null) {
       setState(() {
       setState(() {
         myPlayInfo = PlayerInfo.fromJson(res.data);
         myPlayInfo = PlayerInfo.fromJson(res.data);
@@ -48,7 +51,11 @@ class RankListState extends State<RankList> {
   void getListPage() async {
   void getListPage() async {
     scrollFlag = false;
     scrollFlag = false;
     Toast.show(context, '加载中', -1, 'loading');
     Toast.show(context, '加载中', -1, 'loading');
-    Result res = await HttpManager.get("playerInfo/seasonRankPage", data: {"seasonId": raceId, "currentPage": currentPage, "pageNumber": 20});
+    Result res = await HttpManager.get("playerInfo/seasonRankPage", data: {
+      "seasonId": raceId,
+      "currentPage": currentPage,
+      "pageNumber": 20
+    });
     Toast.hide();
     Toast.hide();
     List<PlayerInfo> list = rankList;
     List<PlayerInfo> list = rankList;
     if (currentPage == 1) {
     if (currentPage == 1) {
@@ -120,7 +127,8 @@ class RankListState extends State<RankList> {
     super.initState();
     super.initState();
     _mcontroller = ScrollController();
     _mcontroller = ScrollController();
     _mcontroller.addListener(() {
     _mcontroller.addListener(() {
-      if (_mcontroller.position.pixels == _mcontroller.position.maxScrollExtent) {
+      if (_mcontroller.position.pixels ==
+          _mcontroller.position.maxScrollExtent) {
         if (scrollFlag) {
         if (scrollFlag) {
           currentPage++;
           currentPage++;
           getListPage();
           getListPage();
@@ -156,7 +164,11 @@ class RankListState extends State<RankList> {
                 child: CustomScrollView(
                 child: CustomScrollView(
                   controller: _mcontroller,
                   controller: _mcontroller,
                   physics: AlwaysScrollableScrollPhysics(),
                   physics: AlwaysScrollableScrollPhysics(),
-                  slivers: <Widget>[_sliverAppBar(), _slievrToBoxAdapter(), _sliverList()],
+                  slivers: <Widget>[
+                    _sliverAppBar(),
+                    _slievrToBoxAdapter(),
+                    _sliverList()
+                  ],
                 )),
                 )),
           ),
           ),
           floatingActionButton: myPlayInfo == null
           floatingActionButton: myPlayInfo == null
@@ -174,28 +186,42 @@ class RankListState extends State<RankList> {
                       Container(
                       Container(
                         width: 30,
                         width: 30,
                         height: 30,
                         height: 30,
-                        child: CircleAvatar(backgroundImage: NetworkImage(myPlayInfo.userInfo.icon ?? '')),
+                        child: CircleAvatar(
+                            backgroundImage:
+                                NetworkImage(myPlayInfo.userInfo.icon ?? '')),
                       ),
                       ),
                       Padding(
                       Padding(
                         padding: EdgeInsets.symmetric(horizontal: 10),
                         padding: EdgeInsets.symmetric(horizontal: 10),
-                        child: Text(myPlayInfo.userInfo.nickname ?? '', style: TextStyle(color: Colors.white, fontSize: 14)),
+                        child: Text(myPlayInfo.userInfo.nickname ?? '',
+                            style:
+                                TextStyle(color: Colors.white, fontSize: 14)),
                       ),
                       ),
                       Image.asset('images/icon_jinbi_da_bai.png', width: 20),
                       Image.asset('images/icon_jinbi_da_bai.png', width: 20),
                       Padding(
                       Padding(
                         padding: EdgeInsets.only(left: 2),
                         padding: EdgeInsets.only(left: 2),
-                        child: Text((myPlayInfo.bonus ?? 0).toString(), style: TextStyle(color: Colors.white, fontSize: 14, fontWeight: FontWeight.w500)),
+                        child: Text((myPlayInfo.bonus ?? 0).toString(),
+                            style: TextStyle(
+                                color: Colors.white,
+                                fontSize: 14,
+                                fontWeight: FontWeight.w500)),
                       ),
                       ),
                       myPlayInfo.rank == null
                       myPlayInfo.rank == null
                           ? Container()
                           ? Container()
                           : Expanded(
                           : Expanded(
                               flex: 1,
                               flex: 1,
-                              child: Text('第 ' + myPlayInfo.rank.toString() + ' 名',
-                                  style: TextStyle(color: Colors.white, fontSize: 14, fontWeight: FontWeight.w500), textAlign: TextAlign.right),
+                              child: Text(
+                                  '第 ' + myPlayInfo.rank.toString() + ' 名',
+                                  style: TextStyle(
+                                      color: Colors.white,
+                                      fontSize: 14,
+                                      fontWeight: FontWeight.w500),
+                                  textAlign: TextAlign.right),
                             )
                             )
                     ],
                     ],
                   ),
                   ),
                 ),
                 ),
-          floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
+          floatingActionButtonLocation:
+              FloatingActionButtonLocation.centerDocked,
         ),
         ),
         onWillPop: () {
         onWillPop: () {
           Toast.hide();
           Toast.hide();
@@ -223,7 +249,10 @@ class RankListState extends State<RankList> {
                 children: <Widget>[
                 children: <Widget>[
                   Text(
                   Text(
                     competitionSeason != null ? competitionSeason.season : '',
                     competitionSeason != null ? competitionSeason.season : '',
-                    style: TextStyle(color: Colors.white, fontSize: 13, fontWeight: FontWeight.w400),
+                    style: TextStyle(
+                        color: Colors.white,
+                        fontSize: 13,
+                        fontWeight: FontWeight.w400),
                   ),
                   ),
                   Image.asset(
                   Image.asset(
                     'images/icon_zhankai_baise.png',
                     'images/icon_zhankai_baise.png',
@@ -242,7 +271,8 @@ class RankListState extends State<RankList> {
               },
               },
               itemBuilder: (BuildContext context) {
               itemBuilder: (BuildContext context) {
                 return seasonList.map((choice) {
                 return seasonList.map((choice) {
-                  return new PopupMenuItem(child: new Text(choice.season), value: choice.id);
+                  return new PopupMenuItem(
+                      child: new Text(choice.season), value: choice.id);
                 }).toList();
                 }).toList();
               }),
               }),
         ],
         ],
@@ -272,7 +302,12 @@ class RankListState extends State<RankList> {
               padding: EdgeInsets.symmetric(horizontal: 15),
               padding: EdgeInsets.symmetric(horizontal: 15),
               child: Container(
               child: Container(
                 height: 36,
                 height: 36,
-                decoration: BoxDecoration(border: Border(bottom: BorderSide(width: 1, color: Colors.black26, style: BorderStyle.solid))),
+                decoration: BoxDecoration(
+                    border: Border(
+                        bottom: BorderSide(
+                            width: 1,
+                            color: Colors.black26,
+                            style: BorderStyle.solid))),
                 child: Row(
                 child: Row(
                   children: <Widget>[
                   children: <Widget>[
                     Container(
                     Container(
@@ -280,7 +315,8 @@ class RankListState extends State<RankList> {
                       height: 36,
                       height: 36,
                       margin: EdgeInsets.only(right: 15),
                       margin: EdgeInsets.only(right: 15),
                       child: CircleAvatar(
                       child: CircleAvatar(
-                        backgroundImage: NetworkImage(rankList[index].userInfo.icon),
+                        backgroundImage:
+                            NetworkImage(rankList[index].userInfo.icon),
                       ),
                       ),
                     ),
                     ),
                     Expanded(
                     Expanded(
@@ -290,10 +326,15 @@ class RankListState extends State<RankList> {
                         crossAxisAlignment: CrossAxisAlignment.start,
                         crossAxisAlignment: CrossAxisAlignment.start,
                         children: <Widget>[
                         children: <Widget>[
                           Text(rankList[index].userInfo.nickname,
                           Text(rankList[index].userInfo.nickname,
-                              style: TextStyle(color: PRIMARY_COLOR, fontSize: 14, height: 1.2), overflow: TextOverflow.ellipsis),
+                              style: TextStyle(
+                                  color: PRIMARY_COLOR,
+                                  fontSize: 14,
+                                  height: 1.2),
+                              overflow: TextOverflow.ellipsis),
                           Row(
                           Row(
                             children: <Widget>[
                             children: <Widget>[
-                              Image.asset('images/icon_jinbi_da_bai.png', width: 20),
+                              Image.asset('images/icon_jinbi_da_bai.png',
+                                  width: 20),
                               Padding(
                               Padding(
                                 padding: EdgeInsets.only(left: 2),
                                 padding: EdgeInsets.only(left: 2),
                                 child: Text(rankList[index].bonus.toString(),
                                 child: Text(rankList[index].bonus.toString(),
@@ -313,10 +354,18 @@ class RankListState extends State<RankList> {
                             width: 30,
                             width: 30,
                             height: 30,
                             height: 30,
                             margin: EdgeInsets.only(right: 33),
                             margin: EdgeInsets.only(right: 33),
-                            decoration: BoxDecoration(image: DecorationImage(image: AssetImage('images/icon_paihangbang_04.png'), fit: BoxFit.cover)),
+                            decoration: BoxDecoration(
+                                image: DecorationImage(
+                                    image: AssetImage(
+                                        'images/icon_paihangbang_04.png'),
+                                    fit: BoxFit.cover)),
                             child: Text(
                             child: Text(
-                              (index + 1).toString(),
-                              style: TextStyle(color: Color(0xFF15151D), fontSize: 12, fontWeight: FontWeight.w500, height: 2),
+                              rankList[index].rank.toString(),
+                              style: TextStyle(
+                                  color: Color(0xFF15151D),
+                                  fontSize: 12,
+                                  fontWeight: FontWeight.w500,
+                                  height: 2),
                               textAlign: TextAlign.center,
                               textAlign: TextAlign.center,
                             ),
                             ),
                           )
                           )
@@ -348,15 +397,16 @@ class RankListState extends State<RankList> {
     List<Widget> list = [];
     List<Widget> list = [];
     if (rankList.length > 0) {
     if (rankList.length > 0) {
       list.add(Container(
       list.add(Container(
-        margin: EdgeInsets.only(top: 20, left: 30, right: 30),
-        child: Column(
+        margin: EdgeInsets.only(top: 0, left: 30, right: 30),
+        child: Stack(
           children: <Widget>[
           children: <Widget>[
-            Container(
-              width: 80,
-              height: 80,
-              child: Stack(
-                children: <Widget>[
-                  Container(
+            Column(
+              children: <Widget>[
+                Container(
+                  margin: EdgeInsets.only(top: 25),
+                  width: 80,
+                  height: 80,
+                  child: Container(
                       padding: EdgeInsets.all(5),
                       padding: EdgeInsets.all(5),
                       width: 80,
                       width: 80,
                       height: 80,
                       height: 80,
@@ -366,25 +416,41 @@ class RankListState extends State<RankList> {
                             begin: Alignment.topLeft,
                             begin: Alignment.topLeft,
                             colors: [Color(0xFFFECF01), Color(0xFFD48E00)],
                             colors: [Color(0xFFFECF01), Color(0xFFD48E00)],
                           ),
                           ),
-                          boxShadow: [BoxShadow(color: Colors.black12, offset: Offset(2.0, 4.0), blurRadius: 4.0)]),
-                      child: CircleAvatar(backgroundImage: NetworkImage(rankList[0].userInfo.icon))),
-                  Positioned(bottom: 0, left: 24, child: Image.asset('images/icon_paihangbang_01.png', width: 32))
-                ],
-              ),
-            ),
-            Padding(
-              padding: EdgeInsets.only(top: 7, bottom: 3),
-              child: Text(rankList[0].userInfo.nickname, style: TextStyle(color: Color(0xFF2E3049), fontSize: 14)),
-            ),
-            Row(
-              children: <Widget>[
+                          boxShadow: [
+                            BoxShadow(
+                                color: Colors.black12,
+                                offset: Offset(2.0, 4.0),
+                                blurRadius: 4.0)
+                          ]),
+                      child: CircleAvatar(
+                          backgroundImage:
+                              NetworkImage(rankList[0].userInfo.icon))),
+                ),
                 Padding(
                 Padding(
-                  padding: EdgeInsets.only(right: 2),
-                  child: Image.asset('images/icon_jinbi_da_bai.png', width: 20),
+                  padding: EdgeInsets.only(top: 7, bottom: 3),
+                  child: Text(rankList[0].userInfo.nickname,
+                      style: TextStyle(color: Color(0xFF2E3049), fontSize: 14)),
                 ),
                 ),
-                Text(rankList[0].bonus.toString(), style: TextStyle(color: Colors.white, fontSize: 14, fontWeight: FontWeight.w500))
+                Row(
+                  children: <Widget>[
+                    Padding(
+                      padding: EdgeInsets.only(right: 2),
+                      child: Image.asset('images/icon_jinbi_da_bai.png',
+                          width: 20),
+                    ),
+                    Text(rankList[0].bonus.toString(),
+                        style: TextStyle(
+                            color: Colors.white,
+                            fontSize: 14,
+                            fontWeight: FontWeight.w500))
+                  ],
+                )
               ],
               ],
-            )
+            ),
+            Positioned(
+                top: 0,
+                left: 24,
+                child: Image.asset('images/icon_paihangbang_01.png', width: 32))
           ],
           ],
         ),
         ),
       ));
       ));
@@ -394,89 +460,164 @@ class RankListState extends State<RankList> {
       list.insert(
       list.insert(
           0,
           0,
           Container(
           Container(
-            margin: EdgeInsets.only(top: 50),
-            child: Column(
-              children: <Widget>[
-                Container(
-                  width: 70,
-                  height: 70,
-                  child: Stack(
+              margin: EdgeInsets.only(top: 25),
+              child: Stack(
+                children: <Widget>[
+                  Column(
                     children: <Widget>[
                     children: <Widget>[
                       Container(
                       Container(
-                          padding: EdgeInsets.all(5),
-                          width: 70,
-                          height: 70,
-                          decoration: BoxDecoration(
-                              borderRadius: BorderRadius.all(Radius.circular(70)),
-                              gradient: LinearGradient(
-                                begin: Alignment.topLeft,
-                                colors: [Color(0xFFE3E3E3), Color(0xFFC5C5C5)],
-                              ),
-                              boxShadow: [BoxShadow(color: Colors.black12, offset: Offset(2.0, 4.0), blurRadius: 4.0)]),
-                          child: CircleAvatar(backgroundImage: NetworkImage(rankList[1].userInfo.icon))),
-                      Positioned(bottom: 0, left: 19, child: Image.asset('images/icon_paihangbang_02.png', width: 32))
+                        margin: EdgeInsets.only(top: 25),
+                        width: 70,
+                        height: 70,
+                        child: Stack(
+                          children: <Widget>[
+                            Container(
+                                padding: EdgeInsets.all(5),
+                                width: 70,
+                                height: 70,
+                                decoration: BoxDecoration(
+                                    borderRadius:
+                                        BorderRadius.all(Radius.circular(70)),
+                                    gradient: LinearGradient(
+                                      begin: Alignment.topLeft,
+                                      colors: [
+                                        Color(0xFFE3E3E3),
+                                        Color(0xFFC5C5C5)
+                                      ],
+                                    ),
+                                    boxShadow: [
+                                      BoxShadow(
+                                          color: Colors.black12,
+                                          offset: Offset(2.0, 4.0),
+                                          blurRadius: 4.0)
+                                    ]),
+                                child: CircleAvatar(
+                                    backgroundImage: NetworkImage(
+                                        rankList[1].userInfo.icon))),
+                          ],
+                        ),
+                      ),
+                      Padding(
+                        padding: EdgeInsets.only(top: 7, bottom: 3),
+                        child: Text(rankList[1].userInfo.nickname,
+                            style: TextStyle(
+                                color: Color(0xFF2E3049), fontSize: 14)),
+                      ),
+                      Row(
+                        children: <Widget>[
+                          Padding(
+                            padding: EdgeInsets.only(right: 2),
+                            child: Image.asset('images/icon_jinbi_da_bai.png',
+                                width: 20),
+                          ),
+                          Text(rankList[1].bonus.toString(),
+                              style: TextStyle(
+                                  color: Colors.white,
+                                  fontSize: 14,
+                                  fontWeight: FontWeight.w500))
+                        ],
+                      )
                     ],
                     ],
                   ),
                   ),
-                ),
-                Padding(
-                  padding: EdgeInsets.only(top: 7, bottom: 3),
-                  child: Text(rankList[1].userInfo.nickname, style: TextStyle(color: Color(0xFF2E3049), fontSize: 14)),
-                ),
-                Row(
-                  children: <Widget>[
-                    Padding(
-                      padding: EdgeInsets.only(right: 2),
-                      child: Image.asset('images/icon_jinbi_da_bai.png', width: 20),
-                    ),
-                    Text(rankList[1].bonus.toString(), style: TextStyle(color: Colors.white, fontSize: 14, fontWeight: FontWeight.w500))
-                  ],
-                )
-              ],
-            ),
-          ));
+                  Positioned(
+                      top: 0,
+                      left: 19,
+                      child: Image.asset('images/icon_paihangbang_02.png',
+                          width: 32))
+                ],
+              )));
     }
     }
 
 
     if (rankList.length > 2) {
     if (rankList.length > 2) {
       list.add(Container(
       list.add(Container(
-        margin: EdgeInsets.only(top: 50),
-        child: Column(
-          children: <Widget>[
-            Container(
-              width: 70,
-              height: 70,
-              child: Stack(
+          margin: EdgeInsets.only(top: 25),
+          child: Stack(
+            children: <Widget>[
+              Column(
                 children: <Widget>[
                 children: <Widget>[
                   Container(
                   Container(
-                      padding: EdgeInsets.all(5),
-                      width: 70,
-                      height: 70,
-                      decoration: BoxDecoration(
-                          borderRadius: BorderRadius.all(Radius.circular(70)),
-                          gradient: LinearGradient(
-                            begin: Alignment.topLeft,
-                            colors: [Color(0xFFF89E58), Color(0xFFE77023)],
-                          ),
-                          boxShadow: [BoxShadow(color: Colors.black12, offset: Offset(2.0, 4.0), blurRadius: 4.0)]),
-                      child: CircleAvatar(backgroundImage: NetworkImage(rankList[2].userInfo.icon))),
-                  Positioned(bottom: 0, left: 19, child: Image.asset('images/icon_paihangbang_03.png', width: 32))
+                    width: 70,
+                    height: 70,
+                    margin: EdgeInsets.only(top: 25),
+                    child: Stack(
+                      children: <Widget>[
+                        Container(
+                            padding: EdgeInsets.all(5),
+                            width: 70,
+                            height: 70,
+                            decoration: BoxDecoration(
+                                borderRadius:
+                                    BorderRadius.all(Radius.circular(70)),
+                                gradient: LinearGradient(
+                                  begin: Alignment.topLeft,
+                                  colors: [
+                                    Color(0xFFF89E58),
+                                    Color(0xFFE77023)
+                                  ],
+                                ),
+                                boxShadow: [
+                                  BoxShadow(
+                                      color: Colors.black12,
+                                      offset: Offset(2.0, 4.0),
+                                      blurRadius: 4.0)
+                                ]),
+                            child: CircleAvatar(
+                                backgroundImage:
+                                    NetworkImage(rankList[2].userInfo.icon))),
+                      ],
+                    ),
+                  ),
+                  Padding(
+                    padding: EdgeInsets.only(top: 7, bottom: 3),
+                    child: Text(rankList[2].userInfo.nickname,
+                        style:
+                            TextStyle(color: Color(0xFF2E3049), fontSize: 14)),
+                  ),
+                  Row(
+                    children: <Widget>[
+                      Padding(
+                        padding: EdgeInsets.only(right: 2),
+                        child: Image.asset('images/icon_jinbi_da_bai.png',
+                            width: 20),
+                      ),
+                      Text(rankList[2].bonus.toString(),
+                          style: TextStyle(
+                              color: Colors.white,
+                              fontSize: 14,
+                              fontWeight: FontWeight.w500))
+                    ],
+                  )
                 ],
                 ],
               ),
               ),
-            ),
-            Padding(
-              padding: EdgeInsets.only(top: 7, bottom: 3),
-              child: Text(rankList[2].userInfo.nickname, style: TextStyle(color: Color(0xFF2E3049), fontSize: 14)),
-            ),
-            Row(
-              children: <Widget>[
-                Padding(
-                  padding: EdgeInsets.only(right: 2),
-                  child: Image.asset('images/icon_jinbi_da_bai.png', width: 20),
-                ),
-                Text(rankList[2].bonus.toString(), style: TextStyle(color: Colors.white, fontSize: 14, fontWeight: FontWeight.w500))
-              ],
-            )
-          ],
-        ),
+              Positioned(
+                  top: 0,
+                  left: 19,
+                  child:
+                      Image.asset('images/icon_paihangbang_03.png', width: 32))
+            ],
+          )));
+    }
+
+    if (rankList.length<=1) {
+      list.insert(0,Container(
+          // margin: EdgeInsets.only(top: 50),
+          child: Container(
+            width: 70,
+            height: 70,
+           
+          ),
+      ));
+    }
+
+
+    if (rankList.length<=2) {
+      list.add(Container(
+          // margin: EdgeInsets.only(top: 50),
+          child: Container(
+            width: 70,
+            height: 70,
+           
+          ),
       ));
       ));
     }
     }
 
 

+ 199 - 365
lib/pages/roomInfo.dart

@@ -16,6 +16,7 @@ import '../widget/VideoWidget.dart';
 import 'dart:async';
 import 'dart:async';
 import '../widget/Dialog.dart';
 import '../widget/Dialog.dart';
 import 'CompetitionInformation.dart';
 import 'CompetitionInformation.dart';
+import 'SecondRoomInfo.dart';
 
 
 class RoomInfo extends StatefulWidget {
 class RoomInfo extends StatefulWidget {
   RoomInfo({Key key, this.roomId}) : super(key: key);
   RoomInfo({Key key, this.roomId}) : super(key: key);
@@ -38,6 +39,7 @@ class RoomInfoState extends State<RoomInfo>
   bool showBack = false;
   bool showBack = false;
   Timer timer;
   Timer timer;
   List<List<String>> roomTipsList = [];
   List<List<String>> roomTipsList = [];
+  ScrollController _tipController;
 
 
 //获取房间信息
 //获取房间信息
   void getRoomInfo() async {
   void getRoomInfo() async {
@@ -49,22 +51,20 @@ class RoomInfoState extends State<RoomInfo>
       setState(() {
       setState(() {
         roomInfo = res.data;
         roomInfo = res.data;
         houseInfo = HouseInfo.fromJson(res.data);
         houseInfo = HouseInfo.fromJson(res.data);
+      
       });
       });
-      if (houseInfo.statusFlag == 0) {
-        timer = Timer.periodic(new Duration(seconds: 1), (timer) {
-          getNowStatus();
-        });
 
 
+      
+      if (houseInfo.statusFlag == 0) {
         if (StoreProvider.of<AppState>(context).state.userInfo.remindFlag) {
         if (StoreProvider.of<AppState>(context).state.userInfo.remindFlag) {
           showNotice();
           showNotice();
         }
         }
       }
       }
+      
+      
     } else {}
     } else {}
 
 
-    print('开始时间:' + houseInfo.beginTime.toString());
-    print((1 * 3600 * 1000).toString());
-    print(DateTime.now().millisecondsSinceEpoch.toString());
-
+   
     checkJoinInfo();
     checkJoinInfo();
   }
   }
 
 
@@ -73,10 +73,10 @@ class RoomInfoState extends State<RoomInfo>
     Result res = await HttpManager.get("houseInfo/getPlayerNum",
     Result res = await HttpManager.get("houseInfo/getPlayerNum",
         data: {"id": widget.roomId});
         data: {"id": widget.roomId});
     if (res.success) {
     if (res.success) {
-      if (houseInfo.statusFlag == 0 && res.data["statusFlag"] == 2) {
-        showStart();
-        timer.cancel();
-      }
+      // if (houseInfo.statusFlag == 0 && res.data["statusFlag"] == 2) {
+      //   showStart();
+      //   timer.cancel();
+      // }
       setState(() {
       setState(() {
         houseInfo.playerNumber = res.data["playerNumber"];
         houseInfo.playerNumber = res.data["playerNumber"];
         houseInfo.statusFlag = res.data["statusFlag"];
         houseInfo.statusFlag = res.data["statusFlag"];
@@ -156,7 +156,7 @@ class RoomInfoState extends State<RoomInfo>
       getEndTips();
       getEndTips();
 
 
       setState(() {
       setState(() {
-       playerInfo.statusFlag=3; 
+        playerInfo.statusFlag = 3;
       });
       });
     });
     });
   }
   }
@@ -171,13 +171,14 @@ class RoomInfoState extends State<RoomInfo>
           DateTime.now().millisecondsSinceEpoch;
           DateTime.now().millisecondsSinceEpoch;
       var nowTime = (time ~/ 1000 ~/ 60) % 60;
       var nowTime = (time ~/ 1000 ~/ 60) % 60;
       setState(() {
       setState(() {
-        roomTipsList.add( [
+        roomTipsList.add([
           '你已完成本次比赛,当前完成人数 ',
           '你已完成本次比赛,当前完成人数 ',
           res.data.toString(),
           res.data.toString(),
-          '人,比赛需要等待所有人完成后方可结算奖励 最迟结算时间还剩',
-          nowTime.toString() + '分钟',
+          '人,比赛需要等待所有人完成后方可结算奖励',
+          '',
           ',你可以先去参加其他竞赛,稍后在“个人中心-我的战绩”中可以查看本次竞赛排名及领取奖励'
           ',你可以先去参加其他竞赛,稍后在“个人中心-我的战绩”中可以查看本次竞赛排名及领取奖励'
         ]);
         ]);
+        changeScroll();
       });
       });
     }
     }
   }
   }
@@ -197,22 +198,18 @@ class RoomInfoState extends State<RoomInfo>
     });
     });
     if (res.success) {
     if (res.success) {
       if (res.data == null) {
       if (res.data == null) {
-        if (isPop) {
-          return;
-        }
         setState(() {
         setState(() {
           isJoin = false;
           isJoin = false;
         });
         });
         if (houseInfo.statusFlag == 0) {
         if (houseInfo.statusFlag == 0) {
-          roomTipsList.add( [
+          roomTipsList.add([
             '上方奖金为当前本次竞赛的总奖金,根据当前人数的增加,奖金也就越多,竞赛的第一名获得50%,第二名获得30%,第三名获得20%,其他名次算作失败没有奖励,祝你取得好成绩'
             '上方奖金为当前本次竞赛的总奖金,根据当前人数的增加,奖金也就越多,竞赛的第一名获得50%,第二名获得30%,第三名获得20%,其他名次算作失败没有奖励,祝你取得好成绩'
           ]);
           ]);
+          changeScroll();
         }
         }
       } else {
       } else {
         playerInfo = PlayerInfo.fromJson(res.data);
         playerInfo = PlayerInfo.fromJson(res.data);
-        if (isPop) {
-          return;
-        }
+      
         setState(() {
         setState(() {
           isJoin = true;
           isJoin = true;
         });
         });
@@ -223,13 +220,15 @@ class RoomInfoState extends State<RoomInfo>
                   .userInfo
                   .userInfo
                   .id
                   .id
                   .toString()) {
                   .toString()) {
-            roomTipsList.add( [
+            roomTipsList.add([
               '房间创建成功,待人数满员时会自动开启比赛,请在此页面耐心等待其他人的加入,退出房间则视为自动放弃比赛,已支付金币概不退换,快快点击右上角分享给好友加入战局吧'
               '房间创建成功,待人数满员时会自动开启比赛,请在此页面耐心等待其他人的加入,退出房间则视为自动放弃比赛,已支付金币概不退换,快快点击右上角分享给好友加入战局吧'
             ]);
             ]);
+            changeScroll();
           } else {
           } else {
-            roomTipsList.add( [
+            roomTipsList.add([
               '请在此页面耐心等待,竞赛即将开始,届时玩家有10秒的时间进行确认,点击确认方可正式进入竞赛,若没有点击,则视为自动放弃此次竞赛,已支付金币概不退换'
               '请在此页面耐心等待,竞赛即将开始,届时玩家有10秒的时间进行确认,点击确认方可正式进入竞赛,若没有点击,则视为自动放弃此次竞赛,已支付金币概不退换'
             ]);
             ]);
+            changeScroll();
           }
           }
           Timer(Duration(seconds: 1), () {
           Timer(Duration(seconds: 1), () {
             roomTipsList.add([
             roomTipsList.add([
@@ -237,8 +236,9 @@ class RoomInfoState extends State<RoomInfo>
               '请一定点击“确定”或“允许”此操作',
               '请一定点击“确定”或“允许”此操作',
               ',系统会自动跳转打开游戏app,若长时间没有自动跳转,请手动打开游戏app进行比赛,在游戏比赛结束后,请',
               ',系统会自动跳转打开游戏app,若长时间没有自动跳转,请手动打开游戏app进行比赛,在游戏比赛结束后,请',
               '一定要点击查看游戏最后的分数名次结算页面',
               '一定要点击查看游戏最后的分数名次结算页面',
-              ',返回游戏主页,最后再切换到我们竞赛app中,点击完成比赛,方可成功长传本次成绩,赢取大奖,感谢你的配合'
+              ',返回游戏主页,最后再切换到我们竞赛app中,点击完成比赛,方可成功长传本次成绩。从游戏开始一小时之内必须返回全民App点击完成比赛,否则判定游戏失败,祝你取得好成绩。'
             ]);
             ]);
+            changeScroll();
           });
           });
         } else if (houseInfo.statusFlag != 4) {
         } else if (houseInfo.statusFlag != 4) {
           if (playerInfo.statusFlag == 3 ||
           if (playerInfo.statusFlag == 3 ||
@@ -249,6 +249,12 @@ class RoomInfoState extends State<RoomInfo>
         }
         }
       }
       }
     }
     }
+
+    if(isJoin&&houseInfo.statusFlag!=4){
+         timer = Timer.periodic(new Duration(seconds: 1), (timer) {
+          getNowStatus();
+        });
+    }
   }
   }
 
 
 //加入房间
 //加入房间
@@ -260,26 +266,7 @@ class RoomInfoState extends State<RoomInfo>
     });
     });
     Toast.hide();
     Toast.hide();
     if (res.success) {
     if (res.success) {
-      // roomTipsList.add( [
-      //   '请在此页面耐心等待,竞赛即将开始,届时玩家有10秒的时间进行确认,点击确认方可正式进入竞赛,若没有点击,则视为自动放弃此次竞赛,已支付金币概不退换'
-      // ]);
-      // Timer(Duration(seconds: 1), () {
-      //   roomTipsList.add( [
-      //     '游戏开始后会有弹窗提示授权进行录屏的操作,',
-      //     '请一定点击“确定”或“允许”此操作',
-      //     ',系统会自动跳转打开游戏app,若长时间没有自动跳转,请手动打开游戏app进行比赛,在游戏比赛结束后,请',
-      //     '一定要点击查看游戏最后的分数名次结算页面',
-      //     ',返回游戏主页,最后再切换到我们竞赛app中,点击完成比赛,方可成功长传本次成绩,赢取大奖,感谢你的配合'
-      //   ]);
-      // });
-
       Toast.show(context, '加入成功', 1500, 'success');
       Toast.show(context, '加入成功', 1500, 'success');
-      if (isPop) {
-        return;
-      }
-      setState(() {
-        isJoin = true;
-      });
       checkJoinInfo();
       checkJoinInfo();
     } else {
     } else {
       Toast.show(context, res.error, 1500, 'info');
       Toast.show(context, res.error, 1500, 'info');
@@ -303,6 +290,24 @@ class RoomInfoState extends State<RoomInfo>
         }));
         }));
   }
   }
 
 
+//改变滚动条
+  changeScroll() {
+    Timer(Duration(seconds: 1), () {
+      _tipController.animateTo(context.size.height,
+          duration: Duration(milliseconds: 1500), curve: Curves.ease);
+    });
+  }
+
+  //获取分秒
+  String getSecondsMIn(int time){
+    if(time==null){
+      return '';
+    }
+    else{
+      return ((time ~/ 1000 ~/ 60) % 60).toString()+'分'+(time ~/ 1000 % 60).toString()+'秒';
+    }
+  }
+
   @override
   @override
   void initState() {
   void initState() {
     super.initState();
     super.initState();
@@ -314,6 +319,7 @@ class RoomInfoState extends State<RoomInfo>
       length: tabList.length,
       length: tabList.length,
       vsync: this,
       vsync: this,
     );
     );
+    _tipController = ScrollController();
     roomInfo = {};
     roomInfo = {};
 
 
     colorInfo = {
     colorInfo = {
@@ -390,6 +396,9 @@ class RoomInfoState extends State<RoomInfo>
       ),
       ),
       onWillPop: () {
       onWillPop: () {
         if (houseInfo == null || (houseInfo.statusFlag != 0) || !isJoin) {
         if (houseInfo == null || (houseInfo.statusFlag != 0) || !isJoin) {
+          if(timer!=null){
+             timer.cancel();
+          }
           isPop = true;
           isPop = true;
           Toast.hide();
           Toast.hide();
           Navigator.of(context).pop();
           Navigator.of(context).pop();
@@ -437,140 +446,131 @@ class RoomInfoState extends State<RoomInfo>
                 await new Future.delayed(const Duration(seconds: 1));
                 await new Future.delayed(const Duration(seconds: 1));
               },
               },
               child: SingleChildScrollView(
               child: SingleChildScrollView(
+                  controller: _tipController,
                   physics: AlwaysScrollableScrollPhysics(),
                   physics: AlwaysScrollableScrollPhysics(),
-                  child: ConstrainedBox(
-                    constraints: BoxConstraints(
-                        minHeight: 640,
-                        maxHeight: viewportConstraints.maxHeight>640?viewportConstraints.maxHeight:640
-                        ),
-                    child: IntrinsicHeight(
-                      child: Column(
-                        children: <Widget>[
-                          houseInfo != null
-                              ? VideoWidget(videoSrc: houseInfo.video)
-                              : Container(),
-                          // Image.network(topImg, width: double.infinity),
-                          Container(
-                              padding: EdgeInsets.only(top: 10),
-                              child: Row(
-                                mainAxisAlignment: MainAxisAlignment.center,
-                                children: <Widget>[
-                                  Container(
-                                    margin: EdgeInsets.only(left: 30, right: 8),
-                                    child: Text(
-                                      roomInfo.containsKey("houseName")
-                                          ? roomInfo["houseName"]
-                                          : '',
-                                      style: TextStyle(
-                                          color: Colors.white,
-                                          fontSize: 16,
-                                          fontWeight: FontWeight.w500),
-                                    ),
-                                  ),
-                                  Image.network(
-                                    houseLevelInfo.containsKey("icon")
-                                        ? houseLevelInfo["icon"]
-                                        : '',
-                                    width: 14,
-                                  ),
-                                  Text(
-                                    houseLevelInfo.containsKey("levelName")
-                                        ? houseLevelInfo["levelName"]
-                                        : '',
-                                    style:
-                                        TextStyle(color: colorInfo[levelName]),
-                                  )
-                                ],
-                              )),
-                          Container(
-                            margin: EdgeInsets.only(top: 6),
-                            child: Text(
-                              roomInfo.containsKey('houseAbstract')
-                                  ? roomInfo["houseAbstract"]
-                                  : "",
-                              style: TextStyle(
-                                  color: Color(0xFF9BA0AE), fontSize: 12),
-                            ),
-                          ),
-                          Row(
+                  child: Column(
+                    children: <Widget>[
+                      houseInfo != null
+                          ? VideoWidget(videoSrc: houseInfo.video)
+                          : Container(),
+                      // Image.network(topImg, width: double.infinity),
+                      Container(
+                          padding: EdgeInsets.only(top: 10),
+                          child: Row(
                             mainAxisAlignment: MainAxisAlignment.center,
                             mainAxisAlignment: MainAxisAlignment.center,
                             children: <Widget>[
                             children: <Widget>[
-                              Image.asset(
-                                'images/icon_renshu.png',
-                                width: 20,
+                              Container(
+                                margin: EdgeInsets.only(left: 30, right: 8),
+                                child: Text(
+                                  roomInfo.containsKey("houseName")
+                                      ? roomInfo["houseName"]
+                                      : '',
+                                  style: TextStyle(
+                                      color: Colors.white,
+                                      fontSize: 16,
+                                      fontWeight: FontWeight.w500),
+                                ),
+                              ),
+                              Image.network(
+                                houseLevelInfo.containsKey("icon")
+                                    ? houseLevelInfo["icon"]
+                                    : '',
+                                width: 14,
                               ),
                               ),
                               Text(
                               Text(
-                                (houseInfo != null
-                                        ? houseInfo.playerNumber.toString()
-                                        : '0') +
-                                    '/' +
-                                    (houseInfo != null
-                                        ? houseInfo.maxNumber.toString()
-                                        : '0'),
-                                style: TextStyle(
-                                    fontSize: 14,
-                                    fontWeight: FontWeight.w500,
-                                    color: Color(0xFFB1B2C0)),
+                                houseLevelInfo.containsKey("levelName")
+                                    ? houseLevelInfo["levelName"]
+                                    : '',
+                                style: TextStyle(color: colorInfo[levelName]),
                               )
                               )
                             ],
                             ],
+                          )),
+                      Container(
+                        margin: EdgeInsets.only(top: 6),
+                        child: Text(
+                          roomInfo.containsKey('houseAbstract')
+                              ? roomInfo["houseAbstract"]
+                              : "",
+                          style:
+                              TextStyle(color: Color(0xFF9BA0AE), fontSize: 12),
+                        ),
+                      ),
+                      Row(
+                        mainAxisAlignment: MainAxisAlignment.center,
+                        children: <Widget>[
+                          Image.asset(
+                            'images/icon_renshu.png',
+                            width: 20,
                           ),
                           ),
-                          Container(
-                            margin: EdgeInsets.only(top: 14),
-                            width: 200,
-                            height: 40,
-                            decoration: BoxDecoration(
-                              border: Border.all(
-                                  width: 1,
-                                  color: PRIMARY_COLOR,
-                                  style: BorderStyle.solid),
-                              borderRadius:
-                                  BorderRadius.all(Radius.circular(2)),
-                            ),
-                            child: Row(
-                              mainAxisAlignment: MainAxisAlignment.center,
-                              children: <Widget>[
-                                Text(
-                                  '奖金',
-                                  style: TextStyle(
-                                    color: PRIMARY_COLOR,
-                                    fontSize: 13,
-                                    fontWeight: FontWeight.w500,
-                                  ),
-                                ),
-                                Container(
-                                  padding: EdgeInsets.only(left: 10, right: 6),
-                                  child: Image.asset(
-                                    "images/icon_jinbi_da_hong.png",
-                                    width: 20,
-                                  ),
-                                ),
-                                Text(
-                                  'X' +
-                                      (houseInfo != null
-                                          ? houseInfo.bonus.toString()
-                                          : '0'),
-                                  style: TextStyle(
-                                    color: PRIMARY_COLOR,
-                                    fontSize: 22,
-                                    fontWeight: FontWeight.w900,
-                                  ),
-                                )
-                              ],
-                            ),
-                          ),
-
-                          statuFlag != 4
-                              ? TipsListContent(tipsList: roomTipsList)
-                              : RankContent(
-                                  roomId: widget.roomId,
-                                ),
-                          Container(
-                            width: double.infinity,
-                            height: 78,
+                          Text(
+                            (houseInfo != null
+                                    ? houseInfo.playerNumber.toString()
+                                    : '0') +
+                                '/' +
+                                (houseInfo != null
+                                    ? houseInfo.maxNumber.toString()
+                                    : '0'),
+                            style: TextStyle(
+                                fontSize: 14,
+                                fontWeight: FontWeight.w500,
+                                color: Color(0xFFB1B2C0)),
                           )
                           )
                         ],
                         ],
                       ),
                       ),
-                    ),
+                      Container(
+                        margin: EdgeInsets.only(top: 14),
+                        width: 200,
+                        height: 40,
+                        decoration: BoxDecoration(
+                          border: Border.all(
+                              width: 1,
+                              color: PRIMARY_COLOR,
+                              style: BorderStyle.solid),
+                          borderRadius: BorderRadius.all(Radius.circular(2)),
+                        ),
+                        child: Row(
+                          mainAxisAlignment: MainAxisAlignment.center,
+                          children: <Widget>[
+                            Text(
+                              '奖金',
+                              style: TextStyle(
+                                color: PRIMARY_COLOR,
+                                fontSize: 13,
+                                fontWeight: FontWeight.w500,
+                              ),
+                            ),
+                            Container(
+                              padding: EdgeInsets.only(left: 10, right: 6),
+                              child: Image.asset(
+                                "images/icon_jinbi_da_hong.png",
+                                width: 20,
+                              ),
+                            ),
+                            Text(
+                              'X' +
+                                  (houseInfo != null
+                                      ? houseInfo.bonus.toString()
+                                      : '0'),
+                              style: TextStyle(
+                                color: PRIMARY_COLOR,
+                                fontSize: 22,
+                                fontWeight: FontWeight.w900,
+                              ),
+                            )
+                          ],
+                        ),
+                      ),
+
+                      statuFlag != 4
+                          ? TipsListContent(tipsList: roomTipsList)
+                          : RankContent(
+                              roomId: widget.roomId,
+                            ),
+                      Container(
+                        width: double.infinity,
+                        height: 78,
+                      )
+                    ],
                   ))),
                   ))),
         );
         );
       },
       },
@@ -640,6 +640,10 @@ class RoomInfoState extends State<RoomInfo>
         ),
         ),
       );
       );
     } else if (isJoin && statusFlag == 0) {
     } else if (isJoin && statusFlag == 0) {
+        int _time;
+        if(houseInfo!=null){
+          _time=houseInfo.createTime+600000-DateTime.now().millisecondsSinceEpoch;
+        }
       return Container(
       return Container(
         width: double.infinity,
         width: double.infinity,
         padding: EdgeInsets.symmetric(horizontal: 15, vertical: 20),
         padding: EdgeInsets.symmetric(horizontal: 15, vertical: 20),
@@ -648,13 +652,17 @@ class RoomInfoState extends State<RoomInfo>
           disabledColor: Color(0xFF914244),
           disabledColor: Color(0xFF914244),
           disabledTextColor: Color(0xFF252532),
           disabledTextColor: Color(0xFF252532),
           child: Text(
           child: Text(
-            '等待开始中',
+            '预计'+getSecondsMIn(_time)+'后开始',
             style: TextStyle(fontSize: 16),
             style: TextStyle(fontSize: 16),
           ),
           ),
           onPressed: null,
           onPressed: null,
         ),
         ),
       );
       );
-    } else if (isJoin && statusFlag == 2 && playerStatus >= 3) {
+    } else if (isJoin && statusFlag == 2) {
+      int _time;
+        if(houseInfo!=null){
+          _time=houseInfo.beginTime+3600000-DateTime.now().millisecondsSinceEpoch;
+        }
       return Container(
       return Container(
         width: double.infinity,
         width: double.infinity,
         padding: EdgeInsets.symmetric(horizontal: 15, vertical: 20),
         padding: EdgeInsets.symmetric(horizontal: 15, vertical: 20),
@@ -663,13 +671,17 @@ class RoomInfoState extends State<RoomInfo>
           disabledColor: Color(0xFF914244),
           disabledColor: Color(0xFF914244),
           disabledTextColor: Color(0xFF252532),
           disabledTextColor: Color(0xFF252532),
           child: Text(
           child: Text(
-            '正在结算中',
+             '预计'+getSecondsMIn(_time)+'后结算',
             style: TextStyle(fontSize: 16),
             style: TextStyle(fontSize: 16),
           ),
           ),
           onPressed: null,
           onPressed: null,
         ),
         ),
       );
       );
     } else if (isJoin && statusFlag == 3) {
     } else if (isJoin && statusFlag == 3) {
+      int _time;
+        if(houseInfo!=null){
+          _time=houseInfo.beginTime+3600000-DateTime.now().millisecondsSinceEpoch;
+        }
       return Container(
       return Container(
         width: double.infinity,
         width: double.infinity,
         padding: EdgeInsets.symmetric(horizontal: 15, vertical: 20),
         padding: EdgeInsets.symmetric(horizontal: 15, vertical: 20),
@@ -678,7 +690,7 @@ class RoomInfoState extends State<RoomInfo>
           disabledColor: Color(0xFF914244),
           disabledColor: Color(0xFF914244),
           disabledTextColor: Color(0xFF252532),
           disabledTextColor: Color(0xFF252532),
           child: Text(
           child: Text(
-            '正在结算中',
+            '最迟在'+getSecondsMIn(_time)+'后结算',
             style: TextStyle(fontSize: 16),
             style: TextStyle(fontSize: 16),
           ),
           ),
           onPressed: null,
           onPressed: null,
@@ -705,57 +717,25 @@ class RoomInfoState extends State<RoomInfo>
   }
   }
 }
 }
 
 
-class TipsListContent extends StatefulWidget {
+//房间的提示信息
+class TipsListContent extends StatelessWidget {
   TipsListContent({Key key, this.tipsList}) : super(key: key);
   TipsListContent({Key key, this.tipsList}) : super(key: key);
   final List<List<String>> tipsList;
   final List<List<String>> tipsList;
-  @override
-  TipsListContentState createState() => TipsListContentState();
-}
-
-class TipsListContentState extends State<TipsListContent> {
-  ScrollController _scrollController;
-
-
-  @override
-  void initState() {
-    // TODO: implement initState
-    super.initState();
-    _scrollController=new ScrollController();
-
-  
-  }
-
-  @override
-  void didUpdateWidget(TipsListContent oldWidget) {
-    // TODO: implement didChangeDependencies
-    super.didUpdateWidget(oldWidget);
-    print('updtae:' + widget.tipsList.length.toString());
-    _scrollController.animateTo(200.0*widget.tipsList.length,
-            duration: new Duration(seconds: 2), curve: Curves.ease);
-
-    // _scrollController.position.pixels=_scrollController.position
-    // _scrollController.
-  }
 
 
   @override
   @override
   Widget build(BuildContext context) {
   Widget build(BuildContext context) {
-    return Expanded(
-        flex: 1,
-        child: Container(
-          margin: EdgeInsets.only(top: 15),
-          width: double.infinity,
-          child: SingleChildScrollView(
-            controller: _scrollController,
-            child: Column(
-              children: _list(),
-            ),
-          ),
-        ));
+    return Container(
+      margin: EdgeInsets.only(top: 15),
+      width: double.infinity,
+      child: Column(
+        children: _list(),
+      ),
+    );
   }
   }
 
 
   List<Widget> _list() {
   List<Widget> _list() {
     List<Tips> myList = [];
     List<Tips> myList = [];
-    for (var item in widget.tipsList) {
+    for (var item in tipsList) {
       myList.add(Tips(
       myList.add(Tips(
         content: item,
         content: item,
       ));
       ));
@@ -822,6 +802,7 @@ class Tips extends StatelessWidget {
   }
   }
 }
 }
 
 
+//比赛结束排名
 class RankContent extends StatefulWidget {
 class RankContent extends StatefulWidget {
   RankContent({Key key, this.roomId}) : super(key: key);
   RankContent({Key key, this.roomId}) : super(key: key);
   final String roomId; // 用来储存传递过来的值
   final String roomId; // 用来储存传递过来的值
@@ -872,7 +853,10 @@ class RankContentState extends State<RankContent> {
 
 
   Widget _rankItem(int _num) {
   Widget _rankItem(int _num) {
     if (_num > topList.length) {
     if (_num > topList.length) {
-      return Container();
+      return Container(
+        width: 107,
+        height: 60,
+      );
     }
     }
     List colorList = [
     List colorList = [
       [Color(0xFFD48E00), Color(0xFFFECF01)],
       [Color(0xFFD48E00), Color(0xFFFECF01)],
@@ -959,153 +943,3 @@ class RankContentState extends State<RankContent> {
     );
     );
   }
   }
 }
 }
-
-class SecondPage extends StatefulWidget {
-  SecondPage({Key key, this.roomId, this.status}) : super(key: key);
-  final String roomId; // 用来储存传递过来的值
-  final int status;
-  @override
-  SecondPageState createState() => SecondPageState();
-}
-
-class SecondPageState extends State<SecondPage> {
-  List<PlayerInfo> joinList = [];
-  int currentPage = 1;
-  bool ismore = true;
-  ScrollController _perController;
-
-  //获取房间用户
-  getPlayerPage() async {
-    ismore = false;
-    Toast.show(context, '加载中', -1, 'loading');
-    Result res = await HttpManager.get("playerInfo/rankPage", data: {
-      "houseId": widget.roomId,
-      "currentPage": currentPage,
-      "pageNumber": 20
-    });
-    Toast.hide();
-    List<PlayerInfo> list = joinList;
-    if (currentPage == 1) {
-      list = [];
-    }
-    if (res.success) {
-      for (var item in res.data['pp']) {
-        PlayerInfo jonPlayer = PlayerInfo.fromJson(item);
-        list.add(jonPlayer);
-      }
-      if (res.data['page']['currentPage'] < res.data['page']['totalPage']) {
-        ismore = true;
-      }
-    } else {}
-    setState(() {
-      joinList = list;
-    });
-  }
-
-  @override
-  void initState() {
-    super.initState();
-    _perController = ScrollController();
-    currentPage = 1;
-    Future.delayed(Duration.zero, () {
-      getPlayerPage();
-      _perController.addListener(() {
-        if (_perController.position.pixels ==
-            _perController.position.maxScrollExtent) {
-          if (ismore) {
-            currentPage++;
-            getPlayerPage();
-          }
-        }
-      });
-    });
-  }
-
-  @override
-  void dispose() {
-    super.dispose();
-    _perController.dispose();
-  }
-
-  @override
-  Widget build(BuildContext context) {
-    return RefreshIndicator(
-      color: PRIMARY_COLOR,
-      backgroundColor: Colors.white,
-      displacement: 10,
-      onRefresh: () async {
-        await new Future.delayed(const Duration(seconds: 1));
-        currentPage = 1;
-        getPlayerPage();
-      },
-      child: ListView.builder(
-          physics: AlwaysScrollableScrollPhysics(),
-          controller: _perController,
-          itemCount: joinList.length + 1,
-          itemBuilder: (BuildContext context, int index) {
-            if (index < joinList.length) {
-              return person_item(joinList[index], index);
-            } else {
-              return Container(
-                padding: EdgeInsets.all(15),
-                child: Text(
-                  '其他人员正在火速赶来中...',
-                  style: TextStyle(color: Colors.white30),
-                  textAlign: TextAlign.center,
-                ),
-              );
-            }
-          }),
-    );
-  }
-
-  Widget person_item(PlayerInfo info, int index) {
-    return Container(
-      width: double.infinity,
-      height: 60,
-      color: Color(0xFF2B2B42),
-      margin: EdgeInsets.only(top: index == 0 ? 10 : 0),
-      padding: EdgeInsets.only(left: 15, right: 15),
-      child: Container(
-        decoration: BoxDecoration(
-            border: Border(
-                bottom: BorderSide(
-                    width: 1, color: BG_SUB_COLOR, style: BorderStyle.solid))),
-        child: Row(
-          children: <Widget>[
-            Container(
-              margin: EdgeInsets.only(right: 12),
-              width: 36,
-              height: 36,
-              child: info.userInfo != null
-                  ? CircleAvatar(
-                      backgroundImage: NetworkImage(info.userInfo.icon),
-                    )
-                  : Container(),
-            ),
-            Expanded(
-              flex: 1,
-              child: Text(
-                info.userInfo != null ? info.userInfo.nickname : '',
-                style: TextStyle(
-                  color: Colors.white,
-                  fontSize: 14,
-                ),
-                maxLines: 1,
-                overflow: TextOverflow.ellipsis,
-              ),
-            ),
-            widget.status == 4 && index < 3
-                ? Image.asset(
-                    'images/icon_paihangbang_0' +
-                        (index + 1).toString() +
-                        '.png',
-                    width: 32,
-                  )
-                : Container()
-          ],
-        ),
-      ),
-    );
-  }
-}

+ 14 - 2
lib/pages/roomList.dart

@@ -125,12 +125,24 @@ class RoomListState extends State<RoomList> {
                     SliverFixedExtentList(
                     SliverFixedExtentList(
                       itemExtent: ScreenUtil().setWidth(78),
                       itemExtent: ScreenUtil().setWidth(78),
                       delegate: SliverChildBuilderDelegate((BuildContext context, int index) {
                       delegate: SliverChildBuilderDelegate((BuildContext context, int index) {
-                        print(roomList[index].gameInfo);
+                        if(roomList.length==0){
+                          return Text('暂无数据',style: TextStyle(
+                            color: Colors.grey,
+                            fontSize: 13,
+                            height:3
+                          ),textAlign: TextAlign.center);
+                        }else if(index ==roomList.length){
+                            return Text('更多房间敬请期待...',style: TextStyle(
+                            color: Colors.grey,
+                            fontSize: 13,
+                            height:3
+                          ),textAlign: TextAlign.center);
+                        }
                         return HouseItem(
                         return HouseItem(
                           roomInfo: roomList[index],
                           roomInfo: roomList[index],
                           gameInfo:roomList[index].gameInfo
                           gameInfo:roomList[index].gameInfo
                         );
                         );
-                      }, childCount: roomList.length),
+                      }, childCount: roomList.length+1),
                     )
                     )
                   ],
                   ],
                 ),
                 ),

+ 12 - 1
lib/pages/setting.dart

@@ -22,6 +22,7 @@ import '../model/UserInfo.dart';
 import '../net/HttpManager.dart';
 import '../net/HttpManager.dart';
 import '../net/Result.dart';
 import '../net/Result.dart';
 import '../redux/UserRedux.dart';
 import '../redux/UserRedux.dart';
+import '../widget/Dialog.dart';
 
 
 class Setting extends StatefulWidget {
 class Setting extends StatefulWidget {
   @override
   @override
@@ -98,11 +99,21 @@ class SettingState extends State<Setting> {
                                         onChanged: (val) {
                                         onChanged: (val) {
                                           updateUserInfo(userInfo, val ? 'Y' : 'N', 'noticeFlag');
                                           updateUserInfo(userInfo, val ? 'Y' : 'N', 'noticeFlag');
                                         }),
                                         }),
+                                    showBorder: false),
+                                    _cell(
+                                    '是否查看房间提醒',
+                                    Switch(
+                                        value: userInfo.remindFlag,
+                                        onChanged: (val) {
+                                          updateUserInfo(userInfo, val ? 'Y' : 'N', 'remindFlag');
+                                        }),
                                     showBorder: false)
                                     showBorder: false)
                               ]),
                               ]),
                               _sectionDivier(),
                               _sectionDivier(),
                               _section([
                               _section([
-                                _cell('检查更新', ' '),
+                                _cell('检查更新', ' ',onTap: (){
+                                  MyDialog.showDialog(context, '您已是最新版本。');
+                                }),
                                 _cell('版本号', version, showBorder: false),
                                 _cell('版本号', version, showBorder: false),
                               ]),
                               ]),
                             ],
                             ],

+ 58 - 0
lib/widget/CircleProgressBarPainter.dart

@@ -0,0 +1,58 @@
+import 'package:flutter/material.dart';
+
+
+class CircleProgressBarPainter extends CustomPainter {
+  var _paintBckGround;
+  var _paintFore;
+
+  final _strokeWidth;
+  final _backgroundColor;
+  final _foreColor;
+  final _startAngle;
+  final _sweepAngle;
+  final _endAngle;
+
+  CircleProgressBarPainter(this._backgroundColor, this._foreColor,
+      this._startAngle, this._sweepAngle, this._endAngle, this._strokeWidth) {
+    _paintBckGround = new Paint()
+      ..color = _backgroundColor
+      ..isAntiAlias = true
+      ..strokeCap = StrokeCap.round
+      ..strokeWidth = _strokeWidth
+      ..style = PaintingStyle.stroke;
+
+      final Gradient gradient = new SweepGradient(
+          endAngle: _endAngle,
+          colors: [
+            _foreColor,
+            _backgroundColor,
+            
+          ],
+        );
+
+        final Rect arcRect = Rect.fromCircle(center:  Offset(0, 0), radius: _endAngle);
+
+    _paintFore = new Paint()
+      ..color = _foreColor
+      ..isAntiAlias = true
+      ..strokeWidth = _strokeWidth
+      ..strokeCap = StrokeCap.round
+      ..shader=gradient.createShader(arcRect)
+      ..style = PaintingStyle.stroke;
+  }
+
+  @override
+  void paint(Canvas canvas, Size size) {
+    var radius = size.width > size.height ? size.width / 2 : size.height / 2;
+    Rect rect = Rect.fromCircle(center: Offset(radius, radius), radius: radius);
+
+    canvas.drawCircle(Offset(radius, radius), radius, _paintBckGround);
+    canvas.drawArc(rect, _startAngle / 180 * 3.14, _sweepAngle / 180 * 3.14,
+        false, _paintFore);
+  }
+
+  @override
+  bool shouldRepaint(CustomPainter oldDelegate) {
+    return _sweepAngle != _endAngle;
+  }
+}

+ 26 - 5
lib/widget/SuccessfulReception.dart

@@ -27,14 +27,17 @@ class SuccessfulReceptionState extends State<SuccessfulReception> {
         backgroundColor: Color(0xCC000000),
         backgroundColor: Color(0xCC000000),
         body: Container(
         body: Container(
           child: Center(
           child: Center(
-              child: Container(
+              child: Stack(
+                children: <Widget>[
+                  Container(
                   padding: EdgeInsets.only(top: 29, bottom: 49),
                   padding: EdgeInsets.only(top: 29, bottom: 49),
                   width: 268,
                   width: 268,
                   height: 160,
                   height: 160,
                   decoration: BoxDecoration(
                   decoration: BoxDecoration(
+                      border: Border.all(width: 1, color: Color(0xFFC2524D)),
                       image: DecorationImage(
                       image: DecorationImage(
-                          image: AssetImage('images/img_kaishiyouxi.png'),
-                          fit: BoxFit.fill)),
+                          image: AssetImage('images/img_guangmang_1.png'),
+                          fit: BoxFit.cover)),
                   child: Column(
                   child: Column(
                     mainAxisAlignment: MainAxisAlignment.spaceBetween,
                     mainAxisAlignment: MainAxisAlignment.spaceBetween,
                     crossAxisAlignment: CrossAxisAlignment.center,
                     crossAxisAlignment: CrossAxisAlignment.center,
@@ -42,7 +45,7 @@ class SuccessfulReceptionState extends State<SuccessfulReception> {
                       Text('领取成功',
                       Text('领取成功',
                           style: TextStyle(
                           style: TextStyle(
                               color: Color(0xFFFDC372),
                               color: Color(0xFFFDC372),
-                              fontSize:18,
+                              fontSize: 18,
                               fontWeight: FontWeight.w600)),
                               fontWeight: FontWeight.w600)),
                       Row(
                       Row(
                         mainAxisAlignment: MainAxisAlignment.center,
                         mainAxisAlignment: MainAxisAlignment.center,
@@ -57,7 +60,25 @@ class SuccessfulReceptionState extends State<SuccessfulReception> {
                         ],
                         ],
                       )
                       )
                     ],
                     ],
-                  ))),
+                  )),
+                   Positioned(
+                      top: 0,
+                      left: 0,
+                      child: Image.asset(
+                        'images/tancuang_shang.png',
+                        width: 131,
+                      ),
+                    ),
+                    Positioned(
+                      bottom: 0,
+                      right: 4,
+                      child: Image.asset(
+                        'images/tancuang_xia.png',
+                        width: 148,
+                      ),
+                    ),
+                ],
+              )),
         ),
         ),
       ),
       ),
     );
     );