src/ZKEACMS.SpiderLog/Service/SearchEngineManager.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/* http://www.zkea.net/ 
 * Copyright (c) ZKEASOFT. All rights reserved. 
 * http://www.zkea.net/licenses */

using Easy.RepositoryPattern;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Easy;
using ZKEACMS.SpiderLog.Models;
using System.Collections.Concurrent;
using System.IO;
using System.Text;
using Easy.Extend;

namespace ZKEACMS.SpiderLog.Service
{
    public class SearchEngineManager : ISearchEngineManager
    {
        private readonly ISearchEngineService _searchEngineService;
        private readonly ISpiderLogData _spiderLogDatabase;

        public SearchEngineManager(ISearchEngineService searchEngineService, ISpiderLogData spiderLogDatabase)
        {
            _searchEngineService = searchEngineService;
            _spiderLogDatabase = spiderLogDatabase;
        }

        public SearchEngine Get(string userAgent)
        {
            return _searchEngineService.Get().FirstOrDefault(m => m.IsMatch(userAgent));
        }

        public void Log(string name, string host, string url)
        {
            _spiderLogDatabase.WriteLog(new SearchEngineVisitLog
            {
                Host = host,
                Name = name,
                Url = url,
                VisitAt = DateTime.Now
            });
        }

        public IEnumerable<SearchEngineVisitLog> GetLastVisitLogs(string host)
        {
            foreach (var item in _searchEngineService.Get())
            {
                var lastVisit = _spiderLogDatabase.GetLastVisit(host, item.Name);
                if (lastVisit != null)
                {
                    yield return lastVisit;
                }
            }
        }

        public IEnumerable<SearchEngineVisitLog> GetVisitLogs(string name, string host)
        {
后面还有 7 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。