using System; using System.Collections; using System.Collections.Generic; using Cysharp.Threading.Tasks; using DefaultNamespace; using Newtonsoft.Json; using TMPro; using UnityEngine; using UnityEngine.UI; using WXGame.Network; /// /// 签到 /// public class CheckInComponent : MonoBehaviour { public Button closeButton; public Button claimButton; public Transform[] checkInDays; private void Awake() { claimButton.onClick.AddListener(delegate { SignToday(); }); closeButton.onClick.AddListener(CloseWindow); } private void Start() { GetMydates(); } private void CloseWindow() { UIManager.Instance.HideUI("签到"); } /// /// 今日打卡 /// private async UniTask SignToday() { try { var result = await WebRequestManager.Instance.PostRequestAsync( url: Apis.GetSignToday() ); Debug.Log(result.ResponseText); } catch (System.Exception ex) { Debug.LogError($"GET请求失败: {ex.Message}"); throw; // 重新抛出异常,让调用者知道失败 } } /// /// 获取7日签到数据 /// private async UniTask GetMydates() { var result = await WebRequestManager.Instance.PostRequestAsync( url: Apis.GetMyDates() ); Debug.Log(result.ResponseText); SignData signData = JsonConvert.DeserializeObject(result.ResponseText); bool isSignToday = false; if (signData != null && signData.code == 0) { for (int i = 0; i < signData.data.data.Count; i++) { checkInDays[i].Find("币").GetComponent().text = signData.data.data[i].nums.ToString(); if (!isSignToday) { if (signData.data.data[i].status == 0) { checkInDays[i].Find("可领取").gameObject.SetActive(true); isSignToday = true; } else { checkInDays[i].Find("已领取").gameObject.SetActive(true); } } } } } }