leopard8352
2023-12-04 8871a733498c8d717714b83bb096b7738224541a
提交 | 用户 | 时间
8871a7 1 // Fill out your copyright notice in the Description page of Project Settings.
L 2
3 #pragma once
4
5 #include "CoreMinimal.h"
6 #include "Define/TapRankResponse.h"
7 #include "UObject/Object.h"
8 #include "HttpTapRank.generated.h"
9
10
11 #define TAP_RANK_HOST TEXT("https://juyumzkw.cloud.tds1.tapapis.cn")
12
13
14 class IHttpResponse;
15 class IHttpRequest;
16
17 UCLASS(BlueprintType,Blueprintable)
18 class TAPTAP_API UHttpTapRank : public UObject
19 {
20     GENERATED_BODY()
21 public:
22     DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FHttpTapRankRequestSuccessEventHandle,
23         const FTapRankResponse&,resp,
24         int32,errCode,
25         bool,isSuccess);
26     UPROPERTY(BlueprintAssignable)
27     FHttpTapRankRequestSuccessEventHandle HttpTapRankRequestSuccessEventHandle;
28     
29     void OnProcessRequestComplete(
30         TSharedPtr<IHttpRequest, ESPMode::ThreadSafe> request,
31         TSharedPtr<IHttpResponse, ESPMode::ThreadSafe> response,
32         bool arg);
33     UFUNCTION(BlueprintCallable)
34     void StartRequest();
35     UFUNCTION(BlueprintPure)
36     FString BuildURL() const;
37     UFUNCTION(BlueprintPure)
38     FString BuildURLQueryString(FString name,FString value) const;
39 protected:
40     UPROPERTY(EditAnywhere,BlueprintReadWrite)
41     FString AppID;
42     UPROPERTY(EditAnywhere,BlueprintReadWrite)
43     FString AppKey;
44     UPROPERTY(EditAnywhere,BlueprintReadWrite)
45     FString ObjectID;
46     UPROPERTY(EditAnywhere,BlueprintReadWrite)
47     int32 StartPosition = 0;
48     UPROPERTY(EditAnywhere,BlueprintReadWrite)
49     int32 MaxResultsCount = 100;
50     UPROPERTY(EditAnywhere,BlueprintReadWrite)
51     FString StatisticName;
52     UPROPERTY(EditAnywhere,BlueprintReadWrite)
53     int32 TimeOut = 5;
54 };