因此,我将参数从 unity 传递到 PHP API,一切都很好,但现在我想将其作为数组传递,因此在这个方法中,我声明了我的列表并尝试使用正确的参数发送请求
tokenID、address和value(最后 3 个)需要从声明的列表中填充,但我不知道如何做到这一点。
任何帮助表示赞赏
public List<string> recipientAdvancedAddress = new List<string>();
public List<string> tokenAdvancedSend = new List<string>();
public List<string> valueAdvancedSend = new List<string>();
public void Send()
{
StartCoroutine(SendAsync(userSession, senderAdvancedID, tokenAdvancedSend, recipientAdvancedAddress, valueAdvancedSend));
}
IEnumerator SendAsync(string session, int senderID, List<string> tokenID, List<string> addresses, List<string> value)
{
CryptoFilter cryptoFilter = new CryptoFilter();
cryptoFilter.AddParam("action", "advancedSendFT");
cryptoFilter.AddParam("session", session);
cryptoFilter.AddParam("senderID", $"{senderID}");
cryptoFilter.AddParam("tokenID", tokenID);
cryptoFilter.AddParam("addresses", addresses);
cryptoFilter.AddParam("value", value);
using (UnityWebRequest webRequest = UnityWebRequest.Post($"http://{SERVER_ADDR}/tsd/api.php", cryptoFilter.GetRequestPayload()))
{
yield return webRequest.SendWebRequest();
var result = webRequest.downloadHandler.text;
// Decrypt the response from the server.
result = cryptoFilter.GetResponsePayload(result);
sendItem data = JsonConvert.DeserializeObject<sendItem>(result);
if (!data.error)
txID = data.id;
}
}
这是错误: https: //i.ibb.co/frNR5tF/error.png
这是 CryptoFilter.cs 中的方法
class CryptoFilter
{
// Encrypt & Decrypt Engine
AES256 aes = new AES256();
// Request parameters
Dictionary<string, string> request = new Dictionary<string, string>();
/*
*
* Add a parameter.
*
*/
public void AddParam(string name, string value)
{
if (value != "")
request.Add(name, value);
}
顺便说一句,我不能在主脚本中执行 foreach 吗?
所以如果我有 1 个 tokenID 就可以了,但是当我需要将 2 个 tokenID 发送到 2 个不同的地址时,这就是我想要实现的目标
翻翻过去那场雪
相关分类