// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "TapNativeStatic.generated.h" USTRUCT(BlueprintType) struct FTapProfile { GENERATED_BODY() public: //{ //"name":"Leopard", //"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", //"openid":"mDs9jeruv\/IREzYq0ZhRHQ==", //"unionid":"OtDdtdlp8rWl+VYQtKQJvQ==", //"email":"", //"email_verified":false} UPROPERTY(EditAnywhere,BlueprintReadWrite) FString Name; UPROPERTY(EditAnywhere,BlueprintReadWrite) FString Avatar; UPROPERTY(EditAnywhere,BlueprintReadWrite) FString OpenID; UPROPERTY(EditAnywhere,BlueprintReadWrite) FString UnionID; UPROPERTY(EditAnywhere,BlueprintReadWrite) FString Email; UPROPERTY(EditAnywhere,BlueprintReadWrite) bool Email_Verified = false; }; UCLASS() class TAPTAP_API UTapNativeStatic : public UBlueprintFunctionLibrary { GENERATED_BODY() public: /** * @brief Taptap用户是否登录? * @return */ //()Z UFUNCTION(BlueprintCallable) static bool CheckLogin(); /** * @brief 初始化TapDB,如果仅初始化登陆,调用InitLogin * @param clientId * @param clientToken * @param serverUrl * @param gameChannel * @param gameVersion */ //(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V UFUNCTION(BlueprintCallable) static void InitTapDB( FString clientId, FString clientToken, FString serverUrl, FString gameChannel, FString gameVersion); /** * @brief 初始化登陆,如果需要用数据分析,调用InitTapDB * @param clientId * @param clientToken * @param serverUrl */ //(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V UFUNCTION(BlueprintCallable) static void InitLogin( FString clientId, FString clientToken, FString serverUrl); /** * @brief 登陆 */ // ()V UFUNCTION(BlueprintCallable) static void Login(); /** * @brief 获取用户数据 * @return */ // ()Ljava/lang/String; UFUNCTION(BlueprintCallable) static FString GetCurrentProfile(); UFUNCTION(BlueprintCallable) static FTapProfile TapProfileStringToStruct(FString profileString); /** * @brief 退出登录 */ //()V UFUNCTION(BlueprintCallable) static void Logout(); /** * @brief 上报事件 * @param eventName * @param jsonObject */ //(Ljava/lang/String;Ljava/lang/String;)V UFUNCTION(BlueprintCallable) static void TapDBTraceEvent(FString eventName,FString jsonObject); };