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 "Kismet/BlueprintFunctionLibrary.h"
7 #include "TapNativeStatic.generated.h"
8
9 USTRUCT(BlueprintType)
10 struct FTapProfile
11 {
12     GENERATED_BODY()
13 public:
14     //{
15     //"name":"Leopard",
16     //"avatar":"https:\/\/img3.tapimg.com\/default_avatars\/c36204b82aa67d4875d68c8079792c22.jpg?imageMogr2\/auto-orient\/strip\/thumbnail\/!270x270r\/gravity\/Center\/crop\/270x270\/format\/jpg\/interlace\/1\/quality\/80",
17     //"openid":"mDs9jeruv\/IREzYq0ZhRHQ==",
18     //"unionid":"OtDdtdlp8rWl+VYQtKQJvQ==",
19     //"email":"",
20     //"email_verified":false}
21     UPROPERTY(EditAnywhere,BlueprintReadWrite)
22     FString Name;
23     UPROPERTY(EditAnywhere,BlueprintReadWrite)
24     FString Avatar;
25     UPROPERTY(EditAnywhere,BlueprintReadWrite)
26     FString OpenID;
27     UPROPERTY(EditAnywhere,BlueprintReadWrite)
28     FString UnionID;
29     UPROPERTY(EditAnywhere,BlueprintReadWrite)
30     FString Email;
31     UPROPERTY(EditAnywhere,BlueprintReadWrite)
32     bool Email_Verified = false;
33 };
34
35 UCLASS()
36 class TAPTAP_API UTapNativeStatic : public UBlueprintFunctionLibrary
37 {
38     GENERATED_BODY()
39 public:
40     /**
41      * @brief Taptap用户是否登录?
42      * @return 
43      */
44     //()Z
45     UFUNCTION(BlueprintCallable)
46     static bool CheckLogin();
47
48
49     /**
50      * @brief 初始化TapDB,如果仅初始化登陆,调用InitLogin
51      * @param clientId 
52      * @param clientToken 
53      * @param serverUrl 
54      * @param gameChannel 
55      * @param gameVersion 
56      */
57     //(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
58     UFUNCTION(BlueprintCallable)
59     static void InitTapDB(
60             FString clientId,
61             FString clientToken,
62             FString serverUrl,
63             FString gameChannel,
64             FString gameVersion);
65
66     /**
67      * @brief 初始化登陆,如果需要用数据分析,调用InitTapDB
68      * @param clientId 
69      * @param clientToken 
70      * @param serverUrl 
71      */
72     //(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
73     UFUNCTION(BlueprintCallable)
74     static void InitLogin(
75         FString clientId,
76         FString clientToken,
77         FString serverUrl);
78
79     /**
80      * @brief 登陆
81      */
82     // ()V
83     UFUNCTION(BlueprintCallable)
84     static void Login();
85
86     /**
87      * @brief 获取用户数据
88      * @return 
89      */
90     // ()Ljava/lang/String;
91     UFUNCTION(BlueprintCallable)
92     static FString GetCurrentProfile();
93
94     UFUNCTION(BlueprintCallable)
95     static FTapProfile TapProfileStringToStruct(FString profileString);
96
97     /**
98      * @brief 退出登录
99      */
100     //()V
101     UFUNCTION(BlueprintCallable)
102     static void Logout();
103
104     /**
105      * @brief 上报事件
106      * @param eventName 
107      * @param jsonObject 
108      */
109     //(Ljava/lang/String;Ljava/lang/String;)V
110     UFUNCTION(BlueprintCallable)
111     static void TapDBTraceEvent(FString eventName,FString jsonObject);
112 };