ソースを参照

8.6处理视频问题

jyj 4 年 前
コミット
d589ff8eb9

+ 16 - 4
lib/internal/bbs/page/recommend_ask.dart

@@ -22,6 +22,7 @@ import 'package:liftmanager/utils/theme_utils.dart';
 import 'package:video_player/video_player.dart';
 import 'package:chewie/chewie.dart';
 import 'package:flutter/services.dart';
+import 'package:orientation/orientation.dart';
 
 class RecommendAsk extends StatefulWidget {
   RecommendAsk(this.id,this.type);
@@ -44,7 +45,10 @@ class RecommendAskState extends State<RecommendAsk> {
   @override
   void initState() {
     super.initState();
-    getDetail();
+    // getDetail();
+    Future.delayed(Duration(milliseconds: 100),(){
+      getDetail();
+    });
   }
 
   bool _hasData = false;
@@ -120,7 +124,10 @@ class RecommendAskState extends State<RecommendAsk> {
       _controller.pause();
       _controller.dispose();
     }
-    
+    // SystemChrome.setPreferredOrientations([
+    //   DeviceOrientation.portraitUp,
+    // ]);
+    OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
     super.dispose();
   }
 
@@ -128,8 +135,13 @@ class RecommendAskState extends State<RecommendAsk> {
   Widget build(BuildContext context) {
 
     double width = MediaQuery.of(context).size.width;
-
-    
+    double height = MediaQuery.of(context).size.height;
+    if(width < height){
+      // SystemChrome.setPreferredOrientations([
+      //   DeviceOrientation.portraitUp,
+      // ]);
+      OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
+    }
 
     return Scaffold(
       resizeToAvoidBottomPadding: false,//不让键盘弹上去

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

@@ -27,6 +27,7 @@ import 'package:liftmanager/internal/account/account_router.dart';
 import 'package:flustars/flustars.dart' as FlutterStars;
 import 'package:liftmanager/common/common.dart';
 import 'package:flutter/services.dart';
+import 'package:orientation/orientation.dart';
 
 class VideoDetail extends StatefulWidget {
   VideoDetail(this.id);
@@ -43,8 +44,10 @@ class VideoDetailState extends State<VideoDetail> {
   @override
   void initState() {
     super.initState();
-    getVideoDetail();
-
+    // getVideoDetail();
+    Future.delayed(Duration(milliseconds: 100),(){
+      getVideoDetail();
+    });
     // SystemChrome.setPreferredOrientations([
     //   DeviceOrientation.portraitUp,
     // ]);
@@ -57,6 +60,7 @@ class VideoDetailState extends State<VideoDetail> {
   VideoPlayerController _controller;
 
   Future getVideoDetail() async {
+    print("-/-/-/-////////////////////////-----------");
     await NewApiService().getVideoDetail(int.parse(widget.id), 1,
         onSuccess: (res) {
       if (res != null) {
@@ -172,13 +176,26 @@ class VideoDetailState extends State<VideoDetail> {
   void dispose() {
     _controller.pause();
     _controller.dispose();
+    // SystemChrome.setPreferredOrientations([
+    //   DeviceOrientation.portraitUp,
+    // ]);
+    OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
     super.dispose();
   }
 
   @override
   Widget build(BuildContext context) {
     double width = MediaQuery.of(context).size.width;
-
+    double height = MediaQuery.of(context).size.height;
+    print(width);
+    print(height);
+    print(12345678);
+    if(width < height){
+      // SystemChrome.setPreferredOrientations([
+      //   DeviceOrientation.portraitUp,
+      // ]);
+      OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
+    }
     return Scaffold(
       resizeToAvoidBottomPadding: false, //不让键盘弹上去
       appBar: MyAppBar(
@@ -212,7 +229,7 @@ class VideoDetailState extends State<VideoDetail> {
                                 looping: true,
                                 // startAt: Duration(seconds: 1,minutes: 1),
                                 showControls: true,
-                                deviceOrientationsAfterFullScreen:[DeviceOrientation.portraitUp,],
+                                deviceOrientationsAfterFullScreen:[DeviceOrientation.portraitUp],
                                 // 占位图
                                 // placeholder: Image.network(
                                 //     imgFontUrl+detailObj.cover,

+ 8 - 0
lib/internal/bbs/provide/websocket.dart

@@ -59,12 +59,19 @@ class WebSocketProvide with ChangeNotifier{
     channel = await new IOWebSocketChannel.connect(socketUrl);
     // channel = await new IOWebSocketChannel.connect('ws://192.168.0.110:8002/ws');
     // channel = await new IOWebSocketChannel.connect('ws://111.231.225.178:3001');
+    // var objs = {
+    //   "cmd":"LOGIN",
+    //   "userId":FlutterStars.SpUtil.getString(Constant.userId),
+    //   "avatarUrl":FlutterStars.SpUtil.getString("avatarUrl"),
+    //   "name":FlutterStars.SpUtil.getString("username"),
+    // };
     var objs = {
       "cmd":"LOGINALL",
       "type":1,
       "avatarUrl":FlutterStars.SpUtil.getString("avatarUrl"),
       "time": DateTime.now().millisecondsSinceEpoch,
       "fromUser":FlutterStars.SpUtil.getString(Constant.userId),
+      "userId":FlutterStars.SpUtil.getString(Constant.userId),
       "name":FlutterStars.SpUtil.getString("username"),
       "sessionid":roomIdss,
       // "sessionid":roomId,
@@ -83,6 +90,7 @@ class WebSocketProvide with ChangeNotifier{
     socketIsConnect = true;
   }
 
+  //缓存历史消息
   void setStringEvent(id,strList)async{
     SharedPreferences prefs = await SharedPreferences.getInstance();
     prefs.setStringList(id, strList);

+ 63 - 7
lib/internal/wode/page/collect_page.dart

@@ -322,6 +322,7 @@ class CollectPageState extends BasePageState<CollectPage,MixListPresenter> {
                                 mainAxisAlignment: MainAxisAlignment.spaceBetween,
                                 children: <Widget>[
                                   Container(
+                                    padding: EdgeInsets.only(top:ScreenUtil().setWidth(8),bottom:ScreenUtil().setWidth(8)),
                                     height: width*0.24,
                                     child: Column(
                                   crossAxisAlignment: CrossAxisAlignment.start,
@@ -335,11 +336,25 @@ class CollectPageState extends BasePageState<CollectPage,MixListPresenter> {
                                           fontWeight: FontWeight.w600,
                                           fontSize: ScreenUtil().setSp(17)),
                                       textAlign: TextAlign.start,
-                                      maxLines: 2,
+                                      maxLines: 1,
                                             overflow: TextOverflow.ellipsis,
                                     ),
                                     ),
-                                    Row(
+                                    Container(
+                                      width:width*0.5,
+                                      child: Text(
+                                      "${provider.list[index].descr??""}",
+                                      style: TextStyle(
+                                          fontSize: ScreenUtil().setSp(15)),
+                                      textAlign: TextAlign.start,
+                                      maxLines: 1,
+                                            overflow: TextOverflow.ellipsis,
+                                    ),
+                                    ),
+                                    Container(
+                                      width: width*0.5,
+                                      child: Row(
+                                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                                       children: <Widget>[
                                         Container(
                                           width:width*0.18,
@@ -356,15 +371,56 @@ class CollectPageState extends BasePageState<CollectPage,MixListPresenter> {
                                         SizedBox(
                                           width:5
                                         ),
-                                        Text(
-                                          "${provider.list[index].likeNum??"0"}人点赞",
-                                          style: TextStyle(
+                                        Row(
+                                          crossAxisAlignment: CrossAxisAlignment.start,
+                                          children: <Widget>[
+                                            Text(
+                                              "${provider.list[index].likeNum??"0"}",
+                                              style: TextStyle(
+                                                  color: Color(0xff999999),
+                                                  fontSize: ScreenUtil().setSp(14)),
+                                              textAlign: TextAlign.start,
+                                            ),
+                                            SizedBox(
+                                              width:3
+                                            ),
+                                            Icon(
+                                              IconData(0xe7cd,
+                                                  fontFamily: "myfont"),
+                                              size: 14.0,
                                               color: Color(0xff999999),
-                                              fontSize: ScreenUtil().setSp(14)),
-                                          textAlign: TextAlign.start,
+                                            ),
+                                          ],
                                         ),
                                         
+                                        SizedBox(
+                                          width:5
+                                        ),
+                                        Row(
+                                          crossAxisAlignment: CrossAxisAlignment.start,
+                                          children: <Widget>[
+                                            Text(
+                                              "${provider.list[index].browseNum??"0"}",
+                                              style: TextStyle(
+                                                  color: Color(0xff999999),
+                                                  fontSize: ScreenUtil().setSp(14)),
+                                              textAlign: TextAlign.start,
+                                            ),
+                                            SizedBox(
+                                              width:3
+                                            ),
+                                            Icon(
+                                              IconData(0xe610,
+                                                  fontFamily: "myfont"),
+                                              size: 14.0,
+                                              color: Color(0xff999999),
+                                            ),
+                                          ],
+                                        ),
+                                        
+                                        
                                       ],
+                                    ),
                                     )
                                   ]),
                                   ),

+ 12 - 0
lib/internal/wode/page/order/order_detail.dart

@@ -27,6 +27,7 @@ import 'package:chewie/chewie.dart';
 import 'package:liftmanager/utils/utils.dart';
 import 'package:liftmanager/utils/theme_utils.dart';
 import 'package:flutter/services.dart';
+import 'package:orientation/orientation.dart';
 
 class OrderDetail extends StatefulWidget {
   OrderDetail(this.id);
@@ -115,6 +116,10 @@ class OrderDetailState extends State<OrderDetail>
       _controllerAfter.pause();
       _controllerAfter.dispose();
     }
+    // SystemChrome.setPreferredOrientations([
+    //   DeviceOrientation.portraitUp,
+    // ]);
+    OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
     // provider.dispose();
     super.dispose();
   }
@@ -178,6 +183,13 @@ class OrderDetailState extends State<OrderDetail>
   @override
   Widget build(BuildContext context) {
     double width = MediaQuery.of(context).size.width;
+    double height = MediaQuery.of(context).size.height;
+    if(width < height){
+      // SystemChrome.setPreferredOrientations([
+      //   DeviceOrientation.portraitUp,
+      // ]);
+      OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
+    }
     return
         // Center(child:new Text("个人中心"));
         ChangeNotifierProvider<UserProvider>(

+ 12 - 0
lib/internal/wode/page/order_master/order_detail.dart

@@ -27,6 +27,7 @@ import 'package:chewie/chewie.dart';
 import 'package:liftmanager/utils/utils.dart';
 import 'package:liftmanager/utils/theme_utils.dart';
 import 'package:flutter/services.dart';
+import 'package:orientation/orientation.dart';
 
 class OrderDetailMaster extends StatefulWidget {
   OrderDetailMaster(this.id);
@@ -113,6 +114,10 @@ class OrderDetailMasterState extends State<OrderDetailMaster>
       _controllerAfter.pause();
       _controllerAfter.dispose();
     }
+    // SystemChrome.setPreferredOrientations([
+    //   DeviceOrientation.portraitUp,
+    // ]);
+    OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
     // provider.dispose();
     super.dispose();
   }
@@ -132,6 +137,13 @@ class OrderDetailMasterState extends State<OrderDetailMaster>
   @override
   Widget build(BuildContext context) {
     double width = MediaQuery.of(context).size.width;
+    double height = MediaQuery.of(context).size.height;
+    if(width < height){
+      // SystemChrome.setPreferredOrientations([
+      //   DeviceOrientation.portraitUp,
+      // ]);
+      OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
+    }
     return ChangeNotifierProvider<UserProvider>(
       create: (_) => provider,
       child: Scaffold(

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

@@ -18,6 +18,7 @@ import 'package:liftmanager/utils/utils.dart';
 import 'package:video_player/video_player.dart';
 import 'package:chewie/chewie.dart';
 import 'package:flutter/services.dart';
+import 'package:orientation/orientation.dart';
 
 class Punchin extends StatefulWidget {
   Punchin(this.id);
@@ -243,6 +244,10 @@ class PunchinState extends State<Punchin> {
     if (null != _locationPlugin) {
       _locationPlugin.destroy();
     }
+    // SystemChrome.setPreferredOrientations([
+    //   DeviceOrientation.portraitUp,
+    // ]);
+    OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
     super.dispose();
   }
   
@@ -250,7 +255,13 @@ class PunchinState extends State<Punchin> {
   @override
   Widget build(BuildContext context) {
     double width = MediaQuery.of(context).size.width;
-
+    double height = MediaQuery.of(context).size.height;
+    if(width < height){
+      // SystemChrome.setPreferredOrientations([
+      //   DeviceOrientation.portraitUp,
+      // ]);
+      OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
+    }
     return Scaffold(
       resizeToAvoidBottomPadding: false, //不让键盘弹上去
       appBar: MyAppBar(

+ 13 - 2
lib/internal/wode/page/video/video_detail.dart

@@ -23,6 +23,7 @@ import 'package:shared_preferences/shared_preferences.dart';
 import 'package:liftmanager/internal/wode/wode_router.dart';
 import 'package:liftmanager/utils/utils.dart';
 import 'package:flutter/services.dart';
+import 'package:orientation/orientation.dart';
 
 class VideoDetail extends StatefulWidget {
   VideoDetail(this.id);
@@ -69,6 +70,10 @@ class VideoDetailState extends State<VideoDetail> {
   void dispose() {
     _controller.pause();
     _controller.dispose();
+    // SystemChrome.setPreferredOrientations([
+    //   DeviceOrientation.portraitUp,
+    // ]);
+    OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
     super.dispose();
   }
 
@@ -76,7 +81,13 @@ class VideoDetailState extends State<VideoDetail> {
   @override
   Widget build(BuildContext context) {
     double width = MediaQuery.of(context).size.width;
-
+    double height = MediaQuery.of(context).size.height;
+    if(width < height){
+      // SystemChrome.setPreferredOrientations([
+      //   DeviceOrientation.portraitUp,
+      // ]);
+      OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
+    }
     return Scaffold(
       resizeToAvoidBottomPadding: false, //不让键盘弹上去
       appBar: MyAppBar(
@@ -121,7 +132,7 @@ class VideoDetailState extends State<VideoDetail> {
                                 autoPlay: false,
                                 looping: true,
                                 showControls: true,
-                                deviceOrientationsAfterFullScreen:[DeviceOrientation.portraitUp,],
+                                deviceOrientationsAfterFullScreen:[DeviceOrientation.portraitUp],
                                 // 占位图
                                 // placeholder: Image.network(
                                 //     imgFontUrl+detailObj.cover,

+ 4 - 3
lib/main.dart

@@ -19,14 +19,15 @@ import 'package:flutter_picker/flutter_picker.dart';
 import 'package:fake_push/fake_push.dart';
 import 'package:uni_links/uni_links.dart';
 import 'package:liftmanager/routers/fluro_navigator.dart';
+import 'package:orientation/orientation.dart';
 
 void main() {
   WidgetsFlutterBinding.ensureInitialized();
   FlutterBugly.postCatchedException(() async {
     // 强制竖屏
-    SystemChrome.setPreferredOrientations(
-        [DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]);
-
+    // SystemChrome.setPreferredOrientations(
+    //     [DeviceOrientation.portraitUp]);
+    OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
     FlutterBugly.init(androidAppId: "ae4e3d567d", iOSAppId: "4f09cdc82c");
     // 透明状态栏
     if (Platform.isAndroid) {

+ 1 - 0
lib/utils/url.dart

@@ -2,6 +2,7 @@
 
 const String imgFontUrl = "http://sellerAdminpp.udreamtech.com/files/ty/";
 // const String socketUrl = "ws://192.168.1.4:20226/ws";
+// const String socketUrl = "ws://192.168.1.111:8002/ws";
 const String socketUrl = "ws://111.47.6.224:8002/ws";
 const String jumpUrl = "http://lift.whlhcx.com";
 // const String socketUrl = "ws://221.234.44.30:8002/ws";

+ 2 - 0
pubspec.yaml

@@ -115,6 +115,8 @@ dependencies:
 
   uni_links: ^0.2.0
 
+  orientation: ^1.2.0
+
 dev_dependencies:
   flutter_test:
     sdk: flutter