龐大柯 il y a 5 ans
Parent
commit
d051bf024d

+ 2 - 1
lib/internal/bbs/bbs_router.dart

@@ -111,7 +111,8 @@ class BbsRouter implements IRouterProvider{
       router.define(chatRoom, handler: Handler(handlerFunc: (_, params){
         String id = params["id"].first;
         String type = params["type"].first;
-        return ChatDetailPage(id,type);
+        String toUserId = params["toUserId"].first;
+        return ChatDetailPage(id,type,toUserId);
       }));
 
       router.define(questionList, handler: Handler(handlerFunc: (_, params) => QuestionList()));

+ 5 - 1
lib/internal/bbs/page/bbs_page.dart

@@ -144,7 +144,11 @@ class BbsPageState extends BasePageState<BbsPage, NewsListPresenter>
       });
     });
 
-    Provider.of<WebSocketProvide>(context,listen: false).createWebsocket(FlutterStars.SpUtil.getString(Constant.userId));
+    if(FlutterStars.SpUtil.getString(Constant.userId) != "-1") {
+      Provider.of<WebSocketProvide>(context,listen: false).createWebsocket(FlutterStars.SpUtil.getString(Constant.userId));
+    }
+
+    
     getLocation();
     getBannerList();
     getNewsList();

+ 1 - 1
lib/internal/bbs/page/buy_service.dart

@@ -272,7 +272,7 @@ class BuyServiceState extends State<BuyService> {
       String roomId = res.sessionid;
       toasts("支付成功,即将进入聊天室!");
       NavigatorUtils.push(
-          context, "${BbsRouter.chatRoom}?id=$roomId&type=someToOne");
+          context, "${BbsRouter.chatRoom}?id=$roomId&type=someToOne&toUserId=''");
       print(666);
     }, onError: (code, msg) {
       toasts(msg);

+ 58 - 43
lib/internal/bbs/page/chat_room.dart

@@ -25,9 +25,10 @@ import 'package:liftmanager/net/api_service.dart';
 import 'package:liftmanager/utils/theme_utils.dart';
 
 class ChatDetailPage extends StatefulWidget {
-  ChatDetailPage(this.id, this.type);
+  ChatDetailPage(this.id, this.type,this.toUserId);
   final String id;
   final String type;
+  final String toUserId;
   @override
   _ChatDetailPageState createState() => _ChatDetailPageState();
   // _ChatDetailPageState createState() => _ChatDetailPageState(type,index);
@@ -52,6 +53,7 @@ class _ChatDetailPageState extends State<ChatDetailPage> {
   List<dynamic> storyListUserOnline = [];
   //避免从附近的人打招呼重复的initRoom
   bool isTrim = false;
+  int dataTable;
 
   final controller = TextEditingController();
   void _handleSubmitted(context, String text) {
@@ -63,7 +65,7 @@ class _ChatDetailPageState extends State<ChatDetailPage> {
       // if(type == 1){
       print(666);
       Provider.of<WebSocketProvide>(context, listen: false)
-          .sendMessage(context, text, widget.id,1);
+          .sendMessage(context, text, widget.id,1,dataTable,widget.toUserId);
       showEmoji = false;
       // }
       // new Future.delayed(Duration(milliseconds: 1000),(){
@@ -125,29 +127,35 @@ class _ChatDetailPageState extends State<ChatDetailPage> {
     //   }
     // }
     // if ((widget.type == "someToOne")&& isTrim==false) {
-    if ((widget.type == "someToOne" || widget.type == "nearToOne")&& isTrim==false) {
-      new Future.delayed(Duration(milliseconds: 500), () {
-        Provider.of<WebSocketProvide>(context, listen: false)
-            .incomeRoom(widget.id);
-        getStringEvent(widget.id);
-      });
-    } 
-    // else if (widget.type == "nearToOne"){
+    // if ((widget.type == "someToOne" || widget.type == "nearToOne")&& isTrim==false) {
     //   new Future.delayed(Duration(milliseconds: 500), () {
     //     Provider.of<WebSocketProvide>(context, listen: false)
-    //         .loginAllSeconds(widget.id);
+    //         .incomeRoom(widget.id);
     //     getStringEvent(widget.id);
     //   });
-    else {
     // } 
-    // else if (widget.type == "oneToOne") {
-      new Future.delayed(Duration(milliseconds: 500), () {
+    // // else if (widget.type == "nearToOne"){
+    // //   new Future.delayed(Duration(milliseconds: 500), () {
+    // //     Provider.of<WebSocketProvide>(context, listen: false)
+    // //         .loginAllSeconds(widget.id);
+    // //     getStringEvent(widget.id);
+    // //   });
+    // else {
+    // // } 
+    // // else if (widget.type == "oneToOne") {
+    //   new Future.delayed(Duration(milliseconds: 500), () {
+    //     Provider.of<WebSocketProvide>(context, listen: false)
+    //         .incomeFriend(widget.id);
+    //     getStringEvent(widget.id);
+    //   });
+    // }
+    // isTrim = false;
+
+    new Future.delayed(Duration(milliseconds: 500), () {
         Provider.of<WebSocketProvide>(context, listen: false)
-            .incomeFriend(widget.id);
+            .incomeRoom(widget.id);
         getStringEvent(widget.id);
       });
-    }
-    isTrim = false;
   }
 
   void initJump() async {
@@ -182,6 +190,13 @@ class _ChatDetailPageState extends State<ChatDetailPage> {
   void initState() {
     emojiList = emoji.split(',');
     print(emojiList);
+
+    if(widget.type == "nearToOne"){
+      dataTable = 3;
+    }else {
+      dataTable = null;
+    }
+    
     
     print(JsonEncoder().convert(emojiList));
     print(66669999);
@@ -260,27 +275,27 @@ class _ChatDetailPageState extends State<ChatDetailPage> {
       prefs.setStringList(roomId, []);
     }
 
-    if (flustars.SpUtil.getString(roomId + "userOnline") != null &&
-        flustars.SpUtil.getString(roomId + "userOnline") != "") {
-      // if(prefs.getString(roomId+"userOnline")!=null){
-      // String hisStringUserOnline = prefs.getString(roomId+"userOnline");
-      // flustars.SpUtil.putString(roomId+"userOnline", res.token);
-      String hisStringUserOnline =
-          flustars.SpUtil.getString(roomId + "userOnline");
-      for (var value in JsonDecoder().convert(hisStringUserOnline)) {
-        print(value);
-        storyListUserOnline.add(value);
-      }
-      ;
-      // storyListUserOnline = JsonDecoder().convert(hisStringUserOnline);
-      // storyListUserOnline = hisStringUserOnline.map((item)=>jsonDecode(item)).toList();
+    // if (flustars.SpUtil.getString(roomId + "userOnline") != null &&
+    //     flustars.SpUtil.getString(roomId + "userOnline") != "") {
+    //   // if(prefs.getString(roomId+"userOnline")!=null){
+    //   // String hisStringUserOnline = prefs.getString(roomId+"userOnline");
+    //   // flustars.SpUtil.putString(roomId+"userOnline", res.token);
+    //   String hisStringUserOnline =
+    //       flustars.SpUtil.getString(roomId + "userOnline");
+    //   for (var value in JsonDecoder().convert(hisStringUserOnline)) {
+    //     print(value);
+    //     storyListUserOnline.add(value);
+    //   }
+    //   ;
+    //   // storyListUserOnline = JsonDecoder().convert(hisStringUserOnline);
+    //   // storyListUserOnline = hisStringUserOnline.map((item)=>jsonDecode(item)).toList();
 
-    } else {
-      //  prefs.setString(roomId+"userOnline",'');
-    }
+    // } else {
+    //   //  prefs.setString(roomId+"userOnline",'');
+    // }
 
-    print(JsonEncoder().convert(storyList));
-    print(JsonEncoder().convert(storyListUserOnline));
+    // print(JsonEncoder().convert(storyList));
+    // print(JsonEncoder().convert(storyListUserOnline));
 
     new Future.delayed(Duration(milliseconds: 1000), () {
       setState(() {
@@ -363,7 +378,7 @@ class _ChatDetailPageState extends State<ChatDetailPage> {
       String imagesUrl;
       imagesUrl = (res.pathUrl);
       Provider.of<WebSocketProvide>(context, listen: false)
-          .sendMessage(context, imagesUrl, widget.id,2);
+          .sendMessage(context, imagesUrl, widget.id,2,dataTable,widget.toUserId);
     }, onError: (code, msg) {
       dismissLoading(context);
       toasts(msg);
@@ -373,14 +388,14 @@ class _ChatDetailPageState extends State<ChatDetailPage> {
   @override
   Widget build(BuildContext context) {
     double width = MediaQuery.of(context).size.width;
-    print(JsonEncoder().convert(msgList));
+    // print(JsonEncoder().convert(msgList));
     imagesList = [];
     msgList.forEach((element) {
       if(element["type"]==2){
                             imagesList.add(element["msg"]);
                           }
     });
-    print(1234567980);
+    // print(1234567980);
     
     return ChangeNotifierProvider<WebSocketProvide>(
       create: (_) => provider,
@@ -427,10 +442,10 @@ class _ChatDetailPageState extends State<ChatDetailPage> {
                         physics: ClampingScrollPhysics(),
                         itemBuilder: (BuildContext context, int index) {
                           int typeUser;
-                          print(msgList[index]["fromUser"]);
-                          print(msgList[index]["msg"]);
+                          // print(msgList[index]["fromUser"]);
+                          // print(msgList[index]["msg"]);
                           // print(jsonDecode(msgList[index])["fromUser"]);
-                          print(123456789);
+                          // print(1234567890);
                           if (msgList[index]["fromUser"] ==
                               flustars.SpUtil.getString(Constant.userId)) {
                             typeUser = 1;
@@ -535,7 +550,7 @@ class _ChatDetailPageState extends State<ChatDetailPage> {
                                 setState(() {
                                   hasText = text.length > 0 ? true : false;
                                 });
-                                print('change=================== $text');
+                                // print('change=================== $text');
                               },
                               // onSubmitted:_handleSubmitted,
                               enabled: true, //bu禁用

+ 1 - 1
lib/internal/bbs/page/expert_list.dart

@@ -155,7 +155,7 @@ class ExpertListState extends BasePageState<ExpertList, ExpertListPresenter> {
       print(res);
       String roomId = res.sessionid;
       toasts("即将进入聊天室!");
-      NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=$roomId&type=someToOne");
+      NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=$roomId&type=someToOne&toUserId=''");
       print(666);
     }, onError: (code, msg) {
       toasts(msg);

+ 8 - 8
lib/internal/bbs/page/recommend_ask.dart

@@ -86,7 +86,7 @@ class RecommendAskState extends State<RecommendAsk> {
     
     NewApiService().orderReceiving(obj, onSuccess: (res) {
       toasts("操作成功");
-      NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=${detailObj.sessionId}&type=someToOne");
+      NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=${detailObj.sessionId}&type=someToOne&toUserId=''");
       _hasData = true;
       setState(() {});
     }, onError: (code, msg) {
@@ -136,7 +136,7 @@ class RecommendAskState extends State<RecommendAsk> {
 
     double width = MediaQuery.of(context).size.width;
     double height = MediaQuery.of(context).size.height;
-    if(width < height){
+    if(width > height){
       // SystemChrome.setPreferredOrientations([
       //   DeviceOrientation.portraitUp,
       // ]);
@@ -366,13 +366,13 @@ class RecommendAskState extends State<RecommendAsk> {
               ],
             ),
             
-            SizedBox(
+            detailObj.imgs!=null&&detailObj.imgs!=""?SizedBox(
               height:6,
               child: Container(
                 color:ThemeUtils.getDialogTextFieldColor(context)
               ),
-            ),
-            Container(
+            ):Container(child:null),
+            detailObj.imgs!=null&&detailObj.imgs!=""?Container(
               padding: EdgeInsets.all(15),
               color: ThemeUtils.getTabsBg(context),
               child: Wrap(
@@ -405,14 +405,14 @@ class RecommendAskState extends State<RecommendAsk> {
                     }).toList()
                   )
               )
-            ),
-            detailObj.videoUrl!=null?SizedBox(
+            ):Container(child:null),
+            detailObj.videoUrl!=null&&detailObj.videoUrl!=""?SizedBox(
               height:6,
               child: Container(
                 color:ThemeUtils.getDialogTextFieldColor(context)
               ),
             ):Container(child:null),
-           detailObj.videoUrl!=null ? Container(
+           detailObj.videoUrl!=null&&detailObj.videoUrl!="" ? Container(
                           padding: EdgeInsets.only(
                               left: ScreenUtil().setWidth(15),
                               right: ScreenUtil().setWidth(15),

+ 1 - 1
lib/internal/bbs/page/tab/video/video_detail.dart

@@ -190,7 +190,7 @@ class VideoDetailState extends State<VideoDetail> {
     print(width);
     print(height);
     print(12345678);
-    if(width < height){
+    if(width > height){
       // SystemChrome.setPreferredOrientations([
       //   DeviceOrientation.portraitUp,
       // ]);

+ 142 - 128
lib/internal/bbs/provide/websocket.dart

@@ -15,6 +15,7 @@ import 'package:liftmanager/common/common.dart';
 import 'package:flustars/flustars.dart' as FlutterStars;
 import 'package:liftmanager/utils/toast.dart';
 import 'package:liftmanager/routers/fluro_navigator.dart';
+import 'dart:async';
 
 class WebSocketProvide with ChangeNotifier{
   List<dynamic> historyMessageqqq = [];//接收到哦的所有的历史消息
@@ -24,7 +25,27 @@ class WebSocketProvide with ChangeNotifier{
   String roomId;
   bool socketIsConnect = false;
   bool isSend = true;
+  Timer _timer;
+  void startTimer() {
+    //设置 10 秒回调一次
+    const period = const Duration(seconds: 10);
+    _timer = Timer.periodic(period, (timer) {
+      initLoop();
+    });
+  }
+
+  void cancelTimer() {
+    if (_timer != null) {
+      _timer.cancel();
+      _timer = null;
+    }
+  }
 
+  @override
+  void dispose() {
+    super.dispose();
+    cancelTimer();
+  }
   
   // DartNotificationCenter.subscribe(
   //   channel: CHANNEL_NAME,
@@ -87,6 +108,11 @@ class WebSocketProvide with ChangeNotifier{
       isSend = true;
       print('websocket重连');
     }
+    // else {
+    //   startTimer();
+    // }
+    cancelTimer();
+    startTimer();
     socketIsConnect = true;
   }
 
@@ -107,19 +133,20 @@ class WebSocketProvide with ChangeNotifier{
     print(414141);
   }
 
-  void getOnlineUserEvent(id)async{
-    SharedPreferences prefs = await SharedPreferences.getInstance();
-    // String userStr = prefs.getString(id+"userOnline");
-    String userStr = FlutterStars.SpUtil.getString(id+"userOnline");
-    // List<dynamic>setUserList = userStr.map((item)=>jsonDecode(item)).toList();
-    if(userStr!=null&&userStr!=""){
-      List<dynamic>setUserList = jsonDecode(userStr);
-      FastNotification.push("set_user",setUserList);
-      // LogUtil.d(prefs.getString(id+"userOnline"));
-      print(33333);
-    }
+  //用户头像显示
+  // void getOnlineUserEvent(id)async{
+  //   SharedPreferences prefs = await SharedPreferences.getInstance();
+  //   // String userStr = prefs.getString(id+"userOnline");
+  //   String userStr = FlutterStars.SpUtil.getString(id+"userOnline");
+  //   // List<dynamic>setUserList = userStr.map((item)=>jsonDecode(item)).toList();
+  //   if(userStr!=null&&userStr!=""){
+  //     List<dynamic>setUserList = jsonDecode(userStr);
+  //     FastNotification.push("set_user",setUserList);
+  //     // LogUtil.d(prefs.getString(id+"userOnline"));
+  //     print(33333);
+  //   }
     
-  }
+  // }
 
   randomInt(int min, int max) {
     return new Random().nextInt(max) % (max - min + 1) + min;
@@ -141,7 +168,19 @@ class WebSocketProvide with ChangeNotifier{
       //正常消息
       // historyMessageString.add(data.toString());
       // setStringEvent(roomId,historyMessageString);
-      List<String>strChat = prefs.getStringList(obj["sessionid"]);
+      // print(JsonEncoder().convert(prefs.getStringList(obj["sessionid"])));
+      String friendsInit = randomInt(1111,9999).toString() + DateTime.now().millisecondsSinceEpoch.toString();
+      print(123);
+      List<String>strChat;
+      print(prefs.getStringList(obj["sessionid"]));
+      // ignore: unrelated_type_equality_checks
+      if(prefs.getStringList(obj["sessionid"]) != "" && prefs.getStringList(obj["sessionid"]) != null){
+        strChat = prefs.getStringList(obj["sessionid"]);
+      }else {
+        strChat = [];
+        FastNotification.push("friendAction",friendsInit);
+      }
+      
       print(JsonEncoder().convert(data));
       print("JsonEncoder().convert(data)---------------------");
       strChat.add(data);
@@ -154,99 +193,74 @@ class WebSocketProvide with ChangeNotifier{
         historyMessageqqq = historyMessageString.map((item)=>jsonDecode(item)).toList();
         FastNotification.push("chat_room",historyMessageqqq);
       }
-      String friendsInit = randomInt(1111,9999).toString() + DateTime.now().millisecondsSinceEpoch.toString();
+      
       prefs.setString("changeRoomId",obj["sessionid"]);
       FastNotification.push("friendAction",friendsInit);
-    }else if(obj["cmd"] =="UNREAD"){
-      //离线消息
-      Map<String,dynamic>msgObj = jsonDecode(obj["msg"]);
-      // print(JsonEncoder().convert(historyMessageqqq));
-      msgObj.forEach((key, value) {
-        List<String>str = [];
-        if(prefs.getStringList(key) != null){
-          str = prefs.getStringList(key);
-        }
-        String strUserOnline;
-        // if(prefs.getString(key+"userOnline") != null){
-        //   strUserOnline = prefs.getString(key+"userOnline");
-        // }
-        
-        value.forEach((item){
-          if(item["msgList"].length>0){
-            // str.add(JsonEncoder().convert(item["msgList"]));
-            item["msgList"].forEach((ii){
-              str.add(JsonEncoder().convert(ii));
-            });
-            // str.add(item["msgList"].toString());
-          }
-          // if(item["flag"]){
-          //   strUserOnline.add(item.toString());
-          // }
+    }
+    // else if(obj["cmd"] =="UNREAD"){
+    //   //离线消息
+    //   Map<String,dynamic>msgObj = jsonDecode(obj["msg"]);
+    //   // print(JsonEncoder().convert(historyMessageqqq));
+    //   msgObj.forEach((key, value) {
+    //     List<String>str = [];
+    //     if(prefs.getStringList(key) != null){
+    //       str = prefs.getStringList(key);
+    //     }
+    //     String strUserOnline;
+    //     // if(prefs.getString(key+"userOnline") != null){
+    //     //   strUserOnline = prefs.getString(key+"userOnline");
+    //     // }
+    //     print(jsonEncode(value));
+    //     print("--------------------------------------///123456");
+    //     // value.forEach((key,item){
+    //     //   if(value[key]["msgList"].length>0){
+    //     //     // str.add(JsonEncoder().convert(item["msgList"]));
+    //     //     item["msgList"].forEach((ii){
+    //     //       str.add(JsonEncoder().convert(ii));
+    //     //     });
+    //     //     // str.add(item["msgList"].toString());
+    //     //   }
+    //     //   // if(item["flag"]){
+    //     //   //   strUserOnline.add(item.toString());
+    //     //   // }
           
-        });
-        // strUserOnline = value.toString();
-        strUserOnline = JsonEncoder().convert(value);
+    //     // });
         
-        setStringEvent(key,str);
-        setOnlineUserEvent(key+"userOnline",strUserOnline);
-      });
-      LogUtil.d(msgObj);
-      print("456456111------------------------");
-      // msgList.forEach((item){
-      //   historyMessageString.add(jsonEncode(item));
-      // });
-      // setStringEvent();
-    }else if(obj["cmd"] =="SYSTEM"){
-      //系统消息
-       List<dynamic>userList = jsonDecode(obj["msg"]);
-      //  List<String>userListStr = [];
-      //  userList.forEach((item){
-      //    print(item);
-      //    userListStr.add(item.toString());
-      //  });
-       
-      // List<dynamic>userList = jsonDecode(obj["msg"]).map((t)=>jsonDecode(t)).toList();
-      String setUserListStr;
-      List<dynamic>setUserList=[];
-      LogUtil.d(userList);
-      // prefs.setString(userList[0]["sessionId"].toString()+"userOnline",obj["msg"]);
-      FlutterStars.SpUtil.putString(userList[0]["sessionId"].toString()+"userOnline",obj["msg"]);
-      // userList.forEach((item){
-      //   // LogUtil.d(item.avatarUrl);
-      //   // LogUtil.d(item["avatarUrl"]);
-      //   // var params = {
-      //   //   "avatarUrl":item["avatarUrl"],
-      //   //   "name":item["name"],
-      //   //   "flag":item["flag"],
-      //   // };
-      //   // setUserList.add(params);
-      //   List<String>str = 
-      //   List<dynamic>strObj = str.map((t)=>jsonDecode(t)).toList();
-      //   List<dynamic>lastObj = [];
-        
-        
-
-
-      //   strObj.forEach((val){
-      //     if(item["userId"] == val["userId"]){
-      //       lastObj.addAll(item);
-      //     }else {
-      //       lastObj.addAll(val);
-      //     }
-          
-      //   });
+    //     if(value["msgList"].length>0){
+    //         // str.add(JsonEncoder().convert(item["msgList"]));
+    //         value["msgList"].forEach((ii){
+    //           str.add(JsonEncoder().convert(ii));
+    //         });
+    //         // str.add(item["msgList"].toString());
+    //       }
+    //     // strUserOnline = value.toString();
+    //     strUserOnline = JsonEncoder().convert(value);
         
-      // });
-      if(userList[0]["sessionId"].toString()==roomId){
-        // setUserListStr = prefs.getString(userList[0]["sessionId"].toString()+"userOnline");
-        setUserListStr = FlutterStars.SpUtil.getString(userList[0]["sessionId"].toString()+"userOnline");
-        print(JsonEncoder().convert(setUserListStr));
-        print(56566666);
-        setUserList = jsonDecode(setUserListStr);
-        print(JsonEncoder().convert(setUserList));
-        print(roomId);
-        print("roomId/////////////20200612150634081101746");
-        FastNotification.push("set_user",setUserList);  //触发通知
+    //     setStringEvent(key,str);
+    //     setOnlineUserEvent(key+"userOnline",strUserOnline);
+    //   });
+    //   LogUtil.d(msgObj);
+    //   // print("456456111------------------------");
+    //   // msgList.forEach((item){
+    //   //   historyMessageString.add(jsonEncode(item));
+    //   // });
+    //   // setStringEvent();
+    // }
+    else if (obj["cmd"] =="INITROOM"){
+      List<dynamic>msgListInitRoom = jsonDecode(obj["msg"]);
+      if(msgListInitRoom != null && msgListInitRoom != []){
+        List<String>strList = [];
+        msgListInitRoom.forEach((item){
+          strList.add(JsonEncoder().convert(item));
+        });
+        setStringEvent(obj["sessionid"],strList);
+        print(JsonEncoder().convert(msgListInitRoom));
+        print(prefs.getStringList(obj["sessionid"]));
+        print("JsonEncoder().convert(INITROOM)---------------------");
+        historyMessageqqq = msgListInitRoom;
+        FastNotification.push("chat_room",historyMessageqqq);
+        String friendsInit = randomInt(1111,9999).toString() + DateTime.now().millisecondsSinceEpoch.toString();
+        FastNotification.push("friendAction",friendsInit);
       }
       
     }
@@ -269,7 +283,7 @@ class WebSocketProvide with ChangeNotifier{
       //触发通知
     notifyListeners();
   }
-  void sendMessage(context,data,id,msgType){//发送消息
+  void sendMessage(context,data,id,msgType,dataTable,toUserId){//发送消息
   FocusScope.of(context).requestFocus(FocusNode());
   if(!socketIsConnect){
     showAlert(
@@ -297,14 +311,17 @@ class WebSocketProvide with ChangeNotifier{
     return;
   }
   roomId = id;
-  print(JsonEncoder().convert(roomId));
-  print(555);
+  // print(JsonEncoder().convert(roomId));
+  // print(555);
     var objs = {
       "cmd":"CHAT",
       "type":msgType,
+      "dataTable":dataTable,
+      "receiver":toUserId,
       "avatarUrl":FlutterStars.SpUtil.getString("avatarUrl"),
       "time": DateTime.now().millisecondsSinceEpoch,
       "fromUser":int.parse(FlutterStars.SpUtil.getString(Constant.userId)),
+      "userId":int.parse(FlutterStars.SpUtil.getString(Constant.userId)),
       "name":FlutterStars.SpUtil.getString("username"),
       "sessionid":id,
       "msg":data
@@ -315,51 +332,47 @@ class WebSocketProvide with ChangeNotifier{
     channel.sink.add(text);
   }
 
-  void incomeRoom(id){//进入房间
-  roomId = id;
-  getOnlineUserEvent(roomId);
-  print(JsonEncoder().convert(roomId));
-  print(555);
+  void initLoop(){//定时10秒发送
+  
+  
+    print("LOOP");
     var objs = {
-      "cmd":"INITROOM",
-      "type":1,
-      "avatarUrl":FlutterStars.SpUtil.getString("avatarUrl"),
-      "time": DateTime.now().millisecondsSinceEpoch,
-      "fromUser":int.parse(FlutterStars.SpUtil.getString(Constant.userId)),
-      "name":FlutterStars.SpUtil.getString("username"),
-      "sessionid":roomId,
-      "msg":"我首次进入房间"
+      "cmd":"LOOP",
+      "userId":int.parse(FlutterStars.SpUtil.getString(Constant.userId))
     };
     
     String text = json.encode(objs).toString();
-    print(text);
-    print(777);
+    // print(text);
+    // print(777);
     channel.sink.add(text);
   }
-  void loginAllSeconds(id){//临时重新初始化房间
+
+  void incomeRoom(id){//进入房间
   roomId = id;
-  getOnlineUserEvent(roomId);
-  print(JsonEncoder().convert(roomId));
-  print(555);
+  // getOnlineUserEvent(roomId);
+  // print(JsonEncoder().convert(roomId));
+  // print(555);
     var objs = {
-      "cmd":"LOGINALL",
+      "cmd":"INITROOM",
       "type":1,
       "avatarUrl":FlutterStars.SpUtil.getString("avatarUrl"),
       "time": DateTime.now().millisecondsSinceEpoch,
       "fromUser":int.parse(FlutterStars.SpUtil.getString(Constant.userId)),
+      "userId":int.parse(FlutterStars.SpUtil.getString(Constant.userId)),
       "name":FlutterStars.SpUtil.getString("username"),
       "sessionid":roomId,
-      "msg":"我是app端初始化临时"
+      "msg":"进入房间"
     };
     
     String text = json.encode(objs).toString();
-    print(text);
-    print(778);
+    // print(text);
+    // print(777);
     channel.sink.add(text);
   }
+  
   void incomeFriend(id){//进入朋友房间
   roomId = id;
-  getOnlineUserEvent(roomId);
+  // getOnlineUserEvent(roomId);
   
   }
 
@@ -370,6 +383,7 @@ class WebSocketProvide with ChangeNotifier{
   void onDone() {
     print('websocket断开了');
     toasts("聊天室连接已断开!");
+    cancelTimer();
     socketIsConnect = false;
     isSend = false;
     // closeWebSocket();

+ 18 - 8
lib/internal/friends/page/friends_list.dart

@@ -128,24 +128,34 @@ with TickerProviderStateMixin, AutomaticKeepAliveClientMixin{
     double width = MediaQuery.of(context).size.width;
     double height = MediaQuery.of(context).size.height;
     LogUtil.d(JsonEncoder().convert(friendsList));
+    LogUtil.d(JsonEncoder().convert(listOne));
       LogUtil.d("5555665-------------");
+      LogUtil.d(changeRoomId);
     friendsList = [];
     if(changeRoomId !=null){
       dynamic firstContent;
-      listOne.forEach((item){
-        if(item.sessionid == changeRoomId){
-          firstContent = item;
-        }else {
-          friendsList.add(item);
+      if(listOne.length<1){
+        friendsList = [];
+      }else {
+        listOne.forEach((item){
+          if(item.sessionid == changeRoomId){
+            firstContent = item;
+          }else {
+            friendsList.add(item);
+          }
+        });
+        if(firstContent != null){
+          friendsList.insert(0, firstContent);
         }
-      });
-      friendsList.insert(0, firstContent);
+      }
+      
+      
     }else {
       friendsList = listOne;
     }
     
     LogUtil.d(JsonEncoder().convert(friendsList));
-    LogUtil.d("5555665--------------------");
+    LogUtil.d("5555677--------------------");
     
     return Scaffold(
       appBar: MyAppBar(

+ 2 - 2
lib/internal/friends/page/message_page/conversation_item.dart

@@ -28,9 +28,9 @@ class ConversationItem extends StatelessWidget {
           // conversationItemData.sessionid
           // NavigatorUtils.push(context, "${FriendsRouter.chatRoom}");
           if(conversationItemData.dataTable == 3){
-            NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=${conversationItemData.sessionid}&type=nearToOne");
+            NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=${conversationItemData.sessionid}&type=nearToOne&toUserId=${conversationItemData.userId}");
           }else {
-            NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=${conversationItemData.sessionid}&type=oneToOne");
+            NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=${conversationItemData.sessionid}&type=oneToOne&toUserId=''");
           }
           // NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=${conversationItemData.sessionid}&type=oneToOne");
         },

+ 6 - 5
lib/internal/friends/page/near_detail.dart

@@ -51,11 +51,12 @@ class NearDetailState extends State<NearDetail> {
       // LogUtil.d("5555664");
       print(res["room"]);
       String roomId = res["room"];
-      if(res["type"]==1){
-        NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=$roomId&type=someToOne");
-      }else {
-        NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=$roomId&type=oneToOne");
-      }
+      NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=$roomId&type=nearToOne&toUserId=$id");
+      // if(res["type"]==1){
+      //   NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=$roomId&type=someToOne");
+      // }else {
+      //   NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=$roomId&type=oneToOne");
+      // }
       print(41414111);
       
       setState(() {});

+ 1 - 0
lib/internal/wode/page/edit_text_page.dart

@@ -45,6 +45,7 @@ class EditTextState extends State<EditTextPage> {
     return Scaffold(
       appBar: MyAppBar(
         centerTitle: widget.title,
+        isBack:false,
         actions: <Widget>[
           FlatButton(
             child: Text("完成"),

+ 1 - 1
lib/internal/wode/page/order/buy_service.dart

@@ -308,7 +308,7 @@ class BuyServiceState extends State<BuyService> {
       String roomId = res.sessionid;
       toasts("支付成功,即将进入聊天室!");
       NavigatorUtils.push(
-          context, "${BbsRouter.chatRoom}?id=$roomId&type=someToOne");
+          context, "${BbsRouter.chatRoom}?id=$roomId&type=someToOne&toUserId=''");
       print(666);
     }, onError: (code, msg) {
       toasts(msg);

+ 1 - 1
lib/internal/wode/page/order/order_detail.dart

@@ -184,7 +184,7 @@ class OrderDetailState extends State<OrderDetail>
   Widget build(BuildContext context) {
     double width = MediaQuery.of(context).size.width;
     double height = MediaQuery.of(context).size.height;
-    if(width < height){
+    if(width > height){
       // SystemChrome.setPreferredOrientations([
       //   DeviceOrientation.portraitUp,
       // ]);

+ 1 - 1
lib/internal/wode/page/order_master/order_detail.dart

@@ -138,7 +138,7 @@ class OrderDetailMasterState extends State<OrderDetailMaster>
   Widget build(BuildContext context) {
     double width = MediaQuery.of(context).size.width;
     double height = MediaQuery.of(context).size.height;
-    if(width < height){
+    if(width > height){
       // SystemChrome.setPreferredOrientations([
       //   DeviceOrientation.portraitUp,
       // ]);

+ 1 - 1
lib/internal/wode/page/order_master/punchin.dart

@@ -256,7 +256,7 @@ class PunchinState extends State<Punchin> {
   Widget build(BuildContext context) {
     double width = MediaQuery.of(context).size.width;
     double height = MediaQuery.of(context).size.height;
-    if(width < height){
+    if(width > height){
       // SystemChrome.setPreferredOrientations([
       //   DeviceOrientation.portraitUp,
       // ]);

+ 8 - 2
lib/internal/wode/page/personal_page.dart

@@ -66,8 +66,12 @@ class PersonalPageState extends State<PersonalPage>
   }
 
   void setUser(UserInfoEntity user) {
-    print(user);
-    provider.setUser(user);
+    print(user.userName);
+    print(user.avatarUrl);
+    print("8653555------------");
+    provider.setUser(user); 
+    FlutterStars.SpUtil.putString('username', user.nickName);
+    FlutterStars.SpUtil.putString('avatarUrl', user.avatarUrl);
   }
 
   ///选择图片
@@ -220,6 +224,8 @@ class PersonalPageState extends State<PersonalPage>
                             ),
                           ).then(
                             (value) {
+                              print(value);
+                              print(123333);
                               if (value != null) {
                                 _modifyName(value);
                               }

+ 2 - 0
lib/internal/wode/page/setting_page.dart

@@ -405,7 +405,9 @@ class SettingPageState extends State<SettingPage>{
                           showAlert(context, "提示", "是否确定退出?", "确定", () {
                             User().clearUser();
                             FlutterStars.SpUtil.putBool('isInitLink', false);
+                            Provider.of<WebSocketProvide>(context,listen: false).cancelTimer();
                             Provider.of<WebSocketProvide>(context,listen: false).closeWebSocket();
+                            
                             // removeSocket();
                             _push.unbindAccount(account: f.SpUtil.getString(Constant.phone));
                             NavigatorUtils.push(context, AccountRouter.loginPage, clearStack: true);

+ 1 - 1
lib/internal/wode/page/video/video_detail.dart

@@ -82,7 +82,7 @@ class VideoDetailState extends State<VideoDetail> {
   Widget build(BuildContext context) {
     double width = MediaQuery.of(context).size.width;
     double height = MediaQuery.of(context).size.height;
-    if(width < height){
+    if(width > height){
       // SystemChrome.setPreferredOrientations([
       //   DeviceOrientation.portraitUp,
       // ]);