当前位置:首页>PPT>当 PPT 开始有版本管理、适配层和静态检查,会发生什么?

当 PPT 开始有版本管理、适配层和静态检查,会发生什么?

  • 2026-07-17 15:22:22
当 PPT 开始有版本管理、适配层和静态检查,会发生什么?
大家好,我是小葵!每天都会准时和大家见面!

程序员终于开始给 PPT 写“单测”了:这个开源项目,把审美玄学做成了工程系统

副标题:不是再做一个“输入主题,生成 20 页模板 PPT”的工具,而是试图把设计风格、版式规则和交付质量,全部变成可复用、可配置、可校验的代码资产。

源代码:

https://github.com/dakjdakd/PPT-Design-

“程序员做 PPT,为什么总像在提交一个没有跑测试的 PR?”

这句话,估计很多人都笑不出来。

你明明用了最好的 AI PPT 工具,写了最完整的 Prompt,甚至还让模型“高级一点、科技一点、苹果一点、极简一点”。

结果出来一看:

第一页像苹果发布会。第二页像企业培训模板。第三页突然开始赛博渐变。第四页卡片挤成一团。最后一页标题自动换行,把“的”单独留在第二行。

你以为是模型不够聪明。

但真正的问题是:大多数 AI PPT 工具,本质上还停留在“逐页生成”阶段,而不是“设计系统生成”阶段。

最近看到一个开源项目:PPT-Design-DNA。

它最有意思的地方,不是“帮你生成 PPT”。

而是它试图回答一个程序员会非常感兴趣的问题:

能不能像管理代码一样,管理一套 PPT 的视觉风格?能不能像写配置一样,定义“高级感”?能不能像跑 CI 一样,在交付前检查标题有没有压住正文、卡片有没有顶到底部、中文有没有孤字换行?

答案是:可以,而且这个项目已经开始这么干了。


一、AI PPT 最难的,不是生成一页,而是让 20 页像同一个设计师做的

先说结论。

绝大多数 AI PPT 的问题,不是不会排版,而是没有“视觉状态管理”

它们通常的工作方式是:

主题→ Prompt→ 生成第一页→ 生成第二页→ 生成第三页→ 每一页自由发挥

这套流程的问题,和让 AI 直接连写 50 个页面前端差不多。

单看每一页,可能都还行。

放在一起,就开始人格分裂。

因为它没有一个持续生效的“设计约束层”。

PPT-Design-DNA 的思路不一样。

它不是一上来就问你:

“主题是什么?”“做几页?”“给谁看?”

它先问的是:

这套 PPT,应该长成什么样?

项目把一张参考图、一组 UI 截图、一张海报、一本杂志页面,甚至一张游戏截图,先拆成一套叫 Design DNA 的设计基因。

它不只提取颜色和字体,还会从五个层面描述一套视觉风格:

  • 情绪:是克制、热闹、科技、专业,还是叛逆;

  • 构图:留白多少、信息密度多高、卡片怎么排;

  • 视觉语言:颜色、边框、纹理、阴影、字体气质;

  • 内容策略:这套风格适合大标题,还是适合图表、数据和长文本;

  • 演示节奏:章节如何切换、动效该克制还是张扬。

换句话说,它不是在生成“某一页 PPT”。

它是在生成一套:

设计规则 + 视觉 Token + 内容容量 + 版式约束 + 演示策略

这才是程序员真正熟悉的东西。

不是模板。

是系统。

二、它做的不是“抄参考图”,而是把参考图编译成设计配置

很多人一听“参考图做 PPT”,第一反应是:

“那不就是把海报、网页截图复制进幻灯片吗?”

不是。

这个项目专门把“参考图”和“内容图”分开了。

参考图只负责告诉系统:

  • 这套设计的色彩关系是什么;

  • 视觉张力来自哪里;

  • 留白是大还是小;

  • 标题是粗暴直接还是克制文艺;

  • 页面是高密度还是低密度;

  • 该用颗粒感、描边、网格还是大面积纯色。

但参考图里的人物、产品、角色、建筑、吉祥物,默认不能被重新画进 PPT。

也就是说:

你可以借鉴一张猫咪插画的色彩、线条、构图节奏。

但不能顺手再生成一只“很像那张图里的猫”。

这件事看似只是设计规范,实际上很像程序员熟悉的概念:

Interface 可以复用Implementation 不应该直接复制

它提取的是视觉接口,不是原图实现。

项目甚至把这件事写成了明确的“参考主体防火墙”:允许继承色彩、纹理、排版节奏和字体气质,但禁止把参考图中的可识别主体变成 CSS、SVG、HTML 或 AI 生成装饰。

这一步很关键。

因为很多所谓“风格迁移”,本质只是把参考图里的元素换个位置贴进去。

而真正难的是:

保留“为什么它好看”,但不复制“它具体画了什么”。

三、真正让程序员兴奋的,是它把“审美”做成了可版本化资产

如果你是开发者,看到这里应该已经有感觉了。

PPT-Design-DNA 最像代码仓库的地方,不是它用了 HTML。

而是它把“风格”变成了一个可以长期维护的资产。

比如,一套风格不是一句 Prompt:

帮我做一套苹果风 PPT

而是一个可以保存的 Design Profile。

里面会记录:

profile.jsonversions/v001.jsonversions/v002.jsondiffs/v001-to-v002.jsonadapters/academic/adapters/consulting/

你可以把它理解成:

Design System as Code

第一次,你从一组参考图里抽出一套“科技极简风”。

第二次,你觉得太空、太冷、文字不够好读。

于是改参数:

留白:80 → 60信息密度:30 → 55图表权重:35 → 75动效强度:50 → 15

然后生成一个新版本。

更重要的是,它不只记录“参数变了”。

还要求记录视觉后果

比如:

  • 留白减少后,页面会更像汇报材料,而不是品牌海报;

  • 图表权重提高后,信息表达会更强,但视觉冲击会下降;

  • 动效变少后,数据可信度可能更高,但发布会感会变弱。

这不就是设计领域的 Git Diff 吗?

不是简单告诉你:

cyber: 80 → 30

而是告诉你:

霓虹感下降;阅读压力变小;更适合内部战略汇报;不再适合高能量发布会。

项目明确要求版本不可覆盖,调整风格要生成新的快照和 Design Diff;它还把“风格适配不同场景”做成了 Adapter,而不是直接把原风格硬套到所有 PPT 上。

这意味着,未来团队可能真的会拥有这样的资产库:

品牌发布会风格 v3内部经营汇报风格 v7技术架构评审风格 v4融资路演风格 v2客户方案汇报风格 v5

而不是每次做 PPT,都从“找一张好看的参考图”开始。

四、最反直觉的一点:好看的风格,不一定适合你的业务汇报

这是很多设计师知道、很多 AI 工具却没解决的问题。

你喜欢 Apple 风。

很好。

但你要做的是一份 50 页的财务分析报告。

怎么办?

如果还坚持:

“大留白、超大标题、少量文字、强视觉冲击。”

那最后一定会出现一个灾难:

数据塞不下去,图表缩成邮票,公式看不清,领导看完不知道重点。

PPT-Design-DNA 给出的方案很像工程里的环境适配。

同一套基础风格,可以通过 Design Adapter 生成不同版本:

Apple Minimal├── Apple Academic├── Apple Consulting├── Apple Startup Pitch└── Apple Product Launch

它还给出了三种处理逻辑:

第一种:Visual First。优先保留视觉冲击力,压缩内容。适合发布会、路演开场、产品宣讲。

第二种:Dynamic Downgrade。允许页面没那么“惊艳”,换取更高的信息密度、图表空间和可读性。适合经营汇报、答辩、复盘。

第三种:Cell Division。不牺牲美感,也不压缩内容,而是把复杂信息拆成更多页。适合既要高级感,又要把内容讲完整的场景。

这一点特别像软件工程里的取舍:

性能、成本、复杂度,不能全都要。

PPT 也一样。

视觉冲击、信息密度、可读性、页数、演讲节奏,本来就是互相制约的。

真正专业的系统,不是假装没有冲突。

而是把冲突暴露出来,让你选择。

五、最炸裂的功能来了:它居然给 PPT 写了静态检查器

前面那些还只是“设计系统”。

真正让我觉得这个项目有意思的,是它自带了一个 Node 脚本:

node scripts/ppt-layout-guard.js deck.html --report layout-guard-report.json

它的作用,不是检查 PPT 有没有生成成功。

而是检查:

这套 HTML PPT 有没有明显的版式翻车风险。

比如:

  • 标题会不会压住正文;

  • 卡片会不会顶到导航区;

  • 大标题换行后,最后是不是只剩一个“的”;

  • 中文标题行高是不是过低;

  • 文字容器是不是偷偷用了 overflowhidden 来掩盖内容溢出;

  • 页面里的标题区、正文区、卡片区、视觉区有没有空间冲突;

  • 每个大模块有没有声明自己的 data-zone

  • 多元素页面有没有写 layout_box_budget

这已经不是“AI 帮我美化 PPT”了。

这是:

PPT Lint + 

Layout Static Analysis + 

Design Contract Validation

项目的检查器会从 HTML 和 CSS 源码里读取区域定义,估算标题所需高度、识别中英文混排孤行、检查标题与正文的安全间距,并把严重问题标成 P0。只要 P0 没解决,就不应该交付。

想象一下。

以后你提交一套 PPT,不再只是:

final_v7_最终版_真的最终版.pptx

而是:

deck.html 

deck-manifest.json 

layout-guard-report.json

然后系统告诉你:

FAILSlide 03:标题和卡片重叠风险Slide 06:中文标题最后一行只剩 1 个字Slide 08:正文进入导航安全区域Slide 10:内容容器使用 overflow:hidden,疑似掩盖排版问题

这对于程序员来说,实在太熟悉了。

你不需要相信“感觉没问题”。

你可以先让它跑一遍。

六、为什么它选择 HTML,而不是直接生成 PPTX?

这也是一个很现实的问题。

很多人会说:

“我最后还是要 PPTX 啊,HTML 有什么用?”

答案是:

HTML 更适合作为视觉生成过程中的“源代码”。

因为 HTML 可以:

  • 精确控制动画;

  • 用 CSS 管理设计 Token;

  • 用固定画布控制 16:9 布局;

  • 方便读取和检查元素区域;

  • 方便做静态分析;

  • 方便做浏览器演示;

  • 最后再导出成 PDF 或 PPTX。

PPT-Design-DNA 的主输出不是 PPTX,而是固定 1920×1080 画布的 HTML Deck。

这非常像前端项目的思路:

HTML / CSS 是源代码PDF / PPTX 是构建产物

项目要求所有页面在固定 16:9 Stage 中渲染,并把 HTML 作为视觉保真、动效、检查和导出的主要载体。

这条路线未必适合所有人。

但对于“要做高质量演示稿”的团队来说,它比直接在 PPTX 里和各种排版偏差搏斗,要工程化得多。

七、它真正想解决的,不是“PPT 难看”,而是“设计无法复用”

今天大多数团队做 PPT 的状态是:

领导说:这版不错,以后都照这个做。

然后三个月后,没人知道:

  • 当初字号是多少;

  • 卡片圆角是多少;

  • 页面留白是多少;

  • 哪种图表适合这个风格;

  • 颜色为什么这样配;

  • 什么场景不适合这套设计;

  • 那张参考图到底在哪里;

  • 为什么这次做出来完全不像上次。

于是,“一套好看的 PPT”,最终变成了一次性事故现场。

PPT-Design-DNA 想把它变成:

一次好看的结果→ 一套 Design DNA→ 一个可复用 Profile→ 多个场景 Adapter→ 可验证的交付规范

这才是它真正有价值的地方。

它把设计从“灵感驱动”,推进到“资产驱动”。

把 PPT 从“手艺活”,推进到“可维护系统”。

八、但别神化:它不是自动替代设计师的万能神器

说完优点,也要说清楚它的边界。

第一,它不是一个点一下就产出完美 PPT 的 SaaS。

它更像一套给 AI Agent、Codex、Claude Code 等工具使用的工作流规范和 Skill。

第二,它的 Layout Guard 是源码级静态检查,不是“看一眼截图就知道美不美”的视觉审美裁判。

它能发现很多机械问题,但不能保证每一页都高级,也不能保证你的商业叙事一定成立。

第三,最终效果依然依赖三个东西:

内容是否清楚设计来源是否靠谱上层 AI 是否真的按规则执行

它解决的是“把设计过程工程化”。

不是绕过内容能力,也不是绕过审美判断。

但这已经非常重要了。

因为过去我们连“为什么这一页翻车”都说不清。

现在至少可以开始把问题拆出来:

是内容过多?是设计风格不适配?是标题容量超了?是卡片区域冲突?是信息密度和视觉目标矛盾?

一旦问题可以描述,就可以被优化。

最后:PPT 的下一个形态,可能不是模板,而是“可运行的设计系统”

过去,PPT 是 Office 文件。

后来,PPT 是模板市场。

再后来,PPT 是 AI 一句话生成。

而这个项目给出的方向是:

PPT 也可以像软件一样,有设计 Token、有版本记录、有适配层、有交付约束、有静态检查。

未来真正拉开差距的,可能不是谁会写一句:

“帮我生成一个高级感 PPT。”

而是谁已经沉淀了自己的:

Design DNADesign ProfileScenario AdapterLayout Guard

程序员最喜欢的,从来不是“玄学变厉害”。

而是:

原本靠感觉的东西,终于开始可以复现、可以迭代、可以验证了。

PPT-Design-DNA 做的,正是这件事。

它不是在帮你做一套 PPT。

它是在尝试给“好看的 PPT”,建立一套工程学。

源代码:
https://github.com/dakjdakd/PPT-Design-DNA
如果你也厌倦了每次做PPT都从找模板开始,不妨关注这个方向:让设计成为可复用、可迭代、可验证的系统能力。
END
关注我们

获取更多开源新资讯

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-23 02:11:39 HTTP/2.0 GET : https://h.sjds.net/a/540828.html
  2. 运行时间 : 0.242455s [ 吞吐率:4.12req/s ] 内存消耗:4,316.37kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=45edf65fc5f7984f8db5eaab1cb776e0
  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.001313s ] mysql:host=127.0.0.1;port=3306;dbname=h_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001625s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000768s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000674s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001484s ]
  6. SELECT * FROM `set` [ RunTime:0.000631s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001770s ]
  8. SELECT * FROM `article` WHERE `id` = 540828 LIMIT 1 [ RunTime:0.001181s ]
  9. UPDATE `article` SET `lasttime` = 1784743899 WHERE `id` = 540828 [ RunTime:0.042808s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000379s ]
  11. SELECT * FROM `article` WHERE `id` < 540828 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000649s ]
  12. SELECT * FROM `article` WHERE `id` > 540828 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000416s ]
  13. SELECT * FROM `article` WHERE `id` < 540828 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002939s ]
  14. SELECT * FROM `article` WHERE `id` < 540828 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001210s ]
  15. SELECT * FROM `article` WHERE `id` < 540828 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.031084s ]
0.244138s