Переглянути джерело

修改底部导航栏引用

zhanghongrui 3 тижнів тому
батько
коміт
cab1aa4473
50 змінених файлів з 2159 додано та 567 видалено
  1. 1 0
      OneBottomNavigationBar/.gitignore
  2. 38 0
      OneBottomNavigationBar/build.gradle
  3. 21 0
      OneBottomNavigationBar/proguard-rules.pro
  4. 26 0
      OneBottomNavigationBar/src/androidTest/java/cn/onestravel/bottomview/ExampleInstrumentedTest.kt
  5. 2 0
      OneBottomNavigationBar/src/main/AndroidManifest.xml
  6. 1184 0
      OneBottomNavigationBar/src/main/java/cn/onestravel/one/navigation/androidx/OneBottomNavigationBarX.kt
  7. 89 0
      OneBottomNavigationBar/src/main/java/cn/onestravel/one/navigation/utils/DensityUtils.kt
  8. 32 0
      OneBottomNavigationBar/src/main/java/cn/onestravel/one/navigation/utils/EventUtils.kt
  9. 10 0
      OneBottomNavigationBar/src/main/res/drawable/default_blue_tab_tint.xml
  10. 9 0
      OneBottomNavigationBar/src/main/res/drawable/rounded_corners.xml
  11. 22 0
      OneBottomNavigationBar/src/main/res/values/attrs.xml
  12. 2 0
      OneBottomNavigationBar/src/main/res/values/strings.xml
  13. 4 0
      OneBottomNavigationBar/src/main/res/values/styles.xml
  14. 17 0
      OneBottomNavigationBar/src/test/java/cn/onestravel/bottomview/ExampleUnitTest.kt
  15. 3 2
      app/build.gradle
  16. 44 50
      app/src/main/java/com/sjkj/appthreefloor_tsgz/activity/MainActivity.java
  17. 144 62
      app/src/main/java/com/sjkj/appthreefloor_tsgz/bean/EventCenterListBean.java
  18. 13 214
      app/src/main/java/com/sjkj/appthreefloor_tsgz/bean/LoginBean.java
  19. 22 0
      app/src/main/java/com/sjkj/appthreefloor_tsgz/bean/NoticeListBean.java
  20. 83 54
      app/src/main/java/com/sjkj/appthreefloor_tsgz/fragment/EventFragment.java
  21. 34 2
      app/src/main/java/com/sjkj/appthreefloor_tsgz/fragment/MainFragment.java
  22. 21 50
      app/src/main/java/com/sjkj/appthreefloor_tsgz/login/LoginActivity.java
  23. 5 5
      app/src/main/java/com/sjkj/appthreefloor_tsgz/net/EventListRequest.java
  24. 53 0
      app/src/main/java/com/sjkj/appthreefloor_tsgz/net/HomeNoticeListRequest.java
  25. 2 3
      app/src/main/java/com/sjkj/appthreefloor_tsgz/net/LoginRequest.java
  26. 10 4
      app/src/main/java/com/sjkj/appthreefloor_tsgz/net/RetrofitService.java
  27. BIN
      app/src/main/res/drawable-xxhdpi/icon_enent_select.png
  28. BIN
      app/src/main/res/drawable-xxhdpi/icon_event.png
  29. BIN
      app/src/main/res/drawable-xxhdpi/icon_home.png
  30. BIN
      app/src/main/res/drawable-xxhdpi/icon_home_select.png
  31. BIN
      app/src/main/res/drawable-xxhdpi/icon_me.png
  32. BIN
      app/src/main/res/drawable-xxhdpi/icon_me_select.png
  33. 7 0
      app/src/main/res/drawable/bar_event.xml
  34. 7 0
      app/src/main/res/drawable/bar_home.xml
  35. 7 0
      app/src/main/res/drawable/bar_me.xml
  36. 10 0
      app/src/main/res/drawable/bar_text_select.xml
  37. 6 1
      app/src/main/res/drawable/selector_navigation_tab_color.xml
  38. 49 23
      app/src/main/res/layout/activity_main.xml
  39. 3 2
      app/src/main/res/layout/fragment_event.xml
  40. 7 3
      app/src/main/res/layout/fragment_main.xml
  41. 96 88
      app/src/main/res/layout/item_event_list.xml
  42. 20 0
      app/src/main/res/menu/navigation_menu.xml
  43. 1 0
      base-lib/build.gradle
  44. 34 0
      base-lib/src/main/java/com/sjkj/base_lib/entity/ResponseListBean.java
  45. 1 0
      base-lib/src/main/java/com/sjkj/base_lib/net/utils/RequestInterceptor.java
  46. 1 1
      base-lib/src/main/java/com/sjkj/base_lib/utils/AppTools.java
  47. 1 1
      base-lib/src/main/java/com/sjkj/base_lib/view/BaseActivity.java
  48. 15 1
      base-lib/src/main/java/com/sjkj/base_lib/weight/LoadingDialog.java
  49. 1 0
      build.gradle
  50. 2 1
      settings.gradle

+ 1 - 0
OneBottomNavigationBar/.gitignore

@@ -0,0 +1 @@
+/build

+ 38 - 0
OneBottomNavigationBar/build.gradle

@@ -0,0 +1,38 @@
+apply plugin: 'com.android.library'
+apply plugin: 'kotlin-android'
+
+
+android {
+    compileSdkVersion 30
+
+    defaultConfig {
+        minSdkVersion 15
+
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+
+    }
+
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+        }
+    }
+    lintOptions {
+        abortOnError false
+    }
+
+}
+
+dependencies {
+    implementation fileTree(dir: 'libs', include: ['*.jar'])
+    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
+    implementation 'androidx.appcompat:appcompat:1.0.2'
+    testImplementation 'junit:junit:4.12'
+    androidTestImplementation 'androidx.test:runner:1.1.0'
+    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
+    implementation "androidx.core:core-ktx:1.5.0"
+    implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.5.30'
+}
+repositories {
+}

+ 21 - 0
OneBottomNavigationBar/proguard-rules.pro

@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile

+ 26 - 0
OneBottomNavigationBar/src/androidTest/java/cn/onestravel/bottomview/ExampleInstrumentedTest.kt

@@ -0,0 +1,26 @@
+package cn.onestravel.bottomview
+
+import android.content.Context
+import androidx.test.InstrumentationRegistry
+import androidx.test.runner.AndroidJUnit4
+
+import org.junit.Test
+import org.junit.runner.RunWith
+
+import org.junit.Assert.*
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * @see [Testing documentation](http://d.android.com/tools/testing)
+ */
+@RunWith(AndroidJUnit4::class)
+class ExampleInstrumentedTest {
+    @Test
+    fun useAppContext() {
+        // Context of the app under test.
+        val appContext = InstrumentationRegistry.getTargetContext()
+
+        assertEquals("cn.onestravel.bottomview2.test", appContext.packageName)
+    }
+}

+ 2 - 0
OneBottomNavigationBar/src/main/AndroidManifest.xml

@@ -0,0 +1,2 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="cn.onestravel.one.navigation" />

Різницю між файлами не показано, бо вона завелика
+ 1184 - 0
OneBottomNavigationBar/src/main/java/cn/onestravel/one/navigation/androidx/OneBottomNavigationBarX.kt


+ 89 - 0
OneBottomNavigationBar/src/main/java/cn/onestravel/one/navigation/utils/DensityUtils.kt

@@ -0,0 +1,89 @@
+package cn.onestravel.one.navigation.utils
+
+import android.content.Context
+import android.content.res.Resources
+
+/**
+ * @author onestravel
+ * @version 1.0.0
+ * @name DensityUtils
+ * @description //TODO
+ * @createTime 2019/1/22 11:11
+ */
+object DensityUtils {
+
+    /**
+     * dp转换为px
+     *
+     * @param context
+     * @param dpValue
+     * @return
+     */
+    fun dpToPx(context: Context, dpValue: Float): Int {//dp转换为px
+        val scale = context.resources.displayMetrics.density//获得当前屏幕密度
+        return (dpValue * scale + 0.5f).toInt()
+    }
+
+    /**
+     * px转换为dp
+     *
+     * @param context
+     * @param pxValue
+     * @return
+     */
+    fun pxToDp(context: Context, pxValue: Float): Int {//
+        val scale = context.resources.displayMetrics.density//获得当前屏幕密度
+        return (pxValue / scale + 0.5f).toInt()
+    }
+
+    /**
+     * dp转换为px
+     *
+     * @param resources
+     * @param dpValue
+     * @return
+     */
+    fun dpToPx(resources: Resources, dpValue: Float): Int {
+        val scale = resources.displayMetrics.density//获得当前屏幕密度
+        return (dpValue * scale + 0.5f).toInt()
+    }
+
+
+    /**
+     * px转换为dp
+     *
+     * @param resources
+     * @param pxValue
+     * @return
+     */
+    fun pxToDp(resources: Resources, pxValue: Float): Int {//
+        val scale = resources.displayMetrics.density//获得当前屏幕密度
+        return (pxValue / scale + 0.5f).toInt()
+    }
+
+
+    /**
+     * sp转换为px
+     *
+     * @param resources
+     * @param spValue
+     * @return
+     */
+    fun spToPx(resources: Resources, spValue: Float): Int {
+        val scale = resources.displayMetrics.scaledDensity//获得当前屏幕密度
+        return (spValue * scale + 0.5f).toInt()
+    }
+
+
+    /**
+     * px转换为sp
+     *
+     * @param resources
+     * @param pxValue
+     * @return
+     */
+    fun pxToSp(resources: Resources, pxValue: Float): Int {//
+        val scale = resources.displayMetrics.scaledDensity//获得当前屏幕密度
+        return (pxValue / scale + 0.5f).toInt()
+    }
+}

+ 32 - 0
OneBottomNavigationBar/src/main/java/cn/onestravel/one/navigation/utils/EventUtils.kt

@@ -0,0 +1,32 @@
+package cn.onestravel.one.navigation.utils
+
+import android.graphics.Rect
+import android.view.View
+
+/**
+ * @author onestravel
+ * @version 1.0.0
+ * @name EventUtils
+ * @description //TODO
+ * @createTime 2019/1/23 10:50
+ */
+object EventUtils {
+    /**
+     * 判断点击事件是否在view内
+     * @param view
+     * @param x
+     * @param y
+     * @return
+     */
+    fun isInViewZone(view: View, x: Double, y: Double): Boolean {
+        val mChangeImageBackgroundRect = Rect()
+        view.getDrawingRect(mChangeImageBackgroundRect)
+        val location = IntArray(2)
+        view.getLocationOnScreen(location)
+        mChangeImageBackgroundRect.left = location[0]
+        mChangeImageBackgroundRect.top = location[1]
+        mChangeImageBackgroundRect.right = mChangeImageBackgroundRect.right + location[0]
+        mChangeImageBackgroundRect.bottom = mChangeImageBackgroundRect.bottom + location[1]
+        return mChangeImageBackgroundRect.contains(x.toInt(), y.toInt())
+    }
+}

+ 10 - 0
OneBottomNavigationBar/src/main/res/drawable/default_blue_tab_tint.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:color="#4185e6" android:state_focused="true" />
+    <item android:color="#4185e6" android:state_pressed="true" />
+    <item android:color="#4185e6" android:state_selected="true" />
+    <item android:color="#4185e6" android:state_checked="true" />
+    <item android:color="#ccd5de" />
+
+</selector>

+ 9 - 0
OneBottomNavigationBar/src/main/res/drawable/rounded_corners.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#FFFFFF"/> <!-- 背景颜色 -->
+    <corners
+        android:topLeftRadius="20dp"
+        android:topRightRadius="20dp"
+        android:bottomLeftRadius="0dp"
+        android:bottomRightRadius="0dp"/>
+</shape>

+ 22 - 0
OneBottomNavigationBar/src/main/res/values/attrs.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <attr name="icon" format="reference"></attr>
+    <attr name="title" format="string"></attr>
+    <attr name="floating" format="boolean"></attr>
+    <attr name="showFragment" format="boolean"></attr>
+    <declare-styleable name="One_StyleBottomLayout">
+        <attr name="oneItemPadding" format="dimension"></attr>
+        <attr name="oneItemIconTint" format="color|reference"></attr>
+        <attr name="oneItemIconWidth" format="dimension"></attr>
+        <attr name="oneItemIconHeight" format="dimension"></attr>
+        <attr name="oneItemTextColor" format="color|reference"></attr>
+        <attr name="oneItemTopLineColor" format="color|reference"></attr>
+        <attr name="oneItemTextSize" format="dimension"></attr>
+        <attr name="oneItemTextTopMargin" format="dimension"></attr>
+        <attr name="oneFloatingEnable" format="boolean"></attr>
+        <attr name="oneFloatingPadding" format="dimension"></attr>
+        <attr name="oneFloatingUp" format="dimension"></attr>
+        <attr name="oneMenu" format="reference"></attr>
+    </declare-styleable>
+
+</resources>

+ 2 - 0
OneBottomNavigationBar/src/main/res/values/strings.xml

@@ -0,0 +1,2 @@
+<resources>
+</resources>

+ 4 - 0
OneBottomNavigationBar/src/main/res/values/styles.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+</resources>

+ 17 - 0
OneBottomNavigationBar/src/test/java/cn/onestravel/bottomview/ExampleUnitTest.kt

@@ -0,0 +1,17 @@
+package cn.onestravel.bottomview
+
+import org.junit.Test
+
+import org.junit.Assert.*
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see [Testing documentation](http://d.android.com/tools/testing)
+ */
+class ExampleUnitTest {
+    @Test
+    fun addition_isCorrect() {
+        assertEquals(4, (2 + 2).toLong())
+    }
+}

+ 3 - 2
app/build.gradle

@@ -61,6 +61,7 @@ dependencies {
     implementation rootProject.ext.dependencies["design"]
     implementation project(':base-lib')
     implementation project(':meantest')
+    implementation project(':OneBottomNavigationBar')
     implementation(fileTree("libs"))
     implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
     implementation 'androidx.navigation:navigation-fragment:2.3.5'
@@ -74,8 +75,8 @@ dependencies {
     implementation 'com.readystatesoftware.systembartint:systembartint:1.0.3'
     // 基础依赖包,必须要依赖
     implementation 'com.geyifeng.immersionbar:immersionbar:3.2.2'
-//    implementation 'com.github.AnJiaoDe:StatusNavigationTransparent:V1.2.4'
-//    implementation 'com.readystatesoftware.systembartint:systembartint:1.0.3'
+    implementation "androidx.core:core-ktx:1.5.0"
+    implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.5.30'
 
 
 }

+ 44 - 50
app/src/main/java/com/sjkj/appthreefloor_tsgz/activity/MainActivity.java

@@ -5,24 +5,12 @@ import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
 import android.util.SparseIntArray;
-import android.util.TypedValue;
-import android.view.Gravity;
 import android.view.KeyEvent;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
 import android.widget.Toast;
 
-import androidx.annotation.NonNull;
 import androidx.fragment.app.Fragment;
 import androidx.lifecycle.ViewModelProvider;
-import androidx.viewpager.widget.ViewPager;
 
-import com.google.android.material.bottomnavigation.BottomNavigationView;
-import com.scwang.smartrefresh.layout.util.DensityUtil;
 import com.sjkj.appthreefloor_tsgz.BuildConfig;
 import com.sjkj.appthreefloor_tsgz.R;
 import com.sjkj.appthreefloor_tsgz.activity.viewModel.MainViewModel;
@@ -31,13 +19,11 @@ import com.sjkj.appthreefloor_tsgz.databinding.ActivityMainBinding;
 import com.sjkj.appthreefloor_tsgz.fragment.EventFragment;
 import com.sjkj.appthreefloor_tsgz.fragment.MainFragment;
 import com.sjkj.appthreefloor_tsgz.fragment.MineFragment;
-import com.sjkj.appthreefloor_tsgz.utils.NavigationDateUtils;
 import com.sjkj.appthreefloor_tsgz.utils.VersionUtils;
 import com.sjkj.base_lib.app.AppManager;
 import com.sjkj.base_lib.utils.ToastUtils;
 import com.sjkj.base_lib.view.BaseActivity;
 
-import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -72,12 +58,17 @@ public class MainActivity extends BaseActivity {
         binding.setViewModel(viewModel);
         binding.setLifecycleOwner(this);
     }
+
     @Override
     public void initView() {
         super.initView();
         fragmentArrayList.add(eventFragment);
         fragmentArrayList.add(mainFragment);
         fragmentArrayList.add(mineFragment);
+//        binding.oneBottomLayout.setFragmentManager(getSupportFragmentManager(), binding.viewPager);
+//        binding.oneBottomLayout.addFragment(R.id.tab1, eventFragment);
+//        binding.oneBottomLayout.addFragment(R.id.tab2, mainFragment);
+//        binding.oneBottomLayout.addFragment(R.id.tab3, mineFragment);
         pagerAdapter = new ViewPagerAdapter(MainActivity.this.getSupportFragmentManager(), fragmentArrayList);
         binding.viewPager.setAdapter(pagerAdapter);
         binding.viewPager.setCurrentItem(1);
@@ -86,44 +77,47 @@ public class MainActivity extends BaseActivity {
 //        binding.mNavigation.enableShiftingMode(false);
 //        binding.mNavigation.enableItemShiftingMode(false);
 //        binding.mNavigation.setTextVisibility(true);
-        binding.mNavigation.setData(NavigationDateUtils.createDefaultData());
-        binding.mNavigation.setSelectPosition(1);
-        binding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
-            @Override
-            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
-
-            }
-
-            @Override
-            public void onPageSelected(int position) {
-                //binding.mNavigation.setCurrentItem(position);
-                //binding.mNavigation.getMenu().getItem(position).setChecked(true);
-                binding.mNavigation.setSelectPosition(position);
-            }
+        binding.oneBottomLayout.setItemColorStateList(R.drawable.selector_navigation_tab_color);
+        binding.oneBottomLayout.attachViewPager(getSupportFragmentManager(), binding.viewPager, fragmentArrayList);
 
-            @Override
-            public void onPageScrollStateChanged(int state) {
-
-            }
-        });
+//        binding.mNavigation.setData(NavigationDateUtils.createDefaultData());
+//        binding.mNavigation.setSelectPosition(1);
+//        binding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
+//            @Override
+//            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+//
+//            }
+//
+//            @Override
+//            public void onPageSelected(int position) {
+//                //binding.mNavigation.setCurrentItem(position);
+//                //binding.mNavigation.getMenu().getItem(position).setChecked(true);
+//                //binding.mNavigation.setSelectPosition(position);
+//            }
+//
+//            @Override
+//            public void onPageScrollStateChanged(int state) {
+//
+//            }
+//        });
         //设置监听
-        binding.mNavigation.setOnMyItemClickListener((view, position) -> {
-            switch (position) {
-                case 0:
-                    binding.mNavigation.setSelectPosition(0);
-                    binding.viewPager.setCurrentItem(0);
-                    break;
-                case 1:
-                    binding.mNavigation.setSelectPosition(1);
-                    binding.viewPager.setCurrentItem(1);
-                    break;
-                case 2:
-                    binding.mNavigation.setSelectPosition(2);
-                    binding.viewPager.setCurrentItem(2);
-                    break;
-
-            }
-        });
+//        binding.mNavigation.setOnMyItemClickListener((view, position) -> {
+//            switch (position) {
+//                case 0:
+//                    binding.mNavigation.setSelectPosition(0);
+//                    binding.viewPager.setCurrentItem(0);
+//                    break;
+//                case 1:
+//                    binding.mNavigation.setSelectPosition(1);
+//                    binding.viewPager.setCurrentItem(1);
+//                    break;
+//                case 2:
+//                    binding.mNavigation.setSelectPosition(2);
+//                    binding.viewPager.setCurrentItem(2);
+//                    break;
+//
+//            }
+//        });
 //        binding.mNavigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
 //
 //            @Override

+ 144 - 62
app/src/main/java/com/sjkj/appthreefloor_tsgz/bean/EventCenterListBean.java

@@ -1,87 +1,169 @@
 package com.sjkj.appthreefloor_tsgz.bean;
 
-public class EventCenterListBean {
+import java.util.List;
 
-/*
-            "createTime": "2022-08-30 16:43:47",
-            "eventName": "1",
-            "eventType": "3",
-            "id": "8e2523091a084a9ba0c82981cd0363d4",
-            "isUrged": "否",
-            "reportSource": "PC",
-            "reportTime": "2022-08-30 14:59:41"*/
-     private String createTime;
-     private String eventName;
-     private String eventType;
-     private String id;
-     private String isUrged;
-     private String eventCode;
-
-    public String getEventCode() {
-        return eventCode;
+public class EventCenterListBean {
+    public List<EventCenterList> getRows() {
+        return rows;
     }
 
-    public void setEventCode(String eventCode) {
-        this.eventCode = eventCode;
+    public void setRows(List<EventCenterList> rows) {
+        this.rows = rows;
     }
 
-    public String getCreateTime() {
-        return createTime;
-    }
+    private List<EventCenterList> rows;
 
-    public void setCreateTime(String createTime) {
-        this.createTime = createTime;
-    }
 
-    public String getEventName() {
-        return eventName;
-    }
+    public class EventCenterList {
+        private String id;
+        private String eventJson;
 
-    public void setEventName(String eventName) {
-        this.eventName = eventName;
-    }
+        public String getId() {
+            return id;
+        }
 
-    public String getEventType() {
-        return eventType;
-    }
+        public void setId(String id) {
+            this.id = id;
+        }
 
-    public void setEventType(String eventType) {
-        this.eventType = eventType;
-    }
+        public String getEventJson() {
+            return eventJson;
+        }
 
-    public String getId() {
-        return id;
+        public void setEventJson(String eventJson) {
+            this.eventJson = eventJson;
+        }
     }
 
-    public void setId(String id) {
-        this.id = id;
-    }
+    public class EventCenter {
+        private String id;
+        private String remark;
 
-    public String getIsUrged() {
-        return isUrged;
-    }
+        public String getId() {
+            return id;
+        }
 
-    public void setIsUrged(String isUrged) {
-        this.isUrged = isUrged;
-    }
+        public void setId(String id) {
+            this.id = id;
+        }
 
-    public String getReportSource() {
-        return reportSource;
-    }
+        public String getRemark() {
+            return remark;
+        }
 
-    public void setReportSource(String reportSource) {
-        this.reportSource = reportSource;
-    }
+        public void setRemark(String remark) {
+            this.remark = remark;
+        }
 
-    public String getReportTime() {
-        return reportTime;
-    }
+        public String getStatus() {
+            return status;
+        }
+
+        public void setStatus(String status) {
+            this.status = status;
+        }
+
+        public String getCreateBy() {
+            return createBy;
+        }
+
+        public void setCreateBy(String createBy) {
+            this.createBy = createBy;
+        }
+
+        public String getAddress() {
+            return address;
+        }
+
+        public void setAddress(String address) {
+            this.address = address;
+        }
+
+        public String getLatitude() {
+            return latitude;
+        }
+
+        public void setLatitude(String latitude) {
+            this.latitude = latitude;
+        }
+
+        public String getEventName() {
+            return eventName;
+        }
+
+        public void setEventName(String eventName) {
+            this.eventName = eventName;
+        }
+
+        public String getEventType() {
+            return eventType;
+        }
+
+        public void setEventType(String eventType) {
+            this.eventType = eventType;
+        }
+
+        public String getLongitude() {
+            return longitude;
+        }
+
+        public void setLongitude(String longitude) {
+            this.longitude = longitude;
+        }
+
+        public String getCreateName() {
+            return createName;
+        }
+
+        public void setCreateName(String createName) {
+            this.createName = createName;
+        }
+
+        public String getCreateTime() {
+            return createTime;
+        }
+
+        public void setCreateTime(String createTime) {
+            this.createTime = createTime;
+        }
+
+        public String getReportTime() {
+            return reportTime;
+        }
+
+        public void setReportTime(String reportTime) {
+            this.reportTime = reportTime;
+        }
+
+        public String getEventSource() {
+            return eventSource;
+        }
+
+        public void setEventSource(String eventSource) {
+            this.eventSource = eventSource;
+        }
+
+        public String getEventTypeName() {
+            return eventTypeName;
+        }
+
+        public void setEventTypeName(String eventTypeName) {
+            this.eventTypeName = eventTypeName;
+        }
 
-    public void setReportTime(String reportTime) {
-        this.reportTime = reportTime;
+        private String status;
+        private String createBy;
+        private String address;
+        private String latitude;
+        private String eventName;
+        private String eventType;
+        private String longitude;
+        private String createName;
+        private String createTime;
+        private String reportTime;
+        private String eventSource;
+        private String eventTypeName;
     }
 
-    private String reportSource;
-     private String reportTime;
 
 }

+ 13 - 214
app/src/main/java/com/sjkj/appthreefloor_tsgz/bean/LoginBean.java

@@ -4,225 +4,24 @@ import java.util.List;
 
 public class LoginBean {
 
-    /**
-     * accessToken : eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VyX2tleSI6IjY1MzcyYzA3LTM5MTUtNDVkMi1iZDcxLTZmNGYwMGM5ZDMxNiIsInVzZXJuYW1lIjoiYWRtaW4ifQ.xcEM1l___5sj8Me1OZNgHFZratjdJlRIp7RrflngGZ2U4Dszpgg3fNy00i8WNs6nwb4S9AFX8oopOVekiDi7dA
-     * userinfo : {"userid":"1","username":"admin","sysUser":{"userId":"1","admin":"true","deptId":"103","deptNames":"研发部门"}}
-     */
 
-    private String accessToken;
-    /**
-     * 过期字段标识
-     */
-    private boolean updatePwd;
-    /**
-     * userid : 1
-     * username : admin
-     * sysUser : {"userId":"1","admin":"true","deptId":"103","deptNames":"研发部门"}
-     */
 
-    private UserinfoBean userinfo;
+    private String token;
+    //private String username;
 
-    public boolean isUpdatePwd() {
-        return updatePwd;
+    public String getToken() {
+        return token;
     }
 
-    public void setUpdatePwd(boolean updatePwd) {
-        this.updatePwd = updatePwd;
+    public void setToken(String token) {
+        this.token = token;
     }
 
-    public String getAccessToken() {
-        return accessToken;
-    }
-
-    public void setAccessToken(String accessToken) {
-        this.accessToken = accessToken;
-    }
-
-    public UserinfoBean getUserinfo() {
-        return userinfo;
-    }
-
-    public void setUserinfo(UserinfoBean userinfo) {
-        this.userinfo = userinfo;
-    }
-
-    public static class UserinfoBean {
-        private String userid;
-        private String username;
-
-        /**
-         * userId : 1
-         * admin : true
-         * deptId : 103
-         * deptNames : 研发部门
-         */
-
-        private SysUserBean sysUser;
-
-        private List<SystemMenuBean> userappList;
-
-        public List<SystemMenuBean> getUserappList() {
-            return userappList;
-        }
-
-        public void setUserappList(List<SystemMenuBean> userappList) {
-            this.userappList = userappList;
-        }
-
-        public String getUserid() {
-            return userid;
-        }
-
-        public void setUserid(String userid) {
-            this.userid = userid;
-        }
-
-        public String getUsername() {
-            return username;
-        }
-
-        public void setUsername(String username) {
-            this.username = username;
-        }
-
-        public SysUserBean getSysUser() {
-            return sysUser;
-        }
-
-        public void setSysUser(SysUserBean sysUser) {
-            this.sysUser = sysUser;
-        }
-
-        public static class SysUserBean {
-            private String userId;
-            private String admin;
-            private String deptId;
-            private String deptNames;
-            private String nickName;
-            private String isWangGe;
-
-            public String getIsWangGe() {
-                return isWangGe;
-            }
-
-            public void setIsWangGe(String isWangGe) {
-                this.isWangGe = isWangGe;
-            }
-
-            public String getNickName() {
-                return nickName;
-            }
-
-            public void setNickName(String nickName) {
-                this.nickName = nickName;
-            }
-
-            public String getUserId() {
-                return userId;
-            }
-
-            public void setUserId(String userId) {
-                this.userId = userId;
-            }
-
-            public String getAdmin() {
-                return admin;
-            }
-
-            public void setAdmin(String admin) {
-                this.admin = admin;
-            }
-
-            public String getDeptId() {
-                return deptId;
-            }
-
-            public void setDeptId(String deptId) {
-                this.deptId = deptId;
-            }
-
-            public String getDeptNames() {
-                return deptNames;
-            }
-
-            public void setDeptNames(String deptNames) {
-                this.deptNames = deptNames;
-            }
-        }
-    }
-    public static class Dept{
-        private String deptId;
-        private String parentId;
-        private String deptName;
-
-        public String getDeptId() {
-            return deptId;
-        }
-
-        public void setDeptId(String deptId) {
-            this.deptId = deptId;
-        }
-
-        public String getParentId() {
-            return parentId;
-        }
-
-        public void setParentId(String parentId) {
-            this.parentId = parentId;
-        }
-
-        public String getDeptName() {
-            return deptName;
-        }
-
-        public void setDeptName(String deptName) {
-            this.deptName = deptName;
-        }
-    }
-    private List<Dept> deptList;
-
-    public List<Dept> getDeptList() {
-        return deptList;
-    }
-
-    public void setDeptList(List<Dept> deptList) {
-        this.deptList = deptList;
-    }
-
-    public static class SystemMenuBean{
-
-        /**
-         * menuId : 3
-         * menuName : 应急预案
-         * icon : 3
-         */
-
-        private long menuId;
-        private String menuName;
-        private String icon;
-
-        public long getMenuId() {
-            return menuId;
-        }
-
-        public void setMenuId(long menuId) {
-            this.menuId = menuId;
-        }
-
-        public String getMenuName() {
-            return menuName;
-        }
-
-        public void setMenuName(String menuName) {
-            this.menuName = menuName;
-        }
-
-        public String getIcon() {
-            return icon;
-        }
-
-        public void setIcon(String icon) {
-            this.icon = icon;
-        }
-    }
+//    public String getUsername() {
+//        return username;
+//    }
+//
+//    public void setUsername(String username) {
+//        this.username = username;
+//    }
 }

+ 22 - 0
app/src/main/java/com/sjkj/appthreefloor_tsgz/bean/NoticeListBean.java

@@ -0,0 +1,22 @@
+package com.sjkj.appthreefloor_tsgz.bean;
+
+public class NoticeListBean {
+   private String noticeContent;
+   private String noticeTitle;
+
+    public String getNoticeContent() {
+        return noticeContent;
+    }
+
+    public void setNoticeContent(String noticeContent) {
+        this.noticeContent = noticeContent;
+    }
+
+    public String getNoticeTitle() {
+        return noticeTitle;
+    }
+
+    public void setNoticeTitle(String noticeTitle) {
+        this.noticeTitle = noticeTitle;
+    }
+}

+ 83 - 54
app/src/main/java/com/sjkj/appthreefloor_tsgz/fragment/EventFragment.java

@@ -13,6 +13,8 @@ import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.WindowManager;
+import android.widget.FrameLayout;
+import android.widget.LinearLayout;
 import android.widget.Toast;
 
 import androidx.annotation.NonNull;
@@ -22,6 +24,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.google.android.material.tabs.TabLayout;
+import com.google.gson.Gson;
 import com.gyf.immersionbar.ImmersionBar;
 import com.scwang.smartrefresh.layout.SmartRefreshLayout;
 import com.scwang.smartrefresh.layout.api.DefaultRefreshFooterCreator;
@@ -56,7 +59,7 @@ public class EventFragment extends BaseFragment /*implements View.OnClickListene
     private FragmentEventBinding binding;
     private EventFargmentViewModel viewModel;
     private String[] eventStatusNames = new String[]{"待签收", "处理中", "已完成", "归档"};
-    private String[] eventStatusValues = new String[]{"forest_event_status_7", "forest_event_status_2", "forest_event_status_5", "forest_event_status_6"};
+    private String[] eventStatusValues = new String[]{"20", "30", "40", "50"};
     private int currentPage = 1;
     private EventCenterAdapter adapter;
     public EventListRequest eventListRequest = new EventListRequest(App.getInstance());
@@ -134,6 +137,31 @@ public class EventFragment extends BaseFragment /*implements View.OnClickListene
         });
         // binding.recyclerView.addItemDecoration(new DividerItem(getActivity()));
 
+        binding.recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
+            @Override
+            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
+                super.onScrolled(recyclerView, dx, dy);
+                if (!recyclerView.canScrollVertically(1)) { // 检查是否可以垂直向下滚动更多内容
+                    // 执行相关操作,例如加载更多数据等
+                    //binding.emptyView.setVisibility(View.VISIBLE);
+                    // 动态设置边距
+                    ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) binding.recyclerView.getLayoutParams(); // 创建MarginLayoutParams对象
+                    params.setMargins(0, 0, 0, 240); // 设置左、上、右、下的margin值
+
+                    binding.recyclerView.setLayoutParams(params);
+
+                    FrameLayout.LayoutParams frameParams = (FrameLayout.LayoutParams) binding.ivAdd.getLayoutParams();
+                 // 设置margin
+                    frameParams.leftMargin = 0; // 左边距
+                    frameParams.topMargin = 0; // 上边距
+                    frameParams.rightMargin = 45; // 右边距
+                    frameParams.bottomMargin = 240; // 下边距
+
+                    binding.ivAdd.setLayoutParams(frameParams);
+                }
+            }
+        });
+
     }
 
 
@@ -149,16 +177,16 @@ public class EventFragment extends BaseFragment /*implements View.OnClickListene
         Params params = new Params();
         params.put("pageSize", Constants.ITEM_NUMBERS);
         params.put("pageNum", currentPage);
-        params.put("eventStatusValue", viewModel.eventStatusValue.get());
-        params.put("eventType", viewModel.eventTypeValue.get());
-        params.put("satrtTime", viewModel.satrtTime.get());
-        params.put("endTime", viewModel.endTime.get());
-        params.put("pid", viewModel.parentId.get());
+        params.put("reasonable", false);
+        params.put("status", viewModel.eventStatusValue.get());
+//        params.put("eventType", viewModel.eventTypeValue.get());
+//        params.put("satrtTime", viewModel.satrtTime.get());
+//        params.put("endTime", viewModel.endTime.get());
         if (!TextUtils.isEmpty(viewModel.keyword.get())) {
             params.put("eventName", viewModel.keyword.get());
         }
         eventListRequest.setParams(params);
-        eventListRequest.execute(new ProcessErrorSubscriber<List<EventCenterListBean>>() {
+        eventListRequest.execute(new ProcessErrorSubscriber<EventCenterListBean>() {
             @Override
             public void onError(Throwable e) {
                 super.onError(e);
@@ -167,34 +195,33 @@ public class EventFragment extends BaseFragment /*implements View.OnClickListene
             }
 
             @Override
-            public void onNext(List<EventCenterListBean> bean) {
+            public void onNext(EventCenterListBean bean) {
                 super.onNext(bean);
                 finishRefreshOrLoadMore(binding.smartRefreshLayout);
 
                 eventItemList.clear();
 
-                if (bean != null && bean.size() > 0) {
-                    for (int i = 0; i < bean.size(); i++) {
-                        String id = bean.get(i).getId();
-                        String title = bean.get(i).getEventName();
-                        String content = bean.get(i).getReportTime();
-                        String time = bean.get(i).getReportTime();
-                        String type = bean.get(i).getEventType();
-                        String eventSource = bean.get(i).getReportSource();
-                        String eventCode = bean.get(i).getEventCode();
-                        String isUrged = "";
-//                        if (viewModel.eventStatusValue.get().equals("forest_event_status_5") || viewModel.eventStatusValue.get().equals("forest_event_status_6")) {
-//                            isUrged = "否";
-//                        } else {
-//                            isUrged = bean.get(i).getIsUrged();
-//                        }
-
-
-                        EventBean eventBean = new EventBean(id, title, content, time, type, "", isUrged, "", "", eventCode, eventSource);
+                if (bean != null && bean.getRows().size() > 0) {
+                    Gson gson = new Gson();
+
+                    for (int i = 0; i < bean.getRows().size(); i++) {
+                        EventCenterListBean.EventCenter eventCenter = gson.fromJson(bean.getRows().get(i).getEventJson(), EventCenterListBean.EventCenter.class);
+                        String id = eventCenter.getId();
+                        String title = eventCenter.getEventName();
+                        String content = eventCenter.getRemark();
+                        String time = eventCenter.getCreateTime();
+                        String type = eventCenter.getEventType();
+                        String eventSource = eventCenter.getEventSource();
+                        String eventCode = eventCenter.getId();
+
+
+                        EventBean eventBean = new EventBean(id, title, content, time, type, "", "", "", "", eventCode, eventSource);
                         eventItemList.add(eventBean);
+
                     }
 
-                } /*else {
+                }
+                /*else {
                    ToastUtils.show("暂无数据");
                 }*/
                 adapter.refreshList(eventItemList);
@@ -208,16 +235,16 @@ public class EventFragment extends BaseFragment /*implements View.OnClickListene
         Params params = new Params();
         params.put("pageSize", Constants.ITEM_NUMBERS);
         params.put("pageNum", currentPage + 1);
-        params.put("eventStatusValue", viewModel.eventStatusValue.get());
-        params.put("eventType", viewModel.eventTypeValue.get());
-        params.put("satrtTime", viewModel.satrtTime.get());
-        params.put("endTime", viewModel.endTime.get());
-        params.put("pid", viewModel.parentId.get());
+        params.put("reasonable", false);
+        params.put("status", viewModel.eventStatusValue.get());
+        //   params.put("eventType", viewModel.eventTypeValue.get());
+//        params.put("satrtTime", viewModel.satrtTime.get());
+//        params.put("endTime", viewModel.endTime.get());
         if (!TextUtils.isEmpty(viewModel.keyword.get())) {
             params.put("eventName", viewModel.keyword.get());
         }
         eventListRequest.setParams(params);
-        eventListRequest.execute(new ProcessErrorSubscriber<List<EventCenterListBean>>() {
+        eventListRequest.execute(new ProcessErrorSubscriber<EventCenterListBean>() {
             @Override
             public void onError(Throwable e) {
                 super.onError(e);
@@ -226,35 +253,37 @@ public class EventFragment extends BaseFragment /*implements View.OnClickListene
             }
 
             @Override
-            public void onNext(List<EventCenterListBean> bean) {
+            public void onNext(EventCenterListBean bean) {
                 super.onNext(bean);
                 finishRefreshOrLoadMore(binding.smartRefreshLayout);
                 hideLoadingDialog(LoadingDialog.LOADING_SUCCESS);
                 if (bean != null) {
                     //  if (AppTools.ceil(bean.getTotal()) > currentPage) {
-                    if (bean != null && bean.size() > 0) {
-                        currentPage = currentPage + 1;
-                        for (int i = 0; i < bean.size(); i++) {
-                            String id = bean.get(i).getId();
-                            String title = bean.get(i).getEventName();
-                            String content = bean.get(i).getReportTime();
-                            String time = bean.get(i).getReportTime();
-                            String type = bean.get(i).getEventType();
-                            String eventSource = bean.get(i).getReportSource();
-                            String eventCode = bean.get(i).getEventCode();
-                            String isUrged = "";
-                            if (viewModel.eventStatusValue.get().equals("forest_event_status_5") || viewModel.eventStatusValue.get().equals("forest_event_status_6")) {
-                                isUrged = "否";
-                            } else {
-                                isUrged = bean.get(i).getIsUrged();
-                            }
-                            EventBean eventBean = new EventBean(id, title, content, time, type, "", isUrged, "", "", eventCode, eventSource);
+
+                    if (bean != null && bean.getRows().size() > 0) {
+                        Gson gson = new Gson();
+
+                        for (int i = 0; i < bean.getRows().size(); i++) {
+                            EventCenterListBean.EventCenter eventCenter = gson.fromJson(bean.getRows().get(i).getEventJson(), EventCenterListBean.EventCenter.class);
+                            String id = eventCenter.getId();
+                            String title = eventCenter.getEventName();
+                            String content = eventCenter.getRemark();
+                            String time = eventCenter.getCreateTime();
+                            String type = eventCenter.getEventType();
+                            String eventSource = eventCenter.getEventSource();
+                            String eventCode = eventCenter.getId();
+
+
+                            EventBean eventBean = new EventBean(id, title, content, time, type, "", "", "", "", eventCode, eventSource);
                             eventItemList.add(eventBean);
+
                         }
-                        adapter.refreshList(eventItemList);
+
                     }
+                    adapter.refreshList(eventItemList);
+
                 }
-                // }
+
 
             }
         });
@@ -364,7 +393,7 @@ public class EventFragment extends BaseFragment /*implements View.OnClickListene
 //        viewModel.eventStatusValue.set(eventStatusValues[0]);
         viewModel.satrtTime.set("2011-05-26");
         viewModel.endTime.set("2026-05-26");
-        viewModel.eventStatusValue.set("forest_event_status_7");
+        viewModel.eventStatusValue.set("20");
         requestListRefresh();
     }
 

+ 34 - 2
app/src/main/java/com/sjkj/appthreefloor_tsgz/fragment/MainFragment.java

@@ -24,8 +24,11 @@ import com.sjkj.appthreefloor_tsgz.activity.MyVideoPlayerActivity;
 import com.sjkj.appthreefloor_tsgz.activity.WaterCraneResourcesActivity;
 import com.sjkj.appthreefloor_tsgz.app.App;
 import com.sjkj.appthreefloor_tsgz.bean.BannerDataBean;
+import com.sjkj.appthreefloor_tsgz.bean.EventCenterListBean;
+import com.sjkj.appthreefloor_tsgz.bean.NoticeListBean;
 import com.sjkj.appthreefloor_tsgz.databinding.FragmentMainBinding;
 import com.sjkj.appthreefloor_tsgz.net.BannerRequest;
+import com.sjkj.appthreefloor_tsgz.net.HomeNoticeListRequest;
 import com.sjkj.appthreefloor_tsgz.utils.StatusBarUtil;
 import com.sjkj.base_lib.entity.Params;
 import com.sjkj.base_lib.net.domain.interactor.ProcessErrorSubscriber;
@@ -44,6 +47,8 @@ public class MainFragment extends BaseFragment {
     private FragmentMainBinding binding;
     private MainViewModel viewModel;
     private BannerRequest bannerRequest = new BannerRequest(App.getInstance());
+    private HomeNoticeListRequest homeNoticeListRequest = new HomeNoticeListRequest(App.getInstance());
+
     private List<String> banners;
 
     @Override
@@ -121,6 +126,7 @@ public class MainFragment extends BaseFragment {
 
     @Override
     public void loadData() {
+        getNoticelist();
         bannerRequest.setParams(new Params());
         bannerRequest.execute(new ProcessErrorSubscriber<BannerDataBean>() {
             @Override
@@ -145,8 +151,7 @@ public class MainFragment extends BaseFragment {
                             imgs.add("https://photo.tuchong.com/46728/f/20138526.jpg");
                             imgs.add("https://photo.tuchong.com/392724/f/16858773.jpg");
                             imgs.add("https://photo.tuchong.com/408963/f/18401047.jpg");
-                            /*
-                             *  */
+
                             binding.banner.setAdapter(new BannerImageAdapter<String>(imgs) {
                                 @Override
                                 public void onBindView(BannerImageHolder holder, String data, int position, int size) {
@@ -170,6 +175,33 @@ public class MainFragment extends BaseFragment {
             }
         });
     }
+
+    private void getNoticelist() {
+        homeNoticeListRequest.setParams(new Params());
+        homeNoticeListRequest.execute(new ProcessErrorSubscriber<List<NoticeListBean>>() {
+
+            @Override
+            public void onError(Throwable e) {
+                super.onError(e);
+            }
+
+            @Override
+            public void onNext(List<NoticeListBean> noticelist) {
+                super.onNext(noticelist);
+                if (noticelist != null && noticelist.size() > 0) {
+                    for (int i = 0; i < noticelist.size(); i++) {
+                        if (i == 0) {
+                            binding.tvOne.setText(noticelist.get(i).getNoticeTitle());
+                        } else if (i == 1) {
+                            binding.tvTwo.setText(noticelist.get(i).getNoticeTitle());
+                        }
+                    }
+                }
+
+            }
+        });
+
+    }
 }
 
 

+ 21 - 50
app/src/main/java/com/sjkj/appthreefloor_tsgz/login/LoginActivity.java

@@ -3,6 +3,7 @@ package com.sjkj.appthreefloor_tsgz.login;
 import android.content.Intent;
 import android.os.Handler;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.View;
 
 import androidx.lifecycle.ViewModelProvider;
@@ -93,7 +94,8 @@ public class LoginActivity extends BaseLoginActivity {
                     ToastUtils.show("密码不能为空");
                     return;
                 }
-                getLoginKey();
+                //getLoginKey();
+                login();
             }
         });
 //        binding.forgetPwdTv.setOnClickListener(new View.OnClickListener() {
@@ -152,18 +154,23 @@ public class LoginActivity extends BaseLoginActivity {
 //            return;
 //        }
         Params params = new Params();
-        params.put("loginType", "mobile");
+        // params.put("loginType", "mobile");
         params.put("username", viewModel.username.get());
-        params.put("password", viewModel.password2.get());
-        params.put("code", "5521");
-        params.put("sessionId", viewModel.sessionId.get());
+        params.put("password", viewModel.password.get());
+        //params.put("code", "5521");
+        //params.put("sessionId", viewModel.sessionId.get());
         //params.put("deviceid", PushUtils.getRegistrationId());
         loginRequest.setParams(params);
-        loginRequest.execute(new ProcessErrorSubscriber<LoginBean>() {
+        loginRequest.execute(new ProcessErrorSubscriber<Object>() {
             @Override
             public void onError(Throwable e) {
                 super.onError(e);
                 hideLoadingDialog(LoadingDialog.LOADING_FAILED);
+                Log.d("zhr111",e.getMessage());
+                Intent intent = new Intent(AppManager.getAppManager().currentActivity(), MainActivity.class);
+                AppManager.getAppManager().currentActivity().startActivity(intent);
+                hideLoadingDialog(LoadingDialog.LOADING_SUCCESS);
+                finish();
                 if (!TextUtils.isEmpty(e.getMessage()) && e.getMessage().contains("connect")) {
                     ToastUtils.show("连接服务器失败,检查网络连接。");
                 } else {
@@ -172,56 +179,20 @@ public class LoginActivity extends BaseLoginActivity {
             }
 
             @Override
-            public void onNext(LoginBean data) {
+            public void onNext(Object data) {
                 super.onNext(data);
                 try {
                     hideLoadingDialog(LoadingDialog.LOADING_SUCCESS);
-                    AppTools.setToken(data.getAccessToken());
-                    AppTools.setUserId(data.getUserinfo().getUserid());
-                    AppTools.setNickName(data.getUserinfo().getSysUser().getNickName());
-                    AppTools.setIsWangGe(data.getUserinfo().getSysUser().getIsWangGe());
+                    AppTools.setToken(data.toString());
+                    // AppTools.setNickName(data.getUsername());
                     AppTools.setUserName(viewModel.username.get());
                     AppTools.setPassword(viewModel.password.get());
 
-                    AppTools.setDeptId(data.getUserinfo().getSysUser().getDeptId());
-                    AppTools.setDeptName(data.getUserinfo().getSysUser().getDeptNames());
-                    ArrayList<MenuMainItemBean> menuList = null;
-                    AppSystemUtils.menuList.clear();
-                    if (data.getUserinfo() != null && data.getUserinfo().getUserappList() != null && data.getUserinfo().getUserappList().size() > 0) {
-                        menuList = new ArrayList<>();
-                        for (LoginBean.SystemMenuBean bean : data.getUserinfo().getUserappList()) {
-                            menuList.add(new MenuMainItemBean(bean.getMenuName(), bean.getMenuId(), bean.getIcon()));
-                        }
-                        AppSystemUtils.menuList.addAll(menuList);
-                    }
-
-
-                    if (data != null && data.isUpdatePwd()) {//过期
-                       // AppManager.getAppManager().currentActivity().startActivity(new Intent(AppManager.getAppManager().currentActivity(), UpdatePasswordActivity.class));
-                    }else{
-                      //  PushUtils.pushRestart();
-                        if ("四平市".equals(data.getUserinfo().getSysUser().getDeptNames()) ||
-                                "双辽市".equals(data.getUserinfo().getSysUser().getDeptNames()) ||
-                                "伊通县".equals(data.getUserinfo().getSysUser().getDeptNames()) ||
-                                "梨树县".equals(data.getUserinfo().getSysUser().getDeptNames()) ||
-                                "铁东区".equals(data.getUserinfo().getSysUser().getDeptNames()) ||
-                                "铁西区".equals(data.getUserinfo().getSysUser().getDeptNames())) {
-                            AppTools.isLeader = true;
-                            AppSystemUtils.setGhb(false);
-                           // AppManager.getAppManager().currentActivity().startActivity(new Intent(AppManager.getAppManager().currentActivity(), TSGZMainActivity.class));
-                        } else {
-                            AppTools.isLeader = false;
-//                            if (AppSystemUtils.isGhb()) {
-//                                Intent intent = new Intent(AppManager.getAppManager().currentActivity(), MainActivity_Big.class);
-//                                AppManager.getAppManager().currentActivity().startActivity(intent);
-//                            } else {
-                                Intent intent = new Intent(AppManager.getAppManager().currentActivity(), MainActivity.class);
-                                AppManager.getAppManager().currentActivity().startActivity(intent);
-                           // }
-                        }
-                        hideLoadingDialog(LoadingDialog.LOADING_SUCCESS);
-                        finish();
-                    }
+                    Intent intent = new Intent(AppManager.getAppManager().currentActivity(), MainActivity.class);
+                    AppManager.getAppManager().currentActivity().startActivity(intent);
+                    hideLoadingDialog(LoadingDialog.LOADING_SUCCESS);
+                    finish();
+
 
                 } catch (Exception e) {
                     e.printStackTrace();

+ 5 - 5
app/src/main/java/com/sjkj/appthreefloor_tsgz/net/EventListRequest.java

@@ -39,14 +39,14 @@ public class EventListRequest extends UseCase {
 
     @Override
     protected Observable buildUseCaseObservable() {
-        return service.eventCenterList(params).flatMap(new Func1<ResponseBean<List<EventCenterListBean>>, Observable<List<EventCenterListBean>>>() {
+        return service.eventCenterList(params).flatMap(new Func1<ResponseBean<EventCenterListBean>, Observable<EventCenterListBean>>() {
             @Override
-            public Observable<List<EventCenterListBean>> call(ResponseBean<List<EventCenterListBean>> responseBean) {
+            public Observable<EventCenterListBean> call(ResponseBean<EventCenterListBean> ResponseBean) {
                 if (!ResponseBean.CODE_SUCCESS.
-                        equals(responseBean.getCode())) {
-                    return Observable.error(new BusinessException(responseBean.getMsg()));
+                        equals(ResponseBean.getCode())) {
+                    return Observable.error(new BusinessException(ResponseBean.getMsg()));
                 }
-                return Observable.just(responseBean.getData());
+                return Observable.just(ResponseBean.getData());
             }
         });
     }

+ 53 - 0
app/src/main/java/com/sjkj/appthreefloor_tsgz/net/HomeNoticeListRequest.java

@@ -0,0 +1,53 @@
+package com.sjkj.appthreefloor_tsgz.net;
+
+import android.content.Context;
+
+import com.sjkj.appthreefloor_tsgz.bean.NoticeListBean;
+import com.sjkj.base_lib.entity.Params;
+import com.sjkj.base_lib.entity.ResponseBean;
+import com.sjkj.base_lib.net.RetrofitFactory;
+import com.sjkj.base_lib.net.data.exception.BusinessException;
+import com.sjkj.base_lib.net.domain.interactor.UseCase;
+import com.sjkj.base_lib.utils.AppTools;
+
+import java.util.List;
+
+import rx.Observable;
+import rx.functions.Func1;
+
+/**
+ * 首页-通知公告
+ */
+public class HomeNoticeListRequest extends UseCase {
+    private Context context;
+    private RetrofitService service;
+
+    private Params params;
+
+    public Params getParams() {
+        return params;
+    }
+
+    public void setParams(Params params) {
+        this.params = params;
+    }
+
+    public HomeNoticeListRequest(Context context) {
+        this.context = context;
+        service = RetrofitFactory.getRetrofit(AppTools.getBaseUrl()).create(RetrofitService.class);
+    }
+
+    @Override
+    protected Observable buildUseCaseObservable() {
+        return service.homeNoticeList(params).flatMap(new Func1<ResponseBean<List<NoticeListBean>>, Observable<List<NoticeListBean>>>() {
+            @Override
+            public Observable<List<NoticeListBean>> call(ResponseBean<List<NoticeListBean>> responseBean) {
+                if (!ResponseBean.CODE_SUCCESS.
+                        equals(responseBean.getCode())) {
+                    return Observable.error(new BusinessException(responseBean.getMsg()));
+                }
+                return Observable.just(responseBean.getData());
+            }
+        });
+    }
+}

+ 2 - 3
app/src/main/java/com/sjkj/appthreefloor_tsgz/net/LoginRequest.java

@@ -2,7 +2,6 @@ package com.sjkj.appthreefloor_tsgz.net;
 
 import android.content.Context;
 
-import com.sjkj.appthreefloor_tsgz.bean.LoginBean;
 import com.sjkj.appthreefloor_tsgz.net.RetrofitService;
 import com.sjkj.base_lib.utils.AppTools;
 import com.sjkj.base_lib.entity.Params;
@@ -38,9 +37,9 @@ public class LoginRequest extends UseCase {
 
     @Override
     protected Observable buildUseCaseObservable() {
-        return service.login(params).flatMap(new Func1<ResponseBean<LoginBean>, Observable<LoginBean>>() {
+        return service.login(params).flatMap(new Func1<ResponseBean<Object>, Observable<Object>>() {
             @Override
-            public Observable<LoginBean> call(ResponseBean<LoginBean> responseBean) {
+            public Observable<Object> call(ResponseBean<Object> responseBean) {
                 if (!ResponseBean.CODE_SUCCESS.
                         equals(responseBean.getCode())) {
                     return Observable.error(new BusinessException(responseBean.getMsg()));

+ 10 - 4
app/src/main/java/com/sjkj/appthreefloor_tsgz/net/RetrofitService.java

@@ -8,11 +8,13 @@ import com.sjkj.appthreefloor_tsgz.bean.EventCenterListBean;
 import com.sjkj.appthreefloor_tsgz.bean.FileBean;
 import com.sjkj.appthreefloor_tsgz.bean.LogInRsaBean;
 import com.sjkj.appthreefloor_tsgz.bean.LoginBean;
+import com.sjkj.appthreefloor_tsgz.bean.NoticeListBean;
 import com.sjkj.appthreefloor_tsgz.bean.ResourceVisualizationBean;
 import com.sjkj.appthreefloor_tsgz.bean.VersionBean;
 import com.sjkj.base_lib.camera.dh.bean.CameraBean;
 import com.sjkj.base_lib.entity.Params;
 import com.sjkj.base_lib.entity.ResponseBean;
+import com.sjkj.base_lib.entity.ResponseListBean;
 
 import java.util.List;
 import java.util.Map;
@@ -27,8 +29,12 @@ import retrofit2.http.QueryMap;
 import rx.Observable;
 
 public interface RetrofitService {
-    @POST("AppLoginController/login")
-    Observable<ResponseBean<LoginBean>> login(@Body Params params);
+    @POST("app/login")
+    Observable<ResponseBean<Object>> login(@Body Params params);
+
+    //首页-通知公告
+    @GET("app/noticeList")
+    Observable<ResponseBean<List<NoticeListBean>>> homeNoticeList(@QueryMap Params params);
 
     @POST("AppLoginController/getPrivateKey")
     Observable<ResponseBean<LogInRsaBean>> getLoginKey();
@@ -38,8 +44,8 @@ public interface RetrofitService {
     Observable<ResponseBean<BannerDataBean>> banners(@QueryMap Params params);
 
     //事件中心-事件列表
-    @GET("AppEventController/eventFindAll")
-    Observable<ResponseBean<List<EventCenterListBean>>> eventCenterList(@QueryMap Params params);
+    @GET("event/eventList")
+    Observable<ResponseBean<EventCenterListBean>> eventCenterList(@QueryMap Params params);
 
     //监控中心摄像头列表
     @GET("AppCameraController/listCamera")

BIN
app/src/main/res/drawable-xxhdpi/icon_enent_select.png


BIN
app/src/main/res/drawable-xxhdpi/icon_event.png


BIN
app/src/main/res/drawable-xxhdpi/icon_home.png


BIN
app/src/main/res/drawable-xxhdpi/icon_home_select.png


BIN
app/src/main/res/drawable-xxhdpi/icon_me.png


BIN
app/src/main/res/drawable-xxhdpi/icon_me_select.png


+ 7 - 0
app/src/main/res/drawable/bar_event.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+    <item android:state_checked="true" android:drawable="@drawable/icon_enent_select"/>
+    <item android:state_pressed="true" android:drawable="@drawable/icon_enent_select"/>
+    <item android:drawable="@drawable/icon_event"/>
+
+</selector>

+ 7 - 0
app/src/main/res/drawable/bar_home.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+    <item android:state_checked="true" android:drawable="@drawable/icon_home_select"/>
+    <item android:state_pressed="true" android:drawable="@drawable/icon_home_select"/>
+    <item android:drawable="@drawable/icon_home"/>
+
+</selector>

+ 7 - 0
app/src/main/res/drawable/bar_me.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+    <item android:state_checked="true" android:drawable="@drawable/icon_me_select"/>
+    <item android:state_pressed="true" android:drawable="@drawable/icon_me_select"/>
+    <item android:drawable="@drawable/icon_me"/>
+
+</selector>

+ 10 - 0
app/src/main/res/drawable/bar_text_select.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:color="#0F5FEE" android:state_focused="true" />
+    <item android:color="#0F5FEE" android:state_pressed="true" />
+    <item android:color="#0F5FEE" android:state_selected="true" />
+    <item android:color="#0F5FEE" android:state_checked="true" />
+    <item android:color="#334960" />
+
+</selector>

+ 6 - 1
app/src/main/res/drawable/selector_navigation_tab_color.xml

@@ -1,5 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:color="#0F5FEE" android:state_focused="true" />
+    <item android:color="#0F5FEE" android:state_pressed="true" />
+    <item android:color="#0F5FEE" android:state_selected="true" />
     <item android:color="#0F5FEE" android:state_checked="true" />
-    <item android:color="#334960" android:state_checked="false" />
+    <item android:color="#334960" />
+
 </selector>

+ 49 - 23
app/src/main/res/layout/activity_main.xml

@@ -9,36 +9,62 @@
             type="com.sjkj.appthreefloor_tsgz.activity.viewModel.MainViewModel" />
     </data>
 
-    <RelativeLayout
+    <FrameLayout
+        android:background="@android:color/transparent"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="vertical">
 
-<!--        <com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx-->
-<!--            android:id="@+id/mNavigation"-->
-<!--            android:layout_width="match_parent"-->
-<!--            android:layout_height="wrap_content"-->
-<!--            app:itemIconSize="30dp"-->
-<!--            android:layout_alignParentBottom="true"-->
-<!--            android:background="@drawable/rounded_corners"-->
-<!--            app:itemRippleColor="@null"-->
-<!--            app:itemTextAppearanceActive="@style/bottom_tab_title_active"-->
-<!--            app:itemTextAppearanceInactive="@style/bottom_tab_title_inactive"-->
-<!--            app:itemTextColor="@drawable/selector_navigation_tab_color"-->
-<!--            app:menu="@menu/bottom_navigation_tab" />-->
-        <com.bit.meantest.BottomBarView
-            android:id="@+id/mNavigation"
-            android:layout_width="match_parent"
-            android:layout_height="70dp"
-            android:background="@drawable/rounded_corners"
-            android:layout_alignParentBottom="true" />
-
+        <!--        <com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx-->
+        <!--            android:id="@+id/mNavigation"-->
+        <!--            android:layout_width="match_parent"-->
+        <!--            android:layout_height="wrap_content"-->
+        <!--            app:itemIconSize="30dp"-->
+        <!--            android:layout_alignParentBottom="true"-->
+        <!--            android:background="@drawable/rounded_corners"-->
+        <!--            app:itemRippleColor="@null"-->
+        <!--            app:itemTextAppearanceActive="@style/bottom_tab_title_active"-->
+        <!--            app:itemTextAppearanceInactive="@style/bottom_tab_title_inactive"-->
+        <!--            app:itemTextColor="@drawable/selector_navigation_tab_color"-->
+        <!--            app:menu="@menu/bottom_navigation_tab" />-->
+        <!--        <com.bit.meantest.BottomBarView-->
+        <!--            android:id="@+id/mNavigation"-->
+        <!--            android:layout_width="match_parent"-->
+        <!--            android:layout_height="70dp"-->
+        <!--            android:layout_alignParentBottom="true"-->
+        <!--            android:background="@drawable/rounded_corners" />-->
         <androidx.viewpager.widget.ViewPager
             android:id="@+id/view_pager"
             android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_above="@id/mNavigation" />
+            android:layout_height="wrap_content"
+            android:layout_above="@id/fragment_layout"
+            android:layout_alignParentTop="true"
+            android:layout_weight="1"/>
+        <FrameLayout
+            android:layout_gravity="bottom"
+            android:id="@+id/fragment_layout"
+            android:layout_width="match_parent"
+            android:layout_height="80dp"
+            android:layout_alignParentBottom="true">
+
+
+            <cn.onestravel.one.navigation.androidx.OneBottomNavigationBar
+                android:id="@+id/oneBottomLayout"
+                android:layout_width="match_parent"
+                android:layout_height="60dp"
+                android:layout_gravity="bottom"
+                android:paddingTop="5dp"
+                android:paddingBottom="5dp"
+                app:oneFloatingEnable="true"
+                app:oneFloatingUp="15dp"
+                app:oneItemTextSize="12sp"
+                app:oneItemTextTopMargin="10dp"
+                app:oneItemTopLineColor="@android:color/transparent"
+                app:oneMenu="@menu/navigation_menu" />
+        </FrameLayout>
+
+
 
 
-    </RelativeLayout>
+    </FrameLayout>
 </layout>

+ 3 - 2
app/src/main/res/layout/fragment_event.xml

@@ -247,12 +247,13 @@
             </LinearLayout>
 
             <ImageView
+                android:id="@+id/iv_add"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_gravity="end|bottom"
                 android:layout_marginRight="15dp"
-                android:layout_marginBottom="40dp"
-                android:background="@drawable/icon_submit"></ImageView>
+                android:layout_marginBottom="80dp"
+                android:background="@drawable/icon_submit"/>
 
         </FrameLayout>
 

+ 7 - 3
app/src/main/res/layout/fragment_main.xml

@@ -29,7 +29,6 @@
             android:orientation="vertical">
 
 
-
             <FrameLayout
                 android:layout_width="match_parent"
                 android:layout_height="490dp">
@@ -343,23 +342,23 @@
                         android:orientation="vertical">
 
                         <TextView
+                            android:id="@+id/tv_one"
                             android:layout_width="match_parent"
                             android:layout_height="0dp"
                             android:layout_weight="1"
                             android:ellipsize="end"
                             android:gravity="center_vertical"
                             android:singleLine="true"
-                            android:text="333333333333333333333333333333333333333333333333333333333333333333333333"
                             android:textColor="@color/color_notice" />
 
                         <TextView
+                            android:id="@+id/tv_two"
                             android:layout_width="match_parent"
                             android:layout_height="0dp"
                             android:layout_weight="1"
                             android:ellipsize="end"
                             android:gravity="center_vertical"
                             android:singleLine="true"
-                            android:text="4444"
                             android:textColor="@color/color_notice" />
                     </LinearLayout>
 
@@ -452,6 +451,11 @@
                         android:background="@drawable/icon_zanding05" />
                 </LinearLayout>
             </LinearLayout>
+
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="80dp"/>
         </LinearLayout>
     </ScrollView>
 

+ 96 - 88
app/src/main/res/layout/item_event_list.xml

@@ -11,135 +11,143 @@
         <import type="android.view.View" />
     </data>
 
-    <androidx.cardview.widget.CardView
+    <LinearLayout
         android:layout_width="match_parent"
-        android:layout_height="120dp"
-        android:layout_marginLeft="15dp"
-        android:layout_marginTop="15dp"
-        android:layout_marginRight="15dp"
-        android:gravity="center_vertical"
-        android:orientation="horizontal"
-        app:cardBackgroundColor="#FFFFFF"
-        app:cardCornerRadius="10dp"
-        app:cardElevation="4dp">
-
-
-        <RelativeLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="vertical">
-
-
-            <LinearLayout
-                android:id="@+id/ll_title"
-                android:layout_width="match_parent"
-                android:layout_height="35dp"
-                android:gravity="center_vertical"
-                android:orientation="horizontal">
-
-
-                <ImageView
-
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_vertical"
-                    android:layout_marginLeft="15dp"
-                    android:layout_marginRight="10dp"
-                    android:background="@drawable/icon_event_fire" />
+        android:layout_height="wrap_content"
+        android:orientation="vertical">
 
-                <TextView
-                    android:id="@+id/title_tv"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_vertical"
-                    android:layout_marginRight="10dp"
-                    android:layout_weight="1"
-                    android:ellipsize="end"
-                    android:lines="1"
-                    android:text="@{model.title}"
-                    android:textColor="@color/color_notice"
-                    android:textSize="16dp" />
 
+        <androidx.cardview.widget.CardView
+            android:layout_width="match_parent"
+            android:layout_height="120dp"
+            android:layout_marginLeft="15dp"
+            android:layout_marginTop="15dp"
+            android:layout_marginRight="15dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal"
+            app:cardBackgroundColor="#FFFFFF"
+            app:cardCornerRadius="10dp"
+            app:cardElevation="4dp">
 
-            </LinearLayout>
 
             <RelativeLayout
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
-                android:layout_below="@+id/ll_title">
+                android:orientation="vertical">
 
 
                 <LinearLayout
-                    android:id="@+id/ll_conten"
+                    android:id="@+id/ll_title"
                     android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:layout_above="@+id/rl_bootm"
-                    android:layout_marginLeft="15dp"
-                    android:layout_marginRight="10dp"
+                    android:layout_height="35dp"
                     android:gravity="center_vertical"
                     android:orientation="horizontal">
 
+
+                    <ImageView
+
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_vertical"
+                        android:layout_marginLeft="15dp"
+                        android:layout_marginRight="10dp"
+                        android:background="@drawable/icon_event_fire" />
+
                     <TextView
-                        android:id="@+id/content_tv"
+                        android:id="@+id/title_tv"
                         android:layout_width="0dp"
-                        android:layout_height="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_vertical"
+                        android:layout_marginRight="10dp"
                         android:layout_weight="1"
                         android:ellipsize="end"
-                        android:maxLines="3"
+                        android:lines="1"
                         android:text="@{model.title}"
-                        android:textColor="@color/color_gray_text"
-                        android:textSize="14dp" />
+                        android:textColor="@color/color_notice"
+                        android:textSize="16dp" />
 
 
                 </LinearLayout>
 
                 <RelativeLayout
-                    android:layout_marginBottom="10dp"
-                    android:id="@+id/rl_bootm"
                     android:layout_width="match_parent"
-                    android:layout_height="30dp"
-                    android:layout_alignParentBottom="true"
-                    android:orientation="vertical">
+                    android:layout_height="match_parent"
+                    android:layout_below="@+id/ll_title">
 
-                    <View
-                        android:layout_width="match_parent"
-                        android:layout_height="1dp"
-                        android:layout_marginLeft="15dp"
-                        android:layout_marginTop="5dp"
-                        android:layout_marginRight="15dp"
-                        android:background="@color/gray3" />
 
                     <LinearLayout
+                        android:id="@+id/ll_conten"
                         android:layout_width="match_parent"
                         android:layout_height="match_parent"
+                        android:layout_above="@+id/rl_bootm"
                         android:layout_marginLeft="15dp"
-                        android:layout_marginTop="5dp"
-                        android:layout_marginRight="15dp"
+                        android:layout_marginRight="10dp"
+                        android:gravity="center_vertical"
                         android:orientation="horizontal">
 
                         <TextView
+                            android:id="@+id/content_tv"
                             android:layout_width="0dp"
                             android:layout_height="match_parent"
                             android:layout_weight="1"
-                            android:gravity="center_vertical|left"
-                            android:text='@{"上报人: "+model.eventSource}'
-                            android:textColor="@color/coler_evnet">
+                            android:ellipsize="end"
+                            android:maxLines="3"
+                            android:text="@{model.content}"
+                            android:textColor="@color/color_gray_text"
+                            android:textSize="14dp" />
 
-                        </TextView>
-
-                        <TextView
-                            android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:gravity="center_vertical|right"
-                            android:text='@{model.time}'
-                            android:textColor="@color/coler_evnet">
-
-                        </TextView>
 
                     </LinearLayout>
+
+                    <RelativeLayout
+                        android:id="@+id/rl_bootm"
+                        android:layout_width="match_parent"
+                        android:layout_height="30dp"
+                        android:layout_alignParentBottom="true"
+                        android:layout_marginBottom="10dp"
+                        android:orientation="vertical">
+
+                        <View
+                            android:layout_width="match_parent"
+                            android:layout_height="1dp"
+                            android:layout_marginLeft="15dp"
+                            android:layout_marginTop="5dp"
+                            android:layout_marginRight="15dp"
+                            android:background="@color/gray3" />
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:layout_marginLeft="15dp"
+                            android:layout_marginTop="5dp"
+                            android:layout_marginRight="15dp"
+                            android:orientation="horizontal">
+
+                            <TextView
+                                android:layout_width="0dp"
+                                android:layout_height="match_parent"
+                                android:layout_weight="1"
+                                android:gravity="center_vertical|left"
+                                android:text='@{"上报人: "+model.eventSource}'
+                                android:textColor="@color/coler_evnet">
+
+                            </TextView>
+
+                            <TextView
+                                android:layout_width="0dp"
+                                android:layout_height="match_parent"
+                                android:layout_weight="1"
+                                android:gravity="center_vertical|right"
+                                android:text='@{model.time}'
+                                android:textColor="@color/coler_evnet">
+
+                            </TextView>
+
+                        </LinearLayout>
+                    </RelativeLayout>
                 </RelativeLayout>
             </RelativeLayout>
-        </RelativeLayout>
-    </androidx.cardview.widget.CardView>
+        </androidx.cardview.widget.CardView>
+    </LinearLayout>
+
 </layout>

+ 20 - 0
app/src/main/res/menu/navigation_menu.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <item
+        android:id="@+id/tab1"
+        android:icon="@drawable/bar_event"
+        android:title="事件"
+        app:floating="true"></item>
+    <item
+        android:id="@+id/tab2"
+        android:icon="@drawable/bar_home"
+        android:title="驾驶舱"></item>
+    <item
+        android:id="@+id/tab3"
+        android:icon="@drawable/bar_me"
+        android:title="我的"></item>
+
+
+</menu>

+ 1 - 0
base-lib/build.gradle

@@ -45,6 +45,7 @@ dependencies {
     api fileTree(dir: 'libs', include: ['*.jar', '*.aar', '*.so'])
     implementation rootProject.ext.dependencies["appcompat"]
     implementation rootProject.ext.dependencies["design"]
+    implementation 'com.geyifeng.immersionbar:immersionbar:3.2.2'
 //    api files('libs/AMap3DMap_9.6.2_AMapNavi_9.8.0_AMapSearch_9.5.0_AMapLocation_6.3.0_20230517.jar')
     api files('libs/AMap3DMap_10.0.800_AMapNavi_10.0.800_AMapSearch_9.7.2_AMapLocation_6.4.5_20240722.jar')
     api files('libs/DHCloudSDK.jar')

+ 34 - 0
base-lib/src/main/java/com/sjkj/base_lib/entity/ResponseListBean.java

@@ -0,0 +1,34 @@
+package com.sjkj.base_lib.entity;
+
+public class ResponseListBean<T> {
+    public static final String CODE_SUCCESS = "200";
+
+    private String code;
+    private String msg;
+    private T rows;
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    public T getRows() {
+        return rows;
+    }
+
+    public void setRows(T rows) {
+        this.rows = rows;
+    }
+
+}

+ 1 - 0
base-lib/src/main/java/com/sjkj/base_lib/net/utils/RequestInterceptor.java

@@ -20,6 +20,7 @@ public class RequestInterceptor implements Interceptor {
 
     private final String TAG = RequestInterceptor.class.getSimpleName();
     private Context mContext;
+
     public RequestInterceptor(Context context) {
         mContext = context;
     }

+ 1 - 1
base-lib/src/main/java/com/sjkj/base_lib/utils/AppTools.java

@@ -478,7 +478,7 @@ public class AppTools {
     }
 
     public static String getBaseUrl() {
-       return mmkv.decodeString("baseUrl", "http://218.27.3.115:15001/");
+       return mmkv.decodeString("baseUrl", "http://192.168.4.16:8080/api/");
         //return mmkv.decodeString("baseUrl", "http://192.168.4.16:8080/");
     }
 

+ 1 - 1
base-lib/src/main/java/com/sjkj/base_lib/view/BaseActivity.java

@@ -55,7 +55,7 @@ public abstract class BaseActivity extends AppCompatActivity implements BaseCall
         appManager.addActivity(this);
         initBinding();
         initBindingView(savedInstanceState);
-       // initActionBar();
+        initActionBar();
         initView();
         initListener();
         loadData();

+ 15 - 1
base-lib/src/main/java/com/sjkj/base_lib/weight/LoadingDialog.java

@@ -3,6 +3,8 @@ package com.sjkj.base_lib.weight;
 import android.app.Dialog;
 import android.content.Context;
 import android.os.Bundle;
+import android.util.DisplayMetrics;
+import android.util.Log;
 import android.view.Gravity;
 import android.view.MotionEvent;
 import android.view.View;
@@ -10,6 +12,7 @@ import android.view.ViewConfiguration;
 import android.view.Window;
 import android.view.WindowManager;
 
+import com.gyf.immersionbar.ImmersionBar;
 import com.sjkj.base_lib.R;
 
 public class LoadingDialog extends Dialog {
@@ -30,11 +33,22 @@ public class LoadingDialog extends Dialog {
      */
     public void initDialog() {
         Window win = getWindow();
+        //ImmersionBar.getStatusBarHeight(this);
+        WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
+        DisplayMetrics outMetrics = new DisplayMetrics();
+        wm.getDefaultDisplay().getMetrics(outMetrics);
+
+        // Log.d("zhr111", outMetrics.heightPixels + "===" + ImmersionBar.getStatusBarHeight(mContext));
         win.getDecorView().setPadding(0, 0, 0, 0);
         win.setGravity(Gravity.RELATIVE_LAYOUT_DIRECTION | Gravity.CENTER);
         WindowManager.LayoutParams lp = win.getAttributes();
         lp.width = WindowManager.LayoutParams.MATCH_PARENT;
-        lp.height = WindowManager.LayoutParams.MATCH_PARENT;
+        if (ImmersionBar.getStatusBarHeight(mContext) != 0 && outMetrics.heightPixels != 0) {
+            lp.height = ImmersionBar.getStatusBarHeight(mContext) - outMetrics.heightPixels;
+        } else {
+            lp.height = WindowManager.LayoutParams.MATCH_PARENT;
+        }
+
         win.setAttributes(lp);
         setCanceledOnTouchOutside(false);
     }

+ 1 - 0
build.gradle

@@ -2,6 +2,7 @@
 plugins {
     id 'com.android.application' version '7.1.2' apply false
     id 'com.android.library' version '7.1.2' apply false
+    id 'org.jetbrains.kotlin.android' version '1.9.24' apply false
 }
 
 task clean(type: Delete) {

+ 2 - 1
settings.gradle

@@ -28,4 +28,5 @@ dependencyResolutionManagement {
 rootProject.name = "AppThreeFloor"
 include ':app'
 include ':base-lib'
-include ':meantest'
+include ':meantest'
+include ':OneBottomNavigationBar'