当前位置:首页>Excel>第321讲:Python 和 Excel VBA 两种技术路线来实现,直播间中控数据自动记录与分钟级监控

第321讲:Python 和 Excel VBA 两种技术路线来实现,直播间中控数据自动记录与分钟级监控

  • 2026-07-16 18:13:56
第321讲:Python 和 Excel VBA 两种技术路线来实现,直播间中控数据自动记录与分钟级监控

做直播运营的朋友都懂一个痛点:数据看板就在眼前,但你不可能一直盯着。一场4小时的带货直播,前2小时状态拉满,后2小时眼睛干涩,一旦在线人数突然跳水、成交断档,等你反应过来,黄金补救时间已经过去。

很多中控同学还在用“人工盯屏 + 手写台账”的方式,不仅效率低,还容易漏记。今天这讲,我们不玩虚的,直接上自动化方案每5分钟自动记录在线人数、成交额,一旦出现异常波动,立刻提醒

我会分别用 Python 和 Excel VBA 两种技术路线来实现,适配不同基础的同学。Python适合有技术团队、需要长期稳定运行的场景;VBA适合个人运营、不想折腾环境、只想在本地Excel里一键跑起来的场景。


一、先明确业务规则:什么才算“异常波动”?

在写代码之前,必须先定义清楚“异常”,否则程序会频繁误报,反而变成噪音。

我们设定两个维度的监控指标:

  1. 在线人数(UV)

    • 相比上一个5分钟周期,跌幅超过20%,触发预警。

    • 连续两个周期下跌,且累计跌幅超过30%,触发严重预警。

  2. 成交额(GMV)

    • 当前5分钟周期内,无任何成交(GMV=0),触发预警。

    • 相比上个周期成交额下跌超过50%,触发严重预警。

💡 经验提示:阈值不要拍脑袋定。建议先用历史直播数据跑一遍,取常态波动区间的P80分位作为阈值,这样准确率更高。


二、Python方案:高扩展性,适合生产环境

Python的优势在于:数据源灵活(API/爬虫)、分析能力强(pandas)、通知渠道多(邮件/钉钉/企业微信)

1. 整体架构设计

我们的Python脚本会做这几件事:

  1. 定时获取直播数据(模拟数据或调用API)。

  2. 将数据存入DataFrame,并计算环比变化率。

  3. 判断是否满足异常条件。

  4. 触发通知(打印日志 + 发送钉钉机器人消息)。

2. 模拟数据获取(核心逻辑)

在实际工作中,这里通常是调用抖音/淘宝/快手的开放平台API。为了演示,我们用随机数模拟直播间数据。

import randomfrom datetime import datetimedef fetch_live_data():    """    模拟从接口获取直播间数据    :return: dict    """    data = {        "timestamp": datetime.now(),        "online_count": random.randint(8001500),  # 模拟在线人数        "gmv"round(random.uniform(10005000), 2# 模拟成交额    }    return data

3. 核心逻辑:定时任务与异常检测

我们使用 time.sleep(300)来实现5分钟间隔的记录。如果你追求更高的精度,可以使用 schedule库或 APScheduler

下面是完整的监控脚本:

import timeimport pandas as pdimport numpy as np# ========== 配置区 ==========CHECK_INTERVAL = 300  # 5分钟 = 300秒UV_DROP_THRESHOLD = 0.20  # 在线人数下跌20%GMV_ZERO_THRESHOLD = 0    # 成交为0# 用于存储历史数据的全局变量(实际生产中建议存数据库)history_data = []def send_alert(message):    """模拟发送警报(实际可替换为钉钉/邮件)"""    print(f"🚨 警报:{message}")    # 钉钉机器人示例:    # import requests    # webhook = "你的钉钉Webhook地址"    # requests.post(webhook, json={"msgtype": "text", "text": {"content": message}})def monitor_logic(current_data):    """核心监控逻辑"""    history_data.append(current_data)    # 至少需要两个周期的数据才能比较    if len(history_data) < 2:        print(f"[{current_data['timestamp']}] 首次记录,基准数据已建立。")        return    prev_data = history_data[-2]    # 计算环比变化率    uv_change = (current_data['online_count'] - prev_data['online_count']) / prev_data['online_count']    gmv_current = current_data['gmv']    alert_messages = []    # 规则1:在线人数大跌    if uv_change < -UV_DROP_THRESHOLD:        alert_messages.append(f"在线人数骤降!当前:{current_data['online_count']},环比下跌{abs(uv_change):.2%}")    # 规则2:成交断崖    if gmv_current <= GMV_ZERO_THRESHOLD:        alert_messages.append(f"成交异常!当前5分钟GMV为0")    # 规则3:连续下跌(进阶逻辑)    if len(history_data) >= 3:        uv_prev_change = (prev_data['online_count'] - history_data[-3]['online_count']) / history_data[-3]['online_count']        if uv_change < 0 and uv_prev_change < 0:            total_drop = (current_data['online_count'] - history_data[-3]['online_count']) / history_data[-3]['online_count']            if total_drop < -0.3:                alert_messages.append(f"连续两周期下跌,累计跌幅{abs(total_drop):.2%}")    if alert_messages:        for msg in alert_messages:            send_alert(msg)    else:        print(f"[{current_data['timestamp']}] 数据正常。UV:{current_data['online_count']}, GMV:{current_data['gmv']}")def main():    print("直播间监控系统启动...")    while True:        try:            current_data = fetch_live_data()            monitor_logic(current_data)            # 使用pandas保存数据,方便后续复盘分析            df = pd.DataFrame(history_data)            df.to_excel("live_monitor_log.xlsx", index=False)            time.sleep(CHECK_INTERVAL)        except Exception as e:            print(f"程序出错: {e}")            time.sleep(60)if __name__ == "__main__":    main()

4. Python方案的优缺点分析

优点:

  • 强类型检查:pandas处理时间序列数据非常稳健。

  • 可视化方便:记录完的数据可以直接用 matplotlib或 seaborn画图,直播结束就能出复盘报告。

  • 容错性高:结合 try...except,即使某次API请求失败,也不会导致整个程序崩溃。

缺点:

  • 需要运行环境(安装Python、pip包)。

  • 对于完全不懂代码的运营人员,维护成本较高。


三、VBA方案:零部署,Excel内闭环

如果你不想折腾Python环境,或者公司电脑限制安装软件,那么 Excel VBA 是最佳选择。它的优势在于:无需联网、无需安装、数据直接存在表格里

1. 准备工作表

新建一个Excel文件,按 Alt + F11打开VBE编辑器。

在工作表中创建以下列:

  • A列:时间戳

  • B列:在线人数

  • C列:成交额

  • D列:人数环比

  • E列:预警信息

2. VBA核心代码:Application.OnTime

VBA没有 sleep这种阻塞线程的好用函数,它使用 Application.OnTime来安排下一个宏在指定时间运行,这是Excel定时任务的灵魂。

模块1:主调度宏

Dim NextRun As Double ' 定义公共变量,存储下次运行时间Sub StartMonitor()    ' 开始监控    Dim Interval As Integer    Interval = 5 ' 间隔分钟数    ' 记录当前数据    Call RecordData    ' 安排下一次运行    NextRun = Now + TimeSerial(0, Interval, 0)    Application.OnTime NextRun, "StartMonitor"End SubSub StopMonitor()    ' 停止监控    On Error Resume Next    Application.OnTime NextRun, "StartMonitor", , False    MsgBox "监控已停止"End Sub

模块2:数据记录与异常检测

Sub RecordData()    Dim ws As Worksheet    Set ws = ThisWorkbook.Sheets(1)    ' 找到最后一行    Dim lastRow As Long    lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1    ' 模拟获取数据(实际应用中这里可能是从网页抓取或手动粘贴)    Dim CurrentUV As Long    Dim CurrentGMV As Double    Randomize ' 初始化随机数种子    CurrentUV = Int(Rnd * 700) + 800 ' 800-1500随机数    CurrentGMV = Rnd * 4000 + 1000   ' 1000-5000随机数    ' 写入数据    ws.Cells(lastRow, 1).Value = Now    ws.Cells(lastRow, 2).Value = CurrentUV    ws.Cells(lastRow, 3).Value = Round(CurrentGMV, 2)    ' ===== 异常检测逻辑 =====    Dim AlertMsg As String    AlertMsg = ""    If lastRow > 2 Then        Dim PrevUV As Long, PrevGMV As Double        PrevUV = ws.Cells(lastRow - 1, 2).Value        PrevGMV = ws.Cells(lastRow - 1, 3).Value        ' 计算环比        Dim UvChange As Double        UvChange = (CurrentUV - PrevUV) / PrevUV        ws.Cells(lastRow, 4).Value = Format(UvChange, "0.00%")        ' 规则1:人数下跌20%        If UvChange < -0.2 Then            AlertMsg = AlertMsg & "在线人数暴跌!"        End If        ' 规则2:成交为0        If CurrentGMV <= 0 Then            AlertMsg = AlertMsg & "成交挂零!"        End If        ' 规则3:连续两期下跌        If lastRow > 3 Then            Dim PrevChange As Double            PrevChange = (PrevUV - ws.Cells(lastRow - 2, 2).Value) / ws.Cells(lastRow - 2, 2).Value            If UvChange < 0 And PrevChange < 0 Then                AlertMsg = AlertMsg & "连续下跌趋势!"            End If        End If    End If    ' 输出预警    ws.Cells(lastRow, 5).Value = AlertMsg    ' ===== 触发提醒 =====    If AlertMsg <> "" Then        Call TriggerAlert(AlertMsg)    End IfEnd Sub

模块3:弹窗与声音提醒

这是VBA比Python在本地运行时更直观的地方——直接调用系统API发声。

#If VBA7 Then    Private Declare PtrSafe Function Beep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long#Else    Private Declare Function Beep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long#End IfSub TriggerAlert(ByVal Msg As String)    ' 弹窗提醒    MsgBox Msg, vbCritical, "直播异常预警"    ' 发出蜂鸣声(高频长响,引起注意)    Beep 10001000 ' 频率1000Hz,持续1000ms    Beep 1500, 500End Sub

3. VBA方案的使用技巧

  1. 如何启动:在Excel中按 Alt + F8,选择 StartMonitor运行。

  2. 防止卡死:由于 OnTime是基于系统时间的,如果Excel处于编辑模式(光标在某个单元格闪烁),宏可能会延迟执行。建议在监控时,不要长时间锁定某个单元格。

  3. 数据安全:建议开启“自动保存”或定期手动备份,防止Excel崩溃导致数据丢失。


四、Python vs VBA:到底该怎么选?

维度

Python方案

Excel VBA方案

适用人群

数据分析师、技术中台、运维

运营小白、中控、临时分析

数据源

API接口、数据库、爬虫

手工录入、复制粘贴、Power Query

稳定性

高(后台运行,不吃Excel资源)

中(依赖Excel前台,易被打断)

通知方式

邮件、钉钉、短信、微信

弹窗、声音、桌面通知

学习曲线

较陡

平缓

二次开发

极易(机器学习预测趋势)

难(局限于Office生态)

我的建议

  • 如果你是个人玩家小团队,直接用VBA,5分钟就能搭好环境。

  • 如果你是品牌方MCN机构,有稳定的数据流,务必上Python,把监控做成服务,甚至可以加入预测模型(比如用ARIMA预测下一时段人数),实现真正的智能中控。


五、避坑指南(实战经验)

  1. API限流问题:Python调用官方API时,注意频率限制。如果是5分钟一次,通常没问题;如果是1分钟一次,可能需要申请高级权限。

  2. Excel日期格式:VBA写入时间时,确保单元格格式设置为“日期时间”,否则可能只显示数字序列。

  3. 异常处理:无论是Python还是VBA,一定要加异常捕获。直播过程中最怕程序崩了没人知道,建议在异常捕获逻辑中加入“强制发送一条错误消息给管理员”的功能。

  4. 数据去重:如果网络抖动导致重复记录,Python端可以用 drop_duplicates(subset='timestamp', keep='last')处理;VBA端可以在写入前判断时间戳是否已存在。


六、进阶思考:从“监控”到“干预”

自动化记录只是第一步。高阶的直播间中控系统,应该做到监控即干预

例如,当系统检测到“在线人数连续下跌”时,除了报警,还可以:

  • 自动置顶评论:通过RPA模拟鼠标点击,自动发送预热好的话术(“宝宝们,马上发福袋!”)。

  • 自动调整库存:当某款商品GMV异常高涨时,自动调用库存接口锁库存,防止超卖。

  • 联动千牛/抖店:检测到违规词或风险订单,自动下架或拦截。

这就需要从单纯的脚本编写,走向RPA(机器人流程自动化)的领域了。


七、课后练习(选择题)

为了检验大家的学习成果,我准备了5道选择题,涵盖本次讲解的核心知识点。答案在文末。

  1. 在Python的直播间监控脚本中,用于实现每隔5分钟执行一次记录功能的关键函数是?

    A. time.wait(300)

    B. schedule.every(5).minutes.do(job)

    C. time.sleep(300)

    D. threading.Timer(300, job)

  2. 关于VBA中的 Application.OnTime方法,下列说法错误的是?

    A. 它可以安排一个过程在将来的特定时间运行

    B. 它是Excel中实现定时任务的主要手段

    C. 如果Excel处于编辑模式,可能会影响其准时执行

    D. 它只能在Windows系统下的Excel中使用,Mac版不支持

  3. 在计算在线人数环比跌幅时,公式为 (当前值 - 上一期值) / 上一期值。如果上一期人数为1000,当前期为800,那么跌幅百分比是多少?

    A. 20%

    B. -20%

    C. 25%

    D. -25%

  4. 在Python数据处理中,使用 pandas库将内存中的数据持久化保存到Excel文件的常用方法是?

    A. DataFrame.to_csv()

    B. DataFrame.to_excel()

    C. DataFrame.save()

    D. openpyxl.write()

  5. 直播间监控系统中,为了防止因网络波动导致的程序崩溃,在Python代码编写时应重点使用哪种结构?

    A. if...else 条件判断

    B. for...in 循环遍历

    C. try...except 异常捕获

    D. def...return 函数定义


参考答案:

  1. C (虽然B也是常见用法,但在我们讲解的基础循环结构中,time.sleep是核心)

  2. D (实际上 Application.OnTime在Mac版Excel的VBA中也是可用的,尽管有些环境差异,但D的表述过于绝对,是本题的错误点)

  3. B ((800-1000)/1000 = -0.2,即-20%)

  4. B

  5. C


希望今天的分享能帮你在直播运营的道路上少加点班,多拿点业绩。如果你在实操中遇到了具体的报错,欢迎在评论区留言,我会挑选典型问题进行解答。


最新文章

随机文章

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