Browse Source

增加推送跳转

Pq 8 months ago
parent
commit
e90125d5f2

+ 1 - 0
BaseLibrary/src/main/java/com/cooleshow/base/constanst/Constants.java

@@ -25,6 +25,7 @@ public class Constants {
 
 
     public static final String MAIN_PAGE_SELECT_POTION_KEY = "select_position";
+    public static final String SELECT_POSITION = "selectPosition";
 
     public static final String MAIN_PAGE_SELECT_CHILD_POTION_KEY = "select_child_position";
     public static final String ON_LIVING_TAG = "1";//1是直播中, 0否

+ 14 - 12
BaseLibrary/src/main/java/com/cooleshow/base/constanst/RouteConstants.java

@@ -5,16 +5,18 @@ package com.cooleshow.base.constanst;
  * 路由跳转原生页面标记集合
  */
 public class RouteConstants {
-    public static final String CLIENT_TENANT_TAG="TENANT";//学生端-机构端标记
-    public static final String PAGE_TAG_HOMEWORK="homework";//原生跳作业详情页面
-    public static final String PAGE_TAG_COURSE_REMIND="courseRemind";//原生直接跳课表
-    public static final String PAGE_TAG_BUY_PRACTICE="buyPractice";//购买陪练课->跳转首页课表
-    public static final String PAGE_TAG_EVALUATE="evaluate";//评价页面
-    public static final String PAGE_TAG_MESSAGE="message";//消息页面
-    public static final String PAGE_TAG_MUSIC_SHEET="musicSheet";//我的乐谱
-    public static final String PAGE_TAG_LIVE_ROOM="liveRoom";//直播间
-    public static final String PAGE_TAG_PRACTICE_CLASS="practiceClass";//我的课表 -> 陪练课
-    public static final String PAGE_TAG_LIVE_CLASS="liveClass";//我的课表 -> 直播课
-    public static final String PAGE_TAG_VIDEO_CLASS="videoClass";//我的课表 -> 视频课
-    public static final String PAGE_TAG_FEEDBACK="feedback";//意见反馈列表
+    public static final String CLIENT_TENANT_TAG = "TENANT";//学生端-机构端标记
+    public static final String PAGE_TAG_HOMEWORK = "homework";//原生跳作业详情页面
+    public static final String PAGE_TAG_COURSE_REMIND = "courseRemind";//原生直接跳课表
+    public static final String PAGE_TAG_BUY_PRACTICE = "buyPractice";//购买陪练课->跳转首页课表
+    public static final String PAGE_TAG_EVALUATE = "evaluate";//评价页面
+    public static final String PAGE_TAG_MESSAGE = "message";//消息页面
+    public static final String PAGE_TAG_MUSIC_SHEET = "musicSheet";//我的乐谱
+    public static final String PAGE_TAG_LIVE_ROOM = "liveRoom";//直播间
+    public static final String PAGE_TAG_PRACTICE_CLASS = "practiceClass";//我的课表 -> 陪练课
+    public static final String PAGE_TAG_LIVE_CLASS = "liveClass";//我的课表 -> 直播课
+    public static final String PAGE_TAG_VIDEO_CLASS = "videoClass";//我的课表 -> 视频课
+    public static final String PAGE_TAG_VIP_CLASS = "vipClass";//我的课程-VIP课
+    public static final String PAGE_TAG_FEEDBACK = "feedback";//意见反馈列表
+    public static final String PAGE_TAG_COURSE_PLAN = "coursePlan";//课程规划->课程详情
 }

+ 44 - 2
BaseLibrary/src/main/java/com/cooleshow/base/utils/JumpUtils.java

@@ -47,9 +47,18 @@ public class JumpUtils {
                         return true;
                     }
 
+                    if (TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_VIP_CLASS)) {
+                        //我的课表 -> 陪练课
+                        ARouter.getInstance().build(RouterPath.CourseCenter.TEACHER_MINE_COURSE)
+                                .withInt(Constants.SELECT_POSITION, 0)
+                                .navigation();
+                        return true;
+                    }
+
                     if (TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_PRACTICE_CLASS)) {
                         //我的课表 -> 陪练课
                         ARouter.getInstance().build(RouterPath.CourseCenter.TEACHER_MINE_COURSE)
+                                .withInt(Constants.SELECT_POSITION, 1)
                                 .navigation();
                         return true;
                     }
@@ -57,7 +66,7 @@ public class JumpUtils {
                     if (TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_LIVE_CLASS)) {
                         //我的课表 -> 直播课
                         ARouter.getInstance().build(RouterPath.CourseCenter.TEACHER_MINE_COURSE)
-                                .withInt("selectPosition", 1)
+                                .withInt(Constants.SELECT_POSITION, 2)
                                 .navigation();
                         return true;
                     }
@@ -65,7 +74,7 @@ public class JumpUtils {
                     if (TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_VIDEO_CLASS)) {
                         //我的课表 -> 视频课
                         ARouter.getInstance().build(RouterPath.CourseCenter.TEACHER_MINE_COURSE)
-                                .withInt("selectPosition", 2)
+                                .withInt(Constants.SELECT_POSITION, 3)
                                 .navigation();
                         return true;
                     }
@@ -148,6 +157,14 @@ public class JumpUtils {
                                 .navigation();
                         return true;
                     }
+
+                    if (TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_COURSE_PLAN)) {
+                        //对应的课程详情
+                        String courseType = getParams(routeBean.params, "courseType");
+                        String courseGroupId = getParams(routeBean.params, "courseGroupId");
+                        goCourseGroupDetailByCourseType(courseGroupId,courseType);
+                        return true;
+                    }
                 }
             } else {
                 //跳转H5页面
@@ -167,6 +184,31 @@ public class JumpUtils {
         return false;
     }
 
+    private static void goCourseGroupDetailByCourseType(String courseGroupID,String courseType) {
+        //VIP课课程组详情
+        if (TextUtils.equals(courseType, Constants.VIP_COURSE_TAG)) {
+            ARouter.getInstance().build(RouterPath.CourseCenter.VIP_COURSE_GROUP_DETAIL)
+                    .withString("course_group_id", courseGroupID)
+                    .navigation();
+            return;
+        }
+        //趣纠课课程组详情
+        if (TextUtils.equals(courseType, Constants.INTEREST_COURSE_TAG)) {
+            ARouter.getInstance().build(RouterPath.CourseCenter.VIP_COURSE_GROUP_DETAIL)
+                    .withString("course_group_id", courseGroupID)
+                    .withString(Constants.COMMON_EXTRA_KEY, Constants.INTEREST_COURSE_TAG)
+                    .navigation();
+            return;
+        }
+        //琴房课课程组详情
+        if (TextUtils.equals(courseType, Constants.PIANO_COURSE_TAG)) {
+            ARouter.getInstance().build(RouterPath.CourseCenter.PIANO_COURSE_GROUP_DETAIL)
+                    .withString("course_group_id", courseGroupID)
+                    .navigation();
+            return;
+        }
+    }
+
     private static String getParams(String paramsJson, String key) {
         try {
             paramsJson.replace("\\", "");

+ 3 - 2
student/src/main/java/com/cooleshow/student/ui/course/MineCourseActivity.java

@@ -13,6 +13,7 @@ import androidx.viewpager2.widget.ViewPager2;
 
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.cooleshow.base.bean.CourseTipBean;
+import com.cooleshow.base.constanst.Constants;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
@@ -40,7 +41,7 @@ import java.util.List;
  */
 @Route(path = RouterPath.CourseCenter.TEACHER_MINE_COURSE)
 public class MineCourseActivity extends BaseMVPActivity<ActivityMineCourseBinding, MineCoursePresenter> implements MineCourseContract.MineCourseView, View.OnClickListener {
-    public static final String SELECT_POSITION = "selectPosition";
+
     private TabLayout tabLayout;
     private ViewPager2 viewPager;
     private List<String> titles = new ArrayList<String>(Arrays.asList("VIP定制课","趣纠课", "直播课", "视频课", "琴房课"));
@@ -87,7 +88,7 @@ public class MineCourseActivity extends BaseMVPActivity<ActivityMineCourseBindin
         super.initData();
         initListener();
         initCourseTipData();
-        int selectPosition = getIntent().getIntExtra(SELECT_POSITION, -1);
+        int selectPosition = getIntent().getIntExtra(Constants.SELECT_POSITION, -1);
         TabLayoutMediator tabLayoutMediator = new TabLayoutMediator(viewBinding.tablayout, viewBinding.viewPager, (tab, position) -> {
             //这里需要根据position修改tab的样式和文字等
             createTab(tab, titles.get(position));

+ 2 - 2
teacher/src/main/java/com/cooleshow/teacher/ui/course/MineCourseActivity.java

@@ -10,6 +10,7 @@ import android.widget.TextView;
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.cooleshow.base.bean.CourseTipBean;
+import com.cooleshow.base.constanst.Constants;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
@@ -38,7 +39,6 @@ import androidx.viewpager2.widget.ViewPager2;
  */
 @Route(path = RouterPath.CourseCenter.TEACHER_MINE_COURSE)
 public class MineCourseActivity extends BaseMVPActivity<ActivityMineCourseLayoutBinding, MineCoursePresenter> implements MineCourseContract.MineCourseView, View.OnClickListener {
-    public static final String SELECT_POSITION = "selectPosition";
     private List<String> titles = new ArrayList<String>(Arrays.asList("VIP定制课", "趣纠课", "直播课", "视频课", "琴房课"));
     private ArrayList<Fragment> mFragments = new ArrayList<>();
     private LiveCourseGroupFragment mLiveCourseFragment;
@@ -76,7 +76,7 @@ public class MineCourseActivity extends BaseMVPActivity<ActivityMineCourseLayout
         super.initData();
         initListener();
         initCourseTipData();
-        int selectPosition = getIntent().getIntExtra(SELECT_POSITION, -1);
+        int selectPosition = getIntent().getIntExtra(Constants.SELECT_POSITION, -1);
 
         TabLayoutMediator tabLayoutMediator = new TabLayoutMediator(viewBinding.tablayout, viewBinding.viewPager, (tab, position) -> {
             //这里需要根据position修改tab的样式和文字等