From ca3580ad28a614b45fac64af9305ee58fc784325 Mon Sep 17 00:00:00 2001 From: lzl <1239365383@qq.com> Date: Mon, 22 Dec 2025 11:04:53 +0800 Subject: [PATCH] =?UTF-8?q?77=20=20=E5=8A=A0=E5=85=A5=E6=88=BF=E9=97=B4?= =?UTF-8?q?=E5=89=8D=E5=88=A4=E6=96=AD=E4=B8=8A=E4=B8=80=E4=B8=AA=E6=88=BF?= =?UTF-8?q?=E9=97=B4=E6=98=AF=E5=90=A6=E6=B8=B8=E6=88=8F=E4=B8=AD=EF=BC=8C?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E4=B8=8A=E4=BC=A0=E5=90=8E=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E4=B9=8B=E5=89=8D=E7=9A=84=E6=97=A5=E5=BF=97=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../moduleutil/base/CommonAppContext.java | 4 +- .../bean/BeforeJoinRoomCheckBean.kt | 8 +++ .../com/xscm/moduleutil/http/ApiServer.java | 3 ++ .../xscm/moduleutil/http/RetrofitClient.java | 23 +++++++++ .../com/xscm/moduleutil/widget/Constants.java | 1 + .../java/com/xscm/modulemain/Application.kt | 7 +++ .../room/fragment/RoomKtvFragment.java | 3 +- .../room/presenter/RoomPresenter.java | 18 +++++++ .../user/presenter/SettingPresenter.java | 11 ++++ .../xscm/modulemain/manager/RoomManager.java | 51 +++++++++++++++---- .../com/qxcm/qxlive/LaunchPageActivity.java | 2 +- 11 files changed, 116 insertions(+), 15 deletions(-) create mode 100644 BaseModule/src/main/java/com/xscm/moduleutil/bean/BeforeJoinRoomCheckBean.kt diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java b/BaseModule/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java index 4c6614b6..063c476d 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java @@ -133,6 +133,8 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio @Getter public UnreadCountEvent unreadCountEvent; + public static int statusRelease = 11; + @Override public void onCreate() { super.onCreate(); @@ -161,7 +163,7 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio //设置mqtt环境 false 测试环境 true 正式环境 // ExternalResConstants.INSTANCE.setIS_MQTT_RELEASE(false); //设置http环境 false 测试环境 true 正式环境 - ExternalResConstants.INSTANCE.setIS_HTTP_RELEASE(true); + ExternalResConstants.INSTANCE.setIS_HTTP_RELEASE(statusRelease == 1); currentEnvironment = ExternalResConstants.INSTANCE.HTTP_PATH(); initialization(); diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/bean/BeforeJoinRoomCheckBean.kt b/BaseModule/src/main/java/com/xscm/moduleutil/bean/BeforeJoinRoomCheckBean.kt new file mode 100644 index 00000000..5bc65e22 --- /dev/null +++ b/BaseModule/src/main/java/com/xscm/moduleutil/bean/BeforeJoinRoomCheckBean.kt @@ -0,0 +1,8 @@ +package com.xscm.moduleutil.bean + +import java.io.Serializable + +class BeforeJoinRoomCheckBean :Serializable { + var room_id:String? = null + var msg:String? = null +} \ No newline at end of file diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/http/ApiServer.java b/BaseModule/src/main/java/com/xscm/moduleutil/http/ApiServer.java index 74e2d8aa..147e9fd1 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/http/ApiServer.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/http/ApiServer.java @@ -498,6 +498,9 @@ public interface ApiServer { @FormUrlEncoded @POST(Constants.JOIN_ROOM) Call> roomGetIn(@Field("room_id") String roomId, @Field("password") String password); + @FormUrlEncoded + @POST(Constants.BEFORE_JOIN_ROOM_CHECK) + Call> beforeJoinRoomCheck(@Field("room_id") String roomId); @FormUrlEncoded @POST(Constants.TASK_JUMP_ROOM) diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java b/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java index 3aaa676f..9d0b43e6 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java @@ -2322,6 +2322,29 @@ public class RetrofitClient { }); } + public void beforeJoinRoomCheck(String roomId, BaseObserver observer) { + sApiServer.beforeJoinRoomCheck(roomId).enqueue(new Callback>() { + + @Override + public void onResponse(Call> call, Response> response) { + if (response.code() == 200) { + BaseModel beforeJoinRoomCheckBeanBaseModel = response.body(); + if (beforeJoinRoomCheckBeanBaseModel.getCode() == 202) { + observer.onNext(beforeJoinRoomCheckBeanBaseModel.getData()); + }else { + observer.onNext(new BeforeJoinRoomCheckBean()); + } + } + } + + @Override + public void onFailure(Call> call, Throwable t) { + + } + }); + } + + public void taskJumpRoomId(String taskId, BaseObserver observer) { sApiServer.taskJumpRoomId(taskId).enqueue(new Callback>() { diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/widget/Constants.java b/BaseModule/src/main/java/com/xscm/moduleutil/widget/Constants.java index 35f6b6ce..270e20c8 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/widget/Constants.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/widget/Constants.java @@ -260,6 +260,7 @@ public class Constants { public static final String GET_DECORATE = "/api/Decorate/user_decorate";//装扮详情 public static final String SET_USER_DECORATE = "/api/Decorate/set_user_decorate";//用户装扮 public static final String JOIN_ROOM = "/api/Room/join_room";//加入房间 + public static final String BEFORE_JOIN_ROOM_CHECK = "/api/Room/before_join_room_check";//加入房间前检查 public static final String TASK_JUMP_ROOM = "/api/Room/task_jump_room";//师徒任务 加入房间 public static final String UPDATEPASSWORD = "/api/room/setRoomPassword";//更新房间秘密啊 diff --git a/MainModule/src/main/java/com/xscm/modulemain/Application.kt b/MainModule/src/main/java/com/xscm/modulemain/Application.kt index dce0360b..27abd9d6 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/Application.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/Application.kt @@ -288,5 +288,12 @@ open class Application : CommonAppContext() { return APP_CONTENT } + fun getAppLogPath(): String { + return LOGUTILS_SAVE_PATH + } + + fun getAppCrashPath(): String { + return CRASHUTILS_SAVE_PATH + } } \ No newline at end of file diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomKtvFragment.java b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomKtvFragment.java index 5bf1220d..cafe4c10 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomKtvFragment.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomKtvFragment.java @@ -111,12 +111,11 @@ public class RoomKtvFragment extends BaseMvpFragment implements R // TODO: 2025/6/10 加入房间 @Override public void getRoomIn(String roomId, String password) { + RetrofitClient.getInstance().beforeJoinRoomCheck(roomId, new BaseObserver() { + @Override + public void onSubscribe(Disposable d) { + } + + @Override + public void onNext(BeforeJoinRoomCheckBean beforeJoinRoomCheckBean) { + if (beforeJoinRoomCheckBean.getRoom_id() == null || beforeJoinRoomCheckBean.getRoom_id().equals("")) { + joinRoom(roomId, password); + }else { + queren(beforeJoinRoomCheckBean.getRoom_id(), beforeJoinRoomCheckBean.getMsg()); + } + } + }); + } + + private void joinRoom(String roomId, String password){ api.roomGetIn(roomId, password, new BaseObserver() { @Override public void onSubscribe(Disposable d) { diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/user/presenter/SettingPresenter.java b/MainModule/src/main/java/com/xscm/modulemain/activity/user/presenter/SettingPresenter.java index 81f8c04b..37cccd55 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/user/presenter/SettingPresenter.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/user/presenter/SettingPresenter.java @@ -109,6 +109,14 @@ public class SettingPresenter extends BasePresenter impleme boolean isZip = ZipUtils.zipFile(Application.Companion.getInstance().getAppContent(), file.getParent() + "/DataInfo.zip"); if (isZip) { + File fileLog = new File(Application.Companion.getInstance().getAppLogPath()); + File fileCrash = new File(Application.Companion.getInstance().getAppCrashPath()); + if (FileUtils.isFileExists(fileLog)) { + FileUtils.delete(fileLog); + } + if (FileUtils.isFileExists(fileCrash)) { + FileUtils.delete(fileCrash); + } emitter.onNext(file.getParent() + "/DataInfo.zip"); } else { emitter.onNext(""); @@ -144,6 +152,9 @@ public class SettingPresenter extends BasePresenter impleme public void onNext(String s) { MvpRef.get().disLoadings(); ToastUtils.showShort(s); + + + } }); } diff --git a/MainModule/src/main/java/com/xscm/modulemain/manager/RoomManager.java b/MainModule/src/main/java/com/xscm/modulemain/manager/RoomManager.java index babfaec3..dd015264 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/manager/RoomManager.java +++ b/MainModule/src/main/java/com/xscm/modulemain/manager/RoomManager.java @@ -19,6 +19,7 @@ import com.xscm.modulemain.activity.room.activity.RoomActivity; import com.xscm.modulemain.activity.user.activity.DailyTasksActivity; import com.xscm.modulemain.activity.user.activity.MyRoomActivity; import com.xscm.moduleutil.base.CommonAppContext; +import com.xscm.moduleutil.bean.BeforeJoinRoomCheckBean; import com.xscm.moduleutil.bean.room.RoomInfoResp; import com.xscm.moduleutil.bean.room.RoomOnline; import com.xscm.moduleutil.bean.room.RoomOnlineBean; @@ -77,17 +78,27 @@ public class RoomManager { * @param password 房间密码 */ public void fetchRoomDataAndEnter(Context context, String roomId, String password, String taskId) { + RetrofitClient.getInstance().beforeJoinRoomCheck(roomId, new BaseObserver() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(BeforeJoinRoomCheckBean beforeJoinRoomCheckBean) { + if (beforeJoinRoomCheckBean.getRoom_id() == null || beforeJoinRoomCheckBean.getRoom_id().equals("")) { + joinRoom(context, roomId, password, taskId); + }else { + queren(beforeJoinRoomCheckBean.getRoom_id(), beforeJoinRoomCheckBean.getMsg()); + } + } + }); + } + + private void joinRoom(Context context, String roomId, String password, String taskId) { this.taskId=taskId; this.context=context; - - - // 显示加载提示 - // 这里可以根据需要添加加载对话框 -// if (CommonAppContext.getInstance().isRoomJoininj) { -// return; -// } -// CommonAppContext.getInstance().isRoomJoininj = true; // 检查是否有有效的缓存数据 RoomInfoResp roomInfo = getCachedRoomData(roomId); //加入房间 @@ -116,6 +127,7 @@ public class RoomManager { } } + private void upInfo(Context context, String roomId, String password, boolean isOnline, RoomInfoResp roomInfo, boolean isCurrentRoom, String taskId) { if (isOnline) { RetrofitClient.getInstance().postRoomInfo(roomId, new BaseObserver() { @@ -396,15 +408,32 @@ public class RoomManager { new ConfirmDialog(ActivityUtils.getTopActivity(), "提示", msg, - CommonAppContext.getInstance().playId.equals(roomId) ?"":"去上一个房间", - CommonAppContext.getInstance().playId.equals(roomId) ?"取消":"在想想", + isCurrRoom(roomId) ?"":"去上一个房间", + isCurrRoom(roomId) ?"取消":"在想想", v -> { - MessageListenerSingleton.getInstance().joinGroup(roomId); +// MessageListenerSingleton.getInstance().joinGroup(roomId); // 点击“确认”按钮时执行删除操作 fetchAndJoinRoom(ActivityUtils.getTopActivity(),roomId,"",taskId); }, v -> { + if (ActivityUtils.getTopActivity() instanceof MainActivity){ + ((MainActivity) ActivityUtils.getTopActivity()).isShowLoading(false); + }else if (ActivityUtils.getTopActivity() instanceof MyRoomActivity){ + ((MyRoomActivity) ActivityUtils.getTopActivity()).isShowLoading(false); + } else if (ActivityUtils.getTopActivity() instanceof DailyTasksActivity){ + ((DailyTasksActivity) ActivityUtils.getTopActivity()).isShowLoading(false); + } // 点击“取消”按钮时什么都不做 }, false, 0).show(); } + + private boolean isCurrRoom(String roomId){ + if(CommonAppContext.getInstance().playId == null) { + return false; + }else if (CommonAppContext.getInstance().playId.equals(roomId)){ + return true; + }else { + return false; + } + } } diff --git a/app/src/main/java/com/qxcm/qxlive/LaunchPageActivity.java b/app/src/main/java/com/qxcm/qxlive/LaunchPageActivity.java index c5b8c22a..0773ab6a 100644 --- a/app/src/main/java/com/qxcm/qxlive/LaunchPageActivity.java +++ b/app/src/main/java/com/qxcm/qxlive/LaunchPageActivity.java @@ -221,7 +221,7 @@ public class LaunchPageActivity extends BaseMvpActivity