当前位置:首页>课件>带领中小学老师制作 AI 交互课件之第7课:把闯关练习改造成题库练习

带领中小学老师制作 AI 交互课件之第7课:把闯关练习改造成题库练习

  • 2026-07-29 01:44:15
带领中小学老师制作 AI 交互课件之第7课:把闯关练习改造成题库练习

上一课,我们把“三角形内角和”探究动画改造成了三关练习。学生需要读题、输入答案、根据提示订正,最后完成三道题。

但是,固定三关只能解决一次练习。如果老师想下节课换一组题,或者让不同学生抽到不同题目,就不能每次都重新改页面。

更好的做法是把题目集中放进一个“题库”,页面从题库里读取题目、显示图形、判断答案和反馈。

本课要完成的不是随机凑题,而是做一个可维护的题库练习:每一道题都包含题干、图形条件、正确答案、错误提示和测试样例。

这样老师以后增加题目时,改的是题库,不是整套程序。

一、本课任务

本课继续使用上一课的“求三角形未知角”闯关练习,把固定三关改造成题库练习页面。

完成后,页面应具备以下能力:

  1. 从题库中读取题目;
  2. 每次练习抽取三道题;
  3. 题目按难度由易到难排列;
  4. 每道题都有对应图形、已知条件、未知角和答案;
  5. 答错时显示本题专属提示;
  6. 完成后显示本次练习结果;
  7. 可以重新抽题再练一次;
  8. 老师能按固定格式继续添加新题。

最终文件保存在:

Day07-题库练习
├── index.html
├── 题库设计.md
└── 测试记录.md

本课可以沿用第六课的输入校验、答错提示层级、按钮状态和完成页结构,但不能继续把三道题写死在判断逻辑里。题目数据要集中放在统一的题库数组中,页面只根据当前题目数据渲染和判断。

开始前需要准备什么

开始本课前,请确认:

  • 已经安装并登录 WorkBuddy;
  • 已完成第六课,并且有能够正常运行的 index.html
  • 第六课页面能完成三关练习;
  • 知道怎样复制课程文件夹;
  • 知道怎样打开本地 index.html 进行测试。

如果第六课成品还有明显问题,例如正确答案无法通过、重新练习不能恢复初始状态、第三关答案把140°判为正确,应先修好第六课,再开始本课。题库练习是在稳定的闯关练习上继续改造,不适合带着旧错误继续叠功能。

完成后应该看到什么

打开本课 index.html 后,页面应出现“开始练习”或第一道题。每次练习包含三道题,学生逐题输入答案。答对当前题后才能进入下一题,完成三题后看到本次结果和“重新抽题”按钮。

重新抽题后,页面应重新选择三道题,并恢复到第一题。题目、图形、答案、提示都应随题目变化,而不是只替换题干文字。

二、为什么要先做题库设计

第六课的三关练习可以直接把题目写在页面里:

第一关答案是70
第二关答案是55
第三关答案是70

这种做法简单,但不方便扩展。只要想增加第四题,就可能同时改题干、图形、答案、提示、按钮状态和完成统计。改动位置越分散,越容易出现“题目说求∠C,程序却检查∠B”的错误。

题库练习应该把一道题需要的信息放在一起。例如:

题目编号:
难度:
题干:
图形类型:
已知条件:
要求:
正确答案:
第一层提示:
第二层提示:
正确反馈:
测试样例:

页面只做三件事:

  1. 读取当前题目;
  2. 根据题目数据显示页面;
  3. 根据题目答案判断输入。

这样以后新增题目时,老师只要照格式补一条题目数据,再完成测试,不需要重写整套页面逻辑。

三、建立本课文件夹

在课程总文件夹中新建:

WorkBuddy交互动画课程
└── Day07-题库练习

把第六课测试通过的 index.html 和 测试记录.md 复制到新文件夹。不要直接在第六课文件夹中改造,否则后面想对比旧版和新版时会找不到原始成品。

在 WorkBuddy 中新建任务,并进行以下设置:

  1. 工作模式选择“做一做”;
  2.  工作目录选择 Day07-题库练习
  3. 确认文件列表中能看到 index.html 和 测试记录.md
  4. 先不要让 WorkBuddy 修改网页。

四、先写题库设计

输入下面这段提示词:

请读取当前工作空间中的 index.html 和“测试记录.md”,先不要修改网页。

请创建一份“题库设计.md”,把现有“挑战三关:求三角形的未知角”练习改造成可维护的题库练习。

题库至少包含6道题,分为三个难度:
1. 基础题:直接给出两个内角,求第三个角;
2. 读图题:用直角符号、等腰标记等图形信息表示已知条件;
3. 综合题:需要先根据等腰三角形、外角或文字条件推出隐藏信息,再计算。

每道题都必须写清楚:
- 题目编号;
- 难度;
- 题干文字;
- 图形类型;
- 图中要显示的顶点、角度、问号和特殊标记;
- 要求学生输入哪个角;
- 正确答案;
- 计算过程;
- 空白、格式错误和范围错误时的提示;
- 第一次答错提示;
- 第二次及之后答错提示;
- 正确反馈;
- 至少3个测试样例,包括正确答案、常见错误和非法输入。

请额外说明:
- 每次练习怎样从题库中抽取3题;
- 如何保证基础题、读图题、综合题各有1题;
- 抽题后是否需要按难度排序;
- 新增题目时老师必须检查哪些内容;
- 哪些内容不能只改题干而不改图形和答案。

请使用标题、表格和清单,保存为“题库设计.md”。

这一步的目的不是让页面马上变复杂,而是先把题库格式定下来。只要题库设计清楚,后面的实现就会稳定很多。

五、人工核对第一批题目

WorkBuddy 生成 题库设计.md 后,不要急着让它改网页。先人工核对题目是否成立。

建议题库至少包含下面六道题:

编号
难度
条件
要求
答案
B01
基础
∠A=65°,∠B=45°
求∠C
70°
B02
基础
∠A=50°,∠C=60°
求∠B
70°
R01
读图
∠A是直角,∠B=35°
求∠C
55°
R02
读图
AB=AC,顶角∠A=40°
求底角∠B
70°
C01
综合
三角形一个外角是120°,不相邻内角是45°
求另一个不相邻内角
75°
C02
综合
等腰三角形底角是50°
求顶角
80°

逐题检查时,至少确认三件事:

  1. 题干和要求是否一致;
  2. 图形条件是否能表达题干信息;
  3. 正确答案和计算过程是否匹配。

例如 C01 不能写成“外角120°,相邻内角45°”。三角形外角等于两个不相邻内角之和,所以如果外角是120°,一个不相邻内角是45°,另一个不相邻内角就是:

120° - 45° = 75°

如果题干说错成“相邻内角”,这道题就不是同一个计算关系了。不要让 WorkBuddy 根据一个模糊题干自行猜测。

六、确定题库数据格式

题库数据要让页面容易读取,也要让老师容易检查。可以要求 WorkBuddy 使用下面这样的结构:

{
  id: "B01",
  level: "基础题",
  title: "已知两个内角,求第三个角",
  prompt: "在△ABC中,已知∠A=65°、∠B=45°,求∠C。",
  askAngle: "∠C",
  answer: 70,
  formula: "180° - 65° - 45° = 70°",
  diagramType: "basic",
  diagramData: {
    labels: ["∠A=65°", "∠B=45°", "∠C=?"]
  },
  firstHint: "想一想:三角形三个内角的和是多少?",
  secondHint: "请按顺序计算:先算180° - 65°,再减去45°。",
  correctMessage: "回答正确!180° - 65° - 45° = 70°。"
}

真实代码不一定要完全照这个字段命名,但必须保证一道题的信息集中在一起。不要出现下面这种情况:

题干在HTML里
答案在submit函数里
图形标记在另一个if判断里
提示文字散落在多个按钮事件里

分散写法短期能跑,后期很难维护。

七、让 WorkBuddy 复述改造计划

题库设计确认无误后,输入:

请读取“题库设计.md”和当前的 index.html,先不要修改文件。

请说明你准备怎样把固定三关改造成题库练习:
1. 现有页面中哪些功能可以保留;
2. 哪些写死的题目、答案和提示需要替换;
3. 题库数据准备放在哪里;
4. 每次练习如何抽取3道题,并保证三个难度各1题;
5. 抽题后如何按基础题、读图题、综合题排序;
6. 当前题目变化时,题干、图形、答案、提示和按钮状态分别怎样更新;
7. 重新抽题需要重置哪些状态;
8. 你认为实现中最容易出错的地方是什么。

如果“题库设计.md”中的题目、答案或图形条件有矛盾,请先指出,不要直接修改 index.html。

重点检查 WorkBuddy 是否理解:

  • 抽题不是从六题中随便取三题,而是每个难度取一题;
  • 抽题后仍按难度排序,不能出现综合题排在第一题;
  • 每道题的图形、题干、答案和提示必须同时变化;
  • 答题次数是“当前题”的状态,切题后要清零;
  • 重新抽题要重新生成本次练习题目,而不是只回到第一题;
  • 完成结果不能记录学生姓名、排名或个人信息。

八、生成题库练习页面

计划确认无误后,输入:

请根据“题库设计.md”修改当前 index.html,把固定三关练习改造成题库练习。

具体要求:
1. 保留第六课已经验证过的输入校验规则:去除首尾空格,只接受普通十进制数字,拒绝空白、70°、1e2、0x46、多个小数点和其他字符;
2. 保留角度范围检查:答案必须大于0且小于180;
3. 保留答错提示规则:只有格式有效但答案错误时才增加答题次数;第一次答错显示第一层提示,第二次及之后显示第二层提示,不自动公布答案;
4. 保留答对后锁定输入框和提交按钮的行为;
5. 在 JavaScript 中建立统一题库数组,至少包含“题库设计.md”中的6道题;
6. 每道题的数据必须包含编号、难度、题干、要求的角、答案、计算过程、图形类型、图形标记、第一层提示、第二层提示和正确反馈;
7. 每次开始练习时,从基础题、读图题、综合题中各随机抽取1道,共3道;
8. 抽到的3道题按基础题、读图题、综合题排序;
9. 页面显示当前进度,例如“第1题/共3题”,并显示题目编号和难度;
10. 页面一次只显示当前题;
11. 当前题变化时,题干、图形、已知条件、问号、输入目标、提示文字和正确答案必须同步更新;
12. 图形必须根据题目类型变化:基础题显示普通三角形和角度标记;直角题显示直角符号;等腰题显示相等边标记;外角题显示外角延长线和外角标记;
13. 如果图形只是示意图,请在图形附近显示“示意图,角度以题目数据为准”;
14. 答对当前题后,第一、二题显示“下一题”,第三题显示“完成练习”;
15. 未答对当前题时,不能进入下一题;
16. 进入下一题时清空输入、反馈和当前题答题次数,并把焦点移到答案输入框;
17. 完成三题后显示本次练习结果,包括三道题编号、难度、正确答案和计算过程;
18. 增加“重新抽题”按钮,点击后重新抽取3道题并恢复到第一题初始状态;
19. 页面不记录姓名、分数排名、用时排名或任何个人信息;
20. 所有 HTML、CSS 和 JavaScript 仍放在一个 index.html 中,不使用外部框架、外部图片、外部脚本或网络资源。

完成后请检查:题库数组、抽题逻辑、题目渲染、四类图形、输入校验、分层提示、题目切换、完成页和重新抽题。不要把只检查过代码的项目写成已经实际操作通过。

如果 WorkBuddy 只改了题干,没有真正建立题库数组,继续输入:

当前修改仍像固定三关,只是替换了题目文字。请把题目、答案、图形条件、提示和反馈整理成统一题库数组,并让页面完全根据当前题目数据渲染。不要在提交函数里为每一道题单独写一组散落的if判断。

九、确认题库真的在工作

页面生成后,先不要做详细测试。先判断它是否真的从题库取题。

打开 index.html,检查:

  1. 页面是否显示题目编号,例如 B01、R02、C01;
  2.  是否能看到“基础题”“读图题”“综合题”等难度标签;
  3. 完成一轮后点击“重新抽题”,题目编号是否可能变化;
  4. 如果题目编号变化,图形、题干、答案和提示是否一起变化;
  5. 如果题目编号没有变化,页面是否说明题库数量太少或随机结果刚好相同。

随机抽题不要求每次都不同,但在六道题中抽三道,多点几次后通常应该能看到变化。如果连续多次都完全相同,就要检查是否只是固定顺序读取前三题。

十、按完整流程测试

题库练习的测试要比固定三关更细,因为它多了抽题和数据同步。

1. 测试抽题规则

连续点击“重新抽题”至少五次,记录每次的三道题编号。

每一轮都应满足:

  • 有且只有3道题;
  • 基础题、读图题、综合题各1道;
  • 顺序为基础题 → 读图题 → 综合题;
  • 同一轮中不重复出现同一道题;
  • 题目编号、难度和题干一致。

如果某一轮出现两个基础题,说明抽题逻辑不符合本课要求。如果综合题排在第一题,也需要修正排序。

2. 测试输入校验

在任意一道题中依次测试:

输入
预期结果
空白
提示先填写答案
abc
提示输入有效数字
0
提示角度范围不合理
180
提示角度范围不合理
70°
提示只输入数字,不要输入度数符号
1e2
提示使用普通十进制数字
0x46
提示使用普通十进制数字
正确答案加空格
去除首尾空格后判定正确
正确答案带 .0
与整数答案等值,判定正确

注意:格式错误不应增加答题次数。可以先连续输入空白、abc70°,再输入一个格式正确但答案错误的数字。此时应显示第一层答错提示,而不是第二层。

3. 测试答案与提示是否跟随题目

每次抽到一题后,故意答错两次,检查:

  • 第一次答错提示是否属于当前题;
  • 第二次提示是否给出当前题的计算路径;
  • 提示没有直接公布正确答案;
  • 第三次及之后答错仍显示第二层提示;
  • 改正后可以继续下一题;
  • 正确反馈中的算式与当前题一致。

最容易出错的是题干换了,但提示仍是上一道题。例如页面显示外角题,却提示“直角是多少度”。这种问题说明题目渲染和提示读取没有统一使用当前题目数据。

4. 测试图形是否跟随题目

逐类检查:

  • 基础题:普通三角形中两个已知角和一个问号标在正确顶点附近;
  • 直角题:直角符号在90°所在顶点;
  • 等腰题:相等边标记在两条相等的边上;
  • 外角题:有延长线、外角标记和对应内角标记;
  • 示意图有“示意图,角度以题目数据为准”的说明;
  • 图形标记不能只靠颜色表达,旁边应有文字说明或可读标签。

如果图形难以严格按比例绘制,可以接受示意图,但不能让示意图表达出相反条件。例如等腰题不能把两条腰画得明显一长一短。

5. 测试题目切换

答对第一题后点击“下一题”,检查:

  • 进度变为第2题;
  • 输入框清空;
  • 上一题反馈消失;
  • 当前题答题次数清零;
  • “下一题”重新变为不可用;
  • 焦点回到答案输入框;
  • 当前题图形和题干一起更新。

第二题进入第三题时重复检查。第三题答对后,应显示“完成练习”,而不是“下一题”。

6. 测试完成页和重新抽题

完成三题后,页面应显示本轮结果。至少包括:

  • 三道题编号;
  • 每道题难度;
  • 每道题正确答案;
  • 每道题计算过程;
  • “重新抽题”按钮。

点击“重新抽题”后,检查:

  • 页面回到第一题;
  • 输入和反馈全部清空;
  • 题目可能重新变化;
  • 当前题答题次数归零;
  • 可以再次完整完成一轮练习。

十一、把测试写回记录

不要只凭印象说“测试通过”。可以让 WorkBuddy 先整理测试表,再由老师按实际操作填写结果。

输入:

请根据本课题库练习更新“测试记录.md”,不要修改 index.html。

测试记录至少包含:
1. 测试编号;
2. 测试类别;
3. 题目编号或所在步骤;
4. 输入或操作;
5. 预期结果;
6. 实际结果;
7. 是否通过;
8. 问题说明。

请加入以下测试:连续重新抽题5次、三个难度各抽1题、抽题后按难度排序、同一轮不重复、空白、abc、0、180、70°、1e2、0x46、正确答案加空格、正确答案带.0、格式错误不增加答题次数、每题两层答错提示、第三次答错不公布答案、正确反馈算式、四类图形标记、题目切换清空状态、第三题完成练习、完成页结果、重新抽题后再次练习。

没有亲自操作得到的“实际结果”和“是否通过”保持空白,不要根据代码自动填写为通过。

填写测试记录时,失败项要写清楚触发条件。例如:

R02,第二次答错,页面提示“直角是90°”,但当前题是等腰题。

这比“提示有问题”更容易修复。

十二、根据测试结果修复常见问题

1. 抽题总是同三道

继续输入:

测试发现:点击“重新抽题”后总是显示同三道题。请检查抽题函数是否每次都重新从三个难度组中随机选择题目,而不是固定取每组第一题。修复后连续重新抽题5次,并把每次题目编号写入测试记录。

2. 同一轮出现两个基础题

继续输入:

测试发现:同一轮练习中出现了两个基础题,缺少综合题。请修改抽题逻辑:先按难度把题库分组,再从基础题、读图题、综合题中各抽1题,最后按这三个难度排序。不要直接从总题库随机抽3题。

3. 题干换了但答案没换

继续输入:

测试发现:题干已经切换到新题,但程序仍按上一题答案判断。请检查当前题索引和答案读取逻辑,确保提交时使用当前题目对象中的 answer 字段,而不是写死的答案或旧变量。修复后用每一道题的正确答案和一个错误答案分别测试。

4. 图形没有随题目变化

继续输入:

测试发现:抽到等腰题或外角题时,图形仍显示普通三角形。请根据当前题目的 diagramType 和 diagramData 重新渲染图形。至少支持基础题、直角题、等腰题和外角题四种图形。修复后逐类截图或记录实际显示情况。

5. 切题后保留上一题提示

继续输入:

进入下一题后,上一题的错误提示和输入内容仍然保留。请在切换题目时统一清空输入框、反馈区域、当前题答题次数和按钮状态,并把焦点移回答案输入框。不要清空已经完成的题目结果。

6. 完成页只显示分数

继续输入:

完成页目前只显示做对了几题。请补充本轮三道题的编号、难度、正确答案和计算过程,帮助学生回顾方法。不要记录姓名、排名或用时。

十三、老师怎样新增一道题

题库练习的价值在于可维护。新增题目前,先在 题库设计.md 中写清楚题目,再改代码。

新增题目时按下面顺序检查:

  1. 题目编号不能重复;
  2. 难度必须属于“基础题”“读图题”“综合题”之一;
  3. 题干和要求的角一致;
  4. 图形类型能够表达题目条件;
  5. 正确答案人工算过;
  6. 第一层提示只提醒思路,不公布答案;
  7. 第二层提示给计算路径,但仍不直接替学生填写;
  8. 正确反馈包含完整算式;
  9. 至少准备一个正确样例、一个常见错误样例、一个非法输入样例;
  10. 加入题库后至少抽到并测试一次。

可以使用这条提示词新增题目:

请在“题库设计.md”中新增一道综合题,暂时不要修改 index.html。

题目要求:
- 使用三角形外角关系;
- 给出一个外角和一个不相邻内角;
- 求另一个不相邻内角;
- 答案必须是大于0且小于180的整数;
- 写出题干、图形标记、答案、计算过程、两层错误提示、正确反馈和3个测试样例。

完成后请先核对题目是否成立,再说明如果加入题库数组需要补充哪些字段。

确认无误后,再让 WorkBuddy 把新题加入 index.html 的题库数组。

十四、课堂上怎样使用

这类题库练习适合放在学生已经理解三角形内角和之后,用来进行短时巩固。

第1步:先做基础题

让学生先写出算式,再输入答案。教师观察学生是否会用:

180° - 已知角 - 已知角

第2步:强调读图信息

读图题不要急着告诉学生隐藏信息。可以追问:

  • 图中哪个符号表示直角?
  • 两条边上的相同标记表示什么?
  • 题目要求的是一个角,还是两个角的和?

第3步:处理综合题错因

综合题最常见的问题不是计算,而是关系没有读懂。例如外角题中,学生可能把相邻内角和不相邻内角混在一起。此时应回到图形,让学生指出外角对应的两个不相邻内角。

第4步:用完成页复盘

完成页不要只看“做对几题”。更重要的是比较三类方法:

直接计算 → 先读图形符号 → 先推出隐藏关系

这能帮助学生看到:题目难度增加时,真正增加的是“读条件”的步骤,而不是简单把数字变大。

十五、完成检查

  • 建立了 Day07-题库练习 文件夹;
  • 复制了第六课测试通过的 index.html 和 测试记录.md
  • 创建了 题库设计.md
  • 题库至少包含6道题;
  • 基础题、读图题、综合题都有至少2道;
  • 每道题都有题干、图形条件、答案、提示和测试样例;
  • 人工核对了第一批题目的答案;
  • WorkBuddy 在修改前复述了改造计划;
  • index.html 中建立了统一题库数组;
  • 每次练习从三个难度中各抽1题;
  • 抽题后按基础题、读图题、综合题排序;
  • 当前题变化时,题干、图形、答案和提示同步变化;
  • 基础题、直角题、等腰题和外角题图形都能正确显示;
  • 输入校验仍能拒绝空白、文本、度数符号、科学计数法和十六进制格式;
  • 格式错误不增加答题次数;
  • 答错提示读取的是当前题目数据;
  • 答对后锁定输入并显示当前题计算过程;
  • 未答对时不能进入下一题;
  • 切换题目会清空上一题输入和提示;
  • 第三题答对后显示“完成练习”;
  • 完成页显示三道题编号、难度、答案和计算过程;
  • “重新抽题”会恢复初始状态并重新选择题目;
  • 连续重新抽题至少测试了五次;
  • 已按实际操作填写 测试记录.md
  • 没有把仅检查代码的项目写成实际通过。

十六、老师照着做的最短操作路径

  1. 新建 Day07-题库练习 文件夹;
  2. 复制第六课的 index.html 和 测试记录.md
  3. 在 WorkBuddy 中选择本课文件夹;
  4. 使用第四部分提示词生成 题库设计.md
  5. 人工核对六道题的答案和题意;
  6. 使用第七部分提示词,让 WorkBuddy 复述改造计划;
  7. 使用第八部分提示词生成题库练习页面;
  8. 打开 index.html,确认能看到题目编号和难度;
  9. 连续点击“重新抽题”至少五次,确认每轮三个难度各一题;
  10. 抽到每一类图形后,检查题干、图形、答案和提示是否一致;
  11. 测试空白、文本、0、180、70°、1e2、0x46、正确答案加空格、正确答案带 .0
  12. 每题故意答错三次,检查两层提示和不公布答案;
  13. 用正确答案完成三题;
  14. 检查完成页的题目编号、答案和计算过程;
  15. 点击“重新抽题”,再完整完成一轮;
  16. 使用第十一部分提示词更新并填写 测试记录.md
  17. 对照第十五部分逐项验收。

最终验收提示词

请根据当前 index.html 的实际状态整理验收记录,不要先修改文件。

逐项检查:
1. 题库数组是否至少包含6道题,并覆盖基础题、读图题、综合题;
2. 连续重新抽题5次,每次是否三个难度各1题,且按难度排序;
3. 当前题切换后,题干、图形、答案、提示和正确反馈是否同步变化;
4. 基础题、直角题、等腰题和外角题的图形标记是否正确;
5. 空白、abc、0、180、70°、1e2、0x46、正确答案加空格、正确答案带.0分别会得到什么结果;
6. 格式错误是否错误地增加答题次数;
7. 每题第一次、第二次和第三次答错时分别显示什么;
8. 回答正确前是否能够进入下一题;
9. 回答正确后输入框和提交按钮是否锁定;
10. 切换题目后是否清空上一题状态;
11. 第三题答对后是否显示“完成练习”并进入完成页;
12. 完成页是否显示本轮三题的编号、难度、答案和计算过程;
13. 重新抽题后是否恢复完整初始状态,并能再次完成一轮。

请把结果分成“已实际验证”“仅检查代码”“当前无法验证”三类。如果发现问题,请列出触发步骤、实际结果和预期结果,不要把推测写成测试通过。

留个课后题

如果题库里新增一道“已知外角和相邻内角,求另一个内角”的题,它和“已知外角和一个不相邻内角,求另一个不相邻内角”是不是同一种题?

请按下面格式分析:

题目条件:
涉及的角:
能直接使用的关系:
容易混淆的地方:
图形上必须标清楚的内容:
学生答错时第一层提示:
学生答错时第二层提示:

不要只看数字能不能算出来。题库题目的关键,是题干、图形和计算关系必须指向同一个数学意思。

可以把你的选题发到培训群或评论区。大家提交较多、又适合课堂互动的题目,可以作为下一课的制作案例。

最新文章

随机文章

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