更改ACE_SDK位置

This commit is contained in:
2025-12-06 17:59:24 +08:00
parent baf547c71d
commit ae5479b583
31 changed files with 2 additions and 2 deletions
@@ -0,0 +1,238 @@
#ifndef __ACE_SDK_SERVER_TEXT_CHECK_H__
#define __ACE_SDK_SERVER_TEXT_CHECK_H__
#include "ace_sdk_account.h"
#include "ace_sdk_server_uic.h"
#include "ace_sdk_server_text_check_impl.h"
#pragma pack(push, 1)
#define ACE_SDK_UIC_MAX_MESSAGE_LEN 15000
#define ACE_SDK_UIC_MAX_TITLE_LEN 300
#define ACE_SDK_UIC_MAX_INTRODUCTION_LEN 1000
#define ACE_SDK_UIC_MAX_BATCH_MULTI_TEXT_LEN 10
#define ACE_SDK_UIC_MAX_EXTRA_DATA_LEN 4095
typedef enum
{
ACE_LANGUAGE_NON = 0, // No language distinction
ACE_LANGUAGE_EN = 1, // English
ACE_LANGUAGE_CHT = 2, // Traditional Chinese
ACE_LANGUAGE_VN = 3, // Vietnamese
ACE_LANGUAGE_CHS = 4, // Simplified Chinese
ACE_LANGUAGE_TH = 5, // Thai
ACE_LANGUAGE_KO = 6, // Korean
ACE_LANGUAGE_FR = 7, // French
ACE_LANGUAGE_DE = 8, // German
ACE_LANGUAGE_RU = 9, // Russian
ACE_LANGUAGE_TR = 10, // Turkish
ACE_LANGUAGE_PTEU = 11, // Portugal (Europe)
ACE_LANGUAGE_PTLT = 12, // Portugal (Latin America)
ACE_LANGUAGE_ESEU = 13, // Spain (Europe)
ACE_LANGUAGE_ESLT = 14, // Spain (Latin America)
ACE_LANGUAGE_IT = 15, // Italy
ACE_LANGUAGE_NL = 16, // Dutch
ACE_LANGUAGE_MY = 17, // Malay
ACE_LANGUAGE_ID = 18, // Indonesian
ACE_LANGUAGE_AR = 19, // Arabic
ACE_LANGUAGE_INDIA = 20, // Hindi
ACE_LANGUAGE_JP = 21, // Japanese
ACE_LANGUAGE_MAX_DEFINE = 100
} AceSdkTextMsglanguage;
typedef struct
{
/**
* It represents the text usage scene id, segmentation principle refer to AceSdkUicMsgCategory
* For specific values, refer to the registration scenario on the ACE official website
* Required
*/
uint32_t scene_id_;
/**
* It represents message content, maximum length is ACE_SDK_UIC_MAX_MESSAGE_LEN
* Required
*/
char text_[ACE_SDK_UIC_MAX_MESSAGE_LEN];
/**
* It represents title of message content, maximum length is ACE_SDK_UIC_MAX_TITLE_LEN
* Optional, if no need, recommend clear it
*/
char title_[ACE_SDK_UIC_MAX_TITLE_LEN];
/**
* It represents introduction of message content, maximum length is ACE_SDK_UIC_MAX_INTRODUCTION_LEN
* Optional, if no need, recommend clear it
*/
char introduction_[ACE_SDK_UIC_MAX_INTRODUCTION_LEN];
/**
* It represents language of message content, refer to AceSdkTextMsglanguage
* By default, fill in ACE_LANGUAGE_NON(0) to indicate no language distinction
* Required
*/
int32_t local_language_;
/**
* Reserved for extended content, generally in json format, maximum length is ACE_SDK_UIC_MAX_EXTRA_DATA_LEN
* Optional, if no need, recommend clear it
*/
char extra_data_[ACE_SDK_UIC_MAX_EXTRA_DATA_LEN];
} AceSdkMultiTextInputInfo;
typedef struct __AceSdkBatchMultiTextInputInfo
{
/**
* It indicates the account to which the input belongs
* Required
*/
AceSdkAccount account_info_;
/**
* It represents the area id of the account, refer to AceSdkUicAreaID
* Required
*/
uint32_t area_id_;
/**
* It represents the role id of the account
* Required
*/
uint32_t role_id_;
/**
* It represents the role level of the account
* Required
*/
uint32_t role_level_;
/**
* It represents the role name of the account
* Required
*/
char role_name_[ACE_SDK_UIC_MAX_ROLE_NAME_LEN];
/**
* It represents the url of user avatar, maximum length is ACE_SDK_UIC_MAX_HEAD_PIC_URL_LEN
* Optional, if no need, recommend clear it
*/
char head_pic_url_[ACE_SDK_UIC_MAX_HEAD_PIC_URL_LEN];
/**
* It represents the length of 'multi_text_array_', maximum length is ACE_SDK_UIC_MAX_BATCH_MULTI_TEXT_LEN
* Required
*/
int32_t multi_text_cnt_;
/**
* It contains several sets of input text
* Required
*/
AceSdkMultiTextInputInfo multi_text_array_[ACE_SDK_UIC_MAX_BATCH_MULTI_TEXT_LEN];
/**
* callback_len_ is the length of 'callback_data_', maximum length is ACE_SDK_UIC_MAX_CALLBACK_DATA_LEN
* When the asynchronous interface is called back, the 'callback_data_' is returned as it is
* Optional, if none fill in Zero and NULL
*/
int32_t callback_len_;
uint8_t callback_data_[ACE_SDK_UIC_MAX_CALLBACK_DATA_LEN];
} AceSdkBatchMultiTextInputInfo;
typedef enum
{
/**
* Legal text
*/
ACE_SDK_MSG_NORMAL_FLAG = 0,
/**
* Illegal text contains malicious words
* 1. user profile scenarios such as naming: failed to name
* 2. instant messaging scenarios: only the sender self can see it, and the visible content is the filtered text
*/
ACE_SDK_MSG_EVIL_FLAG = 1,
/**
* Illegal text contains sensitive words
* 1. user profile scenarios such as naming: failed to name
* 2. instant messaging scenarios: both the receiver and sender can see it, and the visible content is the filtered text
*/
ACE_SDK_MSG_DIRTY_FLAG = 2,
} AceSdkUicMsgResultFlag;
typedef struct
{
/**
* Return the scene id entered before
*/
uint32_t scene_id_;
/**
* The judgment result of the user input text from ACE Backend
* Please display the user input text as required in AceSdkUicMsgResultFlag
*/
uint32_t check_result_;
/**
* Label of the user input text from ACE Backend
*/
uint32_t lable_;
/**
* Judgement Description of the user input text from ACE Backend
*/
char check_desc_[ACE_SDK_UIC_MAX_CHECK_DESC_LEN];
/**
* Filtered text of the user input replaced by ACE Backend
*/
char filtered_text_[ACE_SDK_UIC_MAX_MESSAGE_LEN];
} AceSdkUicJudegeResultInfoMultiText;
typedef struct __AceSdkUicJudgeResultInfoBatchMultiText
{
/**
* Return the account entered before
*/
AceSdkAccount account_info_;
/**
* Zero represents judgement of ACE Backend success
* Not Zero represents judgement of ACE Backend fail
*/
uint32_t err_code_;
/**
* Error Description of ACE Backend judgement
*/
char err_msg_[ACE_SDK_UIC_MAX_ERR_MSG_LEN];
/**
* It represents the length of 'multi_text_array_', maximum length is ACE_SDK_UIC_MAX_BATCH_MULTI_TEXT_LEN
* If err_code_ == 0, it is the same as entered before
*/
int32_t multext_result_cnt_;
/**
* It contains several sets of judgement result from ACE Backend
*/
AceSdkUicJudegeResultInfoMultiText multext_result_array_[ACE_SDK_UIC_MAX_BATCH_MULTI_TEXT_LEN];
/**
* callback_len_ is the length of 'callback_data_', maximum length is ACE_SDK_UIC_MAX_CALLBACK_DATA_LEN
* It is the same as entered before
*/
int32_t callback_len_;
uint8_t callback_data_[ACE_SDK_UIC_MAX_CALLBACK_DATA_LEN];
} AceSdkUicJudgeResultInfoBatchMultiText;
/**
* @brief Callback function of gamesvr to receive the judgement result of user input texts
* @param result_info The judgement result from ACE SDK
* @return 0 Processing Successfully
* @return other value Processing Failed
*/
typedef int(*OnRecvAceSdkUicJudgeResultInfoBatchMultiText)(const AceSdkUicJudgeResultInfoBatchMultiText* result_info);
#pragma pack(pop)
/**
* @brief Set the callback function to receive the judgement result of user input texts
* @brief The callback function must be set firstly before call 'ace_sdk_server_judge_batch_multi_text' in order to get judgement result
* @brief A single autonomous thread propelling the callback interface within the SDK is distinct from the game server thread invoking 'ace_sdk_server_judge_batch_multi_text'. Please pay attention to potential thread safety concerns.
* The callback function should be designed to be lightweight. It is recommended to transfer time-consuming operations to the business layer working thread for processing to avoid blocking the callback thread inside the SDK.
* @brief After the SDK executes the callback function, it will immediately reclaim the data returned to the callback function.
* It is recommended that the game copy the returned data to the business layer memory space within the callback function to avoid memory security issues such as out-of-bounds access.
* @param on_result_func The callback function pointer
*/
AceSdkResult ace_sdk_server_set_recv_batch_multi_text_result_callback(OnRecvAceSdkUicJudgeResultInfoBatchMultiText on_result_func);
/**
* @brief Asynchronous interface to review batch multi-text of an account
* @brief Before calling this function, you must first set 'OnRecvAceSdkUicJudgeResultInfoBatchMultiText'
* @brief All texts will be sent to ACE Backend for review, and even if the backend review times out(500 ms), ACE SDK has local policies to cover it
* @param input_info A group of texts to review
*/
AceSdkResult ace_sdk_server_judge_batch_multi_text(const AceSdkBatchMultiTextInputInfo* input_info);
#endif // __ACE_SDK_SERVER_TEXT_CHECK_H__