using System.Collections;
using System.IO;
using System.Net;
using System.Text;
using GCGame;
using GCGame.Table;
using Module.Log;
using UnityEngine;
using UnityEngine.UI;

// 激活码控制脚本
public class WelfareKeyCtr : MonoBehaviour
{
    //private const string activiteKeyUrl = "http://serv.zhanyou-game.com:8098/api/gift/package/receive";  //激活
//    private const string formatStr = "&serverId={0}&guid={1}&channelId={2}&code={3}";
//    private const string _randomString = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789";
//    private const int _randomStringLength = 8; //固定长度8
//    private const string _tokenStr = "ZYAPI"; //固定TOKEN
//    private const string _staticKey = "\"code\"";
//    private const string _containertypeStr = "application/x-www-form-urlencoded";
    public Button GetBtn;
    public InputField keyInput;
//    private static string activiteKeyUrl
//    {
//        get { return ControllUrlManager.ReceivePackageUrl; }
//    }
    private void Awake()
    {
        GetBtn.onClick.AddListener(OnGetBtnClick);
        keyInput.placeholder.GetComponent<Text>().text = StrDictionary.GetClientDictionaryString("#{8116}");
    }

    private void OnGetBtnClick()
    {
        if (string.IsNullOrEmpty(keyInput.text))
            GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{8127}"));
        else
            SdkControl.instance.RedemptionCode(keyInput.text);
//            // todo
//            StartCoroutine(CreateWelfareKeyPost(keyInput.text));
    }

//    private IEnumerator CreateWelfareKeyPost(string key)
//    {
//        yield return null;
//
//        var request = (HttpWebRequest) WebRequest.Create(activiteKeyUrl);
//        request.ContentType = _containertypeStr;
//        request.Proxy = null; //魔法解决卡顿? 
//        request.Method = "POST";
//        var paramData = Utils.GetHttpSingStr() + string.Format(formatStr,
//                            GameManager.gameManager.PlayerDataPool.WorldId,
//                            Singleton<ObjManager>.Instance.MainPlayer.GUID,
//                            GameManager.gameManager.PlayerDataPool.ChannelId,
//                            key);
//
//        var byteArray = Encoding.UTF8.GetBytes(paramData);
//        request.ContentLength = byteArray.Length; //请求长度
//        var dataStream = request.GetRequestStream(); //得到请求流
//        dataStream.Write(byteArray, 0, byteArray.Length); //将数据写入请求流
//        dataStream.Close(); //关闭流对象
//
//        var response = request.GetResponse(); //得到的响应
//        dataStream = response.GetResponseStream(); //获取服务器返回的流
//
//        var reader = new StreamReader(dataStream, Encoding.GetEncoding("UTF-8")); //打开流
//        var responseFromServer = reader.ReadToEnd(); //读取内容            
//
//        reader.Close();
//        dataStream.Close();
//        response.Close();
//
//        if (ParseJsonByKey(responseFromServer, _staticKey).Equals("106")) //账号已经激活过
//            GUIData.AddNotifyData("#{8117}");
//        else if (ParseJsonByKey(responseFromServer, _staticKey).Equals("102")) //激活码错误
//            GUIData.AddNotifyData("#{8118}");
//        else if (ParseJsonByKey(responseFromServer, _staticKey).Equals("104")) //激活已经被使用
//            GUIData.AddNotifyData("#{8119}");
//        else if (ParseJsonByKey(responseFromServer, _staticKey).Equals("105")) //激活码失效
//            GUIData.AddNotifyData("#{8120}");
//        else if (ParseJsonByKey(responseFromServer, _staticKey).Equals("0")) //激活码失效
//            GUIData.AddNotifyData("#{8121}");
//
//        //激活成功服务器判断
//    }
//
//    private string ParseJsonByKey(string jsonText, string key)
//    {
//        string val = null;
//        var _res = new ResultMsg("", "");
//        _res = JsonUtility.FromJson<ResultMsg>(jsonText);
//
//        try
//        {
//            val = _res.code;
//        }
//        catch
//        {
//            LogModule.ErrorLog(_res.msg);
//        }
//
//        return val;
//    }

    private void OnDisable()
    {
        keyInput.text = string.Empty;
    }

//    private struct ResultMsg
//    {
//        public readonly string code;
//        public readonly string msg;
//
//        public ResultMsg(string _code, string _msg)
//        {
//            code = _code;
//            msg = _msg;
//        }
//    }
}