protected override void Start() { base.Start(); if (Instance == null) { Instance = this; } else if (Instance != this) { Destroy(gameObject); } MoveTime = 0.1f; _animator = GetComponent <Animator>(); parameters = new ExtendedParameters(); GetUi(); GameManager.Instance.ActivateCheckpoint(transform); DontDestroyOnLoad(gameObject); }
public async Task <JobListResultDto> SearchAsync(GetJobsInput input) { var cityCode = CityCodeDictionary.Get(JobSource.猎聘招聘, input.City); var request = new RestRequest(); request.AddParameter("salary", "*"); //TODO: 实现自定义 request.AddParameter("key", input.Keyword); request.AddParameter("dqs", cityCode); request.AddParameter("curPage", input.PageIndex - 1); //猎聘页索引从0开始 request.AddParameter("pageSize", input.PageSize); if (!input.ExtendedData.IsNullOrEmpty()) { try { var extendedData = _jsonSerializer.Deserialize <ExtendedParameters>(input.ExtendedData); request.AddObject(extendedData); } catch (Exception e) { _logger.LogWarning(e.Message, e.StackTrace, e.InnerException); } } try { var response = await _client.ExecuteGetTaskAsync <dynamic>(request); var htmlString = response.Content; var htmlParser = new HtmlParser(); var document = htmlParser.ParseDocument(htmlString); var jobInfoElements = document.QuerySelectorAll("ul.sojob-list li") .Where(t => t.QuerySelector(".job-info h3 a") != null); var jobs = jobInfoElements.Select(t => new JobDto { Position = t.QuerySelector("h3 a").TextContent.Trim(), Company = t.QuerySelector(".company-name a").TextContent, Salary = t.QuerySelector(".text-warning").TextContent, Address = t.QuerySelector(".area").TextContent, PublishedTime = t.QuerySelector("time").Attributes["title"].Value, Education = t.QuerySelector(".edu").TextContent, Url = t.QuerySelector(".job-info h3 a").GetAttribute("href"), WorkingYears = t.QuerySelector(".edu").NextElementSibling.TextContent }).ToList(); var dataInfoJson = document.Body.GetAttribute("data-info").UrlDecode(); dynamic dataInfo = JObject.Parse(dataInfoJson); //下次搜索携带的参数 var extendedParameters = new ExtendedParameters { init = dataInfo.init ?? -1, searchType = 1, headckid = dataInfo.headckid, fromSearchBtn = 2, sortFlag = 15, ckid = dataInfo.ckid, degradeFlag = 0, d_sfrom = dataInfo.as_from, d_ckId = dataInfo.ck_id, d_headId = dataInfo.head_id, d_curPage = input.PageIndex - 1, d_pageSize = input.PageSize }; var siTag = document.QuerySelector("input[name=siTag]").Attributes["value"]?.Value; extendedParameters.siTag = siTag; long totalCount = dataInfo.totalcnt; var extendedDataJson = _jsonSerializer.Serialize(extendedParameters); var resultDto = new JobListResultDto(jobs, totalCount) { NextRequestExtendedData = extendedDataJson }; return(resultDto); } catch (Exception e) { _logger.LogException(e); throw new BusinessException("Liepin_001", e.Message, e.StackTrace, e.InnerException); } }
private ExtendedParameters[] GetExtendedParameters(string token) { PaymentAccount pa = new PaymentAccount(); ExtendedParameters[] arExt = new ExtendedParameters[1]; ExtendedParameters ext = new ExtendedParameters(); pa.PaymentAccountID = token; ext.Key = "PaymentAccount"; ext.Value = pa; arExt[0] = ext; return arExt; }