Esempio n. 1
0
    /// <summary>
    /// 客户端发送心跳包
    /// </summary>
    private void ClientSendHeart()
    {
        HeartManager proto = new HeartManager();

        proto.cli_time = TimeHelp.ConvertDateTimeToInt(DateTime.Now);
        // m_SocketClient.Send(proto.encode(), OP_SYS_HEART_GET.CODE);
    }
Esempio n. 2
0
        public string GetStringTask()
        {
            _stringBuilder.Clear().Append("<b>Task:</b><n>");

            _stringBuilder.Append("You must find all items");

            switch (TypeLevel)
            {
            case TypeLevel.NightHO:
                _stringBuilder.Append(" in night state");
                break;
            }

            if (TimeLimit)
            {
                _stringBuilder.AppendFormat(", with limit time (limit: {0})", TimeHelp.GetFormattedTime(timeForLimit, "MM:SS"));
            }
            else
            {
                _stringBuilder.Append(", without limit time");
            }

            _stringBuilder.Append(".");

            return(_stringBuilder.ToString());
        }
Esempio n. 3
0
    public void MakePackage()
    {
        TimeHelp t1 = new TimeHelp();

        t1.Start();

        List <string> sFileList = Directory.GetFiles(Application.streamingAssetsPath + "/res", "*.*", SearchOption.AllDirectories).Where(f => !(f.ToLower().EndsWith(".meta") || f.ToLower().EndsWith(".manifest"))).ToList();

        Array.Clear(pHashMapIndex, 0, pHashMapIndex.Length);

        nPakHeadPos = 0;
        nPakSeekPos = sizeof(uint) * 5 * sFileList.Count;

        FileStream   fs = File.Create(Application.streamingAssetsPath + "/ss.raw", nPakSeekPos);
        BinaryWriter bw = new BinaryWriter(fs);

        bw.Write(sFileList.Count);
        nPakHeadPos += sizeof(int);
        for (int i = 0; i < sFileList.Count; ++i)
        {
            PackFileToPackage(sFileList[i], bw);
        }
        bw.Close();
        fs.Close();

        t1.Stop();
        Debug.Log("完成 耗时 " + t1.Duration);
    }
Esempio n. 4
0
        /// <summary>
        /// 验证验证码
        /// 版本:201909
        /// </summary>
        public ResponseCaptchaCheck PostCaptchaCheck201909(string point, out string jsonResult)
        {
            jsonResult = string.Empty;
            ResponseCaptchaCheck package = null;
            RequestPackage       request = new RequestPackage();

            try
            {
                request.Params.Add("rand", System.Web.HttpUtility.UrlEncode("sjrand"));
                request.Params.Add("answer", System.Web.HttpUtility.UrlEncode(point));
                request.Params.Add("login_site", System.Web.HttpUtility.UrlEncode("E"));
                request.Params.Add("_", TimeHelp.GetTimeStamp(DateTime.Now));
                request.Params.Add("callback", TrainHttpContext.callback);
                request.RequestURL = "/passport/captcha/captcha-check";
                request.RefererURL = "https://kyfw.12306.cn/otn/resources/login.html";
                request.Method     = "post";
                ArrayList list = TrainHttpContext.Send(request);
                if (list.Count == 2)
                {
                    jsonResult = Encoding.UTF8.GetString(list[1] as byte[]);
                    var resStr = jsonResult.CallBackJson();
                    package = JsonConvert.DeserializeObject <ResponseCaptchaCheck>(resStr);
                    Log.Write(LogLevel.Info, jsonResult);
                }
            }
            catch (Exception ex)
            {
                package.result_message = "验证错误";
                package.status_code    = 0000;
                Log.Write(LogLevel.Error, "验证验证码出错");
            }
            return(package);
        }
Esempio n. 5
0
        /// <summary>
        /// 登陆
        /// </summary>
        /// <param name="loginName"></param>
        /// <param name="loginPwd"></param>
        /// <param name="jsonResult"></param>
        /// <returns></returns>
        public ResponseLogin PostLogin201909(string loginName, string loginPwd, string point, out string jsonResult)
        {
            jsonResult = string.Empty;
            ResponseLogin  package = null;
            RequestPackage request = new RequestPackage();

            request.Params.Add("username", System.Web.HttpUtility.UrlEncode(loginName));
            request.Params.Add("password", System.Web.HttpUtility.UrlEncode(loginPwd));
            request.Params.Add("appid", System.Web.HttpUtility.UrlEncode("otn"));
            request.Params.Add("answer", System.Web.HttpUtility.UrlEncode(point));
            request.RequestURL = "/passport/web/login";
            request.RefererURL = "/otn/resources/login.html";
            request.Method     = "post";

            var RAIL_EXPIRATION = new Cookie("RAIL_EXPIRATION", TimeHelp.GetTimeStamp(DateTime.Now.AddDays(3)), "/", ".12306.cn");
            var RAIL_DEVICEID   = new Cookie("RAIL_DEVICEID", "K_89QjQR37H4I9URxTkeSVTXd2WIyViZrlUuxJA5A8p7xCM_3JGueLa4zc2t_T69vTHb1aDx-3ymUdCUrLXbPcb68Z-4pQAYOmF8i6rU0Nk7Q6HIfzMVHY5PIQPK16sfWaJc-Z08UcYMLepVR56jG1NrsBYZooob", "/", ".12306.cn");

            TrainHttpContext.Cookie.Add(RAIL_EXPIRATION);
            TrainHttpContext.Cookie.Add(RAIL_DEVICEID);
            ArrayList list = TrainHttpContext.Send(request);

            if (list.Count == 2)
            {
                jsonResult = Encoding.UTF8.GetString(list[1] as byte[]);
                package    = JsonConvert.DeserializeObject <ResponseLogin>(jsonResult);
                Log.Write(LogLevel.Info, jsonResult);
            }
            else
            {
                Log.Write(LogLevel.Info, list.ToString());
            }
            return(package);
        }
Esempio n. 6
0
        private Boolean setNextProcess(CSIProc newProc)
        {
            if (newProc == null)
            {
                //AppI_Debug.ShowMsg("setNextProcess: ERROR: NULL!");
                return(false);
            }

            CSIProc oldProc = _currentProc;

            _previousProc = _currentProc;
            _currentProc  = newProc;
            _nextProc     = null;

            // Old Proc gets notified it is changing out.
            if (oldProc != null)
            {
                oldProc.ExitProcess();
            }

            // New Proc finds out it is coming in.
            if (_currentProc != null)
            {
                _currentProc.EnterProcess();
            }

            //Note the time at which we entered this Proc.
            _enteredProcTime = TimeHelp.GetCurrentMS();

            return(true);
        }
Esempio n. 7
0
        private Boolean SetNextState(CSIState newState)
        {
            bool success = false;

            if (newState != null)
            {
                CSIState _previousState = _currentState;

                // Old state gets notified it is changing out.
                if (_previousState != null)
                {
                    //AppI_Debug.ShowMsg("setNextState Old:" + _previousState.ToString());
                    _previousState.Exit();
                }

                //AppI_Debug.ShowMsg("setNextState Current: " + newState.ToString());

                _currentState = newState;
                _nextState    = null;

                if (_currentState != null)
                {
                    //Note the time at which we entered this state.
                    _enteredStateTime = TimeHelp.GetCurrentMS();
                    _currentState.Enter(this);
                    success = true;
                }
            }
            else
            {
                AppI_Debug.ShowMsg("setNextState: ERROR:NULL STATE!");
                success = false;
            }
            return(success);
        }
Esempio n. 8
0
        /// <summary>
        /// QueryOrderWaitTime查询等待
        /// </summary>
        public string QueryOrderWaitTime()
        {
            RequestPackage request = new RequestPackage();

            request.Method     = EHttpMethod.Get.ToString();
            request.RefererURL = "/otn/confirmPassenger/initDc";
            request.RequestURL = "/otn/confirmPassenger/ConfirmSingleForQueue";
            request.Params.Add("random", TimeHelp.GetTimeStamp(DateTime.Now));
            request.Params.Add("tourFlag", "dc");
            request.Params.Add("_json_att", "");
            request.Params.Add("REPEAT_SUBMIT_TOKEN", "b5a05749242999dc0483196134d0358c");
            ArrayList list = TrainHttpContext.Send(request);

            return(Encoding.UTF8.GetString(list[1] as byte[]));
        }
Esempio n. 9
0
        public static void ResponseVoiceMessage(string ToUserName, string FromUserName, string media_id)
        {
            string CreateTime = TimeHelp.GetTimeStamp(System.DateTime.Now);

            string VoiceMsgXmlStr = "<xml>" +
                                    "<ToUserName><![CDATA[" + ToUserName + "]]></ToUserName>" +
                                    "<FromUserName><![CDATA[" + FromUserName + "]]></FromUserName>" +
                                    "<CreateTime>" + CreateTime + "</CreateTime>" +
                                    "<MsgType><![CDATA[voice]]></MsgType>" +
                                    "<Voice>" +
                                    "<MediaId><![CDATA[" + media_id + "]]></MediaId>" +
                                    "</Voice>" +
                                    "</xml>";

            HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
            HttpContext.Current.Response.Write(VoiceMsgXmlStr);
        }
Esempio n. 10
0
        public static void ResponseTextMessage(string ToUserName, string FromUserName, string Content)
        {
            string CreateTime = TimeHelp.GetTimeStamp(System.DateTime.Now);

            string TextMsgXmlStr = "<xml>" +
                                   "<ToUserName><![CDATA[" + ToUserName + "]]></ToUserName>" +
                                   "<FromUserName><![CDATA[" + FromUserName + "]]></FromUserName>" +
                                   "<CreateTime>" + CreateTime + "</CreateTime>" +
                                   "<MsgType><![CDATA[text]]></MsgType>" +
                                   "<Content><![CDATA[" + Content + "]]></Content>" +
                                   "</xml>";

            HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
            HttpContext.Current.Response.Write(TextMsgXmlStr);

            // return TextMsgXmlStr;
        }
Esempio n. 11
0
        /// <summary>
        /// 获取验证码2019年9月版本
        /// </summary>
        /// <returns></returns>
        public Image GetValidateCode_201909()
        {
            Image img = null;

            try
            {
                var            num      = TimeHelp.GetTimeStamp(DateTime.Now);
                var            callback = $"jQuery{RandomHelp.GetRandomNumByLength(20)}_{TimeHelp.GetTimeStamp(DateTime.Now)}";
                RequestPackage request  = new RequestPackage("/passport/captcha/captcha-image64");
                request.Params.Add("login_site", "E");
                request.Params.Add("module", "login");
                request.Params.Add("rand", "sjrand");
                request.Params.Add(num, "");
                request.Params.Add("callback", callback);
                request.Params.Add("_", num);
                ArrayList list = TrainHttpContext.GetHtmlData(request);
                if (list.Count == 3)
                {
                    var resStr     = list[1].ToString().CallBackJson();
                    var streamJson = JsonConvert.DeserializeObject <ResCodeImgMsg>(resStr);
                    if (streamJson.result_code.Equals("0"))
                    {
                        img = Base64ToImgHelp.CetFromBase64String(streamJson.image);
                    }
                }
                else
                {
                    Log.Write(LogLevel.Info, "请求/otn/login/init失败");
                }
            }
            catch (Exception ex)
            {
                Log.Write(LogLevel.Error, ex.Message, ex);
            }
            return(img);
        }
Esempio n. 12
0
        /// <summary>
        /// 获取呼叫录音
        /// </summary>https://help.aliyun.com/document_detail/65296.html?spm=a2c4g.11186623.2.17.77faaaedlaOoCW
        /// <returns></returns>
        public async Task <String> ListCallDetailRecords()
        {
            AliCCC     aliCCC     = new AliCCC();
            HttpHelper httpHelper = new HttpHelper();

            #region 公共参数
            aliCCC.Format         = "JSON";
            aliCCC.Version        = "2017-07-05";
            aliCCC.Timestamp      = DateTime.UtcNow.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ");
            aliCCC.SignatureType  = "BEARERTOKEN";
            aliCCC.RegionId       = "cn-shanghai";
            aliCCC.SignatureNonce = new RandomCode().GenerateCheckCode(45);
            ///人工维护的token
            aliCCC.BearerToken = "eyJhbGciOiJSUzI1NiIsImsyaWQiOiJlNE92NnVOUDhsMEY2RmVUMVhvek5wb1NBcVZLblNGRyIsImtpZCI6IkpDOXd4enJocUowZ3RhQ0V0MlFMVWZldkVVSXdsdEZodWk0TzFiaDY3dFUifQ.bkJudEI3OUpCcmF2aWhuNmNmbE5lbVdzNW45cFBOSWdNellrQStPYmZ5cjZVOG9rMUJqUTZqLzl3RDdkbzhHQkorMzdwYmYwR1BCTDZHUGRjaVhMVUFkaFAzeVNYanBuK2N6UkN1SnRRc3FRMGJIVTF4cVVjUDVRNUJpK2JsSWxZdlowZ2VWSzYvS2pzcVNjWHJLSlVvWkNnWE0wWGJZZ0NCVm1BaEtaTHBPVnRjdnAvUmwwV01tSFFkWnVQa0lQWEp0UFlQV3Q3QThSd0RHVTdUY1BnYlhIVy9uTmc3RVJYNk9VOENrPQ.F6WZmD5Jp3rNB7ps-FlbwaE6uqZDuFQCZv9lRwzMs8YQVln_NqiMFdhX3Wxn8TvYmFaoh2oqKkme7VkCR6e4n6cIXCa-CfC1DW5H7EaDhsJx0lU_HR01ufRI2ZBQyAKzZ72nnZPqE-7pxi4PwmArLniFJIwvv_MDgA71gY3C5KWgnDGV14qG0BWG-K78UJIItJ3xnZYUvbl3zdcgdIZOj9zI-fU4Ibj4Ods3lXF9CVG42J6E8cK1QAs0efJ4i5HvnvEMna3wdczbPpdBUQ6_0-fEpVzic6TxnDO4KO_qMrZ3ch-GBd0CQMsU3SNvWIqZ4orhz37mN9GXD3IiqEyMig";
            #endregion

            #region 获取录音地址
            aliCCC.Action     = "ListCallDetailRecords";
            aliCCC.InstanceId = "33295c19-1afd-4926-ae46-cd5a28ade3e8";
            int    PageNumber    = 1;
            int    PageSize      = 100;
            string CallDetailurl = "https://ccc.cn-shanghai.aliyuncs.com/?";
            #region 公共参数
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.Append(CallDetailurl);
            stringBuilder.Append("&Format=" + aliCCC.Format);
            stringBuilder.Append("&Version=" + aliCCC.Version);
            stringBuilder.Append("&Timestamp=" + aliCCC.Timestamp);
            stringBuilder.Append("&SignatureType=" + aliCCC.SignatureType);
            stringBuilder.Append("&RegionId=" + aliCCC.RegionId);
            stringBuilder.Append("&SignatureNonce=" + aliCCC.SignatureNonce);
            stringBuilder.Append("&BearerToken=" + aliCCC.BearerToken);
            stringBuilder.Append("&Action=" + aliCCC.Action);
            stringBuilder.Append("&InstanceId=" + aliCCC.InstanceId);
            #endregion
            stringBuilder.Append("&StartTime=" + TimeHelp.GetTimeStamp(DateTime.Parse("2018-10-10")));
            stringBuilder.Append("&StopTime=" + TimeHelp.GetTimeStamp(DateTime.Parse("2018-10-12")));
            stringBuilder.Append("&PageNumber=" + PageNumber);
            stringBuilder.Append("&PageSize=" + PageSize);
            var AuthorizationCode = await httpHelper.PostResponseAsync(stringBuilder.ToString(), "");

            var ListCallDetail = JsonHelper.FromJson <CallDetailRecordInfo>(AuthorizationCode);
            #endregion

            #region 获取下载地址
            List <ALICCListCallDetail> aLICCListCallDetailList = new List <ALICCListCallDetail>();
            if (ListCallDetail != null)
            {
                foreach (var CallDetail in ListCallDetail.CallDetailRecords.List.CallDetailRecord)
                {
                    ALICCListCallDetail aLICCListCallDetail = new ALICCListCallDetail();
                    aLICCListCallDetail.ContactId          = CallDetail.ContactId;
                    aLICCListCallDetail.StartTime          = CallDetail.StartTime;
                    aLICCListCallDetail.Duration           = CallDetail.Duration;
                    aLICCListCallDetail.ContactType        = CallDetail.ContactType;
                    aLICCListCallDetail.ContactDisposition = CallDetail.ContactDisposition;
                    aLICCListCallDetail.CallingNumber      = CallDetail.CallingNumber;
                    aLICCListCallDetail.CalledNumber       = CallDetail.CalledNumber;
                    aLICCListCallDetail.InstanceId         = CallDetail.InstanceId;
                    if (CallDetail.Recordings.Recording.Count > 0)
                    {
                        aLICCListCallDetail.FileName = CallDetail.Recordings.Recording[0].FileName;
                    }
                    aLICCListCallDetailList.Add(aLICCListCallDetail);
                }
            }
            StringBuilder FilestringBuilder = new StringBuilder();
            //重新获取随机值
            aliCCC.SignatureNonce = new RandomCode().GenerateCheckCode(45);
            #region
            FilestringBuilder.Append(CallDetailurl);
            FilestringBuilder.Append("&Format=" + aliCCC.Format);
            FilestringBuilder.Append("&Version=" + aliCCC.Version);
            FilestringBuilder.Append("&Timestamp=" + aliCCC.Timestamp);
            FilestringBuilder.Append("&SignatureType=" + aliCCC.SignatureType);
            FilestringBuilder.Append("&RegionId=" + aliCCC.RegionId);
            FilestringBuilder.Append("&SignatureNonce=" + aliCCC.SignatureNonce);
            FilestringBuilder.Append("&BearerToken=" + aliCCC.BearerToken);
            string DownloadAction = "DownloadRecording";
            FilestringBuilder.Append("&Action=" + DownloadAction);
            FilestringBuilder.Append("&InstanceId=" + aliCCC.InstanceId);
            #endregion
            if (aLICCListCallDetailList.Count > 0)
            {
                foreach (var aLICCListCallDetail in aLICCListCallDetailList)
                {
                    FilestringBuilder.Append("&FileName=" + aLICCListCallDetail.FileName);
                    var MediaDownloadParam = await httpHelper.PostResponseAsync(FilestringBuilder.ToString(), "");

                    var MediaDownload = JsonHelper.FromJson <MediaDownload>(MediaDownloadParam);
                    if (MediaDownload != null)
                    {
                        aLICCListCallDetail.SignatureUrl = MediaDownload.MediaDownloadParam.SignatureUrl;
                    }
                }
            }
            return(AuthorizationCode.ToString());

            #endregion
        }
Esempio n. 13
0
 public void TimeStampTest()
 {
     var time = TimeHelp.ConvertStringToDateTime("1567901654217");
 }