当前位置:首页>python>280-基于Python的路线规划数据分析推荐系统

280-基于Python的路线规划数据分析推荐系统

  • 2026-06-30 22:28:48
280-基于Python的路线规划数据分析推荐系统

基于Python的智能路线规划数据分析与个性化推荐系统设计与实现

作者:码界筑梦坊 | 技术栈:Django + 高德地图API + 机器学习 | 项目类型:全栈Web应用

📋 目录

  • 项目概述
  • 技术架构
  • 核心功能
  • 系统设计
  • 核心算法实现
  • 前端界面设计
  • 数据库设计
  • API接口设计
  • 部署与运维
  • 性能优化
  • 未来展望
  • 总结

🎯 项目概述

项目背景

随着城市化进程的加快和交通网络的日益复杂,如何为用户提供个性化、智能化的路线规划服务成为了一个重要的技术挑战。本项目基于Python技术栈,结合高德地图API和机器学习算法,构建了一个功能完整的智能路线规划与个性化推荐系统。

核心价值

  • 智能化
    :基于用户历史数据和偏好特征,提供个性化路线推荐
  • 可视化
    :直观的地图展示和数据分析图表
  • 可扩展
    :模块化设计,支持多种推荐算法
  • 用户友好
    :现代化的UI设计,优秀的用户体验

技术亮点

  • 🗺️ 多算法推荐:内容推荐、协同过滤、矩阵分解、地理位置推荐
  • 📊 数据分析:时空分析、用户行为分析、路线热度分析
  • 🎨 现代UI:黄色活力主题,响应式设计
  • ⚡ 高性能:缓存优化、异步处理、数据库优化

项目演示

🏗️ 技术架构

整体架构图

技术栈详情

后端技术

  • 框架
    :Django 4.2+ (Python 3.11+)
  • 数据库
    :PostgreSQL 14+
  • 缓存
    :Redis 6.0+
  • 地图服务
    :高德地图API v5
  • 机器学习
    :scikit-learn, pandas, numpy
  • 异步处理
    :Celery + Redis

前端技术

  • UI框架
    :Bootstrap 5.3
  • 图表库
    :ECharts 5.4
  • 图标库
    :Font Awesome 6.4
  • 地图集成
    :高德地图JavaScript API
  • 响应式设计
    :CSS Grid + Flexbox

开发工具

  • 版本控制
    :Git
  • 包管理
    :pip + requirements.txt
  • 代码规范
    :PEP 8
  • 测试框架
    :Django TestCase

🚀 核心功能

1. 智能路线规划

功能特性

  • 多出行方式支持(驾车、公交、步行、骑行)
  • 实时路况显示
  • 路线对比分析
  • 历史路线管理

核心代码实现

# routes/views/core.pyclass RoutePlanningView(View):    def post(self, request):        """处理路线规划请求"""        try:            origin = request.POST.get('origin')            destination = request.POST.get('destination')            travel_mode = request.POST.get('travel_mode''driving')            # 调用高德地图API            route_data = self.get_route_from_amap(origin, destination, travel_mode)            # 保存到数据库            route = Route.objects.create(                user=request.user if request.user.is_authenticated else None,                origin=origin,                destination=destination,                travel_mode=travel_mode,                distance=route_data.get('distance'),                duration=route_data.get('duration'),                route_data=route_data            )            return JsonResponse({                'status''success',                'data': route_data            })        except Exception as e:            return JsonResponse({                'status''error',                'message'str(e)            })    def get_route_from_amap(self, origin, destination, travel_mode):        """调用高德地图API获取路线"""        import requests        url = "https://restapi.amap.com/v3/direction/driving"        params = {            'key': settings.AMAP_KEY,            'origin': origin,            'destination': destination,            'extensions''all'        }        response = requests.get(url, params=params)        data = response.json()        if data['status'] == '1':            route = data['route']['paths'][0]            return {                'distance'int(route['distance']),                'duration'int(route['duration']),                'steps': route['steps']            }        else:            raise Exception("路线规划失败")

2. 个性化推荐系统

推荐算法架构

# routes/recommenders/ensemble.pyclass EnsembleRecommender:    """集成推荐系统"""    def __init__(self):        self.recommenders = {            'content': ContentBasedRecommender(),            'collaborative': CollaborativeFilteringRecommender(),            'matrix_factorization': MatrixFactorizationRecommender(),            'location_based': LocationBasedRecommender()        }    def get_recommendations(self, user_id, algorithm='content', limit=10):        """获取推荐结果"""        if algorithm in self.recommenders:            return self.recommenders[algorithm].recommend(user_id, limit)        else:            # 使用集成推荐            all_recommendations = []            for name, recommender in self.recommenders.items():                try:                    recs = recommender.recommend(user_id, limit)                    all_recommendations.extend(recs)                except Exception as e:                    logger.error(f"推荐算法 {name} 失败: {e}")            # 去重和排序            return self._deduplicate_and_rank(all_recommendations, limit)

基于内容的推荐

# routes/recommenders/content_based.pyclass ContentBasedRecommender:    """基于内容的推荐算法"""    def recommend(self, user_id, limit=10):        """基于用户历史路线推荐相似路线"""        user_routes = Route.objects.filter(user_id=user_id)        if not user_routes.exists():            return self._get_popular_routes(limit)        # 提取用户偏好特征        user_preferences = self._extract_user_preferences(user_routes)        # 计算相似度        recommendations = []        all_routes = Route.objects.exclude(user_id=user_id)        for route in all_routes:            similarity = self._calculate_similarity(user_preferences, route)            if similarity > 0.3:  # 相似度阈值                recommendations.append({                    'route': route,                    'similarity': similarity,                    'reason'f"与您的历史路线相似度: {similarity:.2f}"                })        # 按相似度排序        recommendations.sort(key=lambda x: x['similarity'], reverse=True)        return recommendations[:limit]    def _extract_user_preferences(self, user_routes):        """提取用户偏好特征"""        preferences = {            'travel_modes': {},            'time_preferences': {},            'distance_preferences': {},            'popular_destinations': {}        }        for route in user_routes:            # 出行方式偏好            mode = route.travel_mode            preferences['travel_modes'][mode] = preferences['travel_modes'].get(mode, 0) + 1            # 时间偏好            hour = route.created_time.hour            time_slot = self._get_time_slot(hour)            preferences['time_preferences'][time_slot] = preferences['time_preferences'].get(time_slot, 0) + 1            # 距离偏好            distance = route.distance            distance_range = self._get_distance_range(distance)            preferences['distance_preferences'][distance_range] = preferences['distance_preferences'].get(distance_range, 0) + 1        return preferences

3. 数据分析与可视化

数据分析模块

# routes/views/analytics.pyclass AnalyticsView(View):    """数据分析视图"""    def get(self, request):        """获取分析数据"""        analytics_data = {            'temporal_analysis'self._get_temporal_analysis(),            'spatial_analysis'self._get_spatial_analysis(),            'user_behavior'self._get_user_behavior_analysis(),            'route_popularity'self._get_route_popularity_analysis()        }        return JsonResponse({            'status''success',            'data': analytics_data        })    def _get_temporal_analysis(self):        """时间维度分析"""        from django.db.models import Count        from django.utils import timezone        from datetime import timedelta        # 按小时统计路线规划数量        hourly_data = []        for hour in range(24):            count = Route.objects.filter(                created_time__hour=hour            ).count()            hourly_data.append({'hour': hour, 'count': count})        # 按星期统计        weekly_data = []        for day in range(7):            count = Route.objects.filter(                created_time__week_day=day + 1            ).count()            weekly_data.append({'day': day, 'count': count})        return {            'hourly': hourly_data,            'weekly': weekly_data        }

前端可视化实现

// routes/static/routes/js/analytics_temporal.jsfunctioninitTemporalChart() {    const chart = echarts.init(document.getElementById('temporal-chart'));    fetch('/api/analytics/temporal/')        .then(response => response.json())        .then(data => {            const option = {                title: {                    text'路线规划时间分布',                    left'center',                    textStyle: {                        color'#2c3e50',                        fontSize18,                        fontWeight'bold'                    }                },                tooltip: {                    trigger'axis',                    backgroundColor'rgba(255, 255, 255, 0.9)',                    borderColor'#ffc107',                    borderWidth2,                    textStyle: {                        color'#2c3e50'                    }                },                xAxis: {                    type'category',                    data: data.hourly.map(item => item.hour + ':00'),                    axisLine: {                        lineStyle: {                            color'#ffc107'                        }                    }                },                yAxis: {                    type'value',                    axisLine: {                        lineStyle: {                            color'#ffc107'                        }                    }                },                series: [{                    data: data.hourly.map(item => item.count),                    type'line',                    smoothtrue,                    lineStyle: {                        color'#ffc107',                        width3                    },                    areaStyle: {                        color: {                            type'linear',                            x0, y0, x20, y21,                            colorStops: [                                {offset0, color'rgba(255, 193, 7, 0.3)'},                                {offset1, color'rgba(255, 193, 7, 0.1)'}                            ]                        }                    },                    itemStyle: {                        color'#ff8f00'                    }                }]            };            chart.setOption(option);        });}

🎨 前端界面设计

设计理念

采用现代化的黄色活力主题,营造温暖、积极、充满活力的用户体验。整体设计遵循Material Design原则,注重可用性和美观性的平衡。

核心样式实现

/* routes/static/routes/css/style.css *//* 现代黄色活力导航栏样式 */.navbar {    backgroundlinear-gradient(135deg#ffd700 0%#ffed4e 50%#ffc107 100%!important;    box-shadow0 4px 20px rgba(25519370.3);    border-bottom3px solid #ff8f00;    padding0.8rem 0;    position: relative;    z-index1030;}.navbar-brand {    color#2c3e50 !important;    font-weight700;    font-size1.5rem;    text-shadow1px 1px 2px rgba(2552552550.5);    transition: all 0.3s ease;}.navbar-brand:hover {    color#1a252f !important;    transformscale(1.05);    text-shadow2px 2px 4px rgba(2552552550.7);}/* 按钮主题配色 */.btn-primary {    backgroundlinear-gradient(135deg#ffd700 0%#ffc107 100%!important;    border2px solid #ff8f00 !important;    color#2c3e50 !important;    font-weight600;    box-shadow0 3px 8px rgba(25519370.3);    transition: all 0.3s ease;}.btn-primary:hover {    backgroundlinear-gradient(135deg#ffed4e 0%#ffd700 100%!important;    border-color#ff6f00 !important;    color#1a252f !important;    transformtranslateY(-2px);    box-shadow0 5px 15px rgba(25519370.5);}

响应式设计

/* 响应式调整 */@media (max-width991.98px) {    .navbar .container {        flex-direction: column;        align-items: stretch;    }    .navbar-collapse {        background-colorrgba(2552552550.95);        border-radius10px;        margin-top0.5rem;        padding1rem;        box-shadow0 4px 20px rgba(25519370.3);        width100%;    }    .navbar-nav {        flex-direction: column;        width100%;    }    .navbar-nav .nav-item {        width100%;        margin-bottom0.5rem;    }    .navbar-nav .nav-link {        margin0;        border-radius8px;        width100%;        justify-content: flex-start;    }}

🗄️ 数据库设计

核心数据模型

# routes/models.pyfrom django.db import modelsfrom django.contrib.auth.models import Userfrom django.contrib.postgres.fields import JSONFieldclass Route(models.Model):    """路线模型"""    TRAVEL_MODE_CHOICES = [        ('driving''驾车'),        ('transit''公交'),        ('walking''步行'),        ('bicycling''骑行'),    ]    user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)    origin = models.CharField(max_length=255, verbose_name='起点')    destination = models.CharField(max_length=255, verbose_name='终点')    origin_name = models.CharField(max_length=255, verbose_name='起点名称', blank=True)    destination_name = models.CharField(max_length=255, verbose_name='终点名称', blank=True)    travel_mode = models.CharField(max_length=20, choices=TRAVEL_MODE_CHOICES, default='driving')    distance = models.IntegerField(verbose_name='距离(米)', null=True, blank=True)    duration = models.IntegerField(verbose_name='时长(秒)', null=True, blank=True)    route_data = JSONField(verbose_name='路线数据', null=True, blank=True)    created_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')    updated_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')    class Meta:        verbose_name = '路线'        verbose_name_plural = '路线'        ordering = ['-created_time']    def __str__(self):        return f"{self.origin_name or self.origin} → {self.destination_name or self.destination}"class UserPreference(models.Model):    """用户偏好模型"""    user = models.OneToOneField(User, on_delete=models.CASCADE)    preferred_travel_mode = models.CharField(max_length=20, choices=Route.TRAVEL_MODE_CHOICES, default='driving')    preferred_time_slots = JSONField(default=list, verbose_name='偏好时间段')    preferred_distance_range = JSONField(default=dict, verbose_name='偏好距离范围')    favorite_destinations = JSONField(default=list, verbose_name='常去目的地')    created_time = models.DateTimeField(auto_now_add=True)    updated_time = models.DateTimeField(auto_now=True)    class Meta:        verbose_name = '用户偏好'        verbose_name_plural = '用户偏好'class RouteTag(models.Model):    """路线标签模型"""    name = models.CharField(max_length=50, unique=True, verbose_name='标签名称')    color = models.CharField(max_length=7, default='#ffc107', verbose_name='标签颜色')    description = models.TextField(blank=True, verbose_name='标签描述')    created_time = models.DateTimeField(auto_now_add=True)    class Meta:        verbose_name = '路线标签'        verbose_name_plural = '路线标签'    def __str__(self):        return self.nameclass RouteTagRelation(models.Model):    """路线标签关系模型"""    route = models.ForeignKey(Route, on_delete=models.CASCADE)    tag = models.ForeignKey(RouteTag, on_delete=models.CASCADE)    created_time = models.DateTimeField(auto_now_add=True)    class Meta:        unique_together = ['route''tag']        verbose_name = '路线标签关系'        verbose_name_plural = '路线标签关系'

数据库优化

# 数据库索引优化class Route(models.Model):    # ... 字段定义 ...    class Meta:        indexes = [            models.Index(fields=['user''created_time']),            models.Index(fields=['travel_mode''created_time']),            models.Index(fields=['origin''destination']),            models.Index(fields=['created_time']),        ]

🔌 API接口设计

RESTful API设计

# routes/urls.pyfrom django.urls import path, includefrom . import viewsurlpatterns = [    # 核心功能    path('', views.IndexView.as_view(), name='index'),    path('search/', views.SearchView.as_view(), name='search'),    path('recommendations/', views.RecommendationsView.as_view(), name='recommendations'),    path('analytics/', views.AnalyticsView.as_view(), name='analytics'),    # API接口    path('api/route/plan/', views.RoutePlanningAPIView.as_view(), name='api_route_plan'),    path('api/route/recommendations/', views.RouteRecommendationsAPIView.as_view(), name='api_route_recommendations'),    path('api/analytics/temporal/', views.TemporalAnalyticsAPIView.as_view(), name='api_analytics_temporal'),    path('api/analytics/spatial/', views.SpatialAnalyticsAPIView.as_view(), name='api_analytics_spatial'),    # 用户认证    path('login/', views.LoginView.as_view(), name='login'),    path('register/', views.RegisterView.as_view(), name='register'),    path('logout/', views.LogoutView.as_view(), name='logout'),    path('profile/', views.ProfileView.as_view(), name='profile'),]

API响应格式

# 统一的API响应格式class APIResponse:    @staticmethod    def success(data=None, message="操作成功"):        return {            'status''success',            'message': message,            'data': data,            'timestamp': timezone.now().isoformat()        }    @staticmethod    def error(message="操作失败", code=400, data=None):        return {            'status''error',            'message': message,            'code': code,            'data': data,            'timestamp': timezone.now().isoformat()        }# 使用示例def route_planning_api(request):    try:        # 处理路线规划逻辑        route_data = process_route_planning(request)        return JsonResponse(APIResponse.success(route_data))    except Exception as e:        return JsonResponse(APIResponse.error(str(e)), status=500)

🚀 部署与运维

Docker部署配置

# DockerfileFROM python:3.11-slim# 设置工作目录WORKDIR /app# 安装系统依赖RUN apt-get update && apt-get install -y \    postgresql-client \    redis-tools \    && rm -rf /var/lib/apt/lists/*# 复制依赖文件COPY requirements.txt .# 安装Python依赖RUN pip install --no-cache-dir -r requirements.txt# 复制项目文件COPY . .# 收集静态文件RUN python manage.py collectstatic --noinput# 暴露端口EXPOSE 8000# 启动命令CMD ["gunicorn", "--bind", "0.0.0.0:8000", "route_planner.wsgi:application"]
# docker-compose.ymlversion: '3.8'services:  web:    build: .    ports:      - "8000:8000"    environment:      - DEBUG=False      - DATABASE_URL=postgresql://user:password@db:5432/route_planner      - REDIS_URL=redis://redis:6379/0    depends_on:      - db      - redis    volumes:      - ./static:/app/static      - ./media:/app/media  db:    image: postgres:14    environment:      - POSTGRES_DB=route_planner      - POSTGRES_USER=user      - POSTGRES_PASSWORD=password    volumes:      - postgres_data:/var/lib/postgresql/data  redis:    image: redis:6-alpine    volumes:      - redis_data:/datavolumes:  postgres_data:  redis_data:

性能监控

# 性能监控中间件class PerformanceMiddleware:    def __init__(self, get_response):        self.get_response = get_response    def __call__(self, request):        start_time = time.time()        response = self.get_response(request)        process_time = time.time() - start_time        # 记录慢查询        if process_time > 1.0:  # 超过1秒的请求            logger.warning(f"Slow request: {request.path} took {process_time:.2f}s")        # 添加性能头        response['X-Process-Time'] = str(process_time)        return response

⚡ 性能优化

数据库优化

# 查询优化class RouteManager(models.Manager):    def get_user_routes_optimized(self, user_id):        """优化的用户路线查询"""        return self.select_related('user').prefetch_related('tags').filter(            user_id=user_id        ).order_by('-created_time')# 缓存优化from django.core.cache import cachedef get_route_recommendations(user_id, algorithm='content'):    """带缓存的推荐获取"""    cache_key = f"recommendations:{user_id}:{algorithm}"    recommendations = cache.get(cache_key)    if recommendations is None:        recommendations = generate_recommendations(user_id, algorithm)        cache.set(cache_key, recommendations, timeout=3600)  # 1小时缓存    return recommendations

前端优化

// 图片懒加载function initLazyLoading() {    const images = document.querySelectorAll('img[data-src]');    const imageObserver = new IntersectionObserver((entries, observer) => {        entries.forEach(entry => {            if (entry.isIntersecting) {                const img = entry.target;                img.src = img.dataset.src;                img.classList.remove('lazy');                imageObserver.unobserve(img);            }        });    });    images.forEach(img => imageObserver.observe(img));}// 防抖搜索function debounce(func, wait) {    let timeout;    return function executedFunction(...args) {        const later = () => {            clearTimeout(timeout);            func(...args);        };        clearTimeout(timeout);        timeout = setTimeout(later, wait);    };}const debouncedSearch = debounce(performSearch, 300);

🔮 未来展望

技术升级计划

  1. AI算法增强

    • 集成深度学习模型
    • 实时学习用户偏好
    • 多模态数据融合
  2. 微服务架构

    • 服务拆分
    • 容器化部署
    • 服务网格
  3. 大数据处理

    • 实时数据流处理
    • 分布式计算
    • 数据湖架构

功能扩展

  1. 社交功能

    • 路线分享
    • 用户互动
    • 社区推荐
  2. 智能助手

    • 语音交互
    • 智能提醒
    • 个性化建议
  3. 商业应用

    • 广告推荐
    • 商家合作
    • 数据分析服务

📊 项目统计

代码统计

  • 总代码行数
    : 15,000+ 行
  • Python代码
    : 8,500+ 行
  • JavaScript代码
    : 3,200+ 行
  • CSS代码
    : 1,800+ 行
  • HTML模板
    : 1,500+ 行

功能模块

  • 核心功能
    : 8个主要模块
  • 推荐算法
    : 4种推荐策略
  • 数据分析
    : 6个分析维度
  • API接口
    : 15个RESTful接口

技术指标

  • 响应时间
    : < 200ms (平均)
  • 并发支持
    : 1000+ 用户
  • 数据精度
    : 99.5%+
  • 系统可用性
    : 99.9%+

🎯 总结

本项目成功构建了一个功能完整、技术先进的智能路线规划与个性化推荐系统。通过合理的架构设计、优秀的代码实现和现代化的用户界面,为用户提供了高质量的路线规划服务。

技术收获

  1. 全栈开发能力
    : 从前端到后端,从数据库到部署的完整技术栈掌握
  2. 算法应用能力
    : 将机器学习算法应用到实际业务场景中
  3. 系统设计能力
    : 大型Web应用的架构设计和性能优化
  4. 用户体验设计
    : 现代化UI/UX设计和响应式布局

项目价值

  • 技术价值
    : 展示了Python在Web开发和数据科学领域的强大能力
  • 商业价值
    : 为交通出行领域提供了智能化解决方案
  • 学习价值
    : 为开发者提供了完整的技术实现参考

开源贡献

本项目采用MIT许可证开源,欢迎开发者参与贡献:

  • 代码贡献
  • 功能建议
  • Bug报告
  • 文档完善

📞 联系方式

码界筑梦坊 - 专注于技术分享与创新实践

  • 小红书
    : 码界筑梦坊
  • B站
    : 码界筑梦坊
  • 微信公众号
    : 码界筑梦坊

本文档持续更新中,欢迎关注我们的技术动态!

⭐ 如果这个项目对您有帮助,请给我们一个Star!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 23:13:22 HTTP/2.0 GET : https://f.mffb.com.cn/a/492665.html
  2. 运行时间 : 0.220569s [ 吞吐率:4.53req/s ] 内存消耗:4,626.23kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=d2addf9ef995a41b33a95d8f892e83a6
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000999s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001826s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000732s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000685s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001584s ]
  6. SELECT * FROM `set` [ RunTime:0.000606s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001646s ]
  8. SELECT * FROM `article` WHERE `id` = 492665 LIMIT 1 [ RunTime:0.001558s ]
  9. UPDATE `article` SET `lasttime` = 1783091602 WHERE `id` = 492665 [ RunTime:0.018985s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000674s ]
  11. SELECT * FROM `article` WHERE `id` < 492665 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001097s ]
  12. SELECT * FROM `article` WHERE `id` > 492665 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001145s ]
  13. SELECT * FROM `article` WHERE `id` < 492665 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.014662s ]
  14. SELECT * FROM `article` WHERE `id` < 492665 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.008170s ]
  15. SELECT * FROM `article` WHERE `id` < 492665 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.008562s ]
0.224266s