当前位置:首页>网站源码>不会写代码,也能做出自己的网页:从空文件夹到公开网址

不会写代码,也能做出自己的网页:从空文件夹到公开网址

  • 2026-08-11 08:14:19
不会写代码,也能做出自己的网页:从空文件夹到公开网址

「帮我做一个个人主页。」这是我最不建议直接发给 Agent 的第一句话。

它当然会回你一版网页。可等你说「图片换大一点」「手机端好像不对」时,问题就来了:它可能改错文件,顺手换掉文案,或者把桌面端修好、手机端弄坏。我这次就从一个空文件夹开始,先自己搭出一个能跑的小页面,再让 Agent 进场。每一步都在浏览器里看结果,不靠一句「完成了」收尾。

先准备三样东西:一个代码编辑器、一个浏览器、一个新文件夹。Windows 用 Ctrl + S 保存,Mac 用 Command + S 保存。示例项目叫 html-agent-demo;名字不重要,能找到它就行。

第一步,先搭一个不会迷路的项目。

我第一次看网页项目时,最容易迷糊的是「文件明明在电脑里,浏览器为什么找不到」。解决办法很笨,却很有效:先把文件夹摆整齐。最外层就是项目根目录,页面、样式、脚本和图片都从它往下找。

网页项目根目录与文件夹层级示意

在电脑上新建下面这组文件:

html-agent-demo/├── index.html├── css/│   └── style.css├── js/│   └── script.js├── images/│   └── avatar.svg└── README.md

index.html 是页面入口,style.css 管外观,script.js 管互动,images 放图片。README.md 暂时只写一句「这是我的第一个网页项目」,它的作用是让你以后回来时,能快速想起这个文件夹是做什么的。

第二步,先让浏览器看到东西。

打开 index.html,粘贴这份最小页面。这里故意保留了 titleh1pimg 和 button,因为它们刚好能让你看见一个网页的骨架。

<!doctype html><!-- 这是 HTML5 文档声明,浏览器据此选择标准解析方式。 --><html lang="zh-CN"><head>  <!-- charset 解决中文乱码;viewport 让手机按设备宽度排版。 -->  <meta charset="utf-8">  <meta name="viewport" content="width=device-width, initial-scale=1">  <title>我的第一个网页</title>  <!-- HTML 只负责连接 CSS,颜色和间距放在 css/style.css。 -->  <link rel="stylesheet" href="css/style.css"></head><body>  <main>    <!-- src 是图片路径;alt 是图片说明,也给读屏软件使用。 -->    <img src="images/avatar.svg" alt="一张抽象的黄色头像插画">    <section>      <p>MY FIRST SITE</p>      <h1>你好,这是我的第一个网页。</h1>      <p>我正在学习网页是怎样组成的,也在练习怎样把一个想法说清楚,再交给 Agent 帮我实现。</p>      <!-- id 是 JavaScript 找按钮的定位点。 -->      <button type="button">和我打个招呼</button>    </section>  </main></body></html>

注释不会显示在页面上,但我建议保留它们。看到 src,你就知道下一步查图片路径;看到 id,你就知道 JavaScript 可能靠这个名字找按钮。以后页面变长,注释相当于给自己留的路标,也给 Agent 留了修改依据。

index.html 要放在项目根目录。images/avatar.svg 则是从当前文件夹进入 images,再找 avatar.svg。这两个位置一旦写错,浏览器不会替你猜。

你可以先双击 index.html 看一眼。能看到文字,说明 HTML 被浏览器读到了;图片能出现,说明路径也对了。页面很丑没关系,此时 HTML 只负责把内容摆出来。

HTML、CSS、JavaScript 分别连接到结构、样式和互动

第三步,给页面穿上衣服。

在 css/style.css 中写入:

/* 全局默认颜色和字体,页面里的文字会先继承这里的设置。 */:root {  color: #171717;  background: #f2efe8;  font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;}/* 让 width 包含 padding 和边框,减少移动端宽度计算错误。 */* { box-sizing: border-box; }body {  margin: 0;  min-height: 100vh;  padding: 48px 24px;}.card, .checklist {  width: min(100%, 1040px);  margin: 0 auto;}/* 桌面端是左右两列:头像在左,文字在右。 */.card {  display: grid;  grid-template-columns: 280px 1fr;  gap: 64px;  align-items: center;  padding: 72px;  border: 3px solid #171717;  border-radius: 28px;  background: #ffd42f;  box-shadow: 12px 12px 0 #171717;}.avatar {  width: 100%;  height: auto;  border: 3px solid #171717;  border-radius: 50%;}h1 {  max-width: 620px;  margin: 0;  font-size: clamp(42px, 6vw, 76px);  line-height: .98;}button {  min-height: 48px;  padding: 12px 20px;  border: 2px solid #171717;  border-radius: 999px;  color: #fff;  background: #ef4c34;  font: inherit;  font-weight: 700;  cursor: pointer;}

CSS 注释最好回答「为什么这样写」。grid-template-columns: 280px 1fr 不是神秘数字,它在说:头像区域固定 280 像素,剩下的空间交给文字。以后你让 Agent 调整首屏比例,它就有一个可以修改的具体位置。

保存 style.css,刷新浏览器。我希望你先停一下,不要急着继续复制代码:背景有没有变黄?黑边有没有出现?头像有没有变圆?这三个结果都对,才进入下一步。

这几行 CSS 值得读一遍:.card 是在 HTML 里找到 class=&quot;card&quot; 的元素;grid-template-columns: 280px 1fr 把卡片分成左边 280 像素和右边剩余空间;border-radius 做圆角;box-shadow 做黑色偏移阴影。

CSS 没生效时,先看 HTML 里的这一行:

<link rel="stylesheet" href="css/style.css">

href 少写一个文件夹名,或者把 style.css 放到了根目录,浏览器就找不到它。

第四步,让按钮真的有反应。

在 index.html 的 &lt;/body&gt; 前加入:

<script src="js/script.js" defer></script>

再打开 js/script.js

// 先按 id 找到 HTML 里的按钮和反馈段落。const button = document.querySelector("#hello-button");const message = document.querySelector("#message");// 用户点击后只更新反馈文字,不重建整个页面。button.addEventListener("click", () => {  message.textContent = "按钮已经和 JavaScript 连上了。你刚刚完成了第一次互动!";});

这两条注释也在告诉 Agent 修改范围:按钮定位看第一行,点击后的变化看事件函数。以后如果你说「只改点击后的提示语,不要动布局」,它更容易只改最后一段文字。

这段代码还需要在按钮后面准备一个位置接收反馈:

<p aria-live="polite"></p>

querySelector(&quot;#hello-button&quot;) 是按 id 找按钮,addEventListener(&quot;click&quot;, ...) 是等待点击。defer 会让脚本等 HTML 解析完再执行。新手也可以把 &lt;script&gt; 放在 body 底部,这两种写法都比让脚本抢在按钮出现前运行更稳。

按钮没反应时,按这个顺序查:script.js 是否真的存在;HTML 里的路径是不是 js/script.js;按钮的 id 是否仍是 hello-button;浏览器控制台有没有红色报错。先查文件和 id,不要一上来把整页代码推倒重写。

第五步,理解路径,少掉一半的坑。

同一层、下一层和上一层的相对路径示意

路径只是在回答「目标文件在哪里」。

avatar.jpg                 同一层images/avatar.jpg          下一层../images/avatar.jpg       先回到上一层,再进入 images

项目内部尽量用相对路径。这样你把整个文件夹移动到另一台电脑,页面仍然有机会正常工作。路径排错可以用一棵很短的故障树:

看到的现象先检查
图片裂开src、文件夹名、大小写、扩展名
页面没有颜色linkhref 和 CSS 文件位置
按钮没有反应scriptid、控制台报错
手机端横向滚动固定宽度、图片宽度、过长文字

还有一个 Windows 特有的小坑:记事本可能把文件保存成 index.html.txt。资源管理器里打开「显示文件扩展名」,确认它真的是 .html

第六步,我实际会怎么改。

我做这种小页面时,一次只动一个地方。先把标题改成红色,保存、刷新,确认它真的变红,再去碰按钮。HTML、CSS、JavaScript 一起改,最后通常只剩一句「好像哪里不对」,连自己都不知道该回滚哪一处。

这套循环也适用于 Agent。Agent 修改文件以后,浏览器仍然是验收人。它可以告诉你「已经完成」,但它看不到你这台机器上的真实路径、字体、窗口宽度和加载结果。

第七步,把手机端当成另一种排版。

桌面端可以左右排版,手机端通常应该回到单列。把下面的 CSS 加到文件末尾:

@media (max-width: 680px) {  body { padding: 20px 14px 36px; }  .card {    grid-template-columns: 1fr;    gap: 28px;    padding: 32px 22px;  }  .avatar {    width: min(68vw, 220px);    margin: 0 auto;  }  .actions {    align-items: stretch;    flex-direction: column;  }  button { width: 100%; }}

@media 可以理解成「当窗口变窄时,换一套规则」。这里把两列变成一列,把按钮拉满,把头像居中。图片再补一条 max-width: 100%; height: auto;,就不会因为原图太大撑破手机屏幕。contain 会保留完整图片,cover 会填满盒子但可能裁掉边缘,头像通常更适合先用 contain

宽屏左右布局与窄屏单列布局对比

我把示例放进本地服务器,用内置浏览器实际打开。桌面端点击按钮后,页面出现了反馈,控制台没有错误:

桌面端示例页面,按钮点击后出现 JavaScript 反馈

手机端我用 390×844 检查。第一次使用整页截图时,截图工具把临时视口压成了细长画面,看起来像页面坏了;改用当前视口截图后,页面显示正常。这个小插曲很有用:截图异常时,先确认截图方式和实际 DOM 尺寸,不要立刻把 CSS 判成有问题。

390×844 手机端示例页面,内容变为单列且按钮铺满

验收时至少看四件事:标题有没有被裁掉,图片有没有变形,页面有没有横向滚动,按钮和导航能不能操作。开发者工具里的 Console 也要扫一眼。我的这次检查结果是:桌面端按钮反馈正常,手机端没有横向滚动,控制台没有 warning 或 error。

第八步,真正和 Agent 做一次网页项目。

现在才轮到 Agent。我不把它当成一个会替我做决定的人,更像是一个手很快、但需要被盯住的搭档。它负责读文件、改代码、启动预览;我负责决定方向,并且真的打开浏览器看一眼。下面这几轮不是仪式,是为了让错误尽早暴露。

Agent 做网页的分析、制作、修改、验收闭环

8.1 先让 Agent 读项目,不要急着写代码。

把当前项目文件夹交给 Agent 后,我会先按住它的手,只让它读。它要说清楚看到了哪些文件、页面怎么从 HTML 走到按钮、下一步准备动哪几个文件。如果它一上来就重写,我会让它停下;不是因为它一定会写坏,而是它还没有证明自己理解了这个项目。

请先只读取当前项目,不要修改任何文件。请按下面格式回答:1. 当前项目的文件树;2. index.html、css/style.css、js/script.js、images/avatar.svg 分别负责什么;3. 页面从加载到点击按钮的工作路径;4. 你发现的风险,例如路径、脚本加载顺序、手机端宽度;5. 如果要做个人主页,你建议先改哪两个文件,为什么。读完后停下来,等待我确认。不要创建新文件,不要粘贴整段代码。

这一轮不看页面漂不漂亮,只看它有没有把项目说对。它要是把 style.css 说成 JavaScript,我连第二轮都不会发,先让它重新读文件。

8.2 再让 Agent 分析参考网页,只产出设计 DNA。

找一个你喜欢的网页,给 Agent 截一张桌面端图和一张手机端图。截图比只丢一个网址更稳,因为有些网站会拒绝自动访问,Agent 也不该根据网站名字猜设计。

第一条提示词只做分析:

请阅读当前项目中的参考网页截图和说明,只做设计分析,不创建或修改任何文件。请输出:1. 页面结构和视觉顺序;2. 主色、辅助色、文字色和按钮色;3. 标题、正文、按钮的字号与层级;4. 桌面端与手机端的布局变化;5. 适合我的个人主页的 5 条设计规律。不要复制参考网页的 Logo、文案、图片、品牌名或源代码。分析结束后,停下来等待我确认。

拿到报告后,我不会满足于「黄色、黑色、极简」这种形容词。它们听着舒服,拿来改 CSS 却没什么用。我会继续问:首屏左右各占多宽?标题最多几行?按钮和正文隔多远?手机端哪些区块要从左右改成上下?「黄色背景」改成「明亮暖黄色做大面积背景,黑字负责阅读,红色只留给主按钮」,Agent 才有地方下手。

8.3 把“分析”和“制作”分成两条消息。

当你确认设计方向以后,再发送制作指令。这里要写清楚四件事:使用什么技术,允许改哪些文件,禁止复制什么,做完怎么验收。

第二条提示词才开始制作:

请根据刚才确认的设计规律,在当前项目文件夹制作一个原创个人主页。要求:- 保留现有项目结构;- 使用原生 HTML、CSS 和 JavaScript;- 所有图片从 images 文件夹读取;- 先说明准备修改哪些文件,再执行修改;- 保留现有文字,除非我明确要求改文案;- 手机端使用单列布局;- 不复制参考网页的 Logo、文字、图片、视频或源代码。完成后启动本地预览,告诉我修改了哪些文件。

如果 Agent 回答「我准备修改 index.htmlcss/style.css 和 js/script.js」,我才让它动手。这个停顿只有几秒,却能提前发现它是不是想删图片、改错配置,或者把一个简单项目突然换成陌生框架。

8.4 一次只提一类修改。

第一版出来后,不要把十个愿望塞进一句「再高级一点」。把修改写成「对象 + 动作 + 限制」:

请继续修改当前页面,但只处理视觉层,不要改 HTML 文案和文件结构。1. 将黄色背景调亮一点,保持黑色文字的对比度;2. 将头像放大约 10%,保持完整显示,不裁掉边缘;3. 保持红色按钮的位置,只调整圆角和阴影;4. 修改后重新检查 1440×900 和 390×844。请列出实际修改的 CSS 选择器,并说明哪些内容没有改动。

这段话里,「只处理视觉层」限制了文件范围;「头像放大约 10%」给了动作和幅度;「不裁掉边缘」说清楚了验收条件。注释也会帮助 Agent 做这种局部修改:看到 /* 桌面端是左右两列 */,它会更容易把布局调整放在 .card,而不是把整个 HTML 结构换掉。

8.5 最后一轮,让 Agent 像测试员一样工作。

第三条提示词只做验收:

请对当前网页做最终检查:1. 用 1440×900 检查电脑端;2. 用 390×844 检查手机端;3. 点击所有按钮、导航和链接;4. 检查标题、图片和按钮是否被裁切;5. 检查是否出现横向滚动;6. 检查 HTML、CSS、JavaScript 和图片是否加载成功;7. 检查浏览器控制台错误;8. 发现问题直接修复,再重新检查。请说明每个问题的原因、修改的文件和最终结果,不要粘贴整段代码。

我希望收到的是一份小报告,不是「已完成」四个字。最少写清问题、原因、修改文件和复测结果:

问题:手机端内容出现横向滚动原因:卡片使用了固定宽度,图片也没有 max-width: 100%修改:css/style.css 的 .card、.avatar 和 @media 规则复测:390×844 下 scrollWidth 等于 viewport 宽度,按钮可以点击

这里的 scrollWidth 是浏览器实际认为页面有多宽。它比肉眼看一眼更可靠,但不能替代截图:一个页面可以没有横向滚动,却把字挤得很难读。我在这次示例里就遇到过一次,第一次整页截图看起来像“页面被压成一条缝”,复查当前视口截图后才发现是截图方式的问题。

这三条提示词的作用不同。第一条控制方向,第二条控制施工,第三条控制验收。Agent 生成的第一版往往没那么糟,真正容易失控的是边改边猜。你越能说清「保留什么、只改什么、改成什么」,它越不容易碰掉其他东西。

第九步,部署前先检查隐私。

本地地址只有你自己能访问。GitHub Pages 这类静态托管服务可以把 HTML、CSS、JavaScript 和图片变成一个公开网址。最小流程是:

  1. 在 GitHub 新建一个公开仓库。
  2. 上传 index.htmlcssjsimages 和 README.md
  3. 确认仓库最外层能直接看到 index.html
  4. 打开 Settings → Pages
  5. 在 Build and deployment 中选择 Deploy from a branch
  6. 选择存放文件的分支和根目录,保存设置。
  7. 等待发布,再打开生成的网址检查图片、按钮和手机端。

本地项目到 GitHub Pages 公开网址的流程

公开前,把项目文件再扫一遍:API Key、私人电话、家庭地址、合同、公司内部资料、没有授权的图片,都不应该进入公开仓库。GitHub 官方文档提示,Pages 的更新可能需要等待几分钟;刚上传后页面没立刻变化,不一定是代码写坏了。

自定义域名可以后面再做。第一轮先让一个公开网址正常打开,等文件路径、图片、响应式和按钮都稳定,再处理 DNS。一次把所有东西塞进来,排错成本会突然变高。

最后回到开头那个问题:你需要学会多少代码,才好和 Agent 一起做网页?我的答案没有那么多。你至少要看得懂这张地图:HTML 放内容,CSS 改外观,JavaScript 接行为,路径从哪个文件夹算,浏览器怎样证明结果是真的。

我现在看到裂图,第一反应已经不是「完了」,而是去看 src 和文件树;按钮没反应,就去看 script.js、id 和控制台。Agent 仍然写得比我快,但我不再只能站在旁边等它猜。

最新文章

随机文章

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