TRTC支持个播跨房PK
This commit is contained in:
@@ -678,7 +678,8 @@
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.webview.CommonWebViewActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="adjustPan"/>
|
||||
<activity
|
||||
android:name=".ui.webview.SimpleWebViewActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
@@ -1177,9 +1178,11 @@
|
||||
android:label="一键登录"
|
||||
android:launchMode="singleTask"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
android:name=".ui.webview.DialogWebViewActivity"
|
||||
android:theme="@style/dialog_web_view_activity" />
|
||||
android:theme="@style/dialog_web_view_activity"
|
||||
android:windowSoftInputMode="adjustPan"/>
|
||||
|
||||
<activity
|
||||
android:name=".ui.webview.DatingRuleWebViewActivity"
|
||||
|
@@ -29,9 +29,12 @@ import com.yizhuan.erban.ui.widget.recyclerview.decoration.ColorDecoration;
|
||||
import com.yizhuan.erban.ui.widget.recyclerview.layoutmanager.FullyGridLayoutManager;
|
||||
import com.yizhuan.erban.vip.VipBroadcastDialog;
|
||||
import com.yizhuan.tutu.room_chat.activity.RoomInviteFansActivity;
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.RoomPkBean;
|
||||
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
|
||||
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
|
||||
import com.yizhuan.xchat_android_core.redpackage.RedPackageModel;
|
||||
import com.yizhuan.xchat_android_core.room.anotherroompk.SingleRoomPKModel;
|
||||
import com.yizhuan.xchat_android_core.room.bean.RoomInfo;
|
||||
import com.yizhuan.xchat_android_core.room.giftvalue.GiftValueModel;
|
||||
import com.yizhuan.xchat_android_core.room.model.AvRoomModel;
|
||||
@@ -41,6 +44,7 @@ import com.yizhuan.xchat_android_core.statistic.StatisticManager;
|
||||
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
|
||||
import com.yizhuan.xchat_android_core.super_admin.model.SuperAdminModel;
|
||||
import com.yizhuan.xchat_android_core.super_admin.util.SuperAdminUtil;
|
||||
import com.yizhuan.xchat_android_core.utils.CurrentTimeUtils;
|
||||
import com.yizhuan.xchat_android_core.utils.net.DontWarnObserver;
|
||||
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
|
||||
import com.yizhuan.xchat_android_library.utils.SingleToastUtil;
|
||||
@@ -222,13 +226,30 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((AvRoomDataManager.get().isRoomOwner() || AvRoomDataManager.get().isSuperAdmin()) &&
|
||||
!AvRoomDataManager.get().isCpRoom()) {
|
||||
final RoomPkBean pkBean = AvRoomDataManager.get().roomPkLiveData.getValue();
|
||||
if (AvRoomDataManager.get().isRoomOwner() && !AvRoomDataManager.get().isCpRoom()) {
|
||||
String str = AvRoomDataManager.get().isOpenAnotherPKMode() ? "主播PK中" : "主播PK";
|
||||
if (pkBean != null) {
|
||||
if (pkBean.getPkState() == 2 &&
|
||||
(pkBean.getWinUid() == 0 ||
|
||||
pkBean.getWinUid() == AuthModel.get().getCurrentUid() ||
|
||||
pkBean.getPenaltyEndTime() < CurrentTimeUtils.getCurrentTime())) {
|
||||
str = "结束PK";
|
||||
}
|
||||
}
|
||||
int icon = AvRoomDataManager.get().isOpenAnotherPKMode() ?
|
||||
R.drawable.ic_room_opt_single_pk_in :
|
||||
R.drawable.ic_room_opt_single_pk_open :
|
||||
R.drawable.ic_room_opt_single_pk_in;
|
||||
String finalStr = str;
|
||||
optAdapter.addData(new OptAction(icon, str, () -> {
|
||||
if (pkBean != null && "结束PK".equals(finalStr)) {
|
||||
SingleRoomPKModel.INSTANCE
|
||||
.endSingleRoomPk(pkBean.getRoundId())
|
||||
.doOnSuccess(s -> SingleToastUtil.showToast("结束PK成功!"))
|
||||
.doOnError(throwable -> SingleToastUtil.showToast(throwable.getMessage()))
|
||||
.subscribe();
|
||||
return;
|
||||
}
|
||||
|
||||
if (AvRoomDataManager.get().isOpenAnotherPKMode()) {
|
||||
SingleToastUtil.showToast("正在和主播PK中...");
|
||||
|
@@ -41,9 +41,8 @@ class SingleRoomPKBoardView @JvmOverloads constructor(
|
||||
|
||||
init {
|
||||
addView(binding.root, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)
|
||||
AvRoomDataManager.get().roomPkLiveData.observeForever(observer)
|
||||
binding.viewRankListContributeRight.showCharmStyle()
|
||||
|
||||
AvRoomDataManager.get().roomPkLiveData.observeForever(observer)
|
||||
binding.ivFindHim.setOnClickListener {
|
||||
roomPkBean?.let {
|
||||
AVRoomActivity.start(context, it.aUid)
|
||||
|
BIN
app/src/main/res/drawable-xhdpi/ic_room_opt_single_pk_open.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_room_opt_single_pk_open.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.1 KiB |
@@ -162,6 +162,18 @@ public class AudioEngineManager {
|
||||
return this.iAudioEngine != null && this.iAudioEngine.isEnableLoopBack();
|
||||
}
|
||||
|
||||
public void connectOtherRoom(String roomId,long userUid){
|
||||
if (iAudioEngine != null) {
|
||||
iAudioEngine.connectOtherRoom(roomId, userUid);
|
||||
}
|
||||
}
|
||||
|
||||
public void disconnectOtherRoom() {
|
||||
if (iAudioEngine != null){
|
||||
iAudioEngine.disconnectOtherRoom();
|
||||
}
|
||||
}
|
||||
|
||||
//音乐播放相关---------------begin--------------------------
|
||||
public void adjustAudioMixingVolume(int volume) {
|
||||
if (this.iAudioEngine == null) return;
|
||||
|
@@ -34,6 +34,10 @@ public interface IAudioEngine {
|
||||
|
||||
boolean isEnableLoopBack();
|
||||
|
||||
void connectOtherRoom(String roomId, long userUid);
|
||||
|
||||
void disconnectOtherRoom();
|
||||
|
||||
//音乐播放相关---------------begin--------------------------
|
||||
void adjustAudioMixingVolume(int volume);
|
||||
|
||||
|
@@ -1222,6 +1222,10 @@ public final class IMNetEaseManager {
|
||||
case CUSTOM_MSG_SUB_ROOM_PK_ACCEPT:
|
||||
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_ACCEPT:
|
||||
noticeRoomEvent(msg, RoomEvent.ROOM_PK_ACCEPT);
|
||||
if (second == CUSTOM_MSG_SUB_SINGLE_ROOM_PK_ACCEPT &&
|
||||
AuthModel.get().getCurrentUid() == roomPkBean.getInviteUid()) {
|
||||
AudioEngineManager.get().connectOtherRoom(String.valueOf(roomPkBean.getARoomId()), roomPkBean.getAUid());
|
||||
}
|
||||
break;
|
||||
case CUSTOM_MSG_SUB_ROOM_PK_REFUSE:
|
||||
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_REFUSE:
|
||||
@@ -1235,10 +1239,19 @@ public final class IMNetEaseManager {
|
||||
AvRoomDataManager.get().roomPkLiveData.postValue(roomPkBean);
|
||||
break;
|
||||
case CUSTOM_MSG_SUB_ROOM_PK_FINISH:
|
||||
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_FINISH:
|
||||
noticeRoomEvent(msg, RoomEvent.ROOM_PK_FINISH);
|
||||
AvRoomDataManager.get().roomPkLiveData.postValue(null);
|
||||
break;
|
||||
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_FINISH:
|
||||
AvRoomDataManager.get().roomPkLiveData.postValue(null);
|
||||
break;
|
||||
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_RESULT:
|
||||
noticeRoomEvent(msg, RoomEvent.ROOM_PK_FINISH);
|
||||
AvRoomDataManager.get().roomPkLiveData.postValue(roomPkBean);
|
||||
if (AuthModel.get().getCurrentUid() == roomPkBean.getCUid()) {
|
||||
AudioEngineManager.get().disconnectOtherRoom();
|
||||
}
|
||||
break;
|
||||
case CUSTOM_MSG_SUB_ROOM_PK_NOTIFY:
|
||||
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_NOTIFY:
|
||||
noticeRoomEvent(msg, RoomEvent.ROOM_PK_NOTIFY);
|
||||
@@ -1650,7 +1663,6 @@ public final class IMNetEaseManager {
|
||||
if (curRoomInfo == null) return;
|
||||
noticeEnterMessages();
|
||||
|
||||
if (curRoomInfo != null) {
|
||||
long uid = AuthModel.get().getCurrentUid();
|
||||
if (curRoomInfo.getUid() == uid) {
|
||||
StatisticManager.Instance().onEventStart(BasicConfig.INSTANCE.getAppContext(),
|
||||
@@ -1660,7 +1672,6 @@ public final class IMNetEaseManager {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_ROOM_LIST_LABEL,
|
||||
"区分房间标签:" + curRoomInfo.getRoomTag());
|
||||
|
||||
}
|
||||
//进入房间时长
|
||||
StatisticManager.Instance().onEventStart(BasicConfig.INSTANCE.getAppContext(),
|
||||
StatisticsProtocol.Event.EVENT_ROOM_LENGTH_OF_STAY_TIME, "在房间内停留时长");
|
||||
@@ -1668,7 +1679,7 @@ public final class IMNetEaseManager {
|
||||
//进入房间次数
|
||||
Map<String, String> attributes = new HashMap<>(2);
|
||||
attributes.put("userUid", AuthModel.get().getCurrentUid() + "");
|
||||
attributes.put("roomUid", curRoomInfo != null ? curRoomInfo.getUid() + "" : "0");
|
||||
attributes.put("roomUid", curRoomInfo.getUid() + "");
|
||||
StatisticManager.Instance().onEvent(
|
||||
BasicConfig.INSTANCE.getAppContext(),
|
||||
StatisticsProtocol.Event.EVENT_ENTER_ROOM_COUNT,
|
||||
@@ -1943,18 +1954,9 @@ public final class IMNetEaseManager {
|
||||
}
|
||||
|
||||
if (AvRoomDataManager.get().isOwner(chatRoomMember.getAccount())) {
|
||||
if (!roomQueueInfo.mRoomMicInfo.isMicMute()) {
|
||||
//开麦
|
||||
AudioEngineManager.get().setRole(Constants.CLIENT_ROLE_BROADCASTER);
|
||||
//是否需要开麦
|
||||
if (AvRoomDataManager.get().mIsNeedOpenMic) {
|
||||
//闭麦
|
||||
AudioEngineManager.get().setMute(true);
|
||||
AvRoomDataManager.get().mIsNeedOpenMic = true;
|
||||
}
|
||||
} else {
|
||||
AudioEngineManager.get().setRole(Constants.CLIENT_ROLE_AUDIENCE);
|
||||
}
|
||||
AudioEngineManager.get().setMute(roomQueueInfo.mRoomMicInfo.isMicMute() || AvRoomDataManager.get().mIsNeedOpenMic);
|
||||
}
|
||||
noticeUpMic(Integer.parseInt(key), chatRoomMember.getAccount());
|
||||
}
|
||||
|
@@ -141,6 +141,15 @@ public class RtcEngineManager extends BaseEngine {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void connectOtherRoom(String roomId, long userUid) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disconnectOtherRoom() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRemoteMute(long uid, boolean mute) {
|
||||
Logger.t(TAG).d("setRemoteMute uid:%s mute:%s", uid, mute);
|
||||
|
@@ -350,6 +350,14 @@ public class TRTCEngineAdapter extends BaseAdapterImpl {
|
||||
TRTCEngineAdapterListener.onLeaveChannel(lastStats);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSwitchRole(int errCode, String errMsg) {
|
||||
Log.d(TAG, "errCode=" + errCode + " errMsg=" + errMsg);
|
||||
TRTCEngineAdapterListener.onClientRoleChanged(
|
||||
userRole == TRTCRoleAnchor ? CLIENT_ROLE_AUDIENCE : CLIENT_ROLE_BROADCASTER,
|
||||
userRole == TRTCRoleAnchor ? CLIENT_ROLE_BROADCASTER : CLIENT_ROLE_AUDIENCE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUserVoiceVolume(ArrayList<TRTCCloudDef.TRTCVolumeInfo> userVolumes, int totalVolume) {
|
||||
int userCount = userVolumes.size();
|
||||
@@ -973,7 +981,7 @@ public class TRTCEngineAdapter extends BaseAdapterImpl {
|
||||
public int setClientRole(int role) {
|
||||
if (role == CLIENT_ROLE_BROADCASTER) {
|
||||
userRole = TRTCRoleAnchor;
|
||||
if (!TRtcEngineManager.get().isMute){
|
||||
if (!TRtcEngineManager.get().isMute) {
|
||||
trtcCloud.startLocalAudio();
|
||||
}
|
||||
} else if (role == CLIENT_ROLE_AUDIENCE) {
|
||||
|
@@ -6,6 +6,8 @@ import android.os.Message;
|
||||
import com.orhanobut.logger.Logger;
|
||||
import com.tencent.bugly.crashreport.CrashReport;
|
||||
import com.tencent.trtc.TRTCCloudDef;
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.RoomPkBean;
|
||||
import com.yizhuan.xchat_android_core.manager.AudioEngineManager;
|
||||
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
|
||||
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
|
||||
import com.yizhuan.xchat_android_core.manager.RoomEvent;
|
||||
@@ -205,6 +207,14 @@ public class TRtcEngineEventHandler implements IRTCEngineHandler {
|
||||
//角色切换 麦克风切换
|
||||
if (newRole == Constants.CLIENT_ROLE_BROADCASTER) {
|
||||
TRtcEngineManager.get().setMute(TRtcEngineManager.get().isMute);
|
||||
if (AvRoomDataManager.get().isRoomOwner() &&
|
||||
AvRoomDataManager.get().isSingleRoom() &&
|
||||
AvRoomDataManager.get().isOpenAnotherPKMode()) {
|
||||
RoomPkBean pkBean = AvRoomDataManager.get().roomPkLiveData.getValue();
|
||||
if (pkBean != null) {
|
||||
AudioEngineManager.get().connectOtherRoom(String.valueOf(pkBean.getARoomId()), pkBean.getAUid());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -72,7 +72,8 @@ public class TRtcEngineHandler extends Handler {
|
||||
// 如果麦上没有自己,并且自己在说话,要把自己变成听众
|
||||
AudioEngineManager.get().setRole(Constants.CLIENT_ROLE_AUDIENCE);
|
||||
} else if (micPosition == Integer.MIN_VALUE &&
|
||||
uid != AuthModel.get().getCurrentUid()) {
|
||||
uid != AuthModel.get().getCurrentUid() &&
|
||||
!(AvRoomDataManager.get().isSingleRoom() && AvRoomDataManager.get().isOpenAnotherPKMode())) {
|
||||
// 如果麦上没有这个人,要把他静音
|
||||
AudioEngineManager.get().setRemoteMute(uid, true);
|
||||
}
|
||||
|
@@ -12,6 +12,8 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.orhanobut.logger.Logger;
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.RoomPkBean;
|
||||
import com.yizhuan.xchat_android_core.manager.AudioEngineManager;
|
||||
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
|
||||
import com.yizhuan.xchat_android_core.manager.BaseEngine;
|
||||
import com.yizhuan.xchat_android_core.music.db.bean.LocalMusicBean;
|
||||
@@ -29,16 +31,12 @@ import io.agora.rtc.Constants;
|
||||
*/
|
||||
public class TRtcEngineManager extends BaseEngine {
|
||||
public static String TAG = TRtcEngineManager.class.getSimpleName();
|
||||
@Nullable
|
||||
public TRTCEngineAdapter mRtcEngine;
|
||||
@NonNull
|
||||
public final Handler mRtcEngineHandler = new TRtcEngineHandler();
|
||||
@NonNull
|
||||
public final TRtcEngineEventHandler mEngineEventHandler = new TRtcEngineEventHandler();
|
||||
|
||||
private static final class Helper {
|
||||
private static final TRtcEngineManager INSTANCE = new TRtcEngineManager();
|
||||
}
|
||||
@Nullable
|
||||
public TRTCEngineAdapter mRtcEngine;
|
||||
|
||||
private TRtcEngineManager() {
|
||||
super();
|
||||
@@ -53,7 +51,7 @@ public class TRtcEngineManager extends BaseEngine {
|
||||
Logger.t(TAG).d("enterChannel channelId:%d", channelId);
|
||||
if (mRtcEngine == null) {
|
||||
try {
|
||||
mRtcEngine = TRTCEngineAdapter.create(BasicConfig.INSTANCE.getAppContext(),String.valueOf(SDKConfig.TX_SDKAPPID), mEngineEventHandler);
|
||||
mRtcEngine = TRTCEngineAdapter.create(BasicConfig.INSTANCE.getAppContext(), String.valueOf(SDKConfig.TX_SDKAPPID), mEngineEventHandler);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(
|
||||
"NEED TO check rtc sdk init fatal error\n" + Log.getStackTraceString(e));
|
||||
@@ -102,7 +100,6 @@ public class TRtcEngineManager extends BaseEngine {
|
||||
setMute(isMute);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public synchronized void leaveChannel() {
|
||||
Logger.t(TAG).d("leaveChannel ");
|
||||
@@ -138,6 +135,20 @@ public class TRtcEngineManager extends BaseEngine {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void connectOtherRoom(String roomId, long userUid) {
|
||||
if (mRtcEngine != null) {
|
||||
mRtcEngine.ConnectOtherRoom(String.format("{\"strRoomId\":\"%s\",\"userId\":\"%s\"}", roomId, userUid));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disconnectOtherRoom() {
|
||||
if (mRtcEngine != null) {
|
||||
mRtcEngine.DisconnectOtherRoom();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRemoteMute(long uid, boolean mute) {
|
||||
Logger.t(TAG).d("setRemoteMute uid:%s mute:%s", uid, mute);
|
||||
@@ -257,7 +268,6 @@ public class TRtcEngineManager extends BaseEngine {
|
||||
return mRtcEngine.getAudioMixingDuration();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setChatRoomOnlineStatus(boolean status) {
|
||||
|
||||
@@ -267,4 +277,8 @@ public class TRtcEngineManager extends BaseEngine {
|
||||
public void setASMRMode(boolean enable) {
|
||||
|
||||
}
|
||||
|
||||
private static final class Helper {
|
||||
private static final TRtcEngineManager INSTANCE = new TRtcEngineManager();
|
||||
}
|
||||
}
|
||||
|
@@ -349,6 +349,15 @@ public class ZegoEngineManager extends BaseEngine {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void connectOtherRoom(String roomId, long userUid) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disconnectOtherRoom() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void playStreamIdByUid(long uid, boolean play) {
|
||||
for (String streamId : playStreamIdSet) {
|
||||
|
@@ -414,8 +414,9 @@ public class CustomAttachment implements MsgAttachment {
|
||||
public static final int CUSTOM_MSG_SUB_SINGLE_ROOM_PK_REFUSE = 838;// 个播pk拒绝邀请
|
||||
public static final int CUSTOM_MSG_SUB_SINGLE_ROOM_PK_ACCEPT = 839;// 个播pk接受邀请
|
||||
public static final int CUSTOM_MSG_SUB_SINGLE_ROOM_PK_UPDATE = 8310;// 个播pk面板更新消息
|
||||
public static final int CUSTOM_MSG_SUB_SINGLE_ROOM_PK_FINISH = 8311;// 个播pk结束通知
|
||||
public static final int CUSTOM_MSG_SUB_SINGLE_ROOM_PK_RESULT = 8311;// 个播pk结果通知
|
||||
public static final int CUSTOM_MSG_SUB_SINGLE_ROOM_PK_NOTIFY = 8312;// 个播pk结束触发的飘屏通知
|
||||
public static final int CUSTOM_MSG_SUB_SINGLE_ROOM_PK_FINISH = 8313;// 个播pk结束通知
|
||||
|
||||
/**
|
||||
* 贵族
|
||||
|
@@ -51,6 +51,8 @@ public class RoomPkBean implements Serializable {
|
||||
|
||||
//当前方房主uid
|
||||
private long cUid;
|
||||
//当前方房主roomId
|
||||
private long cRoomId;
|
||||
//当前方房主头像
|
||||
private String cAvatar;
|
||||
//当前方房间名称
|
||||
@@ -66,6 +68,8 @@ public class RoomPkBean implements Serializable {
|
||||
|
||||
//另一方方房主uid
|
||||
private long aUid;
|
||||
//另一方方房主roomId
|
||||
private long aRoomId;
|
||||
//另一方房主头像
|
||||
private String aAvatar;
|
||||
//另一方房间名称
|
||||
|
@@ -33,7 +33,7 @@ object SingleRoomPKModel {
|
||||
operateUid: Long,
|
||||
playDesc: String?
|
||||
): Single<String> {
|
||||
return api.initiateRoomPK(acceptUid, duration, inviteUid, operateUid,2, playDesc)
|
||||
return api.initiateRoomPK(acceptUid, duration, inviteUid, operateUid, 2, playDesc)
|
||||
.compose(RxHelper.handleSchAndExce())
|
||||
.compose(RxHelper.handleStringData())
|
||||
}
|
||||
@@ -73,7 +73,7 @@ object SingleRoomPKModel {
|
||||
pageNum: Int,
|
||||
pageSize: Int
|
||||
): Single<List<SimpleRoomInfo>> {
|
||||
return api.searchPermitRoom(erbanNo,roomUid, pageNum, pageSize)
|
||||
return api.searchPermitRoom(erbanNo, roomUid, pageNum, pageSize)
|
||||
.compose(RxHelper.handleSchAndExce())
|
||||
.compose(RxHelper.handleBeanData())
|
||||
}
|
||||
@@ -93,6 +93,21 @@ object SingleRoomPKModel {
|
||||
.compose(RxHelper.handleBeanData())
|
||||
}
|
||||
|
||||
/**
|
||||
* 结束跨房PK
|
||||
*
|
||||
* @param roundId roundId
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
fun endSingleRoomPk(
|
||||
roundId: String
|
||||
): Single<String> {
|
||||
return api.endSingleRoomPk(roundId)
|
||||
.compose(RxHelper.handleSchAndExce())
|
||||
.compose(RxHelper.handleStringData())
|
||||
}
|
||||
|
||||
private interface Api {
|
||||
/**
|
||||
* 发起挑战
|
||||
@@ -149,6 +164,18 @@ object SingleRoomPKModel {
|
||||
@Field("roomUid") roomUid: Long?
|
||||
): Single<ServiceResult<RoomPkBean>>
|
||||
|
||||
/**
|
||||
*
|
||||
* 结束跨房PK
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@FormUrlEncoded
|
||||
@POST("/crossroompkround/endSingleRoomPk")
|
||||
fun endSingleRoomPk(
|
||||
@Field("roundId") roundId: String?
|
||||
): Single<ServiceResult<String>>
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user