mirror of
https://github.com/jwdeveloper/TikTokLiveJava.git
synced 2026-02-28 01:09:40 -05:00
Test application
This commit is contained in:
@@ -5,14 +5,14 @@ import io.github.jwdeveloper.tiktok.handlers.TikTokEventHandler;
|
||||
import io.github.jwdeveloper.tiktok.http.TikTokApiService;
|
||||
import io.github.jwdeveloper.tiktok.live.ConnectionState;
|
||||
import io.github.jwdeveloper.tiktok.live.LiveClient;
|
||||
import io.github.jwdeveloper.tiktok.live.LiveMeta;
|
||||
import io.github.jwdeveloper.tiktok.live.TikTokLiveMeta;
|
||||
import io.github.jwdeveloper.tiktok.live.LiveRoomInfo;
|
||||
import io.github.jwdeveloper.tiktok.live.TikTokRoomInfo;
|
||||
import io.github.jwdeveloper.tiktok.websocket.TikTokWebsocketClient;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class TikTokLiveClient implements LiveClient {
|
||||
private final TikTokLiveMeta meta;
|
||||
private final TikTokRoomInfo meta;
|
||||
private final TikTokGiftManager giftManager;
|
||||
private final TikTokApiService apiClient;
|
||||
private final TikTokWebsocketClient webSocketClient;
|
||||
@@ -21,7 +21,7 @@ public class TikTokLiveClient implements LiveClient {
|
||||
private final Logger logger;
|
||||
|
||||
|
||||
public TikTokLiveClient(TikTokLiveMeta tikTokLiveMeta,
|
||||
public TikTokLiveClient(TikTokRoomInfo tikTokLiveMeta,
|
||||
TikTokApiService tikTokApiService,
|
||||
TikTokWebsocketClient webSocketClient,
|
||||
TikTokGiftManager tikTokGiftManager,
|
||||
@@ -38,28 +38,25 @@ public class TikTokLiveClient implements LiveClient {
|
||||
|
||||
|
||||
|
||||
public void run() {
|
||||
tryConnect();
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
if (!meta.hasConnectionState(ConnectionState.CONNECTED)) {
|
||||
return;
|
||||
}
|
||||
disconnect();
|
||||
setState(ConnectionState.DISCONNECTED);
|
||||
}
|
||||
|
||||
public void tryConnect() {
|
||||
public void connect() {
|
||||
try {
|
||||
connect();
|
||||
tryConnect();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
setState(ConnectionState.DISCONNECTED);
|
||||
}
|
||||
}
|
||||
|
||||
public void connect() {
|
||||
public void disconnect() {
|
||||
if (!meta.hasConnectionState(ConnectionState.CONNECTED)) {
|
||||
return;
|
||||
}
|
||||
webSocketClient.stop();
|
||||
setState(ConnectionState.DISCONNECTED);
|
||||
}
|
||||
|
||||
|
||||
public void tryConnect() {
|
||||
if (meta.hasConnectionState(ConnectionState.CONNECTED))
|
||||
throw new RuntimeException("Already connected");
|
||||
if (meta.hasConnectionState(ConnectionState.CONNECTING))
|
||||
@@ -82,13 +79,10 @@ public class TikTokLiveClient implements LiveClient {
|
||||
setState(ConnectionState.CONNECTED);
|
||||
}
|
||||
|
||||
public void disconnect()
|
||||
{
|
||||
webSocketClient.stop();
|
||||
}
|
||||
|
||||
|
||||
public LiveMeta getMeta() {
|
||||
|
||||
public LiveRoomInfo getRoomInfo() {
|
||||
return meta;
|
||||
}
|
||||
|
||||
|
||||
@@ -10,9 +10,8 @@ import io.github.jwdeveloper.tiktok.http.TikTokCookieJar;
|
||||
import io.github.jwdeveloper.tiktok.http.TikTokHttpApiClient;
|
||||
import io.github.jwdeveloper.tiktok.http.TikTokHttpRequestFactory;
|
||||
import io.github.jwdeveloper.tiktok.live.LiveClient;
|
||||
import io.github.jwdeveloper.tiktok.live.TikTokLiveMeta;
|
||||
import io.github.jwdeveloper.tiktok.live.TikTokRoomInfo;
|
||||
import io.github.jwdeveloper.tiktok.websocket.TikTokWebsocketClient;
|
||||
import io.github.jwdeveloper.tiktok.handlers.WebResponseHandlerBase;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.Map;
|
||||
@@ -23,8 +22,8 @@ public class TikTokLiveClientBuilder implements TikTokEventBuilder<TikTokLiveCli
|
||||
private String userName;
|
||||
private final ClientSettings clientSettings;
|
||||
private Map<String, Object> clientParameters;
|
||||
private Logger logger;
|
||||
private TikTokEventHandler tikTokEventHandler;
|
||||
private final Logger logger;
|
||||
private final TikTokEventHandler tikTokEventHandler;
|
||||
|
||||
public TikTokLiveClientBuilder(String userName) {
|
||||
this.tikTokEventHandler = new TikTokEventHandler();
|
||||
@@ -92,7 +91,7 @@ public class TikTokLiveClientBuilder implements TikTokEventBuilder<TikTokLiveCli
|
||||
validate();
|
||||
|
||||
|
||||
var meta = new TikTokLiveMeta();
|
||||
var meta = new TikTokRoomInfo();
|
||||
meta.setUserName(userName);
|
||||
|
||||
|
||||
@@ -115,7 +114,7 @@ public class TikTokLiveClientBuilder implements TikTokEventBuilder<TikTokLiveCli
|
||||
|
||||
public LiveClient buildAndRun() {
|
||||
var client = build();
|
||||
client.run();
|
||||
client.connect();
|
||||
return client;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package io.github.jwdeveloper.tiktok.http;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import io.github.jwdeveloper.tiktok.exceptions.TikTokLiveException;
|
||||
import io.github.jwdeveloper.tiktok.live.LiveRoomInfo;
|
||||
import io.github.jwdeveloper.tiktok.live.LiveRoomMeta;
|
||||
import io.github.jwdeveloper.tiktok.models.gifts.TikTokGift;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastResponse;
|
||||
|
||||
@@ -57,22 +57,22 @@ public class TikTokApiService {
|
||||
}
|
||||
|
||||
|
||||
public LiveRoomInfo fetchRoomInfo() {
|
||||
public LiveRoomMeta fetchRoomInfo() {
|
||||
logger.info("Fetch RoomInfo");
|
||||
try {
|
||||
var response = apiClient.GetJObjectFromWebcastAPI("room/info/", clientParams);
|
||||
if (!response.has("data")) {
|
||||
return new LiveRoomInfo();
|
||||
return new LiveRoomMeta();
|
||||
}
|
||||
|
||||
var data = response.getAsJsonObject("data");
|
||||
if (!data.has("status")) {
|
||||
return new LiveRoomInfo();
|
||||
return new LiveRoomMeta();
|
||||
}
|
||||
|
||||
var status = data.get("status");
|
||||
|
||||
var info = new LiveRoomInfo();
|
||||
var info = new LiveRoomMeta();
|
||||
info.setStatus(status.getAsInt());
|
||||
|
||||
logger.info("RoomInfo status -> "+info.getStatus());
|
||||
|
||||
Reference in New Issue
Block a user