浏览代码

老师端,个人主页-视频课
修改bug
启动图修改

Ryan8057 3 年之前
父节点
当前提交
f2cce087d7
共有 63 个文件被更改,包括 619 次插入160 次删除
  1. 3 0
      BaseLibrary/build.gradle
  2. 2 0
      student/src/main/java/com/cooleshow/student/App.java
  3. 5 2
      student/src/main/java/com/cooleshow/student/api/APIService.java
  4. 4 2
      student/src/main/java/com/cooleshow/student/presenter/mine/ModifyPasswordPresenter.java
  5. 4 2
      student/src/main/java/com/cooleshow/student/ui/main/CourseTableFragment.kt
  6. 25 23
      student/src/main/java/com/cooleshow/student/ui/message/MessageBoxActivity.java
  7. 7 9
      student/src/main/java/com/cooleshow/student/ui/mine/ModifyPasswordActivity.java
  8. 4 2
      student/src/main/java/com/cooleshow/student/ui/mine/PersonalSettingActivity.java
  9. 25 0
      student/src/main/res/drawable-v23/bg_splash.xml
  10. 二进制
      student/src/main/res/drawable-xhdpi/bg_icon_splash.png
  11. 二进制
      student/src/main/res/drawable-xxhdpi/bg_icon_splash.png
  12. 二进制
      student/src/main/res/drawable-xxhdpi/bg_splash.png
  13. 2 0
      student/src/main/res/layout/fragment_course_table_layout.xml
  14. 2 3
      student/src/main/res/layout/layout_empty_course_table.xml
  15. 二进制
      student/src/main/res/mipmap-hdpi/ic_launcher.png
  16. 二进制
      student/src/main/res/mipmap-mdpi/ic_launcher.png
  17. 二进制
      student/src/main/res/mipmap-xhdpi/ic_launcher.png
  18. 二进制
      student/src/main/res/mipmap-xxhdpi/ic_launcher.png
  19. 二进制
      student/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  20. 1 1
      student/src/main/res/values/strings.xml
  21. 1 1
      student/src/main/res/values/styles.xml
  22. 1 0
      teacher/src/main/AndroidManifest.xml
  23. 2 0
      teacher/src/main/java/com/cooleshow/teacher/App.java
  24. 5 2
      teacher/src/main/java/com/cooleshow/teacher/api/APIService.java
  25. 1 1
      teacher/src/main/java/com/cooleshow/teacher/bean/TeacherUserInfo.java
  26. 5 0
      teacher/src/main/java/com/cooleshow/teacher/contract/MineVideoCourseContract.java
  27. 2 1
      teacher/src/main/java/com/cooleshow/teacher/contract/PersonalSettingContract.java
  28. 22 0
      teacher/src/main/java/com/cooleshow/teacher/contract/VideoCoursePageContract.java
  29. 11 1
      teacher/src/main/java/com/cooleshow/teacher/presenter/course/MineVideoCoursePresenter.java
  30. 50 0
      teacher/src/main/java/com/cooleshow/teacher/presenter/homePage/VideoCoursePagePresenter.java
  31. 4 2
      teacher/src/main/java/com/cooleshow/teacher/presenter/mine/ModifyPasswordPresenter.java
  32. 3 3
      teacher/src/main/java/com/cooleshow/teacher/presenter/mine/PersonalSettingPresenter.java
  33. 42 13
      teacher/src/main/java/com/cooleshow/teacher/ui/course/MineLiveCourseFragment.java
  34. 42 1
      teacher/src/main/java/com/cooleshow/teacher/ui/course/MineVideoCourseFragment.java
  35. 10 1
      teacher/src/main/java/com/cooleshow/teacher/ui/homepage/HomePageActivity.java
  36. 126 4
      teacher/src/main/java/com/cooleshow/teacher/ui/homepage/VideoCoursePageFragment.java
  37. 8 3
      teacher/src/main/java/com/cooleshow/teacher/ui/main/CourseTableFragment.kt
  38. 2 0
      teacher/src/main/java/com/cooleshow/teacher/ui/main/HomeFragment.kt
  39. 20 5
      teacher/src/main/java/com/cooleshow/teacher/ui/main/MainActivity.java
  40. 26 23
      teacher/src/main/java/com/cooleshow/teacher/ui/message/MessageBoxActivity.java
  41. 8 9
      teacher/src/main/java/com/cooleshow/teacher/ui/mine/ModifyPasswordActivity.java
  42. 15 10
      teacher/src/main/java/com/cooleshow/teacher/ui/mine/PersonalSettingActivity.java
  43. 25 0
      teacher/src/main/res/drawable-v23/bg_splash.xml
  44. 0 30
      teacher/src/main/res/drawable-v24/ic_launcher_foreground.xml
  45. 二进制
      teacher/src/main/res/drawable-xhdpi/bg_icon_splash.png
  46. 二进制
      teacher/src/main/res/drawable-xhdpi/bg_splash.png
  47. 二进制
      teacher/src/main/res/drawable-xhdpi/icon_empty_course_table.png
  48. 二进制
      teacher/src/main/res/drawable-xxhdpi/bg_icon_splash.png
  49. 二进制
      teacher/src/main/res/drawable-xxhdpi/bg_splash.png
  50. 二进制
      teacher/src/main/res/drawable-xxhdpi/icon_empty_course_table.png
  51. 14 1
      teacher/src/main/res/layout/activity_home_page_layout.xml
  52. 1 0
      teacher/src/main/res/layout/activity_modify_password.xml
  53. 2 0
      teacher/src/main/res/layout/fragment_course_table_layout.xml
  54. 50 0
      teacher/src/main/res/layout/fragment_mine_video_course.xml
  55. 32 0
      teacher/src/main/res/layout/layout_empty_course_table.xml
  56. 二进制
      teacher/src/main/res/mipmap-hdpi/ic_launcher.png
  57. 二进制
      teacher/src/main/res/mipmap-mdpi/ic_launcher.png
  58. 二进制
      teacher/src/main/res/mipmap-xhdpi/ic_launcher.png
  59. 二进制
      teacher/src/main/res/mipmap-xxhdpi/ic_launcher.png
  60. 二进制
      teacher/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  61. 1 1
      teacher/src/main/res/values/strings.xml
  62. 1 1
      usercenter/src/main/java/com/cooleshow/usercenter/helper/PhoneCheckHelper.java
  63. 3 3
      usercenter/src/main/res/layout/activity_bind_pwd_layout.xml

+ 3 - 0
BaseLibrary/build.gradle

@@ -156,4 +156,7 @@ dependencies {
     api 'com.airbnb.android:lottie:5.0.3'
     api 'com.airbnb.android:lottie:5.0.3'
     //webview
     //webview
     api 'com.just.agentweb:agentweb:4.1.4'
     api 'com.just.agentweb:agentweb:4.1.4'
+    //bugly 统计
+    api 'com.tencent.bugly:crashreport:3.2.33'
+    api 'com.tencent.bugly:nativecrashreport:3.7.471'
 }
 }

+ 2 - 0
student/src/main/java/com/cooleshow/student/App.java

@@ -15,6 +15,7 @@ import com.cooleshow.base.utils.ProcessUtils;
 import com.cooleshow.base.utils.Utils;
 import com.cooleshow.base.utils.Utils;
 import com.cooleshow.usercenter.helper.UserHelper;
 import com.cooleshow.usercenter.helper.UserHelper;
 import com.daya.live_teaching.im.IMManager;
 import com.daya.live_teaching.im.IMManager;
+import com.tencent.bugly.crashreport.CrashReport;
 
 
 import io.rong.push.RongPushClient;
 import io.rong.push.RongPushClient;
 import io.rong.push.pushconfig.PushConfig;
 import io.rong.push.pushconfig.PushConfig;
@@ -40,6 +41,7 @@ public class App extends BaseApplication {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
             webviewSetPath(this);
             webviewSetPath(this);
         }
         }
+        CrashReport.initCrashReport(getApplicationContext(), "365b8adf07", false);
         initRong();
         initRong();
     }
     }
 
 

+ 5 - 2
student/src/main/java/com/cooleshow/student/api/APIService.java

@@ -31,10 +31,13 @@ import com.cooleshow.usercenter.bean.SetDetailBean;
 import com.cooleshow.usercenter.bean.UserInfo;
 import com.cooleshow.usercenter.bean.UserInfo;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 import io.reactivex.rxjava3.core.Observable;
 import io.reactivex.rxjava3.core.Observable;
 import okhttp3.RequestBody;
 import okhttp3.RequestBody;
 import retrofit2.http.Body;
 import retrofit2.http.Body;
+import retrofit2.http.FieldMap;
+import retrofit2.http.FormUrlEncoded;
 import retrofit2.http.GET;
 import retrofit2.http.GET;
 import retrofit2.http.POST;
 import retrofit2.http.POST;
 import retrofit2.http.Path;
 import retrofit2.http.Path;
@@ -132,11 +135,11 @@ public interface APIService {
     /**
     /**
      * 手机验证码修改密码
      * 手机验证码修改密码
      *
      *
-     * @param body
      * @return
      * @return
      */
      */
+    @FormUrlEncoded
     @POST(AUTH_GROUP + "user/updatePassword")
     @POST(AUTH_GROUP + "user/updatePassword")
-    Observable<BaseResponse<Object>> updatePassword(@Body RequestBody body);
+    Observable<BaseResponse<Object>> updatePassword(@FieldMap Map<String, String> params);
 
 
     /**
     /**
      * 发送登录短信验证码
      * 发送登录短信验证码

+ 4 - 2
student/src/main/java/com/cooleshow/student/presenter/mine/ModifyPasswordPresenter.java

@@ -10,6 +10,8 @@ import com.cooleshow.student.api.APIService;
 import com.cooleshow.student.contract.ModifyPasswordContract;
 import com.cooleshow.student.contract.ModifyPasswordContract;
 import com.cooleshow.usercenter.bean.SetDetailBean;
 import com.cooleshow.usercenter.bean.SetDetailBean;
 
 
+import java.util.Map;
+
 /**
 /**
  * 创建日期:2022/5/17 13:36
  * 创建日期:2022/5/17 13:36
  *
  *
@@ -17,9 +19,9 @@ import com.cooleshow.usercenter.bean.SetDetailBean;
  * 类说明:
  * 类说明:
  */
  */
 public class ModifyPasswordPresenter extends BasePresenter<ModifyPasswordContract.ModifyPasswordView> implements ModifyPasswordContract.Presenter {
 public class ModifyPasswordPresenter extends BasePresenter<ModifyPasswordContract.ModifyPasswordView> implements ModifyPasswordContract.Presenter {
-    public void updatePassword(String jsonStr) {
+    public void updatePassword(Map<String, String> requestData) {
         getView().showLoading();
         getView().showLoading();
-        addSubscribe(create(APIService.class).updatePassword(RequestBodyUtil.convertToRequestBodyJson(jsonStr)), new BaseObserver<SetDetailBean>(getView()) {
+        addSubscribe(create(APIService.class).updatePassword(requestData), new BaseObserver<SetDetailBean>(getView()) {
             @Override
             @Override
             protected void onSuccess(SetDetailBean data) {
             protected void onSuccess(SetDetailBean data) {
                 if (getView() != null) {
                 if (getView() != null) {

+ 4 - 2
student/src/main/java/com/cooleshow/student/ui/main/CourseTableFragment.kt

@@ -13,7 +13,6 @@ import com.bigkoo.pickerview.listener.CustomListener
 import com.bigkoo.pickerview.listener.OnTimeSelectListener
 import com.bigkoo.pickerview.listener.OnTimeSelectListener
 import com.bigkoo.pickerview.view.TimePickerView
 import com.bigkoo.pickerview.view.TimePickerView
 import com.chad.library.adapter.base.listener.OnItemClickListener
 import com.chad.library.adapter.base.listener.OnItemClickListener
-import com.cooleshow.usercenter.ui.activity.BaseMVPFragment
 import com.cooleshow.base.utils.SizeUtils
 import com.cooleshow.base.utils.SizeUtils
 import com.cooleshow.base.utils.TimeUtils
 import com.cooleshow.base.utils.TimeUtils
 import com.cooleshow.base.widgets.EmptyViewLayout
 import com.cooleshow.base.widgets.EmptyViewLayout
@@ -26,7 +25,7 @@ import com.cooleshow.student.presenter.main.CourseTablePresenter
 import com.cooleshow.student.widgets.CalendarExpandDecoration
 import com.cooleshow.student.widgets.CalendarExpandDecoration
 import com.cooleshow.student.widgets.CalendarShrinkDecoration
 import com.cooleshow.student.widgets.CalendarShrinkDecoration
 import com.cooleshow.student.widgets.helper.CourseHelper
 import com.cooleshow.student.widgets.helper.CourseHelper
-
+import com.cooleshow.usercenter.ui.activity.BaseMVPFragment
 import com.haibin.calendarview.CalendarView
 import com.haibin.calendarview.CalendarView
 import com.scwang.smart.refresh.layout.listener.OnRefreshListener
 import com.scwang.smart.refresh.layout.listener.OnRefreshListener
 import kotlinx.android.synthetic.main.fragment_course_table_layout.*
 import kotlinx.android.synthetic.main.fragment_course_table_layout.*
@@ -112,6 +111,7 @@ class CourseTableFragment :
         mViewBinding.refreshLayout.setOnRefreshListener(OnRefreshListener {
         mViewBinding.refreshLayout.setOnRefreshListener(OnRefreshListener {
             queryCurrentDataCourse()
             queryCurrentDataCourse()
         })
         })
+        mViewBinding.refreshLayout.isEnabled=false
     }
     }
 
 
     override fun initData() {
     override fun initData() {
@@ -189,12 +189,14 @@ class CourseTableFragment :
             if (recyclerView.itemDecorationCount == 0 || recyclerView.getItemDecorationAt(0) !is CalendarShrinkDecoration) {
             if (recyclerView.itemDecorationCount == 0 || recyclerView.getItemDecorationAt(0) !is CalendarShrinkDecoration) {
                 Log.e("sdfsdgsdsdasdaf", "calendarShrinkDecoration: " )
                 Log.e("sdfsdgsdsdasdaf", "calendarShrinkDecoration: " )
                 recyclerView.addItemDecoration(calendarShrinkDecoration, 0)
                 recyclerView.addItemDecoration(calendarShrinkDecoration, 0)
+                mViewBinding.refreshLayout.isEnabled=false
             }
             }
         } else {
         } else {
             recyclerView.removeItemDecoration(calendarShrinkDecoration)
             recyclerView.removeItemDecoration(calendarShrinkDecoration)
             if (recyclerView.itemDecorationCount == 0 || recyclerView.getItemDecorationAt(0) !is CalendarExpandDecoration) {
             if (recyclerView.itemDecorationCount == 0 || recyclerView.getItemDecorationAt(0) !is CalendarExpandDecoration) {
                 Log.e("sdfsdgsdsdasdaf", "calendarExpandDecoration: " )
                 Log.e("sdfsdgsdsdasdaf", "calendarExpandDecoration: " )
                 recyclerView.addItemDecoration(calendarExpandDecoration, 0)
                 recyclerView.addItemDecoration(calendarExpandDecoration, 0)
+                mViewBinding.refreshLayout.isEnabled=true
             }
             }
         }
         }
     }
     }

+ 25 - 23
student/src/main/java/com/cooleshow/student/ui/message/MessageBoxActivity.java

@@ -118,9 +118,11 @@ public class MessageBoxActivity extends BaseMVPActivity<ActivityMessageBoxBindin
         messageBoxAdapter.setOnItemClickListener(new OnItemClickListener() {
         messageBoxAdapter.setOnItemClickListener(new OnItemClickListener() {
             @Override
             @Override
             public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
             public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
-                SystemMessageBean.RowsBean item = (SystemMessageBean.RowsBean) adapter.getItem(position);
-                if (item.readStatus==0){
-                    presenter.setCurrentRead(item.id);
+                if (null != adapter && null != adapter.getData() && adapter.getData().size() > position) {
+                    SystemMessageBean.RowsBean item = (SystemMessageBean.RowsBean) adapter.getItem(position);
+                    if (item.readStatus == 0) {
+                        presenter.setCurrentRead(item.id);
+                    }
                 }
                 }
             }
             }
         });
         });
@@ -217,8 +219,8 @@ public class MessageBoxActivity extends BaseMVPActivity<ActivityMessageBoxBindin
     @Override
     @Override
     public void setCurrentReadSuccess(long id) {
     public void setCurrentReadSuccess(long id) {
         for (SystemMessageBean.RowsBean rowsBean : dataList) {
         for (SystemMessageBean.RowsBean rowsBean : dataList) {
-            if (rowsBean.id==id){
-                rowsBean.readStatus=1;
+            if (rowsBean.id == id) {
+                rowsBean.readStatus = 1;
                 break;
                 break;
             }
             }
         }
         }
@@ -233,39 +235,39 @@ public class MessageBoxActivity extends BaseMVPActivity<ActivityMessageBoxBindin
 
 
     @Override
     @Override
     public void queryCountOfUnreadSuccess(List<CountOfUnreadBean> data) {
     public void queryCountOfUnreadSuccess(List<CountOfUnreadBean> data) {
-        if (null==data||data.size()==0){
+        if (null == data || data.size() == 0) {
             viewBinding.tvAllUnread.setVisibility(View.GONE);
             viewBinding.tvAllUnread.setVisibility(View.GONE);
             viewBinding.tvCourseUnread.setVisibility(View.GONE);
             viewBinding.tvCourseUnread.setVisibility(View.GONE);
             viewBinding.tvSystemUnread.setVisibility(View.GONE);
             viewBinding.tvSystemUnread.setVisibility(View.GONE);
             return;
             return;
         }
         }
-        int totalCount=0;
-        int courseCount=0;
-        int systemCount=0;
+        int totalCount = 0;
+        int courseCount = 0;
+        int systemCount = 0;
         for (CountOfUnreadBean datum : data) {
         for (CountOfUnreadBean datum : data) {
-            if (datum.key.equals("COURSE")){
-                courseCount=datum.value;
-            }else if (datum.key.equals("SYSTEM")){
-                systemCount=datum.value;
+            if (datum.key.equals("COURSE")) {
+                courseCount = datum.value;
+            } else if (datum.key.equals("SYSTEM")) {
+                systemCount = datum.value;
             }
             }
         }
         }
-        totalCount=courseCount+systemCount;
-        if (totalCount>0){
+        totalCount = courseCount + systemCount;
+        if (totalCount > 0) {
             viewBinding.tvAllUnread.setVisibility(View.VISIBLE);
             viewBinding.tvAllUnread.setVisibility(View.VISIBLE);
-            viewBinding.tvAllUnread.setText(totalCount+"");
-        }else {
+            viewBinding.tvAllUnread.setText(totalCount + "");
+        } else {
             viewBinding.tvAllUnread.setVisibility(View.GONE);
             viewBinding.tvAllUnread.setVisibility(View.GONE);
         }
         }
-        if (courseCount>0){
+        if (courseCount > 0) {
             viewBinding.tvCourseUnread.setVisibility(View.VISIBLE);
             viewBinding.tvCourseUnread.setVisibility(View.VISIBLE);
-            viewBinding.tvCourseUnread.setText(courseCount+"");
-        }else {
+            viewBinding.tvCourseUnread.setText(courseCount + "");
+        } else {
             viewBinding.tvCourseUnread.setVisibility(View.GONE);
             viewBinding.tvCourseUnread.setVisibility(View.GONE);
         }
         }
-        if (systemCount>0){
+        if (systemCount > 0) {
             viewBinding.tvSystemUnread.setVisibility(View.VISIBLE);
             viewBinding.tvSystemUnread.setVisibility(View.VISIBLE);
-            viewBinding.tvSystemUnread.setText(systemCount+"");
-        }else {
+            viewBinding.tvSystemUnread.setText(systemCount + "");
+        } else {
             viewBinding.tvSystemUnread.setVisibility(View.GONE);
             viewBinding.tvSystemUnread.setVisibility(View.GONE);
         }
         }
     }
     }

+ 7 - 9
student/src/main/java/com/cooleshow/student/ui/mine/ModifyPasswordActivity.java

@@ -24,6 +24,8 @@ import com.cooleshow.student.presenter.mine.ModifyPasswordPresenter;
 import org.json.JSONException;
 import org.json.JSONException;
 import org.json.JSONObject;
 import org.json.JSONObject;
 
 
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Timer;
 import java.util.Timer;
 import java.util.TimerTask;
 import java.util.TimerTask;
 
 
@@ -51,15 +53,11 @@ public class ModifyPasswordActivity extends BaseMVPActivity<ActivityModifyPasswo
                     ToastUtils.showShort("请输入验证码");
                     ToastUtils.showShort("请输入验证码");
                     break;
                     break;
                 }
                 }
-                JSONObject jsonObjectC = new JSONObject();
-                try {
-                    jsonObjectC.putOpt("mobile", phoneNum);
-                    jsonObjectC.putOpt("authCode", authCode);
-                    jsonObjectC.putOpt("newPassword", password);
-                } catch (JSONException e) {
-                    e.printStackTrace();
-                }
-                presenter.updatePassword(jsonObjectC.toString());
+                Map<String, String> params = new HashMap<>();
+                params.put("mobile",phoneNum);
+                params.put("authCode",authCode);
+                params.put("newPassword",password);
+                presenter.updatePassword(params);
                 break;
                 break;
             case R.id.tv_get_auth_code:
             case R.id.tv_get_auth_code:
                 JSONObject jsonObject = new JSONObject();
                 JSONObject jsonObject = new JSONObject();

+ 4 - 2
student/src/main/java/com/cooleshow/student/ui/mine/PersonalSettingActivity.java

@@ -99,8 +99,10 @@ public class PersonalSettingActivity extends BaseMVPActivity<ActivityPersonalSet
                         .navigation();
                         .navigation();
                 break;
                 break;
             case R.id.cl_certification:
             case R.id.cl_certification:
-                ARouter.getInstance().build(RouterPath.MineCenter.MINE_PERSONAL_CERTIFICATION)
-                        .navigation(this, PERSONAL_CERTIFICATION);
+                if (viewBinding.tvCertificationStatus.getText().equals("未认证")){
+                    ARouter.getInstance().build(RouterPath.MineCenter.MINE_PERSONAL_CERTIFICATION)
+                            .navigation(this, PERSONAL_CERTIFICATION);
+                }
                 break;
                 break;
             case R.id.cl_birthday:
             case R.id.cl_birthday:
                 selectBirthday();
                 selectBirthday();

+ 25 - 0
student/src/main/res/drawable-v23/bg_splash.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <shape>
+            <gradient
+                android:angle="270"
+                android:endColor="#FFFFFF"
+                android:startColor="#FFFFFF" />
+        </shape>
+    </item>
+
+    <item android:gravity="bottom"
+        android:bottom="@dimen/dp_179">
+
+        <bitmap android:src="@drawable/bg_icon_splash" />
+    </item>
+    <item
+        android:width="@dimen/dp_115"
+        android:height="@dimen/dp_34"
+        android:bottom="@dimen/dp_100"
+        android:gravity="bottom|center_horizontal">
+        <bitmap android:src="@drawable/icon_splash_logo" />
+    </item>
+
+</layer-list>

二进制
student/src/main/res/drawable-xhdpi/bg_icon_splash.png


二进制
student/src/main/res/drawable-xxhdpi/bg_icon_splash.png


二进制
student/src/main/res/drawable-xxhdpi/bg_splash.png


+ 2 - 0
student/src/main/res/layout/fragment_course_table_layout.xml

@@ -2,6 +2,7 @@
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     xmlns:tools="http://schemas.android.com/tools"
+    android:background="@color/color_f6f8f9"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
     android:layout_height="match_parent">
 
 
@@ -104,6 +105,7 @@
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:layout_height="match_parent"
             android:overScrollMode="never"
             android:overScrollMode="never"
+            android:background="@color/color_f6f8f9"
             android:scrollbars="none" />
             android:scrollbars="none" />
     </com.haibin.calendarview.CalendarLayout>
     </com.haibin.calendarview.CalendarLayout>
     </com.scwang.smart.refresh.layout.SmartRefreshLayout>
     </com.scwang.smart.refresh.layout.SmartRefreshLayout>

+ 2 - 3
student/src/main/res/layout/layout_empty_course_table.xml

@@ -7,8 +7,8 @@
 
 
     <ImageView
     <ImageView
         android:id="@+id/im_empty_logo"
         android:id="@+id/im_empty_logo"
-        android:layout_width="@dimen/dp_260"
-        android:layout_height="@dimen/dp_230"
+        android:layout_width="@dimen/dp_130"
+        android:layout_height="@dimen/dp_115"
         android:layout_marginTop="8dp"
         android:layout_marginTop="8dp"
         android:background="@drawable/icon_empty_course_table"
         android:background="@drawable/icon_empty_course_table"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
@@ -19,7 +19,6 @@
         android:id="@+id/tv_empty_hint"
         android:id="@+id/tv_empty_hint"
         android:layout_width="wrap_content"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginTop="14dp"
         android:gravity="center"
         android:gravity="center"
         android:lineSpacingExtra="4dp"
         android:lineSpacingExtra="4dp"
         android:text="暂无预约课程"
         android:text="暂无预约课程"

二进制
student/src/main/res/mipmap-hdpi/ic_launcher.png


二进制
student/src/main/res/mipmap-mdpi/ic_launcher.png


二进制
student/src/main/res/mipmap-xhdpi/ic_launcher.png


二进制
student/src/main/res/mipmap-xxhdpi/ic_launcher.png


二进制
student/src/main/res/mipmap-xxxhdpi/ic_launcher.png


+ 1 - 1
student/src/main/res/values/strings.xml

@@ -1,5 +1,5 @@
 <resources>
 <resources>
-    <string name="app_name">酷乐秀</string>
+    <string name="app_name">酷乐秀学院</string>
     <string name="menu_home">首页</string>
     <string name="menu_home">首页</string>
     <string name="menu_course_table">课表</string>
     <string name="menu_course_table">课表</string>
     <string name="menu_chat">聊天</string>
     <string name="menu_chat">聊天</string>

+ 1 - 1
student/src/main/res/values/styles.xml

@@ -8,7 +8,7 @@
     </style>
     </style>
 
 
     <style name="SplashTheme" parent="AppTheme">
     <style name="SplashTheme" parent="AppTheme">
-      <!--  <item name="android:windowBackground">@drawable/bg_splash</item>-->
+        <item name="android:windowBackground">@drawable/bg_splash</item>
         <item name="android:statusBarColor">@color/colorPrimary</item>
         <item name="android:statusBarColor">@color/colorPrimary</item>
     </style>
     </style>
 
 

+ 1 - 0
teacher/src/main/AndroidManifest.xml

@@ -16,6 +16,7 @@
         <activity
         <activity
             android:name="com.cooleshow.teacher.ui.splash.SplashActivity"
             android:name="com.cooleshow.teacher.ui.splash.SplashActivity"
             android:screenOrientation="portrait"
             android:screenOrientation="portrait"
+            android:theme="@style/SplashTheme"
             android:exported="true">
             android:exported="true">
             <intent-filter>
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.intent.action.MAIN" />

+ 2 - 0
teacher/src/main/java/com/cooleshow/teacher/App.java

@@ -13,6 +13,7 @@ import com.cooleshow.base.utils.ProcessUtils;
 import com.cooleshow.base.utils.Utils;
 import com.cooleshow.base.utils.Utils;
 import com.cooleshow.usercenter.helper.UserHelper;
 import com.cooleshow.usercenter.helper.UserHelper;
 import com.daya.live_teaching.im.IMManager;
 import com.daya.live_teaching.im.IMManager;
+import com.tencent.bugly.crashreport.CrashReport;
 
 
 import androidx.annotation.RequiresApi;
 import androidx.annotation.RequiresApi;
 import io.rong.imkit.IMCenter;
 import io.rong.imkit.IMCenter;
@@ -37,6 +38,7 @@ public class App extends BaseApplication {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
             webviewSetPath(this);
             webviewSetPath(this);
         }
         }
+        CrashReport.initCrashReport(getApplicationContext(), "6fb5a22967", false);
         initRong();
         initRong();
     }
     }
 
 

+ 5 - 2
teacher/src/main/java/com/cooleshow/teacher/api/APIService.java

@@ -36,11 +36,14 @@ import com.cooleshow.usercenter.bean.SetDetailBean;
 import com.cooleshow.usercenter.bean.UserInfo;
 import com.cooleshow.usercenter.bean.UserInfo;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.Objects;
 
 
 import io.reactivex.rxjava3.core.Observable;
 import io.reactivex.rxjava3.core.Observable;
 import okhttp3.RequestBody;
 import okhttp3.RequestBody;
 import retrofit2.http.Body;
 import retrofit2.http.Body;
+import retrofit2.http.FieldMap;
+import retrofit2.http.FormUrlEncoded;
 import retrofit2.http.GET;
 import retrofit2.http.GET;
 import retrofit2.http.POST;
 import retrofit2.http.POST;
 import retrofit2.http.Path;
 import retrofit2.http.Path;
@@ -263,11 +266,11 @@ public interface APIService {
     /**
     /**
      * 手机验证码修改密码
      * 手机验证码修改密码
      *
      *
-     * @param body
      * @return
      * @return
      */
      */
+    @FormUrlEncoded
     @POST(AUTH_GROUP + "user/updatePassword")
     @POST(AUTH_GROUP + "user/updatePassword")
-    Observable<BaseResponse<Object>> updatePassword(@Body RequestBody body);
+    Observable<BaseResponse<Object>> updatePassword(@FieldMap Map<String, String> params);
 
 
     /**
     /**
      * 发送登录短信验证码
      * 发送登录短信验证码

+ 1 - 1
teacher/src/main/java/com/cooleshow/teacher/bean/TeacherUserInfo.java

@@ -56,7 +56,7 @@ public class TeacherUserInfo implements Serializable {
     public String unExpTime;
     public String unExpTime;
     public int starGrade;
     public int starGrade;
     public String idCardNo;
     public String idCardNo;
-    public Object gender;
+    public String gender;
     public int isReal;
     public int isReal;
     public int liveFlag;
     public int liveFlag;
     public int isBank;
     public int isBank;

+ 5 - 0
teacher/src/main/java/com/cooleshow/teacher/contract/MineVideoCourseContract.java

@@ -2,6 +2,7 @@ package com.cooleshow.teacher.contract;
 
 
 import com.cooleshow.base.presenter.view.BaseView;
 import com.cooleshow.base.presenter.view.BaseView;
 import com.cooleshow.teacher.bean.MineVideoCourseListBean;
 import com.cooleshow.teacher.bean.MineVideoCourseListBean;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.teacher.bean.VideoCourseListBean;
 import com.cooleshow.teacher.bean.VideoCourseListBean;
 
 
 /**
 /**
@@ -13,8 +14,12 @@ import com.cooleshow.teacher.bean.VideoCourseListBean;
 public interface MineVideoCourseContract {
 public interface MineVideoCourseContract {
     interface MineVideoCourseView extends BaseView {
     interface MineVideoCourseView extends BaseView {
         void queryVideoCourseGroupSuccess(int page, VideoCourseListBean data);
         void queryVideoCourseGroupSuccess(int page, VideoCourseListBean data);
+
         void queryVideoCourseGroupError(int page);
         void queryVideoCourseGroupError(int page);
+
+        void getTeacherInfoSuccess(TeacherUserInfo data);
     }
     }
+
     interface Presenter {
     interface Presenter {
     }
     }
 }
 }

+ 2 - 1
teacher/src/main/java/com/cooleshow/teacher/contract/PersonalSettingContract.java

@@ -1,6 +1,7 @@
 package com.cooleshow.teacher.contract;
 package com.cooleshow.teacher.contract;
 
 
 import com.cooleshow.base.presenter.view.BaseView;
 import com.cooleshow.base.presenter.view.BaseView;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.usercenter.bean.SetDetailBean;
 import com.cooleshow.usercenter.bean.SetDetailBean;
 
 
 /**
 /**
@@ -11,7 +12,7 @@ import com.cooleshow.usercenter.bean.SetDetailBean;
  */
  */
 public interface PersonalSettingContract {
 public interface PersonalSettingContract {
     interface PersonalSettingView extends BaseView {
     interface PersonalSettingView extends BaseView {
-        void getSetDetailSuccess(SetDetailBean setDetailBean);
+        void getSetDetailSuccess(TeacherUserInfo setDetailBean);
         void submitSetDetailSuccess(SetDetailBean setDetailBean);
         void submitSetDetailSuccess(SetDetailBean setDetailBean);
         void upLoadImageSuccess(String url);
         void upLoadImageSuccess(String url);
         void upLoadImageFailure();
         void upLoadImageFailure();

+ 22 - 0
teacher/src/main/java/com/cooleshow/teacher/contract/VideoCoursePageContract.java

@@ -0,0 +1,22 @@
+package com.cooleshow.teacher.contract;
+
+import com.cooleshow.base.presenter.view.BaseView;
+import com.cooleshow.teacher.bean.VideoCourseListBean;
+
+/**
+ * 创建日期:2022/6/7 9:41
+ *
+ * @author Ryan
+ * 类说明:
+ */
+public interface VideoCoursePageContract {
+
+    interface VideoCoursePageView extends BaseView {
+        void queryVideoCourseGroupSuccess(int page ,VideoCourseListBean data);
+        void queryVideoCourseGroupError(int page);
+
+    }
+
+    interface Presenter {
+    }
+}

+ 11 - 1
teacher/src/main/java/com/cooleshow/teacher/presenter/course/MineVideoCoursePresenter.java

@@ -7,6 +7,7 @@ import com.cooleshow.base.utils.RequestBodyUtil;
 import com.cooleshow.teacher.api.APIService;
 import com.cooleshow.teacher.api.APIService;
 import com.cooleshow.teacher.bean.MineLiveCourseListBean;
 import com.cooleshow.teacher.bean.MineLiveCourseListBean;
 import com.cooleshow.teacher.bean.MineVideoCourseListBean;
 import com.cooleshow.teacher.bean.MineVideoCourseListBean;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.teacher.bean.VideoCourseListBean;
 import com.cooleshow.teacher.bean.VideoCourseListBean;
 import com.cooleshow.teacher.contract.MineLiveCourseContract;
 import com.cooleshow.teacher.contract.MineLiveCourseContract;
 import com.cooleshow.teacher.contract.MineVideoCourseContract;
 import com.cooleshow.teacher.contract.MineVideoCourseContract;
@@ -51,7 +52,16 @@ public class MineVideoCoursePresenter extends BasePresenter<MineVideoCourseContr
         });
         });
     }
     }
 
 
-
+    public void getTeacherUserInfo() {
+        addSubscribe(create(APIService.class).getTeacherUserInfo(), new BaseObserver<TeacherUserInfo>(getView()) {
+            @Override
+            protected void onSuccess(TeacherUserInfo data) {
+                if (getView() != null) {
+                    getView().getTeacherInfoSuccess(data);
+                }
+            }
+        });
+    }
 
 
 
 
 }
 }

+ 50 - 0
teacher/src/main/java/com/cooleshow/teacher/presenter/homePage/VideoCoursePagePresenter.java

@@ -0,0 +1,50 @@
+package com.cooleshow.teacher.presenter.homePage;
+
+import com.cooleshow.base.constanst.Constants;
+import com.cooleshow.base.presenter.BasePresenter;
+import com.cooleshow.base.rx.BaseObserver;
+import com.cooleshow.base.utils.RequestBodyUtil;
+import com.cooleshow.teacher.api.APIService;
+import com.cooleshow.teacher.bean.VideoCourseListBean;
+import com.cooleshow.teacher.contract.LiveCoursePageContract;
+import com.cooleshow.teacher.contract.VideoCoursePageContract;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+/**
+ * 创建日期:2022/6/7 9:40
+ *
+ * @author Ryan
+ * 类说明:
+ */
+public class VideoCoursePagePresenter extends BasePresenter<VideoCoursePageContract.VideoCoursePageView> implements VideoCoursePageContract.Presenter {
+    public void queryVideoCourseGroup(boolean isLoading, int page) {
+        if (isLoading && getView() != null) {
+            getView().showLoading();
+        }
+        JSONObject jsonObject = new JSONObject();
+        try {
+            jsonObject.putOpt("page", page);
+            jsonObject.putOpt("rows", Constants.DEFAULT_DATA_SIZE);
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+        addSubscribe(create(APIService.class).getVideoCourses(RequestBodyUtil.convertToRequestBodyJson(jsonObject.toString())), new BaseObserver<VideoCourseListBean>(getView()) {
+            @Override
+            protected void onSuccess(VideoCourseListBean data) {
+                if (getView() != null) {
+                    getView().queryVideoCourseGroupSuccess(page, data);
+                }
+            }
+
+            @Override
+            public void onError(Throwable e) {
+                super.onError(e);
+                if (getView() != null) {
+                    getView().queryVideoCourseGroupError(page);
+                }
+            }
+        });
+    }
+}

+ 4 - 2
teacher/src/main/java/com/cooleshow/teacher/presenter/mine/ModifyPasswordPresenter.java

@@ -10,6 +10,8 @@ import com.cooleshow.teacher.api.APIService;
 import com.cooleshow.teacher.contract.ModifyPasswordContract;
 import com.cooleshow.teacher.contract.ModifyPasswordContract;
 import com.cooleshow.usercenter.bean.SetDetailBean;
 import com.cooleshow.usercenter.bean.SetDetailBean;
 
 
+import java.util.Map;
+
 /**
 /**
  * 创建日期:2022/5/17 13:36
  * 创建日期:2022/5/17 13:36
  *
  *
@@ -17,9 +19,9 @@ import com.cooleshow.usercenter.bean.SetDetailBean;
  * 类说明:
  * 类说明:
  */
  */
 public class ModifyPasswordPresenter extends BasePresenter<ModifyPasswordContract.ModifyPasswordView> implements ModifyPasswordContract.Presenter {
 public class ModifyPasswordPresenter extends BasePresenter<ModifyPasswordContract.ModifyPasswordView> implements ModifyPasswordContract.Presenter {
-    public void updatePassword(String jsonStr) {
+    public void updatePassword(Map<String, String> requestData) {
         getView().showLoading();
         getView().showLoading();
-        addSubscribe(create(APIService.class).updatePassword(RequestBodyUtil.convertToRequestBodyJson(jsonStr)), new BaseObserver<SetDetailBean>(getView()) {
+        addSubscribe(create(APIService.class).updatePassword(requestData), new BaseObserver<SetDetailBean>(getView()) {
             @Override
             @Override
             protected void onSuccess(SetDetailBean data) {
             protected void onSuccess(SetDetailBean data) {
                 if (getView() != null) {
                 if (getView() != null) {

+ 3 - 3
teacher/src/main/java/com/cooleshow/teacher/presenter/mine/PersonalSettingPresenter.java

@@ -8,6 +8,7 @@ import com.cooleshow.base.utils.RequestBodyUtil;
 import com.cooleshow.base.utils.helper.upload.UploadHelper;
 import com.cooleshow.base.utils.helper.upload.UploadHelper;
 import com.cooleshow.teacher.api.APIService;
 import com.cooleshow.teacher.api.APIService;
 import com.cooleshow.teacher.bean.TeacherSelfStyleInfoBean;
 import com.cooleshow.teacher.bean.TeacherSelfStyleInfoBean;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.teacher.contract.PersonalSettingContract;
 import com.cooleshow.teacher.contract.PersonalSettingContract;
 import com.cooleshow.usercenter.bean.SetDetailBean;
 import com.cooleshow.usercenter.bean.SetDetailBean;
 
 
@@ -24,14 +25,13 @@ public class PersonalSettingPresenter extends BasePresenter<PersonalSettingContr
     @Override
     @Override
     public void getSetDetail() {
     public void getSetDetail() {
         getView().showLoading();
         getView().showLoading();
-        addSubscribe(create(APIService.class).getSetDetail(), new BaseObserver<SetDetailBean>(getView()) {
+        addSubscribe(create(APIService.class).getTeacherUserInfo(), new BaseObserver<TeacherUserInfo>(getView()) {
             @Override
             @Override
-            protected void onSuccess(SetDetailBean data) {
+            protected void onSuccess(TeacherUserInfo data) {
                 if (getView() != null) {
                 if (getView() != null) {
                     getView().getSetDetailSuccess(data);
                     getView().getSetDetailSuccess(data);
                 }
                 }
             }
             }
-
             @Override
             @Override
             public void onComplete() {
             public void onComplete() {
                 super.onComplete();
                 super.onComplete();

+ 42 - 13
teacher/src/main/java/com/cooleshow/teacher/ui/course/MineLiveCourseFragment.java

@@ -1,6 +1,7 @@
 package com.cooleshow.teacher.ui.course;
 package com.cooleshow.teacher.ui.course;
 
 
 import android.os.Bundle;
 import android.os.Bundle;
+import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View;
 import android.widget.TextView;
 import android.widget.TextView;
@@ -16,6 +17,7 @@ import com.chad.library.adapter.base.listener.OnLoadMoreListener;
 import com.cooleshow.base.common.WebConstants;
 import com.cooleshow.base.common.WebConstants;
 import com.cooleshow.base.constanst.Constants;
 import com.cooleshow.base.constanst.Constants;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.router.RouterPath;
+import com.cooleshow.teacher.constants.TeacherInfoConstants;
 import com.cooleshow.usercenter.ui.activity.BaseMVPFragment;
 import com.cooleshow.usercenter.ui.activity.BaseMVPFragment;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.MineLiveCourseAdapter;
 import com.cooleshow.teacher.adapter.MineLiveCourseAdapter;
@@ -49,10 +51,17 @@ public class MineLiveCourseFragment extends BaseMVPFragment<FragmentMineLiveCour
 
 
                 break;
                 break;
             case R.id.tv_open:
             case R.id.tv_open:
-                ARouter.getInstance()
-                        .build(RouterPath.WebCenter.ACTIVITY_HTML)
-                        .withString(WebConstants.WEB_URL, WebConstants.TEACHER_OPEN_LIVE)
-                        .navigation();
+                if (mViewBinding.tvOpen.getText().toString().equals("去认证")){
+                    ARouter.getInstance().build(RouterPath.WebCenter.ACTIVITY_HTML)
+                            .withString(WebConstants.WEB_URL, WebConstants.TEACHER_CERT)
+                            .navigation();
+                }else if (mViewBinding.tvOpen.getText().toString().equals("立即开通")){
+                    ARouter.getInstance()
+                            .build(RouterPath.WebCenter.ACTIVITY_HTML)
+                            .withString(WebConstants.WEB_URL, WebConstants.TEACHER_OPEN_LIVE)
+                            .navigation();
+                }
+
                 break;
                 break;
         }
         }
     }
     }
@@ -197,16 +206,36 @@ public class MineLiveCourseFragment extends BaseMVPFragment<FragmentMineLiveCour
     }
     }
 
 
     @Override
     @Override
-    public void getTeacherInfoSuccess(TeacherUserInfo data) {
-        //是否有直播权限 0 否 1 是
-       if (data.liveFlag==0){
+    public void getTeacherInfoSuccess(TeacherUserInfo teacherUserInfo) {
+        if (TextUtils.equals(teacherUserInfo.entryStatus, TeacherInfoConstants.ENTRY_STATUS_DOING)) {
+            //入驻审核中
             mViewBinding.refreshLayout.setVisibility(View.GONE);
             mViewBinding.refreshLayout.setVisibility(View.GONE);
             mViewBinding.clEmptyLiveFlag.setVisibility(View.VISIBLE);
             mViewBinding.clEmptyLiveFlag.setVisibility(View.VISIBLE);
-       }else{
-           mViewBinding.refreshLayout.setVisibility(View.VISIBLE);
-           mViewBinding.clEmptyLiveFlag.setVisibility(View.GONE);
-           currentPage = 1;
-           queryCourse(true);
-       }
+            mViewBinding.tvEmptyHint.setText("老师认证审核中!");
+            mViewBinding.tvOpen.setVisibility(View.GONE);
+        } else if (TextUtils.equals(teacherUserInfo.entryStatus, TeacherInfoConstants.ENTRY_STATUS_PASS)) {
+            //入驻审核通过
+            if (teacherUserInfo.liveFlag==0){
+                //是否有直播权限 0 否 1 是
+                mViewBinding.refreshLayout.setVisibility(View.GONE);
+                mViewBinding.clEmptyLiveFlag.setVisibility(View.VISIBLE);
+                mViewBinding.tvEmptyHint.setText("您尚未开通直播服务\\n开通后即可创建直播课程");
+                mViewBinding.tvOpen.setVisibility(View.VISIBLE);
+                mViewBinding.tvOpen.setText("立即开通");
+            }else{
+                mViewBinding.refreshLayout.setVisibility(View.VISIBLE);
+                mViewBinding.clEmptyLiveFlag.setVisibility(View.GONE);
+                currentPage = 1;
+                queryCourse(true);
+            }
+        } else {
+            //未通过或者未申请
+            mViewBinding.refreshLayout.setVisibility(View.GONE);
+            mViewBinding.clEmptyLiveFlag.setVisibility(View.VISIBLE);
+            mViewBinding.tvEmptyHint.setText("您还没有完成老师认证\n认证后才可创建直播课哦~");
+            mViewBinding.tvOpen.setVisibility(View.VISIBLE);
+            mViewBinding.tvOpen.setText("去认证");
+        }
+
     }
     }
 }
 }

+ 42 - 1
teacher/src/main/java/com/cooleshow/teacher/ui/course/MineVideoCourseFragment.java

@@ -1,6 +1,7 @@
 package com.cooleshow.teacher.ui.course;
 package com.cooleshow.teacher.ui.course;
 
 
 import android.os.Bundle;
 import android.os.Bundle;
+import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View;
 import android.widget.TextView;
 import android.widget.TextView;
@@ -17,6 +18,8 @@ import com.chad.library.adapter.base.listener.OnLoadMoreListener;
 import com.cooleshow.base.common.WebConstants;
 import com.cooleshow.base.common.WebConstants;
 import com.cooleshow.base.constanst.Constants;
 import com.cooleshow.base.constanst.Constants;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.router.RouterPath;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
+import com.cooleshow.teacher.constants.TeacherInfoConstants;
 import com.cooleshow.usercenter.ui.activity.BaseMVPFragment;
 import com.cooleshow.usercenter.ui.activity.BaseMVPFragment;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.MineVideoCourseAdapter;
 import com.cooleshow.teacher.adapter.MineVideoCourseAdapter;
@@ -49,6 +52,14 @@ public class MineVideoCourseFragment extends BaseMVPFragment<FragmentMineVideoCo
                         .navigation();
                         .navigation();
 
 
                 break;
                 break;
+            case R.id.tv_open:
+                if (mViewBinding.tvOpen.getText().toString().equals("去认证")){
+                    ARouter.getInstance().build(RouterPath.WebCenter.ACTIVITY_HTML)
+                            .withString(WebConstants.WEB_URL, WebConstants.TEACHER_CERT)
+                            .navigation();
+                }
+
+                break;
         }
         }
     }
     }
 
 
@@ -87,6 +98,7 @@ public class MineVideoCourseFragment extends BaseMVPFragment<FragmentMineVideoCo
         tv_create.setOnClickListener(this);
         tv_create.setOnClickListener(this);
         mineVideoCourseAdapter.setEmptyView(emptyLayout);
         mineVideoCourseAdapter.setEmptyView(emptyLayout);
         rvAddress.setAdapter(mineVideoCourseAdapter);
         rvAddress.setAdapter(mineVideoCourseAdapter);
+        mViewBinding.tvOpen.setOnClickListener(this);
         mineVideoCourseAdapter.setOnItemClickListener(new OnItemClickListener() {
         mineVideoCourseAdapter.setOnItemClickListener(new OnItemClickListener() {
             @Override
             @Override
             public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
             public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
@@ -166,7 +178,11 @@ public class MineVideoCourseFragment extends BaseMVPFragment<FragmentMineVideoCo
 
 
         }
         }
     }
     }
-
+    @Override
+    public void onResume() {
+        super.onResume();
+        presenter.getTeacherUserInfo();
+    }
     @Override
     @Override
     public void queryVideoCourseGroupError(int page) {
     public void queryVideoCourseGroupError(int page) {
         if (isDetached()) {
         if (isDetached()) {
@@ -181,4 +197,29 @@ public class MineVideoCourseFragment extends BaseMVPFragment<FragmentMineVideoCo
             }
             }
         }
         }
     }
     }
+
+    @Override
+    public void getTeacherInfoSuccess(TeacherUserInfo teacherUserInfo) {
+        if (TextUtils.equals(teacherUserInfo.entryStatus, TeacherInfoConstants.ENTRY_STATUS_DOING)) {
+            //入驻审核中
+            mViewBinding.refreshLayout.setVisibility(View.GONE);
+            mViewBinding.clEmptyLiveFlag.setVisibility(View.VISIBLE);
+            mViewBinding.tvEmptyHint.setText("老师认证审核中!");
+            mViewBinding.tvOpen.setVisibility(View.GONE);
+        } else if (TextUtils.equals(teacherUserInfo.entryStatus, TeacherInfoConstants.ENTRY_STATUS_PASS)) {
+            //入驻审核通过
+            mViewBinding.refreshLayout.setVisibility(View.VISIBLE);
+            mViewBinding.clEmptyLiveFlag.setVisibility(View.GONE);
+            currentPage = 1;
+            queryCourse(true);
+        } else {
+            //未通过或者未申请
+            mViewBinding.refreshLayout.setVisibility(View.GONE);
+            mViewBinding.clEmptyLiveFlag.setVisibility(View.VISIBLE);
+            mViewBinding.tvEmptyHint.setText("您还没有完成老师认证\n认证后才可创建直播课哦~");
+            mViewBinding.tvOpen.setVisibility(View.VISIBLE);
+            mViewBinding.tvOpen.setText("去认证");
+        }
+
+    }
 }
 }

+ 10 - 1
teacher/src/main/java/com/cooleshow/teacher/ui/homepage/HomePageActivity.java

@@ -148,7 +148,16 @@ public class HomePageActivity extends BaseMVPActivity<ActivityHomePageLayoutBind
             mMusicPageFragment.setMusicPersonCertStatus(info.musicianAuthStatus);
             mMusicPageFragment.setMusicPersonCertStatus(info.musicianAuthStatus);
         }
         }
         //星级
         //星级
-        viewBinding.ratingBar.setRating(info.starGrade);
+        if (info.starGrade>0){
+            viewBinding.ratingBar.setVisibility(View.VISIBLE);
+            viewBinding.ratingBar.setRating(info.starGrade);
+            viewBinding.tvNoScore.setVisibility(View.GONE);
+        }else{
+            viewBinding.ratingBar.setVisibility(View.INVISIBLE);
+            viewBinding.tvNoScore.setVisibility(View.VISIBLE);
+        }
+
+
         //粉丝数
         //粉丝数
         viewBinding.tvFansNum.setText(info.fansNum);
         viewBinding.tvFansNum.setText(info.fansNum);
         //已上课时数
         //已上课时数

+ 126 - 4
teacher/src/main/java/com/cooleshow/teacher/ui/homepage/VideoCoursePageFragment.java

@@ -1,28 +1,109 @@
 package com.cooleshow.teacher.ui.homepage;
 package com.cooleshow.teacher.ui.homepage;
 
 
+import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 
 
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.alibaba.android.arouter.launcher.ARouter;
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.listener.OnItemClickListener;
+import com.chad.library.adapter.base.listener.OnLoadMoreListener;
 import com.cooleshow.base.common.WebConstants;
 import com.cooleshow.base.common.WebConstants;
+import com.cooleshow.base.constanst.Constants;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.router.RouterPath;
+import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.R;
+import com.cooleshow.teacher.adapter.MineVideoCourseAdapter;
+import com.cooleshow.teacher.bean.MineVideoCourseListBean;
+import com.cooleshow.teacher.bean.VideoCourseListBean;
+import com.cooleshow.teacher.contract.LiveCoursePageContract;
+import com.cooleshow.teacher.contract.VideoCoursePageContract;
+import com.cooleshow.teacher.presenter.homePage.VideoCoursePagePresenter;
 import com.cooleshow.usercenter.ui.activity.BaseMVPFragment;
 import com.cooleshow.usercenter.ui.activity.BaseMVPFragment;
 import com.cooleshow.teacher.databinding.FragmentVideoCoursePageLayoutBinding;
 import com.cooleshow.teacher.databinding.FragmentVideoCoursePageLayoutBinding;
 import com.cooleshow.teacher.presenter.homePage.MineStylePresenter;
 import com.cooleshow.teacher.presenter.homePage.MineStylePresenter;
+import com.scwang.smart.refresh.layout.api.RefreshLayout;
+import com.scwang.smart.refresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
 
 
 /**
 /**
  * Author by pq, Date on 2022/5/9.
  * Author by pq, Date on 2022/5/9.
  */
  */
-public class VideoCoursePageFragment extends BaseMVPFragment<FragmentVideoCoursePageLayoutBinding, MineStylePresenter> implements View.OnClickListener {
+public class VideoCoursePageFragment extends BaseMVPFragment<FragmentVideoCoursePageLayoutBinding, VideoCoursePagePresenter> implements VideoCoursePageContract.VideoCoursePageView, View.OnClickListener {
+    private MineVideoCourseAdapter mineVideoCourseAdapter;
+    List<VideoCourseListBean.RowsBean> dataList = new ArrayList<>();
 
 
     @Override
     @Override
     protected void initView(View rootView) {
     protected void initView(View rootView) {
         mViewBinding.llCreateVideo.setOnClickListener(this);
         mViewBinding.llCreateVideo.setOnClickListener(this);
+        RecyclerView rvAddress = mViewBinding.recyclerView;
+        LinearLayoutManager manager = new GridLayoutManager(getContext(), 2);
+        rvAddress.setLayoutManager(manager);
+        mineVideoCourseAdapter = new MineVideoCourseAdapter(dataList);
+        EmptyViewLayout mEmptyView = new EmptyViewLayout(getContext());
+        mEmptyView.setContent(com.cooleshow.base.R.drawable.icon_empty_course, "暂无课程~");
+        mineVideoCourseAdapter.setEmptyView(mEmptyView);
+        rvAddress.setAdapter(mineVideoCourseAdapter);
+        mineVideoCourseAdapter.setOnItemClickListener(new OnItemClickListener() {
+            @Override
+            public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
+                MineVideoCourseListBean.RowsBean item = (MineVideoCourseListBean.RowsBean) adapter.getItem(position);
+                ARouter.getInstance()
+                        .build(RouterPath.WebCenter.ACTIVITY_HTML)
+                        .withString(WebConstants.WEB_URL, WebConstants.TEACHER_VIDEO_DETAIL + "?groupId=" + item.videoLessonGroupId)
+                        .navigation();
+            }
+        });
+
     }
     }
 
 
+    private int currentPage;
+
     @Override
     @Override
     protected void initData() {
     protected void initData() {
+        mViewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+            @Override
+            public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+                currentPage = 1;
+                queryCourse(true);
+            }
+        });
+        mineVideoCourseAdapter.getLoadMoreModule().setOnLoadMoreListener(new OnLoadMoreListener() {
+            @Override
+            public void onLoadMore() {
+                //上拉加载
+                if (hasNext) {
+                    currentPage++;
+                    queryCourse(false);
+                } else {
+                    mineVideoCourseAdapter.getLoadMoreModule().loadMoreEnd();
+                }
+            }
+        });
+        currentPage = 1;
+        queryCourse(true);
+    }
+
+    private boolean hasNext = true;
+
+    /**
+     * 检查是否还有下一页
+     *
+     * @param dataSize
+     */
+    private void checkHasNext(int dataSize) {
+        hasNext = dataSize >= Constants.DEFAULT_DATA_SIZE;
+    }
 
 
+    private void queryCourse(boolean isLoading) {
+        presenter.queryVideoCourseGroup(isLoading, currentPage);
     }
     }
 
 
     @Override
     @Override
@@ -31,13 +112,13 @@ public class VideoCoursePageFragment extends BaseMVPFragment<FragmentVideoCourse
     }
     }
 
 
     @Override
     @Override
-    protected MineStylePresenter createPresenter() {
-        return new MineStylePresenter();
+    protected VideoCoursePagePresenter createPresenter() {
+        return new VideoCoursePagePresenter();
     }
     }
 
 
     @Override
     @Override
     public void onClick(View view) {
     public void onClick(View view) {
-        switch (view.getId()){
+        switch (view.getId()) {
             case R.id.ll_create_video:
             case R.id.ll_create_video:
                 ARouter.getInstance()
                 ARouter.getInstance()
                         .build(RouterPath.WebCenter.ACTIVITY_HTML)
                         .build(RouterPath.WebCenter.ACTIVITY_HTML)
@@ -46,4 +127,45 @@ public class VideoCoursePageFragment extends BaseMVPFragment<FragmentVideoCourse
                 break;
                 break;
         }
         }
     }
     }
+
+    @Override
+    public void queryVideoCourseGroupSuccess(int page, VideoCourseListBean data) {
+        if (isDetached()) {
+            return;
+        }
+        if (data != null) {
+            if (page == 1) {
+                dataList.clear();
+                mViewBinding.refreshLayout.finishRefresh();
+                if (data.rows != null && data.rows.size() > 0) {
+                    checkHasNext(data.rows.size());
+                    dataList.addAll(data.rows);
+                    mineVideoCourseAdapter.notifyDataSetChanged();
+                }
+            } else {
+                if (data.rows != null && data.rows.size() > 0) {
+                    mineVideoCourseAdapter.getLoadMoreModule().loadMoreComplete();
+                    checkHasNext(data.rows.size());
+                } else {
+                    mineVideoCourseAdapter.getLoadMoreModule().loadMoreEnd();
+                }
+            }
+
+        }
+    }
+
+    @Override
+    public void queryVideoCourseGroupError(int page) {
+        if (isDetached()) {
+            return;
+        }
+        if (page == 1) {
+            mViewBinding.refreshLayout.finishRefresh();
+        } else {
+            if (mineVideoCourseAdapter != null) {
+                currentPage--;
+                mineVideoCourseAdapter.getLoadMoreModule().loadMoreFail();
+            }
+        }
+    }
 }
 }

+ 8 - 3
teacher/src/main/java/com/cooleshow/teacher/ui/main/CourseTableFragment.kt

@@ -1,5 +1,6 @@
 package com.cooleshow.teacher.ui.main
 package com.cooleshow.teacher.ui.main
 
 
+import android.view.LayoutInflater
 import android.view.MotionEvent
 import android.view.MotionEvent
 import android.view.View
 import android.view.View
 import android.widget.ImageView
 import android.widget.ImageView
@@ -66,7 +67,9 @@ class CourseTableFragment :
         mViewBinding.recyclerView.layoutManager = layoutManager
         mViewBinding.recyclerView.layoutManager = layoutManager
         mViewBinding.recyclerView.addItemDecoration(calendarShrinkDecoration, 0)
         mViewBinding.recyclerView.addItemDecoration(calendarShrinkDecoration, 0)
         adapter = CourseTableListAdapter(R.layout.item_course_table_layout);
         adapter = CourseTableListAdapter(R.layout.item_course_table_layout);
-
+        val inflater = LayoutInflater.from(context)
+        val emptyLayout: View = inflater.inflate(R.layout.layout_empty_course_table, null)
+        adapter.setEmptyView(emptyLayout)
         mViewBinding.recyclerView.adapter = adapter
         mViewBinding.recyclerView.adapter = adapter
         mViewBinding.recyclerView.addOnItemTouchListener(object :
         mViewBinding.recyclerView.addOnItemTouchListener(object :
             RecyclerView.SimpleOnItemTouchListener() {
             RecyclerView.SimpleOnItemTouchListener() {
@@ -98,7 +101,7 @@ class CourseTableFragment :
         mViewBinding.refreshLayout.setOnRefreshListener {
         mViewBinding.refreshLayout.setOnRefreshListener {
             queryCurrentDataCourse()
             queryCurrentDataCourse()
         }
         }
-
+        mViewBinding.refreshLayout.isEnabled=false
     }
     }
 
 
     override fun initData() {
     override fun initData() {
@@ -175,11 +178,13 @@ class CourseTableFragment :
             recyclerView.removeItemDecoration(calendarExpandDecoration)
             recyclerView.removeItemDecoration(calendarExpandDecoration)
             if (recyclerView.itemDecorationCount == 0 || recyclerView.getItemDecorationAt(0) !is CalendarShrinkDecoration) {
             if (recyclerView.itemDecorationCount == 0 || recyclerView.getItemDecorationAt(0) !is CalendarShrinkDecoration) {
                 recyclerView.addItemDecoration(calendarShrinkDecoration, 0)
                 recyclerView.addItemDecoration(calendarShrinkDecoration, 0)
+                mViewBinding.refreshLayout.isEnabled=false
             }
             }
         } else {
         } else {
             recyclerView.removeItemDecoration(calendarShrinkDecoration)
             recyclerView.removeItemDecoration(calendarShrinkDecoration)
             if (recyclerView.itemDecorationCount == 0 || recyclerView.getItemDecorationAt(0) !is CalendarExpandDecoration) {
             if (recyclerView.itemDecorationCount == 0 || recyclerView.getItemDecorationAt(0) !is CalendarExpandDecoration) {
                 recyclerView.addItemDecoration(calendarExpandDecoration, 0)
                 recyclerView.addItemDecoration(calendarExpandDecoration, 0)
+                mViewBinding.refreshLayout.isEnabled=true
             }
             }
         }
         }
     }
     }
@@ -223,7 +228,7 @@ class CourseTableFragment :
         } else {
         } else {
             //show空视图
             //show空视图
             adapter?.notifyDataSetChanged()
             adapter?.notifyDataSetChanged()
-            showEmptyView()
+//            showEmptyView()
         }
         }
     }
     }
 
 

+ 2 - 0
teacher/src/main/java/com/cooleshow/teacher/ui/main/HomeFragment.kt

@@ -1,5 +1,6 @@
 package com.cooleshow.teacher.ui.main
 package com.cooleshow.teacher.ui.main
 
 
+import android.util.Log
 import android.view.View
 import android.view.View
 import com.alibaba.android.arouter.launcher.ARouter
 import com.alibaba.android.arouter.launcher.ARouter
 import com.cooleshow.base.common.WebConstants
 import com.cooleshow.base.common.WebConstants
@@ -53,6 +54,7 @@ class HomeFragment : BaseMVPFragment<FragmentHomeLayoutBinding, HomePresenter>()
 
 
 
 
     fun getTeacherInfoSuccess(teacherUserInfo: TeacherUserInfo) {
     fun getTeacherInfoSuccess(teacherUserInfo: TeacherUserInfo) {
+        Log.e("sdfafdafdad", "getTeacherInfoSuccess: " )
         if (isDetached) {
         if (isDetached) {
             return;
             return;
         }
         }

+ 20 - 5
teacher/src/main/java/com/cooleshow/teacher/ui/main/MainActivity.java

@@ -2,6 +2,7 @@ package com.cooleshow.teacher.ui.main;
 
 
 import android.os.Bundle;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.MenuItem;
 import android.view.MenuItem;
 
 
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.facade.annotation.Route;
@@ -74,28 +75,27 @@ public class MainActivity extends BaseMVPActivity<ActivityMainBinding, MainPrese
         getViewBinding().navigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
         getViewBinding().navigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
             @Override
             @Override
             public boolean onNavigationItemSelected(@NonNull MenuItem item) {
             public boolean onNavigationItemSelected(@NonNull MenuItem item) {
+
                 return onTabClick(item.getItemId());
                 return onTabClick(item.getItemId());
             }
             }
         });
         });
     }
     }
 
 
-    public void refreshUserInfo() {
-
-    }
 
 
     @Override
     @Override
     public void onBackPressed() {
     public void onBackPressed() {
         int currentItem = getViewBinding().viewPager.getCurrentItem();
         int currentItem = getViewBinding().viewPager.getCurrentItem();
         if (currentItem == 3) {
         if (currentItem == 3) {
             //商城
             //商城
-            if (null!=shopMallFragment){
+            if (null != shopMallFragment) {
                 shopMallFragment.clickBack();
                 shopMallFragment.clickBack();
             }
             }
         } else {
         } else {
             super.onBackPressed();
             super.onBackPressed();
         }
         }
     }
     }
-    public void clickBackPressed(){
+
+    public void clickBackPressed() {
         super.onBackPressed();
         super.onBackPressed();
     }
     }
 
 
@@ -130,25 +130,40 @@ public class MainActivity extends BaseMVPActivity<ActivityMainBinding, MainPrese
             }
             }
         }
         }
     }
     }
+    /*
+    上一次的tab位置
+     */
+    private int lastCurrentItemPosition = 0;
 
 
     private boolean onTabClick(int viewId) {
     private boolean onTabClick(int viewId) {
         if (viewId == R.id.menu_home) {
         if (viewId == R.id.menu_home) {
+            if (lastCurrentItemPosition!=0){
+                presenter.getTeacherUserInfo();
+            }
+            lastCurrentItemPosition=0;
             getViewBinding().viewPager.setCurrentItem(0, false);
             getViewBinding().viewPager.setCurrentItem(0, false);
             return true;
             return true;
         }
         }
         if (viewId == R.id.menu_coursetable) {
         if (viewId == R.id.menu_coursetable) {
+            lastCurrentItemPosition=1;
             getViewBinding().viewPager.setCurrentItem(1, false);
             getViewBinding().viewPager.setCurrentItem(1, false);
             return true;
             return true;
         }
         }
         if (viewId == R.id.menu_chat) {
         if (viewId == R.id.menu_chat) {
+            lastCurrentItemPosition=2;
             getViewBinding().viewPager.setCurrentItem(2, false);
             getViewBinding().viewPager.setCurrentItem(2, false);
             return true;
             return true;
         }
         }
         if (viewId == R.id.menu_mall) {
         if (viewId == R.id.menu_mall) {
+            lastCurrentItemPosition=3;
             getViewBinding().viewPager.setCurrentItem(3, false);
             getViewBinding().viewPager.setCurrentItem(3, false);
             return true;
             return true;
         }
         }
         if (viewId == R.id.menu_mine) {
         if (viewId == R.id.menu_mine) {
+            if (lastCurrentItemPosition!=4){
+                presenter.getTeacherUserInfo();
+            }
+            lastCurrentItemPosition=4;
             getViewBinding().viewPager.setCurrentItem(4, false);
             getViewBinding().viewPager.setCurrentItem(4, false);
         }
         }
         return true;
         return true;

+ 26 - 23
teacher/src/main/java/com/cooleshow/teacher/ui/message/MessageBoxActivity.java

@@ -117,10 +117,13 @@ public class MessageBoxActivity extends BaseMVPActivity<ActivityMessageBoxBindin
         messageBoxAdapter.setOnItemClickListener(new OnItemClickListener() {
         messageBoxAdapter.setOnItemClickListener(new OnItemClickListener() {
             @Override
             @Override
             public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
             public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
-                SystemMessageBean.RowsBean item = (SystemMessageBean.RowsBean) adapter.getItem(position);
-                if (item.readStatus==0){
-                    presenter.setCurrentRead(item.id);
+                if (null != adapter && null != adapter.getData() && adapter.getData().size() > position) {
+                    SystemMessageBean.RowsBean item = (SystemMessageBean.RowsBean) adapter.getItem(position);
+                    if (item.readStatus == 0) {
+                        presenter.setCurrentRead(item.id);
+                    }
                 }
                 }
+
             }
             }
         });
         });
     }
     }
@@ -216,8 +219,8 @@ public class MessageBoxActivity extends BaseMVPActivity<ActivityMessageBoxBindin
     @Override
     @Override
     public void setCurrentReadSuccess(long id) {
     public void setCurrentReadSuccess(long id) {
         for (SystemMessageBean.RowsBean rowsBean : dataList) {
         for (SystemMessageBean.RowsBean rowsBean : dataList) {
-            if (rowsBean.id==id){
-                rowsBean.readStatus=1;
+            if (rowsBean.id == id) {
+                rowsBean.readStatus = 1;
                 break;
                 break;
             }
             }
         }
         }
@@ -232,39 +235,39 @@ public class MessageBoxActivity extends BaseMVPActivity<ActivityMessageBoxBindin
 
 
     @Override
     @Override
     public void queryCountOfUnreadSuccess(List<CountOfUnreadBean> data) {
     public void queryCountOfUnreadSuccess(List<CountOfUnreadBean> data) {
-        if (null==data||data.size()==0){
+        if (null == data || data.size() == 0) {
             viewBinding.tvAllUnread.setVisibility(View.GONE);
             viewBinding.tvAllUnread.setVisibility(View.GONE);
             viewBinding.tvCourseUnread.setVisibility(View.GONE);
             viewBinding.tvCourseUnread.setVisibility(View.GONE);
             viewBinding.tvSystemUnread.setVisibility(View.GONE);
             viewBinding.tvSystemUnread.setVisibility(View.GONE);
             return;
             return;
         }
         }
-        int totalCount=0;
-        int courseCount=0;
-        int systemCount=0;
+        int totalCount = 0;
+        int courseCount = 0;
+        int systemCount = 0;
         for (CountOfUnreadBean datum : data) {
         for (CountOfUnreadBean datum : data) {
-            if (datum.key.equals("COURSE")){
-                courseCount=datum.value;
-            }else if (datum.key.equals("SYSTEM")){
-                systemCount=datum.value;
+            if (datum.key.equals("COURSE")) {
+                courseCount = datum.value;
+            } else if (datum.key.equals("SYSTEM")) {
+                systemCount = datum.value;
             }
             }
         }
         }
-        totalCount=courseCount+systemCount;
-        if (totalCount>0){
+        totalCount = courseCount + systemCount;
+        if (totalCount > 0) {
             viewBinding.tvAllUnread.setVisibility(View.VISIBLE);
             viewBinding.tvAllUnread.setVisibility(View.VISIBLE);
-            viewBinding.tvAllUnread.setText(totalCount+"");
-        }else {
+            viewBinding.tvAllUnread.setText(totalCount + "");
+        } else {
             viewBinding.tvAllUnread.setVisibility(View.GONE);
             viewBinding.tvAllUnread.setVisibility(View.GONE);
         }
         }
-        if (courseCount>0){
+        if (courseCount > 0) {
             viewBinding.tvCourseUnread.setVisibility(View.VISIBLE);
             viewBinding.tvCourseUnread.setVisibility(View.VISIBLE);
-            viewBinding.tvCourseUnread.setText(courseCount+"");
-        }else {
+            viewBinding.tvCourseUnread.setText(courseCount + "");
+        } else {
             viewBinding.tvCourseUnread.setVisibility(View.GONE);
             viewBinding.tvCourseUnread.setVisibility(View.GONE);
         }
         }
-        if (systemCount>0){
+        if (systemCount > 0) {
             viewBinding.tvSystemUnread.setVisibility(View.VISIBLE);
             viewBinding.tvSystemUnread.setVisibility(View.VISIBLE);
-            viewBinding.tvSystemUnread.setText(systemCount+"");
-        }else {
+            viewBinding.tvSystemUnread.setText(systemCount + "");
+        } else {
             viewBinding.tvSystemUnread.setVisibility(View.GONE);
             viewBinding.tvSystemUnread.setVisibility(View.GONE);
         }
         }
     }
     }

+ 8 - 9
teacher/src/main/java/com/cooleshow/teacher/ui/mine/ModifyPasswordActivity.java

@@ -23,6 +23,8 @@ import com.cooleshow.teacher.presenter.mine.ModifyPasswordPresenter;
 import org.json.JSONException;
 import org.json.JSONException;
 import org.json.JSONObject;
 import org.json.JSONObject;
 
 
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Timer;
 import java.util.Timer;
 import java.util.TimerTask;
 import java.util.TimerTask;
 
 
@@ -50,15 +52,12 @@ public class ModifyPasswordActivity extends BaseMVPActivity<ActivityModifyPasswo
                     ToastUtils.showShort("请输入验证码");
                     ToastUtils.showShort("请输入验证码");
                     break;
                     break;
                 }
                 }
-                JSONObject jsonObjectC = new JSONObject();
-                try {
-                    jsonObjectC.putOpt("mobile", phoneNum);
-                    jsonObjectC.putOpt("authCode", authCode);
-                    jsonObjectC.putOpt("newPassword", password);
-                } catch (JSONException e) {
-                    e.printStackTrace();
-                }
-                presenter.updatePassword(jsonObjectC.toString());
+
+                Map<String, String> params = new HashMap<>();
+                params.put("mobile",phoneNum);
+                params.put("authCode",authCode);
+                params.put("newPassword",password);
+                presenter.updatePassword(params);
                 break;
                 break;
             case R.id.tv_get_auth_code:
             case R.id.tv_get_auth_code:
                 JSONObject jsonObject = new JSONObject();
                 JSONObject jsonObject = new JSONObject();

+ 15 - 10
teacher/src/main/java/com/cooleshow/teacher/ui/mine/PersonalSettingActivity.java

@@ -17,6 +17,7 @@ import androidx.core.content.FileProvider;
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.router.RouterPath;
+import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.usercenter.helper.UserHelper;
 import com.cooleshow.usercenter.helper.UserHelper;
 import com.cooleshow.usercenter.ui.activity.BaseMVPActivity;
 import com.cooleshow.usercenter.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.utils.ActivityUtils;
 import com.cooleshow.base.utils.ActivityUtils;
@@ -48,7 +49,7 @@ import io.rong.imkit.utils.StatusBarUtil;
  */
  */
 @Route(path = RouterPath.MineCenter.MINE_PERSONAL_SETTING)
 @Route(path = RouterPath.MineCenter.MINE_PERSONAL_SETTING)
 public class PersonalSettingActivity extends BaseMVPActivity<ActivityPersonalSettingBinding, PersonalSettingPresenter> implements PersonalSettingContract.PersonalSettingView, View.OnClickListener {
 public class PersonalSettingActivity extends BaseMVPActivity<ActivityPersonalSettingBinding, PersonalSettingPresenter> implements PersonalSettingContract.PersonalSettingView, View.OnClickListener {
-    private SetDetailBean mySetDetailBean;
+    private TeacherUserInfo mySetDetailBean;
     private final int MODIFY_NICKNAME = 1001;
     private final int MODIFY_NICKNAME = 1001;
     private final int MODIFY_PHONE = 1002;
     private final int MODIFY_PHONE = 1002;
     private final int PERSONAL_CERTIFICATION = 1003;
     private final int PERSONAL_CERTIFICATION = 1003;
@@ -88,8 +89,10 @@ public class PersonalSettingActivity extends BaseMVPActivity<ActivityPersonalSet
                         .navigation();
                         .navigation();
                 break;
                 break;
             case R.id.cl_certification:
             case R.id.cl_certification:
-                ARouter.getInstance().build(RouterPath.MineCenter.MINE_PERSONAL_CERTIFICATION)
-                        .navigation(this, PERSONAL_CERTIFICATION);
+                if (viewBinding.tvCertificationStatus.getText().equals("未认证")) {
+                    ARouter.getInstance().build(RouterPath.MineCenter.MINE_PERSONAL_CERTIFICATION)
+                            .navigation(this, PERSONAL_CERTIFICATION);
+                }
                 break;
                 break;
 
 
         }
         }
@@ -248,7 +251,6 @@ public class PersonalSettingActivity extends BaseMVPActivity<ActivityPersonalSet
     @Override
     @Override
     public void initData() {
     public void initData() {
         super.initData();
         super.initData();
-        presenter.getSetDetail();
     }
     }
 
 
     @Override
     @Override
@@ -262,11 +264,11 @@ public class PersonalSettingActivity extends BaseMVPActivity<ActivityPersonalSet
     }
     }
 
 
     @Override
     @Override
-    public void getSetDetailSuccess(SetDetailBean setDetailBean) {
+    public void getSetDetailSuccess(TeacherUserInfo setDetailBean) {
         mySetDetailBean = setDetailBean;
         mySetDetailBean = setDetailBean;
-        GlideUtils.INSTANCE.loadImage(this, setDetailBean.avatar, viewBinding.imHeader, R.drawable.icon_teacher_default_head);
+        GlideUtils.INSTANCE.loadImage(this, setDetailBean.heardUrl, viewBinding.imHeader, R.drawable.icon_teacher_default_head);
         viewBinding.tvNickname.setText(setDetailBean.username);
         viewBinding.tvNickname.setText(setDetailBean.username);
-        if (setDetailBean.gender == 0) {
+        if (!TextUtils.isEmpty(setDetailBean.gender)&&setDetailBean.gender .equals("0")) {
             //女
             //女
             viewBinding.tvSex.setText("女");
             viewBinding.tvSex.setText("女");
         } else {
         } else {
@@ -274,7 +276,7 @@ public class PersonalSettingActivity extends BaseMVPActivity<ActivityPersonalSet
             viewBinding.tvSex.setText("男");
             viewBinding.tvSex.setText("男");
         }
         }
         viewBinding.tvPhone.setText(setDetailBean.phone);
         viewBinding.tvPhone.setText(setDetailBean.phone);
-        if (setDetailBean.real) {
+        if (setDetailBean.isReal==1) {
             //是
             //是
             viewBinding.tvCertificationStatus.setText("已认证");
             viewBinding.tvCertificationStatus.setText("已认证");
         } else {
         } else {
@@ -285,8 +287,6 @@ public class PersonalSettingActivity extends BaseMVPActivity<ActivityPersonalSet
 
 
     @Override
     @Override
     public void submitSetDetailSuccess(SetDetailBean setDetailBean) {
     public void submitSetDetailSuccess(SetDetailBean setDetailBean) {
-        mySetDetailBean.gender = setDetailBean.gender;
-        mySetDetailBean.avatar = setDetailBean.avatar;
         if (setDetailBean.gender == 0) {
         if (setDetailBean.gender == 0) {
             //女
             //女
             viewBinding.tvSex.setText("女");
             viewBinding.tvSex.setText("女");
@@ -299,7 +299,12 @@ public class PersonalSettingActivity extends BaseMVPActivity<ActivityPersonalSet
 
 
 
 
     }
     }
+    @Override
+    protected void onResume() {
+        super.onResume();
+        presenter.getSetDetail();
 
 
+    }
     @Override
     @Override
     public void upLoadImageSuccess(String url) {
     public void upLoadImageSuccess(String url) {
         hideLoading();
         hideLoading();

+ 25 - 0
teacher/src/main/res/drawable-v23/bg_splash.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <shape>
+            <gradient
+                android:angle="270"
+                android:endColor="#FFFFFF"
+                android:startColor="#FFFFFF" />
+        </shape>
+    </item>
+
+    <item android:gravity="bottom"
+        android:bottom="@dimen/dp_179">
+
+        <bitmap android:src="@drawable/bg_icon_splash" />
+    </item>
+    <item
+        android:width="@dimen/dp_115"
+        android:height="@dimen/dp_34"
+        android:bottom="@dimen/dp_100"
+        android:gravity="bottom|center_horizontal">
+        <bitmap android:src="@drawable/icon_splash_logo" />
+    </item>
+
+</layer-list>

+ 0 - 30
teacher/src/main/res/drawable-v24/ic_launcher_foreground.xml

@@ -1,30 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:aapt="http://schemas.android.com/aapt"
-    android:width="108dp"
-    android:height="108dp"
-    android:viewportHeight="108"
-    android:viewportWidth="108">
-    <path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
-        <aapt:attr name="android:fillColor">
-            <gradient
-                android:endX="85.84757"
-                android:endY="92.4963"
-                android:startX="42.9492"
-                android:startY="49.59793"
-                android:type="linear">
-                <item
-                    android:color="#44000000"
-                    android:offset="0.0" />
-                <item
-                    android:color="#00000000"
-                    android:offset="1.0" />
-            </gradient>
-        </aapt:attr>
-    </path>
-    <path
-        android:fillColor="#FFFFFF"
-        android:fillType="nonZero"
-        android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
-        android:strokeColor="#00000000"
-        android:strokeWidth="1" />
-</vector>

二进制
teacher/src/main/res/drawable-xhdpi/bg_icon_splash.png


二进制
teacher/src/main/res/drawable-xhdpi/bg_splash.png


二进制
teacher/src/main/res/drawable-xhdpi/icon_empty_course_table.png


二进制
teacher/src/main/res/drawable-xxhdpi/bg_icon_splash.png


二进制
teacher/src/main/res/drawable-xxhdpi/bg_splash.png


二进制
teacher/src/main/res/drawable-xxhdpi/icon_empty_course_table.png


+ 14 - 1
teacher/src/main/res/layout/activity_home_page_layout.xml

@@ -93,10 +93,12 @@
 
 
     <LinearLayout
     <LinearLayout
         android:id="@+id/ll_subject_container"
         android:id="@+id/ll_subject_container"
-        android:layout_width="wrap_content"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginTop="8dp"
         android:layout_marginTop="8dp"
         android:orientation="horizontal"
         android:orientation="horizontal"
+        android:layout_marginLeft="@dimen/dp_80"
+        android:layout_marginRight="@dimen/dp_30"
         app:layout_constraintLeft_toLeftOf="@+id/tv_nickname"
         app:layout_constraintLeft_toLeftOf="@+id/tv_nickname"
         app:layout_constraintTop_toBottomOf="@+id/tv_nickname" />
         app:layout_constraintTop_toBottomOf="@+id/tv_nickname" />
 
 
@@ -108,9 +110,20 @@
         android:layout_marginTop="20dp"
         android:layout_marginTop="20dp"
         android:numStars="5"
         android:numStars="5"
         android:rating="0"
         android:rating="0"
+        android:isIndicator="true"
         android:stepSize="1"
         android:stepSize="1"
         app:layout_constraintLeft_toLeftOf="@+id/iv_avatar"
         app:layout_constraintLeft_toLeftOf="@+id/iv_avatar"
         app:layout_constraintTop_toBottomOf="@+id/iv_avatar" />
         app:layout_constraintTop_toBottomOf="@+id/iv_avatar" />
+    <TextView
+        android:id="@+id/tv_no_score"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:textSize="@dimen/sp_13"
+        android:layout_marginTop="20dp"
+        android:visibility="gone"
+        app:layout_constraintLeft_toLeftOf="@+id/iv_avatar"
+        app:layout_constraintTop_toBottomOf="@+id/iv_avatar"
+        android:text="暂无评分"/>
 
 
     <LinearLayout
     <LinearLayout
         android:id="@+id/ll_fans"
         android:id="@+id/ll_fans"

+ 1 - 0
teacher/src/main/res/layout/activity_modify_password.xml

@@ -62,6 +62,7 @@
             android:hint="请输入验证码"
             android:hint="请输入验证码"
             android:inputType="number"
             android:inputType="number"
             android:paddingLeft="14dp"
             android:paddingLeft="14dp"
+            android:maxLength="6"
             android:paddingRight="14dp"
             android:paddingRight="14dp"
             android:textColor="@color/color_1a1a1a"
             android:textColor="@color/color_1a1a1a"
             android:textColorHint="@color/color_999999"
             android:textColorHint="@color/color_999999"

+ 2 - 0
teacher/src/main/res/layout/fragment_course_table_layout.xml

@@ -3,6 +3,7 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
+    android:background="@color/color_f6f8f9"
     android:layout_height="match_parent">
     android:layout_height="match_parent">
 
 
     <View
     <View
@@ -104,6 +105,7 @@
                 android:id="@+id/recyclerView"
                 android:id="@+id/recyclerView"
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:layout_height="match_parent"
+                android:background="@color/color_f6f8f9"
                 android:overScrollMode="never"
                 android:overScrollMode="never"
                 android:scrollbars="none" />
                 android:scrollbars="none" />
         </com.haibin.calendarview.CalendarLayout>
         </com.haibin.calendarview.CalendarLayout>

+ 50 - 0
teacher/src/main/res/layout/fragment_mine_video_course.xml

@@ -25,4 +25,54 @@
             android:overScrollMode="never"
             android:overScrollMode="never"
             android:scrollbars="none" />
             android:scrollbars="none" />
     </com.scwang.smart.refresh.layout.SmartRefreshLayout>
     </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/cl_empty_live_flag"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
+
+
+        <ImageView
+            android:id="@+id/im_empty_logo"
+            android:layout_width="@dimen/dp_260"
+            android:layout_height="@dimen/dp_230"
+            android:layout_marginTop="8dp"
+            android:background="@drawable/icon_empty_mine_course"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/tv_empty_hint"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="14dp"
+            android:gravity="center"
+            android:lineSpacingExtra="4dp"
+            android:text="您还没有完成老师认证\n认证后才可创建直播课哦~"
+            android:textColor="@color/color_999999"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/im_empty_logo" />
+
+        <TextView
+            android:id="@+id/tv_open"
+            android:layout_width="@dimen/dp_196"
+            android:layout_height="@dimen/dp_44"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginTop="25dp"
+            android:background="@drawable/shape_course_status_ing"
+            android:gravity="center"
+            android:text="去认证"
+            android:textColor="@color/white"
+            android:textSize="@dimen/sp_14"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tv_empty_hint" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
 </androidx.constraintlayout.widget.ConstraintLayout>
 </androidx.constraintlayout.widget.ConstraintLayout>

+ 32 - 0
teacher/src/main/res/layout/layout_empty_course_table.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+
+    <ImageView
+        android:id="@+id/im_empty_logo"
+        android:layout_width="@dimen/dp_130"
+        android:layout_height="@dimen/dp_115"
+        android:layout_marginTop="8dp"
+        android:background="@drawable/icon_empty_course_table"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <TextView
+        android:id="@+id/tv_empty_hint"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:lineSpacingExtra="4dp"
+        android:text="暂无预约课程"
+        android:textSize="@dimen/sp_16"
+        android:textColor="@color/color_999999"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/im_empty_logo" />
+
+
+</androidx.constraintlayout.widget.ConstraintLayout>

二进制
teacher/src/main/res/mipmap-hdpi/ic_launcher.png


二进制
teacher/src/main/res/mipmap-mdpi/ic_launcher.png


二进制
teacher/src/main/res/mipmap-xhdpi/ic_launcher.png


二进制
teacher/src/main/res/mipmap-xxhdpi/ic_launcher.png


二进制
teacher/src/main/res/mipmap-xxxhdpi/ic_launcher.png


+ 1 - 1
teacher/src/main/res/values/strings.xml

@@ -1,5 +1,5 @@
 <resources>
 <resources>
-    <string name="app_name">酷乐秀学院</string>
+    <string name="app_name">酷乐秀</string>
     <string name="menu_home">首页</string>
     <string name="menu_home">首页</string>
     <string name="menu_course_table">课表</string>
     <string name="menu_course_table">课表</string>
     <string name="menu_chat">聊天</string>
     <string name="menu_chat">聊天</string>

+ 1 - 1
usercenter/src/main/java/com/cooleshow/usercenter/helper/PhoneCheckHelper.java

@@ -21,7 +21,7 @@ public class PhoneCheckHelper {
             ToastUtils.showShort("请重新输入密码");
             ToastUtils.showShort("请重新输入密码");
             return false;
             return false;
         }
         }
-        if (!TextUtils.equals(pwd,pwd)) {
+        if (!TextUtils.equals(pwd,pwdAgain)) {
             ToastUtils.showShort("两次输入密码不一样,请重新输入");
             ToastUtils.showShort("两次输入密码不一样,请重新输入");
             return false;
             return false;
         }
         }

+ 3 - 3
usercenter/src/main/res/layout/activity_bind_pwd_layout.xml

@@ -44,17 +44,17 @@
 
 
 
 
     <EditText
     <EditText
-        android:textSize="@dimen/sp_16"
         android:id="@+id/et_pwd"
         android:id="@+id/et_pwd"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="@dimen/common_line_height"
         android:layout_height="@dimen/common_line_height"
         android:layout_marginStart="35dp"
         android:layout_marginStart="35dp"
         android:layout_marginEnd="35dp"
         android:layout_marginEnd="35dp"
         android:background="@null"
         android:background="@null"
-        android:inputType="textPassword"
         android:digits="@string/input_support"
         android:digits="@string/input_support"
         android:hint="@string/please_input_pwd2"
         android:hint="@string/please_input_pwd2"
+        android:inputType="textPassword"
         android:textColorHint="@color/color_ffc1c1c1"
         android:textColorHint="@color/color_ffc1c1c1"
+        android:textSize="@dimen/sp_16"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintTop_toBottomOf="@+id/tv_phone_num" />
         app:layout_constraintTop_toBottomOf="@+id/tv_phone_num" />
@@ -83,7 +83,6 @@
         app:layout_constraintTop_toBottomOf="@+id/view_phone_divide" />
         app:layout_constraintTop_toBottomOf="@+id/view_phone_divide" />
 
 
     <EditText
     <EditText
-        android:textSize="@dimen/sp_16"
         android:id="@+id/et_pwd_again"
         android:id="@+id/et_pwd_again"
         android:layout_width="0dp"
         android:layout_width="0dp"
         android:layout_height="@dimen/common_line_height"
         android:layout_height="@dimen/common_line_height"
@@ -94,6 +93,7 @@
         android:inputType="textPassword"
         android:inputType="textPassword"
         android:paddingLeft="@dimen/common_padding_small"
         android:paddingLeft="@dimen/common_padding_small"
         android:textColorHint="@color/color_ffc1c1c1"
         android:textColorHint="@color/color_ffc1c1c1"
+        android:textSize="@dimen/sp_16"
         app:layout_constraintLeft_toLeftOf="@+id/et_pwd"
         app:layout_constraintLeft_toLeftOf="@+id/et_pwd"
         app:layout_constraintRight_toRightOf="@+id/et_pwd"
         app:layout_constraintRight_toRightOf="@+id/et_pwd"
         app:layout_constraintTop_toBottomOf="@+id/tv_password_num" />
         app:layout_constraintTop_toBottomOf="@+id/tv_password_num" />