コード例 #1
0
ファイル: Main.cs プロジェクト: Y-li27/Nana.Asset.Downloader
        /// <summary>
        ///     Main post method
        /// </summary>
        /// <param name="index"></param>
        /// <param name="update"></param>
        private async Task <UPDATE_STATUS> StartPost(bool index = false, bool update = false)
        {
            SetNoticesText("正在获取新版本数据 ...请稍等...", downloadNotice);
            var jsonParse = new JsonParse();

            _postProcessMessageHandler.HttpSendProgress += (senders, es) =>
            {
                var num = es.ProgressPercentage;
                SetProgressInt(num);
            };
            if (!index)
            {
                return(await jsonParse.SaveDlConfing(
                           _request.MakePostRequest(Define.Id, Define.GetApiName(Define.APINAME_TYPE.result)), true));
            }

            if (update)
            {
                if (await _request.MakeUpdatePostRequest(Define.Id, Define.GetApiName(Define.APINAME_TYPE.result)) == 0)
                {
                    Define.JsonParse.UpdateUrlIndex(Define.JsonParse, true);
                }
            }
            else
            {
                jsonParse.SaveUrlIndex(
                    _request.MakePostRequest(Define.Id, Define.GetApiName(Define.APINAME_TYPE.result)), true);
            }

            return(UPDATE_STATUS.Ok);
        }
コード例 #2
0
 private void Button_GetConfing_Click(object sender, EventArgs e)
 {
     Define.Rev = Define.UserRev = Define.NOW_STAUTUS == NOW_STAUTUS.First
         ? (Convert.ToInt32(Define.NowRev) + 296).ToString()
         : (Convert.ToInt32(Define.NowRev) - 3).ToString();
     new JsonParse().SaveDlConfing(
         new MakeRequest().MakePostRequest(Define.Id, Define.GetApiName(Define.APINAME_TYPE.result)));
 }
コード例 #3
0
        private void Button_GetAllIndex_Click(object sender, EventArgs e)
        {
            Define.Rev     = "001";
            Define.UserRev = "001";
            var a = new MakeRequest().RawMakePostRequest(Define.BaseUrl + Define.GetApiName(Define.APINAME_TYPE.result),
                                                         Define.Id, Define.GetApiName(Define.APINAME_TYPE.result));

            new JsonParse().SaveUrlIndex(a);
        }
コード例 #4
0
ファイル: Main.cs プロジェクト: Y-li27/Nana.Asset.Downloader
        private async void TestNew()
        {
            try
            {
                SetNoticesText(">> ... 正在查询游戏最新版本信息", downloadNotice);
                await _setNewVersion;

                _request._ini_PostClient();
                if (Define.NOW_STAUTUS == NOW_STAUTUS.First)
                {
                    if (MessageBox.Show(@" 需要获取一次完整索引文件,可能下载较长时间,是否现在下载 "
                                        , @"Notice"
                                        , MessageBoxButtons.OKCancel) != DialogResult.OK)
                    {
                        SetNoticesText(">> 需要获取一次完整索引文件,请点击获取最新版本", downloadNotice);
                        return;
                    }
                }

                SetNoticesText(">> ... 正在自动检测数据最新版本 , 请稍等 ", downloadNotice);

                var updateStatus = await Task.Run(async() =>
                {
                    Define.Rev = Define.UserRev = Define.NowRev;
                    if (await _request.MakeUpdatePostRequest(Define.Id, Define.GetApiName(Define.APINAME_TYPE.result)) == 0)
                    {
                        return(await Define.JsonParse.TestUpdateStatusAsync());
                    }
                    return(UPDATE_STATUS.Error);
                });

                switch (updateStatus)
                {
                case UPDATE_STATUS.Error:
                    SetNoticesText(">> Error : 游戏服务器可能在维护中,请稍后重试", downloadNotice);
                    return;

                case UPDATE_STATUS.NoNecessary:
                    SetNoticesText(">> 已经是最新版本 ", downloadNotice);
                    return;

                case UPDATE_STATUS.Ok:
                    if (MessageBox.Show(@" 检测到最新版本 , 请问是否要现在更新 "
                                        , @"Notice"
                                        , MessageBoxButtons.OKCancel) == DialogResult.OK)
                    {
                        Define.JsonParse.UpdateUrlIndex(Define.JsonParse, true);
                        await Task.Run(() =>
                        {
                            while (Define.IsGetNewComplete == false)
                            {
                            }

                            Define.NOW_STAUTUS = NOW_STAUTUS.Normal;
                            SetNoticesText(">> 就绪 ...", downloadNotice);
                            ReloadNoticeLabels();
                            SetButtomEnabled(true, button_GetNew);
                            SetButtomEnabled(true, button_ReloadAdvance);
                            _ini_listResult();
                        });
                    }
                    else
                    {
                        SetNoticesText(">> 就绪 , 有新版本可以更新 ", downloadNotice);
                    }

                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }
            catch (Exception e)
            {
                MessageBox.Show($@"请检测网络 : {e.Message}");
            }
        }
コード例 #5
0
 private void Button_GetToNewIndex_Click(object sender, EventArgs e)
 {
     Define.Rev = Define.UserRev = textBox_InputRev.Text;
     new JsonParse().SaveUrlIndex(
         new MakeRequest().MakePostRequest(Define.Id, Define.GetApiName(Define.APINAME_TYPE.result)));
 }