JumpUtils.java 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. package com.cooleshow.base.utils;
  2. import android.text.TextUtils;
  3. import android.util.Log;
  4. import com.alibaba.android.arouter.launcher.ARouter;
  5. import com.cooleshow.base.bean.RouteBean;
  6. import com.cooleshow.base.common.BaseApplication;
  7. import com.cooleshow.base.common.WebConstants;
  8. import com.cooleshow.base.constanst.Constants;
  9. import com.cooleshow.base.constanst.RouteConstants;
  10. import com.cooleshow.base.router.RouterPath;
  11. import org.json.JSONObject;
  12. /**
  13. * Author by pq, Date on 2022/6/29.
  14. */
  15. public class JumpUtils {
  16. public static final String ACTION_H5 = "h5";
  17. public static final String ACTION_APP = "app";
  18. public static boolean jump(RouteBean routeBean) {
  19. if (routeBean == null) {
  20. return false;
  21. }
  22. try {
  23. String action = routeBean.action;
  24. if (TextUtils.equals(action, ACTION_APP)) {
  25. //跳转原生页面
  26. Log.i("pq", "routeBean tag:" + routeBean.pageTag);
  27. if (!TextUtils.isEmpty(routeBean.pageTag)) {
  28. if (TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_BUY_PRACTICE) || TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_COURSE_REMIND)) {
  29. //购买陪练课,跳转首页课表
  30. ARouter.getInstance().build(RouterPath.APPCenter.PATH_HOME)
  31. .withInt(Constants.MAIN_PAGE_SELECT_POTION_KEY, 1)
  32. .navigation();
  33. return true;
  34. }
  35. if (TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_PRACTICE_CLASS)) {
  36. //我的课表 -> 陪练课
  37. ARouter.getInstance().build(RouterPath.CourseCenter.TEACHER_MINE_COURSE)
  38. .navigation();
  39. return true;
  40. }
  41. if (TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_LIVE_CLASS)) {
  42. //我的课表 -> 直播课
  43. ARouter.getInstance().build(RouterPath.CourseCenter.TEACHER_MINE_COURSE)
  44. .withInt("selectPosition",1)
  45. .navigation();
  46. return true;
  47. }
  48. if (TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_VIDEO_CLASS)) {
  49. //我的课表 -> 视频课
  50. ARouter.getInstance().build(RouterPath.CourseCenter.TEACHER_MINE_COURSE)
  51. .withInt("selectPosition",2)
  52. .navigation();
  53. return true;
  54. }
  55. if (TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_EVALUATE)) {
  56. //跳转评价页面
  57. if (BaseApplication.Companion.isTeacherClient()) {
  58. ARouter.getInstance().build(RouterPath.CommentCenter.TEACHER_RECEIVED_COMMENT)
  59. .navigation();
  60. return true;
  61. }
  62. }
  63. if (TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_HOMEWORK)) {
  64. //原生跳作业详情页面
  65. if (BaseApplication.Companion.isTeacherClient()) {
  66. //老师端 区分琴房课和陪练课
  67. String params = routeBean.params;
  68. if (!TextUtils.isEmpty(params)) {
  69. String courseId = getParams(params, "courseId");
  70. String studentId = getParams(params, "studentId");
  71. if (!TextUtils.isEmpty(courseId) && !TextUtils.isEmpty(studentId)) {
  72. ARouter.getInstance().build(RouterPath.WorkCenter.TEACHER_WORK_ASSIGN_HOMEWORK)
  73. .withString("course_id", courseId)
  74. .withString("student_id", studentId)
  75. .navigation();
  76. return true;
  77. }
  78. }
  79. } else {
  80. //学生端直接跳作业详情页面
  81. String params = routeBean.params;
  82. if (!TextUtils.isEmpty(params)) {
  83. String courseId = getParams(params, "courseId");
  84. if (!TextUtils.isEmpty(courseId)) {
  85. ARouter.getInstance().build(RouterPath.WorkCenter.STUDENT_HOMEWORK_DETAIL)
  86. .withString("course_id", courseId)
  87. .navigation();
  88. return true;
  89. }
  90. }
  91. }
  92. }
  93. if (TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_MESSAGE)) {
  94. //消息页面
  95. ARouter.getInstance().build(RouterPath.MessageCenter.TEACHER_MESSAGE_MESSAGEBOX)
  96. .navigation();
  97. return true;
  98. }
  99. if (TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_MUSIC_SHEET)) {
  100. //我的乐谱
  101. if (BaseApplication.Companion.isTeacherClient()) {
  102. ARouter.getInstance().build(RouterPath.ScoreCenter.TEACHER_MINE_SCORE)
  103. .navigation();
  104. return true;
  105. }
  106. }
  107. if (TextUtils.equals(routeBean.pageTag, RouteConstants.PAGE_TAG_LIVE_ROOM)) {
  108. //跳转直播间
  109. if (!BaseApplication.Companion.isTeacherClient()) {
  110. String liveRoomId = getParams(routeBean.params, "liveRoomId");
  111. Log.i("pq", "routeBean liveRoomId:" + liveRoomId);
  112. if (TextUtils.isEmpty(liveRoomId)) {
  113. return false;
  114. }
  115. ARouter.getInstance().build(RouterPath.LiveCenter.ACTIVITY_LIVE_ROOM)
  116. .withString("roomid_key", liveRoomId)
  117. .navigation();
  118. return true;
  119. }
  120. }
  121. }
  122. } else {
  123. //跳转H5页面
  124. if (TextUtils.isEmpty(routeBean.url)) {
  125. return false;
  126. }
  127. ARouter.getInstance()
  128. .build(RouterPath.WebCenter.ACTIVITY_HTML)
  129. .withString(WebConstants.WEB_URL, routeBean.url)
  130. .navigation();
  131. return true;
  132. }
  133. } catch (Exception e) {
  134. e.printStackTrace();
  135. }
  136. return false;
  137. }
  138. private static String getParams(String paramsJson, String key) {
  139. try {
  140. paramsJson.replace("\\", "");
  141. JSONObject jsonObject = new JSONObject(paramsJson);
  142. return jsonObject.optString(key);
  143. } catch (Exception e) {
  144. e.printStackTrace();
  145. }
  146. return "";
  147. }
  148. /**
  149. * 跳转首页,选中目标页面
  150. *
  151. * @param selectPosition
  152. */
  153. public static void jumpMain(int selectPosition) {
  154. ARouter.getInstance().build(RouterPath.APPCenter.PATH_HOME)
  155. .withInt(Constants.MAIN_PAGE_SELECT_POTION_KEY, selectPosition)
  156. .navigation();
  157. }
  158. }