当前位置:首页>python>Python实现QQ邮件发送:量化交易通知必备方案

Python实现QQ邮件发送:量化交易通知必备方案

  • 2026-01-19 12:21:38
Python实现QQ邮件发送:量化交易通知必备方案

在量化交易中,邮件通知是重要的风控与状态反馈工具,可实时推送策略成交记录、盈亏统计、异常警报等关键信息。以下是适配量化场景的QQ邮件Python实现指南,涵盖环境配置、核心功能、量化场景适配与实战示例,兼顾易用性与稳定性。

一、核心原理与依赖准备

1. 实现核心

依托Python内置的smtplib库(用于SMTP协议通信)和email库(用于构建邮件内容),通过QQ邮箱的SMTP服务器(smtp.qq.com)实现邮件发送,支持文本内容、附件上传,完全满足量化交易的通知需求。

2. 前置依赖

  • • 环境要求:Python 3.6+(兼容主流量化平台如QMT、VN.PY);
  • • 库依赖:无需额外安装第三方库,直接使用Python标准库(smtplibemail);
  • • 配置依赖:需提前获取QQ邮箱的SMTP授权码(关键凭证,替代密码登录)。

3. QQ邮箱SMTP授权码获取步骤

  1. 1. 登录QQ邮箱,进入「设置」→「账户」页面;
  2. 2. 下滑找到「POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务」,开启「IMAP/SMTP服务」;
  3. 3. 点击「生成授权码」,按提示完成身份验证(如短信验证),获取16位授权码(保存好,仅显示一次)。

二、量化适配版代码实现(可直接复用)

以下代码支持配置灵活读取、多类型通知、日志附件上传,可直接嵌入量化策略:

# -*- coding: utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
from email.header import Header
import os
import json

classQuantEmailSender:
"""量化交易专用QQ邮件发送类,支持文本通知、日志附件上传"""
def__init__(self, sender_qq, sender_auth_code, receiver, smtp_server="smtp.qq.com", smtp_port=465):
"""
        初始化邮件发送器
        :param sender_qq: 发送方QQ邮箱(如xxx@qq.com)
        :param sender_auth_code: QQ邮箱SMTP授权码(16位)
        :param receiver: 接收方邮箱(可单个或多个,多个用列表如["a@qq.com", "b@163.com"])
        :param smtp_server: SMTP服务器地址(QQ邮箱固定为smtp.qq.com)
        :param smtp_port: SMTP端口(QQ邮箱SSL加密端口固定为465)
        """

self.sender_qq = sender_qq
self.sender_auth_code = sender_auth_code
self.receiver = receiver ifisinstance(receiver, listelse [receiver]
self.smtp_server = smtp_server
self.smtp_port = smtp_port

defcreate_email(self, subject, content, content_type="plain", attachment_paths=None):
"""
        构建邮件内容(支持文本、HTML格式,多附件上传)
        :param subject: 邮件主题(量化场景建议包含策略名、通知类型)
        :param content: 邮件正文(支持纯文本plain或HTML格式)
        :param content_type: 内容格式(plain=纯文本,html=富文本)
        :param attachment_paths: 附件路径列表(如["strategy_log.log", "pnl_stats.csv"])
        :return: 构建好的邮件对象
        """

# 创建带附件的邮件对象
        msg = MIMEMultipart()
# 设置发件人、收件人、主题(支持中文编码)
        msg["From"] = Header(f"量化策略通知 <{self.sender_qq}>""utf-8")
        msg["To"] = Header("; ".join(self.receiver), "utf-8")  # 多收件人用分号分隔
        msg["Subject"] = Header(subject, "utf-8")

# 添加正文内容
        msg.attach(MIMEText(content, content_type, "utf-8"))

# 上传附件(支持多个文件)
if attachment_paths:
for attachment_path in attachment_paths:
if os.path.exists(attachment_path):
# 读取附件文件
withopen(attachment_path, "rb"as f:
# 构建附件对象
                        mime = MIMEBase("application""octet-stream")
                        mime.set_payload(f.read())
                        encoders.encode_base64(mime)  # 编码为base64格式(兼容邮件传输)
# 设置附件文件名(保留原文件名,支持中文)
                        filename = os.path.basename(attachment_path)
                        mime.add_header("Content-Disposition""attachment"
                                       filename=(Header(filename, "utf-8").encode()))
                        msg.attach(mime)
else:
print(f"警告:附件文件不存在,跳过上传:{attachment_path}")
return msg

defsend(self, subject, content, content_type="plain", attachment_paths=None):
"""
        发送邮件(含异常捕获与量化场景日志输出)
        :param subject: 邮件主题
        :param content: 邮件正文
        :param content_type: 内容格式(plain/html)
        :param attachment_paths: 附件路径列表
        :return: 发送成功返回True,失败返回False
        """

        msg = self.create_email(subject, content, content_type, attachment_paths)
try:
# 连接SMTP服务器(SSL加密,保障传输安全)
with smtplib.SMTP_SSL(self.smtp_server, self.smtp_port) as smtp_obj:
# 登录QQ邮箱(用授权码替代密码)
                smtp_obj.login(self.sender_qq, self.sender_auth_code)
# 发送邮件(from_addr, to_addrs, msg_as_string)
                smtp_obj.sendmail(self.sender_qq, self.receiver, msg.as_string())
print(f"✅ 量化通知邮件发送成功!主题:{subject} | 接收人:{self.receiver}")
returnTrue
except Exception as e:
print(f"❌ 量化通知邮件发送失败!主题:{subject} | 错误信息:{str(e)}")
returnFalse

# ===================== 量化场景实战示例 =====================
if __name__ == "__main__":
# 1. 配置邮件参数(建议存入配置文件,避免硬编码)
    email_config = {
"sender_qq""your_qq@qq.com",  # 替换为你的QQ邮箱
"sender_auth_code""your_auth_code",  # 替换为你的SMTP授权码
"receiver": ["target@qq.com""backup@163.com"]  # 接收人(可多个)
    }

# 2. 初始化邮件发送器
    sender = QuantEmailSender(
        sender_qq=email_config["sender_qq"],
        sender_auth_code=email_config["sender_auth_code"],
        receiver=email_config["receiver"]
    )

# 场景1:策略成交通知(纯文本)
    trade_content = """
    量化OK_成交驱动网格策略成交通知:
    策略名称:量化OK_成交驱动网格策略_V3
    成交时间:2026-01-15 10:30:25
    标的代码:300476.SZ
    成交类型:买入
    成交价格:15.80元
    成交数量:100股
    持仓状态:当前持仓500股(未达最大持仓2000股)
    """

    sender.send(
        subject="[量化成交] 网格策略买入成交通知",
        content=trade_content,
        content_type="plain"
    )

# 场景2:策略异常警报(带日志附件)
    error_content = """
    量化OK_成交驱动网格策略异常警报:
    异常时间:2026-01-15 14:20:10
    异常类型:ATR波动率计算失败
    涉及标的:300476.SZ
    异常描述:获取历史数据不足14周期,无法计算ATR值
    处理建议:检查标的行情数据或调整ATR周期参数
    """

    sender.send(
        subject="[量化警报] 策略波动率计算异常",
        content=error_content,
        content_type="plain",
        attachment_paths=["strategy_log.log""error_traceback.txt"]  # 上传日志附件
    )

# 场景3:每日盈亏统计(HTML格式,更美观)
    pnl_html = """
    <html>
        <body>
            <h3>量化策略每日盈亏统计(2026-01-15)</h3>
            <table border="1">
                <tr><<th>策略名称</</th><<th>当日盈利</</th><<th>累计盈利</</th><<th>胜率</</th></tr>
                <tr><td>网格策略V3</td><td>+1280元</td><td>+35600元</td><td>68%</td></tr>
                <tr><td>趋势跟踪策略</td><td>-450元</td><td>+28900元</td><td>55%</td></tr>
            </table>
            <p>详细盈亏明细见附件</p>
        </body>
    </html>
    """

    sender.send(
        subject="[量化统计] 2026-01-15 策略盈亏报告",
        content=pnl_html,
        content_type="html",
        attachment_paths=["daily_pnl.csv"]  # 上传CSV格式明细
    )

三、量化场景核心适配特性

1. 多类型通知支持

  • • 成交通知:实时推送买入/卖出成交记录,包含标的、价格、数量等关键信息;
  • • 风控警报:触发止损、保证金不足、持仓超限等风险时,立即发送警报邮件;
  • • 统计报告:每日/每周自动发送盈亏统计、交易频次、策略表现等汇总信息;
  • • 异常通知:策略报错、数据获取失败、网络中断等情况,附带日志附件便于排查。

2. 关键优化点(适配量化需求)

  • • 多收件人支持:可同时推送至个人邮箱、团队协作邮箱,避免遗漏;
  • • 附件上传功能:支持日志文件(.log)、盈亏明细(.csv)、策略报告(.xlsx)等量化常用文件;
  • • 中文兼容:发件人、主题、附件名均支持中文编码,避免乱码;
  • • 异常捕获:发送失败时输出详细错误信息,便于量化策略日志排查;
  • • 配置灵活:支持硬编码(测试用)或读取配置文件(实盘用,更安全)。

3. 配置文件读取建议(实盘推荐)

实盘时避免硬编码敏感信息,可将配置存入JSON文件(如email_config.json):

{
"sender_qq":"your_qq@qq.com",
"sender_auth_code":"your_auth_code",
"receiver":["you@qq.com","colleague@163.com"]
}

读取配置的代码:

withopen("email_config.json""r", encoding="utf-8"as f:
    email_config = json.load(f)
sender = QuantEmailSender(
    sender_qq=email_config["sender_qq"],
    sender_auth_code=email_config["sender_auth_code"],
    receiver=email_config["receiver"]
)

四、实战注意事项(量化场景重点)

1. 安全性保障

  • • 授权码保密:SMTP授权码等同于邮箱密码,切勿泄露或存入代码仓库;
  • • 配置隔离:实盘环境与测试环境分开配置,避免测试邮件干扰实盘通知;
  • • 传输加密:强制使用SSL加密端口(465),防止数据传输过程中被截取。

2. 稳定性优化

  • • 网络适配:量化平台(如QMT)需确保网络权限开放,允许访问SMTP服务器(smtp.qq.com:465);
  • • 重试机制:关键通知(如风控警报)可添加重试逻辑,避免单次网络波动导致发送失败:
    defsend_with_retry(self, subject, content, content_type="plain", attachment_paths=None, retry=2):
    for i inrange(retry + 1):
    ifself.send(subject, content, content_type, attachment_paths):
    returnTrue
    if i < retry:
    print(f"重试发送({i+1}/{retry})...")
                time.sleep(3)  # 重试间隔3秒
    returnFalse
  • • 附件大小限制:QQ邮箱单封邮件附件总大小不超过50MB,量化日志文件建议按日分割,避免超限。

3. 合规与频率控制

  • • 避免垃圾邮件:量化通知邮件频率不宜过高(如日内成交通知可合并发送),避免触发QQ邮箱反垃圾机制;
  • • 正文规范:邮件主题明确(含策略名、通知类型),正文简洁明了,便于快速查看关键信息。

五、总结

该Python实现基于标准库开发,无需额外依赖,适配量化交易的各类通知场景,核心优势在于:

  1. 1. 配置简单:仅需QQ邮箱和SMTP授权码,5分钟即可搭建完成;
  2. 2. 功能全面:支持文本/HTML内容、多附件、多收件人,满足量化全场景需求;
  3. 3. 稳定可靠:含异常捕获、加密传输,适配量化平台的实盘运行环境。

在量化策略中集成该工具后,可实现“策略运行状态实时掌握、风险警报及时响应、交易记录自动归档”,大幅提升交易的可控性与效率。


风险提示:本文仅作为知识分享,模拟测试不构成任何投资建议,不作投资依据。
END
如需策略源文件→扫一扫成为星球会员
如需系统学习Python→购买成为量化高手

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-08 20:51:46 HTTP/2.0 GET : https://f.mffb.com.cn/a/463925.html
  2. 运行时间 : 0.110349s [ 吞吐率:9.06req/s ] 内存消耗:4,489.24kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=0c356e46c4cfa011af53042347cd896a
  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.000746s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000574s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000233s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000271s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000487s ]
  6. SELECT * FROM `set` [ RunTime:0.000208s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000524s ]
  8. SELECT * FROM `article` WHERE `id` = 463925 LIMIT 1 [ RunTime:0.009513s ]
  9. UPDATE `article` SET `lasttime` = 1770555106 WHERE `id` = 463925 [ RunTime:0.005118s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000308s ]
  11. SELECT * FROM `article` WHERE `id` < 463925 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000593s ]
  12. SELECT * FROM `article` WHERE `id` > 463925 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000599s ]
  13. SELECT * FROM `article` WHERE `id` < 463925 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003462s ]
  14. SELECT * FROM `article` WHERE `id` < 463925 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.009630s ]
  15. SELECT * FROM `article` WHERE `id` < 463925 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.011038s ]
0.111934s