首页UI修改

This commit is contained in:
huangjian
2023-03-17 15:50:50 +08:00
parent 3642ae2748
commit deac16a90a
16 changed files with 185 additions and 60 deletions

View File

@@ -209,9 +209,9 @@ object HomeModel : BaseModel() {
api.getServiceGiftRecord()
}
suspend fun getNewFriendList(): List<UserInfo>? =
suspend fun getNewFriendList(gender: Int?): List<UserInfo>? =
launchRequest {
api.getNewFriendList()
api.getNewFriendList(gender)
}
private interface Api {
@@ -288,7 +288,6 @@ object HomeModel : BaseModel() {
suspend fun getPlayRoom(): ServiceResult<List<HomeRoomInfo>>
/**
* 首页资源位
*
@@ -464,7 +463,7 @@ object HomeModel : BaseModel() {
* @return
*/
@GET("/home/newFriend")
suspend fun getNewFriendList(): ServiceResult<List<UserInfo>>
suspend fun getNewFriendList(@Query("gender") gender: Int?): ServiceResult<List<UserInfo>>
}
}

View File

@@ -16,6 +16,7 @@ import com.bumptech.glide.request.FutureTarget;
import com.bumptech.glide.request.target.Target;
import com.netease.nim.uikit.support.glide.GlideApp;
import com.nnbc123.core.DemoCache;
import com.nnbc123.core.auth.event.LogoutEvent;
import com.nnbc123.core.base.BaseModel;
import com.nnbc123.core.bean.response.ServiceResult;
import com.nnbc123.core.certification.CertificationModel;
@@ -53,6 +54,7 @@ import io.reactivex.Single;
import io.reactivex.SingleOnSubscribe;
import io.reactivex.SingleSource;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Action;
import io.reactivex.functions.Function;
import io.reactivex.schedulers.Schedulers;
@@ -107,6 +109,7 @@ public class InitialModel extends BaseModel implements IInitialModel {
@Nullable
private InitInfo cacheInitInfo;
private Disposable heartbeatDisposable;
private InitialModel() {
api = RxNet.create(Api.class);
@@ -201,11 +204,11 @@ public class InitialModel extends BaseModel implements IInitialModel {
api.init()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()).doFinally(new Action() {
@Override
public void run() {
requesting = false;
}
})
@Override
public void run() {
requesting = false;
}
})
.flatMap((Function<ServiceResult<InitInfo>, SingleSource<InitInfo>>) initInfoServiceResult -> {
if (initInfoServiceResult.isSuccess() && initInfoServiceResult.getData() != null) {
CurrentTimeUtils.initTime(initInfoServiceResult.getTimestamp());
@@ -435,9 +438,15 @@ public class InitialModel extends BaseModel implements IInitialModel {
startApp();
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onLogoutEvent(LogoutEvent event) {
if (heartbeatDisposable != null) heartbeatDisposable.dispose();
}
@Override
public void heartbeat() {
Observable.timer(30, TimeUnit.SECONDS)
if (heartbeatDisposable != null) heartbeatDisposable.dispose();
heartbeatDisposable = Observable.timer(30, TimeUnit.SECONDS)
.flatMap(aLong -> api.heartbeat())
.subscribeOn(Schedulers.io())
.doFinally(this::heartbeat)