Beispiel #1
0
        /// <summary>
        /// 获取OKEx币币行情
        /// </summary>
        /// <param name="key">ltc_btc</param>
        /// <returns></returns>
        public async Task <string> Ticker(string key)
        {
            //okex形式为btc_usdt
            var newKey = key.Split(' ');

            if (newKey.Length != 2)
            {
                return("key 错误,形式为btc usdt");
            }

            var symbol = newKey[0] + "_" + newKey[1];

            string url = api + "?symbol=" + symbol;

            HttpResult httpResult = await HttpUitls.HttpsGetRequestAsync(url);

            if (httpResult.Success)
            {
                var market = JsonConvert.DeserializeObject <Market>(httpResult.StrResponse);

                var re = "哎哟?这是什么稀奇玩意?老铁们快来看看能炒一波不";

                if (market.date != null && market.ticker != null)
                {
                    re = "【" + key + "】买一:" + market.ticker.buy + " 最高:" + market.ticker.high + " 最新成交:" + market.ticker.last + " 最低:" + market.ticker.low + " 卖一:" + market.ticker.sell + " 24h成交:" + market.ticker.vol;
                }
                return(re);
            }
            else
            {
                var re = httpResult.StrResponse.Length < 48 ? httpResult.StrResponse : httpResult.StrResponse.Substring(0, 48);
                return(re + "oh~锅咩锅咩~程序跪了~");
            }
        }
Beispiel #2
0
        public async Task <string> Ticker(string key)
        {
            //火币形式为btcusdt
            var newKey = key.Split(' ');

            if (newKey.Length != 2)
            {
                return("key 错误,形式为btc usdt");
            }

            var        symbol     = newKey[0] + newKey[1];
            var        url        = "https://api.huobi.pro/market/trade?symbol=" + symbol;
            HttpResult httpResult = await HttpUitls.HttpsGetRequestAsync(url);

            if (httpResult.Success)
            {
                var reModel = JsonConvert.DeserializeObject <HuobiResult>(httpResult.StrResponse);

                if (reModel == null)
                {
                    return("数据为空?这个币是瓦特了吧");
                }

                var reStr = "【" + key + "】价格:" + reModel.tick.data[0].price + " 方向:" + reModel.tick.data[0].direction + " 成交量:" + reModel.tick.data[0].amount;
                return(reStr);
            }
            else
            {
                var re = httpResult.StrResponse.Length < 48 ? httpResult.StrResponse : httpResult.StrResponse.Substring(0, 48);
                return(re + "oh~锅咩锅咩~程序跪了~");
            }
        }
Beispiel #3
0
        public string RefshNowProblem()
        {
            string url = "https://www.lintcode.com/api/problems/?page=";
            var    a   = JsonConvert.DeserializeObject <ProblemList>(HttpUitls.Get(url + "1"));

            flag : var pageCount = new Random().Next(0, a.maximum_page);
            var            b = JsonConvert.DeserializeObject <ProblemList>(HttpUitls.Get(url + pageCount.ToString()));
            List <Problem> l = new List <Problem>();

            foreach (var p in b.problems)
            {
                if (p.status == 1)
                {
                    l.Add(p);
                }
            }
            if (l.Count == 0)
            {
                goto flag;
            }

            var problemCount = new Random().Next(0, l.Count());
            var problem      = b.problems[problemCount];

            string url2 = "https://www.lintcode.com/api/problems/detail/?unique_name_or_alias=" + problem.unique_name + "&_format=detail";
            var    d    = JsonConvert.DeserializeObject <ProblemDetial>(HttpUitls.Get(url2));

            ConfigManager.Instance().problem = d;
            ConfigManager.Instance().refshProblemDateTime = DateTime.Now;
            ConfigManager.Instance().pushProblemCount     = 0;

            return(d.description + "\n" + d.example);
        }
        /// <summary>
        /// 形式为:https://api.coinmarketcap.com/v1/ticker/bitcoin/
        /// </summary>
        /// <param name="key">bitcoin</param>
        /// <returns></returns>
        public async Task <string> GetTicker(string key)
        {
            key = ConfigManager.CheckSymbol(key);

            HttpResult httpResult = await HttpUitls.HttpGetRequestAsync(api + key + "/");

            if (httpResult.Success)
            {
                if (httpResult.StrResponse.Substring(7, 12).Equals("error"))
                {
                    return("这啥玩意啊?我咋没见过咧?");
                }
                else
                {
                    var model = JsonConvert.DeserializeObject <CoinmarketcapTicker[]>(httpResult.StrResponse);

                    var reMessage = "【" + key + "】" + model[0].price_btc + "btc/" + model[0].price_usd + "usdt";
                    reMessage += " " + model[0].percent_change_1h + "%/" + model[0].percent_change_24h + "%/" + model[0].percent_change_7d + "% " + TimeUitls.Unix2Datetime(Convert.ToInt64(model[0].last_updated)).ToShortTimeString();
                    return(reMessage);
                }
            }
            else
            {
                var re = httpResult.StrResponse.Length < 48 ? httpResult.StrResponse : httpResult.StrResponse.Substring(0, 48);
                return(re + "oh~锅咩锅咩~程序跪了~");
            }
        }
Beispiel #5
0
        public string GetRundomRoblemToTag(string key)
        {
            var reStr = HttpUitls.Get(api + "/" + key);
            var model = JsonConvert.DeserializeObject <QuestionModel>(reStr);

            return("[提问]" + model.Title + "\n" + "[说明]" + model.Detail);
        }
Beispiel #6
0
    /// <summary>
    /// 巨幕的数据加载
    /// </summary>
    ///   public static List<ListDataItem> vrDataItems = new List<ListDataItem>();
    /// <summary>
    /// VR专区的数据加载
    /// </summary>
    ///
    public void LoadVRPart()
    {
        TabsItem vrRoot = tabsItems[2];
        string   vrPath = HttpUitls.GetJsonPath(tabUrl, vrRoot.path);

        StartCoroutine(Getjson(vrPath, LoadVR));
    }
Beispiel #7
0
        /// <summary>
        /// 获取币对列表
        /// </summary>
        private static async void PullCoinList()
        {
            dict_CoinSymbol = new Dictionary <string, string>();
            HttpResult httpResult = await HttpUitls.HttpGetRequestAsync("https://api.coinmarketcap.com/v1/ticker/?limit=0");

            if (!httpResult.Success)
            {
                return;
            }

            var models = JsonConvert.DeserializeObject <CoinmarketcapTicker[]>(httpResult.StrResponse);

            foreach (var model in models)
            {
                if (!dict_CoinSymbol.ContainsKey(model.symbol.ToLower()))
                {
                    dict_CoinSymbol.Add(model.symbol.ToLower(), model.id);
                }
                else
                {
                    var a = dict_CoinSymbol[model.symbol.ToLower()];
                    //TODO:symbol可能有重复的???
                }
            }
        }
Beispiel #8
0
    public void LoadLivePart()
    {
        TabsItem liveRoot     = tabsItems[4];//直播专区的
        string   jsonLivePath = HttpUitls.GetJsonPath(tabUrl, liveRoot.path);

        StartCoroutine(Getjson(jsonLivePath, LoadLive));
    }
        public CoinmarketcapTicker[] GetTickerList()
        {
            var reStr  = HttpUitls.Get(api);
            var models = JsonConvert.DeserializeObject <CoinmarketcapTicker[]>(reStr);

            return(models);
        }
Beispiel #10
0
        /// <summary>
        /// 加载发给别人的邮件列表
        /// </summary>
        private void loadMailFromList()
        {
            SessionData <User> sessionData = new SessionData <User>();

            sessionData.sessionId = LoginInfo.CurrentUser.sessionId;
            sessionData.data      = LoginInfo.CurrentUser.data.user;

            //发送HTTP请求访问服务器
            try
            {
                string url      = Resources.Server + Resources.mailFromListUrl;
                string data     = JsonConvert.SerializeObject(sessionData);
                string response = HttpUitls.POST(url, data);
                OkeResult <SessionData <List <Mail> > > result = JsonConvert.DeserializeObject <OkeResult <SessionData <List <Mail> > > >(response);
                if (result.success)
                {
                    mailFromList = result.data.data;
                    for (int i = 0; i < mailFromList.Count; i++)
                    {
                        ListViewItem listViewItem = new ListViewItem();
                        listViewItem.Text = mailFromList[i].mailToUser.username;
                        listViewItem.SubItems.Add(mailFromList[i].mailTitle);
                        mailFromListView.Items.Add(listViewItem);
                    }
                }
                else
                {
                    addAlter(result.error, CxFlatAlertBox.AlertType.Error);
                }
            }
            catch
            {
                addAlter(Resources.ExceptionTip, CxFlatAlertBox.AlertType.Error);
            }
        }
Beispiel #11
0
    /// <summary>
    /// 巨幕的数据加载
    /// </summary>
    ///   public static List<ListDataItem> vrDataItems = new List<ListDataItem>();
    /// <summary>
    /// VR专区的数据加载
    /// </summary>
    ///

    public void LoadGiantScreen()
    {
        TabsItem gsRoot = tabsItems[3];

        string gsPath = HttpUitls.GetJsonPath(tabUrl, gsRoot.path);

        StartCoroutine(Getjson(gsPath, LoadScreen));
    }
Beispiel #12
0
    /// <summary>
    /// 4k专区的数据加载
    /// </summary>
    public void Load_4K()
    {
        Debug.Log("Load_4K");
        TabsItem _4kRoot = tabsItems[1];
        string   _4kPath = HttpUitls.GetJsonPath(tabUrl, _4kRoot.path);

        StartCoroutine(Getjson(_4kPath, Load4KPart));
    }
Beispiel #13
0
        private void DataoutForm_Load(object sender, EventArgs e)
        {
            #region  拉框的加载
            //发送http请求,获取该教师教授的课程
            try
            {
                SessionData <Teacher> sessionData = new SessionData <Teacher>
                {
                    sessionId = LoginInfo.CurrentUser.sessionId,
                    data      = LoginInfo.CurrentUser.data
                };

                string url  = Resources.Server + Resources.CourseListUrl;
                string data = JsonConvert.SerializeObject(sessionData);
                //MessageBox.Show(data);

                string response = HttpUitls.POST(url, data);//返回的数据
                //MessageBox.Show(response);
                System.Diagnostics.Debug.WriteLine(response);

                #region  获取数据Json转List(反序列化)
                OkeResult <SessionData <List <Course> > > okeResult1 = JsonConvert.DeserializeObject <OkeResult <SessionData <List <Course> > > >(response);
                //MessageBox.Show(okeResult1.data.data.ToString());
                //System.Diagnostics.Debug.WriteLine(okeResult1.data.data.ToString());

                #endregion


                if (okeResult1.success)
                {
                    AddAlter("成功查询课程", CxFlatAlertBox.AlertType.Success);
                    Classlist = okeResult1.data.data;

                    foreach (Course p in Classlist)
                    {
                        this.Classchoose.Items.Add(p.courseName);
                    }
                    AdjustComboBoxDropDownListWidth(Classchoose);
                }
                else
                {
                    AddAlter("查询课程出错,请重新选择", CxFlatAlertBox.AlertType.Error);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                System.Diagnostics.Debug.WriteLine(ex.Message);
                AddAlter(Resources.ExceptionTip, CxFlatAlertBox.AlertType.Error);//弹出提示
            }
            #endregion
        }
Beispiel #14
0
        /// <summary>
        /// 执行验证登陆流程
        /// </summary>
        private void runtrustLogin()
        {
            Log.AddLog("N2", "开始验证登录……");
            DateTime startRun = DateTime.Now;

            try
            {
                // 执行验证登陆(随便请求个需要验证的 API)
                string rooms = HttpUitls.Get(apiURL + "/api/user/rooms", "DEFAULT", "Cookie",
                                             "Authorization=" + Features.Reg.GetRegKey(Registry.CurrentUser, @"SOFTWARE\SSTeam\SS-Tool-Box", "N2Token"));
                if (rooms != null && JObject.Parse(rooms)["status"].ToString() == "0")
                {
                    Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) delegate()
                    {
                        // 验证登录成功,切换到登录状态
                        isLogined                 = true;
                        panLogin.Visibility       = Visibility.Collapsed;
                        panLoginInouts.Visibility = Visibility.Collapsed;

                        Login.Visibility     = Visibility.Collapsed;
                        LoginOut.Visibility  = Visibility.Collapsed;
                        LoginWait.Visibility = Visibility.Visible;

                        LoginButton.IsEnabled = true;

                        panLogin.Margin    = new Thickness(0, 0, 0, 15);
                        panLoginTitle.Text = "N2 Station 账户";
                        // 显示房间卡片
                        panRoom.Visibility  = Visibility.Visible;
                        panLogin.Visibility = Visibility.Visible;
                    });
                    UI.ToastHelper.Add("验证登录成功!");
                    Log.AddLog("N2", "验证登录完成,耗时:" + DateTime.Now.Subtract(startRun).TotalSeconds + "秒");
                    // 获取后续数据
                    getingStart();
                }
                else
                {
                    UI.ToastHelper.Add("验证登录失败!");
                    Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) delegate()
                    {
                        panLogin.Visibility = Visibility.Visible;
                    });
                }
            }
            catch (Exception e)
            {
                UI.ToastHelper.Add("验证登录失败:" + e.Message);
                Log.AddErr("N2", "验证登录失败:" + e.Message);
            }
        }
Beispiel #15
0
        private void RollcallForm_Load(object sender, EventArgs e)
        {
            #region 发送http请求
            try
            {
                SessionData <string> sessionData = new SessionData <string>
                {
                    data      = CourseInfo.CurrentUser.classCode,//获取当前课程码
                    sessionId = CourseInfo.CurrentUser.sessionId
                };

                string url      = Resources.Server + Resources.CourseOnlineStudentUrl;
                string data     = JsonConvert.SerializeObject(sessionData);
                string response = HttpUitls.POST(url, data);
                //MessageBox.Show(response);

                OkeResult <SessionData <List <Student> > > okeResult2 = JsonConvert.DeserializeObject <OkeResult <SessionData <List <Student> > > >(response);
                if (okeResult2.success)
                {
                    AddAlter("成功查询学生名单", CxFlatAlertBox.AlertType.Success);

                    Studentlist = okeResult2.data.data;//获取抽奖名单

                    #region 加载抽奖名单到panel2
                    foreach (Student s in Studentlist)
                    {
                        Button btn = new Button
                        {
                            Name      = "Rollallstudent" + num.ToString(),
                            Text      = s.studentName,//把名字写在按钮上
                            Location  = new Point(8 + (num % 5) * 80, 25 * ((num + 5) / 5)),
                            Font      = new Font("微软雅黑", 10.5f, FontStyle.Bold),
                            BackColor = Color.FromArgb(92, 173, 255)
                        };
                        panel2.Controls.Add(btn);
                        num++;
                    }
                    #endregion
                }
                else
                {
                    AddAlter("查询出错(可能未登录)", CxFlatAlertBox.AlertType.Error);
                }
            }
            catch (Exception)
            {
                AddAlter(Resources.ExceptionTip, CxFlatAlertBox.AlertType.Error);//弹出提示
            }
            #endregion
        }
Beispiel #16
0
    void LoadTabs()
    {
        Tabs tabs = JsonConvert.DeserializeObject <Tabs>(retString);

        for (int i = 0; i < tabs.tabs.Count; i++)
        {
            tabsItems.Add(tabs.tabs[i]);
        }
        TabsItem recommendRoot = tabsItems[0];//推荐专区的
        string   jsonPath      = HttpUitls.GetJsonPath(tabUrl, recommendRoot.path);

        LauncherUIManager.instance.IniTopCulumn();
        StartCoroutine(Getjson(jsonPath, LoadRecommendPart));
    }
        /// <summary>
        /// time_Timer触发事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void time_Timer_Tick(object sender, EventArgs e)
        {
            questionLimitTime--;

            int tmp = 0;

            if (sumTime != 0)
            {
                tmp = questionLimitTime * 100 / sumTime;
            }
            timeBar.ValueNumber = tmp;

            if (tmp == 0 || questionLimitTime % 100 == 0)
            {
                SessionData <Question> sessionData = new SessionData <Question>();
                sessionData.sessionId = LoginInfo.CurrentUser.sessionId;
                sessionData.data      = question;
                //发送HTTP请求访问服务器
                try
                {
                    string url      = Resources.Server + Resources.AnswerListUrl;
                    string data     = JsonConvert.SerializeObject(sessionData);
                    string response = HttpUitls.POST(url, data);
                    OkeResult <SessionData <AnswerData> > okeResult = JsonConvert.DeserializeObject <OkeResult <SessionData <AnswerData> > >(response);
                    if (okeResult.success)
                    {
                        if (okeResult.data.data.total == 0)
                        {
                            accuracyBar.ValueNumber = 100;
                        }
                        else
                        {
                            accuracyBar.ValueNumber = okeResult.data.data.correct * 100 / okeResult.data.data.total;
                        }
                        totalBox.Text    = okeResult.data.data.total.ToString();
                        correctBox.Text  = okeResult.data.data.correct.ToString();
                        unCommitBox.Text = okeResult.data.data.unCommitted.ToString();
                        errorBox.Text    = okeResult.data.data.error.ToString();
                    }
                }
                catch (Exception)
                {
                }
            }
            if (tmp == 0)
            {
                confirmButton.Enabled = true;
                time_Timer.Stop();
            }
        }
Beispiel #18
0
    void Start()
    {
        jsonStr = HttpUitls.GetStr(url);
        // Root root = JsonConvert.DeserializeObject<Root>(jsonStr);
        ///     Debug.Log( "json data size " + root.data.Count);
        //  DataRoot dataRoot = root.data[1];//获取首页的最外的父级



        // Data data = dataRoot.data;
        ///获取到首页的6个item

        // Debug.Log(" dataRoot.labelName  " + data.data  .Count    );
    }
Beispiel #19
0
        /// <summary>
        /// 修改密码按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void updateUserButton_Click(object sender, EventArgs e)
        {
            lockButton();
            string oldPassword = oldPasswordBox.Text.Trim();
            string newPassword = newPasswordBox.Text.Trim();

            //输入密码格式错误
            if (!UserUitls.IsOkPassword(oldPassword) || !UserUitls.IsOkPassword(newPassword))
            {
                addAlter(EnumExtend.GetDisplayText(LoginEnum.ERRORPWD), CxFlatAlertBox.AlertType.Error);
                unlockButton();
            }

            //发送HTTP请求访问服务器
            try
            {
                User user = new User();
                user.username = LoginInfo.CurrentUser.data.user.username;
                user.password = oldPassword;
                UpdateUserData updateUserData = new UpdateUserData();
                updateUserData.user        = user;
                updateUserData.newPassword = newPassword;

                SessionData <UpdateUserData> sessionData = new SessionData <UpdateUserData>();
                sessionData.sessionId = LoginInfo.CurrentUser.sessionId;
                sessionData.data      = updateUserData;
                string             url       = Resources.Server + Resources.UpdateUserUrl;
                string             data      = JsonConvert.SerializeObject(sessionData);
                string             response  = HttpUitls.POST(url, data);
                OkeResult <string> okeResult = JsonConvert.DeserializeObject <OkeResult <string> >(response);
                if (okeResult.success)
                {
                    addAlter(EnumExtend.GetDisplayText(LoginEnum.SUCC_UPDATE), CxFlatAlertBox.AlertType.Success);
                    timer.Stop();
                    timer.Tick += formClose_Tick;
                    timer.Start();
                }
                else
                {
                    addAlter(okeResult.error, CxFlatAlertBox.AlertType.Error);
                    unlockButton();
                }
            }
            catch (Exception)
            {
                addAlter(Resources.ExceptionTip, CxFlatAlertBox.AlertType.Error);
                unlockButton();
            }
            return;
        }
Beispiel #20
0
        /// <summary>
        /// coinId 1|btc,2|usdt
        /// 请求地址:https://otc-api.huobipro.com/v1/otc/trade/list/public?country=0&currency=1&payMethod=0&currPage=1&coinId=1&tradeType=0&merchant=1&online=1
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public async Task <string> LegalTender()
        {
            var        url1        = "https://otc-api.huobipro.com/v1/otc/trade/list/public?country=0&currency=1&payMethod=0&currPage=1&coinId=" + 1 + "&tradeType=0&merchant=1&online=1";
            HttpResult httpResult1 = await HttpUitls.HttpsGetRequestAsync(url1);

            string otc_btc = null;

            if (httpResult1.Success)
            {
                var reModel1 = JsonConvert.DeserializeObject <HuobiOTCResult>(httpResult1.StrResponse);

                if (reModel1 == null)
                {
                    return("数据为空?这个币是瓦特了吧");
                }

                otc_btc = reModel1.data[0].price;
            }
            else
            {
                otc_btc  = httpResult1.StrResponse.Length < 48 ? httpResult1.StrResponse : httpResult1.StrResponse.Substring(0, 48);
                otc_btc += "oh~锅咩锅咩~程序跪了~";
            }


            var        url2        = "https://otc-api.huobipro.com/v1/otc/trade/list/public?country=0&currency=1&payMethod=0&currPage=1&coinId=" + 2 + "&tradeType=0&merchant=1&online=1";
            HttpResult httpResult2 = await HttpUitls.HttpsGetRequestAsync(url2);

            string otc_usdt = null;

            if (httpResult2.Success)
            {
                var reModel2 = JsonConvert.DeserializeObject <HuobiOTCResult>(httpResult2.StrResponse);

                if (reModel2 == null)
                {
                    return("数据为空?这个币是瓦特了吧");
                }

                otc_usdt = reModel2.data[0].price;
            }
            else
            {
                otc_usdt  = httpResult2.StrResponse.Length < 48 ? httpResult2.StrResponse : httpResult2.StrResponse.Substring(0, 48);
                otc_usdt += "oh~锅咩锅咩~程序跪了~";
            }

            return("【火币场外】btc:" + otc_btc + "¥/usdt:" + otc_usdt + "¥");
        }
Beispiel #21
0
 public void 一言API()
 {
     try
     {
         String saysuri = "https://v1.hitokoto.cn/";
         string GetJson = HttpUitls.Get(saysuri);
         if (GetJson.IndexOf("hitokoto") == -1)
         {
             Assert.Fail("发现错误(MAN - 001):获取一言内容为空。");
         }
     }
     catch (Exception ex)
     {
         Assert.Fail("" + ex);
     }
 }
Beispiel #22
0
        /// <summary>
        /// 发布按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void submitButton_Click(object sender, EventArgs e)
        {
            lockButton();

            //未登录或未开启课堂
            if (LoginInfo.CurrentUser.sessionId == null || CourseInfo.CurrentUser.classCode == null)
            {
                addAlter(EnumExtend.GetDisplayText(OperateEnum.NO_COURSE), CxFlatAlertBox.AlertType.Error);
                return;
            }
            SessionData <QuestionData> sessionData = new SessionData <QuestionData>();

            sessionData.sessionId = LoginInfo.CurrentUser.sessionId;
            sessionData.data      = questionData;
            //发送HTTP请求访问服务器
            try
            {
                string url  = Resources.Server + Resources.AddQuestionUrl;
                string data = JsonConvert.SerializeObject(sessionData);
                System.Diagnostics.Debug.WriteLine(data);//测试
                string response = HttpUitls.POST(url, data);
                OkeResult <SessionData <string> > okeResult = JsonConvert.DeserializeObject <OkeResult <SessionData <string> > >(response);
                if (okeResult.success)
                {
                    addAlter(EnumExtend.GetDisplayText(OperateEnum.OP_SUCC), CxFlatAlertBox.AlertType.Success);
                    timer.Stop();
                    questionData.question.questionId = int.Parse(okeResult.error);
                    AnswerSituationForm answerSituationForm = new AnswerSituationForm();
                    answerSituationForm.load(questionData.question);
                    answerSituationForm.ShowDialog();
                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
                else
                {
                    addAlter(EnumExtend.GetDisplayText(OperateEnum.OP_FAIL), CxFlatAlertBox.AlertType.Error);
                    unlockButton();
                }
            }
            catch (Exception)
            {
                addAlter(Resources.ExceptionTip, CxFlatAlertBox.AlertType.Error);
                unlockButton();
            }

            unlockButton();
        }
Beispiel #23
0
        /// <summary>
        /// 更新数据按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void updateInfoButton_Click(object sender, EventArgs e)
        {
            lockButton();
            string name  = nameBox.Text.Trim();
            string title = titleBox.Text.Trim();

            //用户信息格式错误
            if (!UserUitls.IsOkInfo(name, title))
            {
                addAlter(EnumExtend.GetDisplayText(RegisterEnum.ERROR_INFO), CxFlatAlertBox.AlertType.Error);
                unlockButton();
                return;
            }

            //发送HTTP请求访问服务器
            try
            {
                SessionData <Teacher> sessionData = new SessionData <Teacher>();
                sessionData.sessionId         = LoginInfo.CurrentUser.sessionId;
                sessionData.data              = LoginInfo.CurrentUser.data;
                sessionData.data.teacherName  = name;
                sessionData.data.teacherTitle = title;
                string url      = Resources.Server + Resources.UpdateInfoUrl;
                string data     = JsonConvert.SerializeObject(sessionData);
                string response = HttpUitls.POST(url, data);
                OkeResult <SessionData <Teacher> > okeResult = JsonConvert.DeserializeObject <OkeResult <SessionData <Teacher> > >(response);
                if (okeResult.success)
                {
                    addAlter(EnumExtend.GetDisplayText(LoginEnum.SUCC_UPDATE), CxFlatAlertBox.AlertType.Success);
                    LoginInfo.CurrentUser.sessionId = okeResult.data.sessionId;
                    LoginInfo.CurrentUser.data      = okeResult.data.data;
                    timer.Stop();
                    timer.Tick += formClose_Tick;
                    timer.Start();
                }
                else
                {
                    addAlter(okeResult.error, CxFlatAlertBox.AlertType.Error);
                    unlockButton();
                }
            }
            catch (Exception)
            {
                addAlter(Resources.ExceptionTip, CxFlatAlertBox.AlertType.Error);
                unlockButton();
            }
        }
Beispiel #24
0
        private void GetSukColors()
        {
            try
            {
                string url     = "https://srv.sukazyo.cc/api/color?version=1";
                string GetJson = HttpUitls.Get(url, "DEFALT");

                JObject             obj    = JObject.Parse(GetJson);
                JArray              jList  = JArray.Parse(obj["colors"].ToString());
                List <colorInfoVer> colors = new List <colorInfoVer>();

                for (int i = 0; i < jList.Count; ++i)
                {
                    JObject colorInfo = JObject.Parse(jList[i].ToString());
                    colors.Add(new colorInfoVer(colorInfo["name"].ToString(), colorInfo["color"].ToString()));
                }

                Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) delegate()
                {
                    foreach (colorInfoVer colorInfo in colors)
                    {
                        ColorView view = new ColorView(colorInfo.name, "#" + colorInfo.color)
                        {
                            Margin = new Thickness(5, 15, 10, 0)
                        };
                        sukColors.Children.Add(view);
                    }

                    sukLoading.Visibility  = Visibility.Collapsed;
                    sukColorsEx.IsExpanded = false;
                });
            }
            catch (Exception e)
            {
                Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) delegate()
                {
                    sukColorsEx.IsExpanded = true;
                    sukError.Visibility    = Visibility.Visible;
                    sukLoading.Visibility  = Visibility.Collapsed;
                    sukErrorText.Text      = e.Message;
                    Log.AddErr("ColorCard", e.ToString());
                });
            }
        }
Beispiel #25
0
        private void cxFlatButton1_Click(object sender, EventArgs e)
        {
            SessionData <string> sessionData = new SessionData <string>();

            sessionData.sessionId = CourseInfo.CurrentUser.sessionId;

            sessionData.data = CourseInfo.CurrentUser.classCode;
            //sessionData.data.courseNumber = CourseInfo.CurrentUser.data.courseNumber;

            //string url = Resources.Server + Resources.EndCourseUrl;
            //string data = JsonConvert.SerializeObject(sessionData);

            //string response = HttpUitls.POST(url, data);
            //textBox1.Text = data;
            try
            {
                string url      = Resources.Server + Resources.EndCourseUrl;
                string data     = JsonConvert.SerializeObject(sessionData);
                string response = HttpUitls.POST(url, data);
                //textBox1.Text = data;
                OkeResult <string> result = JsonConvert.DeserializeObject <OkeResult <string> >(response);
                if (result.success)
                {
                    CourseInfo.CurrentUser.sessionId = null;
                    CourseInfo.CurrentUser.data      = null;
                    CourseInfo.CurrentUser.classCode = null;
                    addAlter("已结束", CxFlatAlertBox.AlertType.Success);
                    timer1.Stop();
                    timer1.Interval = 1000;
                    timer1.Enabled  = true;
                    timer1.Tick    += formClose_Tick;
                    timer1.Start();
                }
                else
                {
                    addAlter("发生错误", CxFlatAlertBox.AlertType.Error);
                }
            }
            catch
            {
                addAlter(Resources.ExceptionTip, CxFlatAlertBox.AlertType.Error);
            }
        }
Beispiel #26
0
        /// <summary>
        /// 发布按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void submitButton_Click(object sender, EventArgs e)
        {
            lockButton();
            if (LoginInfo.CurrentUser.sessionId == null || CourseInfo.CurrentUser.classCode == null)
            {
                addAlter(EnumExtend.GetDisplayText(OperateEnum.NO_COURSE), CxFlatAlertBox.AlertType.Error);
                return;
            }
            SessionData <VoteData> sessionData = new SessionData <VoteData>();

            sessionData.sessionId = LoginInfo.CurrentUser.sessionId;
            sessionData.data      = voteData;
            try
            {
                string url      = Properties.Resources.Server + Properties.Resources.AddVoteUrl;
                string data     = JsonConvert.SerializeObject(sessionData);
                string response = HttpUitls.POST(url, data);
                System.Diagnostics.Debug.WriteLine(response + "触发了");
                //Vote vote = voteData.vote;
                OkeResult <SessionData <Vote> > okeResult = JsonConvert.DeserializeObject <OkeResult <SessionData <Vote> > >(response);

                if (okeResult.success)
                {
                    addAlter(EnumExtend.GetDisplayText(OperateEnum.OP_SUCC), CxFlatAlertBox.AlertType.Success);
                    timer.Stop();
                    //voteData.vote.voteId = int.Parse(okeResult.error);
                    VoteSituationForm voteSituationForm = new VoteSituationForm();
                    //voteSituationForm.voteData = voteData;
                    voteSituationForm.votecount = voteData.voteChoiceList.Count;
                    voteSituationForm.load(okeResult.data.data);
                    System.Diagnostics.Debug.WriteLine(voteData.voteChoiceList.Count + "hahaha");
                    voteSituationForm.ShowDialog();
                    timer.Tick += formClose_Tick;
                    timer.Start();
                }
            }
            catch (Exception)
            {
                addAlter(EnumExtend.GetDisplayText(OperateEnum.OP_FAIL), CxFlatAlertBox.AlertType.Error);
                unlockButton();
            }
            unlockButton();
        }
Beispiel #27
0
        public async Task <NewsResult> GetLatestNewsFlash()
        {
            var reNews = new NewsResult();

            var        url        = "http://www.bishijie.com/kuaixun/";
            HttpResult httpResult = await HttpUitls.HttpsGetRequestAsync(url);

            if (httpResult.Success)
            {
                //HTML 解析成 IDocument
                var htmlParser = new HtmlParser();
                var dom        = htmlParser.Parse(httpResult.StrResponse);
                //解析页面
                var listRoot = dom.QuerySelector(".kuaixun_list");
                var firstNew = listRoot.QuerySelector("ul");
                var title    = firstNew.QuerySelector("a").GetAttribute("title");
                var content  = firstNew.QuerySelector(".lh32");

                reNews.Success = true;
                reNews.From    = "【币世界】";
                reNews.Title   = title;
                reNews.Content = content.TextContent.Replace(title, "").Replace(" ", "").Trim();

                //重要性判断
                if (firstNew.QuerySelector("a").GetAttribute("style") != null && firstNew.QuerySelector("a").GetAttribute("style") == "color:#ff0000;")
                {
                    reNews.NewsLevel = NewsLevel.Importent;
                }
                else
                {
                    reNews.NewsLevel = NewsLevel.Normal;
                }
            }
            else
            {
                reNews.Success  = false;
                reNews.Content  = httpResult.StrResponse.Length < 48 ? httpResult.StrResponse : httpResult.StrResponse.Substring(0, 48);
                reNews.Content += "oh~锅咩锅咩~程序跪了~";
            }

            return(reNews);
        }
Beispiel #28
0
        public async Task <NewsResult> GetLatestNewsFlash()
        {
            var reNews = new NewsResult();

            var        url        = "https://api.jinse.com/v4/live/list?limit=1&reading=false";
            HttpResult httpResult = await HttpUitls.HttpsGetRequestAsync(url);

            if (httpResult.Success)
            {
                var reModel = JsonConvert.DeserializeObject <JinseFlash>(httpResult.StrResponse);

                if (reModel == null)
                {
                    reNews.Success = false;
                    reNews.Content = "好像什么都没有呢~";
                    return(reNews);
                }

                reNews.From    = "【金色财经】";
                reNews.Success = true;
                reNews.Content = reModel.list.FirstOrDefault().lives.FirstOrDefault().content;
                int i = reNews.Content.IndexOf("【") + 1;
                int j = reNews.Content.IndexOf("】");
                reNews.Title = reNews.Content.Substring(i - 1, j - i + 2);
                if (!string.IsNullOrEmpty(reModel.list.FirstOrDefault().lives.FirstOrDefault().highlight_color))
                {
                    reNews.NewsLevel = NewsLevel.Importent;
                }
                else
                {
                    reNews.NewsLevel = NewsLevel.Normal;
                }
            }
            else
            {
                reNews.Success  = false;
                reNews.Content  = httpResult.StrResponse.Length < 48 ? httpResult.StrResponse : httpResult.StrResponse.Substring(0, 48);
                reNews.Content += "oh~锅咩锅咩~程序跪了~";
            }

            return(reNews);
        }
Beispiel #29
0
        /// <summary>
        /// 执行登出流程
        /// </summary>
        private void runLoginOut()
        {
            Log.AddLog("N2", "开始登出……");
            DateTime startRun = DateTime.Now;
            string   rooms    = HttpUitls.Get(apiURL + "/api/auth/destroyToken", "DEFAULT", "Cookie",
                                              "Authorization=" + Features.Reg.GetRegKey(Registry.CurrentUser, @"SOFTWARE\SSTeam\SS-Tool-Box", "N2Token"));

            Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) delegate()
            {
                panRoomCard.Children.Clear();
                panRoomLoading.Visibility = Visibility.Collapsed;
                panRomeError.Visibility   = Visibility.Collapsed;
                panLoginInouts.Visibility = Visibility.Visible;
                Login.Visibility          = Visibility.Visible;
                LoginOut.Visibility       = Visibility.Collapsed;
                LoginWait.Visibility      = Visibility.Collapsed;
            });
            Features.Reg.DelRegKey(Registry.CurrentUser, @"SOFTWARE\SSTeam\SS-Tool-Box", "N2Token");
            isLogined = false;
            Log.AddLog("N2", "登出完成,耗时:" + DateTime.Now.Subtract(startRun).TotalSeconds + "秒");
        }
Beispiel #30
0
        public async Task <string> GetMorningPapaer()
        {
            string reNews = string.Empty;

            var        url        = "http://www.pmtown.com/archives/category/%E6%97%A9%E6%8A%A5";
            HttpResult httpResult = await HttpUitls.HttpsGetRequestAsync(url);

            if (httpResult.Success)
            {
                //HTML 解析成 IDocument
                var htmlParser = new HtmlParser();
                var dom        = htmlParser.Parse(httpResult.StrResponse);
                //解析页面
                var listRoot    = dom.QuerySelector(".article-list");
                var firstNewURL = listRoot.QuerySelector(".item-title").QuerySelector("a").GetAttribute("href");
                if (!string.IsNullOrEmpty(firstNewURL))
                {
                    HttpResult httpDetialResult = await HttpUitls.HttpsGetRequestAsync(firstNewURL);

                    var domDetial = htmlParser.Parse(httpDetialResult.StrResponse);
                    var title     = domDetial.QuerySelector(".entry-title").TextContent;
                    var content   = domDetial.QuerySelector(".entry-content");
                    //掐头去尾
                    var contentTxt = content.TextContent.Trim();

                    reNews = title + "\n" + contentTxt.Substring(0, contentTxt.Length - 97);
                }
                else
                {
                    reNews = null;
                }
            }
            else
            {
                reNews = httpResult.StrResponse.Length < 48 ? httpResult.StrResponse : httpResult.StrResponse.Substring(0, 48);
                reNews = "oh~锅咩锅咩~程序跪了~";
            }

            return(reNews);
        }