乐于分享
好东西不私藏

用 AI 编程助手从零生成 3D 智慧校园数据大屏 —— Claude Code 实战全记录

用 AI 编程助手从零生成 3D 智慧校园数据大屏 —— Claude Code 实战全记录

一、前言:AI 编程的时代来了

如果你是一名前端开发,你一定知道——做一块数据大屏要多久

传统方式:设计稿 → 切图 → 搭场景 → 调材质灯光 → 写交互 → 接数据 → 反复修改 → 交付。3D 大屏更复杂,Three.js 的坐标系、材质、光照每一项都能让你 debug 一整天。一个熟练的 Three.js 开发,做出本文这个效果,保守估计 3~5 天

而这次,我全程只用了 Claude Code(Anthropic 出品的命令行 AI 编程助手),通过 6 轮对话,总共不到 2 小时,零手写代码,做出了这个效果:

🏫 智慧校园 3D 数据看板 —— 包含等距视角校园场景、建筑群、运动场、移动车辆、粒子喷泉、Chart.js 数据图表、白天/夜景切换、建筑悬停提示。

这篇文章不会逐行给你讲代码(那种教程网上太多了),而是带你看看 AI 编程的真实工作流——每一轮我发了什么 Prompt,AI 输出了什么,出了什么问题,我怎么让它改的。


二、准备工作

2.1 工具选择

工具
用途
Claude Code
AI 编程助手(CLI 形式,终端里直接用)
Three.js 0.160
3D 渲染引擎(ES Module,CDN 加载)
Chart.js 4.4
2D 图表库(UMD,CDN 加载)
浏览器
运行环境,零构建工具

关键决策:单文件 HTML,不引入 webpack/vite。这是 AI 编程的一个重要策略——减少技术栈复杂度,让 AI 聚焦在业务逻辑上。

2.2 核心策略:分步迭代,一次只做一件事

我最核心的经验就一条:不要试图用一段 Prompt 描述整个项目。AI 不是魔法棒,你给它一个 “做一个很酷的校园大屏” 的 Prompt,它大概率给你一坨能跑但粗糙的代码,然后你再想改就难了。

正确姿势是 分步迭代

第1轮 → 基础场景骨架第2轮 → 加交互(相机切换 + 昼夜模式)第3轮 → 修 Bug + 优化参数第4轮 → 扩展场景规模(道路 + 车辆 + 喷泉)第5轮 → 加数据看板(Chart.js 图表)第6轮 → 细节打磨(hover tooltip + 灯光联动)

每一轮只做一件事,每次改完都能跑、能看、能验证。这样 AI 的上下文始终清晰,你也始终有个可交付的中间产物。


三、6 轮 Prompt 实战全流程

下面我按照实际的 commit 记录,逐一还原每一轮的 Prompt 和结果。


第 1 轮:创建基础 3D 校园场景

🎯 目标:跑通最基本的 3D 场景 —— 地面、建筑、运动场、树木。

📝 我的 Prompt:

创建一个校园3D可视化场景的HTML文件,使用Three.js的ES Module导入方式。要求:1. 等距视角(OrthographicCamera,类似策略游戏视角),带OrbitControls可拖拽旋转缩放2. 场景居中是一个标准运动场——蓝色圆角矩形跑道,内部是绿色足球场(Canvas纹理画白线)3. 8栋不同尺寸的现代建筑分布在运动场周围,每栋有:   - 白色BoxGeometry主体 + 屋顶女儿墙 + 入口雨棚   - 四面均匀排布的蓝色玻璃窗户(PlaneGeometry)   - 底层装饰带4. 不同高度和半径的树木散布在场景中(分层锥体树冠 + 圆柱树干)5. 浅色路径连接各建筑6. 渐变草皮贴片点缀地面增加自然感7. 使用DirectionalLight+AmbientLight+HemisphereLight实现自然光照8. 开启阴影(PCFSoftShadowMap)+ ACES色调映射

✅ AI 输出结果:

生成了一个约 700 行的 campus.html,包含:

  • 正交相机 + OrbitControls,等距视角
  • 蓝色圆角矩形跑道 + 带白线标记的足球场(Canvas 纹理)
  • 8 栋建筑,每栋有白色主体、蓝色物理材质玻璃窗、屋顶结构和入口雨棚
  • 约 30 棵树(三层锥体树冠 + 圆柱树干)
  • 路径网络、地面草皮贴片
  • 完整光照和阴影系统

🔍 这一步的要点:

  • Prompt 中给出了具体的技术约束(ES Module、OrthographicCamera、PCFSoftShadowMap),避免了 AI 默认使用 CDN script 标签或传统相机
  • 建筑、树木的描述给了尺寸范围视觉特征,而不是抽象说 “创建一些建筑”
  • 第一次跑出来的效果就已经"能看"了——这是建立信心的关键

第 2 轮:添加相机切换和昼夜模式

🎯 目标:增加用户可操作的交互功能。

📝 我的 Prompt:

在上一个版本基础上做以下修改:1. 添加右上角两个按钮:   - "切换透视/正交"按钮 — 同时创建PerspectiveCamera(40°FOV),     点击时在正交和透视相机之间切换,切换时保持当前视角位置不变   - "切换夜景/白天"按钮 — 点击时调整:     * 背景色和雾色(夜景深蓝 #162030     * 环境光/半球光/方向光的强度和色温降低     * 建筑窗户的emissive自发光变暖黄色(模拟室内灯光透出)     * 降低toneMappingExposure     * 路灯灯泡emissiveIntensity增高2. 修复建筑位置:building.position.y 应该设为 h/2,让建筑底部对齐地面3. 优化窗户排布:窗户高度改为动态计算,上下留10%边距,避免窗户贴到屋顶和地面边缘4. 确保resize事件同时处理两种相机类型的投影矩阵更新

✅ AI 输出结果:

  • 添加了两个毛玻璃风格按钮(CSS backdrop-filter: blur()
  • 实现了双相机系统,camera.position.copy() 确保切换无缝
  • 昼夜切换调整了 10+ 个参数(ambient、hemi、sun、fillLight、matWindow.emissive、toneMappingExposure、lampBulbs)
  • 建筑 Y 轴位置修复
  • 窗户排布更合理,上下各留 10% 边距
🔍 这一步的要点:
  • Prompt 中问题描述精确到具体数值#162030h/210%),减少 AI 猜测
  • 功能点用编号列表明确区分,AI 不容易遗漏
  • 技术细节直接给(如 camera.position.copy()),告诉 AI 你期望的实现方式,而不是让它瞎想

第 3 轮:修 Bug + 优化参数

🎯 目标:第二阶段引入了一些小问题,需要针对性修复。

📝 我的 Prompt:

修复以下问题并优化:1. 相机切换逻辑有问题 — 切换时target没有正确保持,导致画面跳动。   应该在controls.object切换前后保持controls.target不变2. 材质和灯光优化:   - 建筑主体颜色太深,改为更亮的 #f9f9f9   - 玻璃窗户增加clearcoat效果(0.4),让反光更真实   - 跑道颜色调整,蓝色饱和度降低   - 雾的距离参数调整,避免远处建筑完全消失3. 统一使用MeshStandardMaterial而不是MeshPhongMaterial,   确保PBR渲染的一致性

✅ AI 输出结果:

  • 修复了相机切换时 controls.target 的保持逻辑
  • 材质参数微调(颜色、clearcoat、roughness)
  • 雾距离优化
  • 全局统一 Standard 材质

🔍 这一步的要点:

  • Bug 修复单独一轮,不要跟新功能混在一起——这是 AI 编程的重要原则
  • 改动很小,但效果提升明显——参数调整是 AI 的强项
  • “不要怕让 AI 改细节”,改参数它比你快得多

第 4 轮:扩展场景规模 + 道路车辆 + 喷泉

🎯 目标:这一步是整个项目中最大的一轮,把校园从"几栋楼"扩展为"城市级"场景。

📝 我的 Prompt:

大幅扩展校园场景,添加以下内容:1. 周边道路系统:   - 在场景四边(X=±22, Z=±22)各创建一条道路,路面深灰色   - 道路两侧有白色虚线边缘标记,中间有黄色虚中心线   - 道路延伸到场景边缘(长度90,宽度3.2)2. 外层建筑群:   - 创建createOuterBuilding工厂函数,生成更简洁的低多边形建筑   - 在道路外侧分3个环层排列约60栋建筑:     * 近环(距中心33-40):高度3.5-5     * 中环(距中心44-55):高度2-3.5     * 远环(距中心58-72):高度1.8-3   - 建筑颜色使用浅灰色调,与内部白色建筑形成层次3. 移动车辆:   - 创建createVehicle工厂函数,包含车身、驾驶舱、保险杠、轮子   - 在四条道路上各放置2-3辆车,有不同的颜色和速度   - 车辆沿道路方向移动,到达尽头后循环到另一端   - 每辆车配备前大灯(BoxGeometry+SpotLight)和尾灯4. 喷泉系统:   - 在学生中心前面(X=0, Z=11.8)创建一个三层喷泉模型   - 使用粒子系统(PointsMaterial+AdditiveBlending)模拟水花   - 350个粒子,分3层速度:中心高速水柱、中速水帘、外层散开   - 粒子受重力影响下落,到达水面后重置   - Canvas径向渐变纹理做柔光粒子贴图5. 其他点缀:   - 路灯沿主要路径排布(带发光灯泡)   - 长椅散布在运动场周围   - 旗杆+旗帜在场景中轴

✅ AI 输出结果:

这是代码增长最多的一轮(+350 行),包含:

  • 完整的道路系统(路面 + 虚线 + 中心线)
  • 60+ 栋外层建筑分 3 环排列
  • 8 辆车在 4 条路上对向行驶,带车灯 SpotLight
  • 3 层喷泉粒子系统(350 粒子,重力 + 重置逻辑)
  • 12 盏路灯 + 8 张长椅 + 旗杆

🔍 这一步的要点:

  • 这是最长的一个 Prompt,但仍然聚焦在一个主题上:“扩展场景”
  • 每个子系统给了具体的数量(60 栋、3 环、350 粒子),AI 不会放飞自我也不会偷懒
  • 给了工厂函数的命名建议(createOuterBuilding、createVehicle),让 AI 写出可维护的代码
  • 车辆循环逻辑用自然语言描述(“到达尽头后循环到另一端”),AI 能正确翻译成 if (pos > ROAD_HALF) pos = -ROAD_HALF

第 5 轮:添加数据看板

🎯 目标:在 3D 场景之上叠加 2D 数据面板,实现"大屏"的完整效果。

📝 我的 Prompt:

在3D场景上叠加数据看板UI,使用Chart.js:1. 顶部导航栏:   - 标题"智慧校园数据看板"+ 英文副标题   - 右侧三个统计指标:在校人数(12860)、教职工(1240)、建筑面积(28.6万㎡)   - 毛玻璃半透明背景,与3D场景融合2. 左侧图表面板(三张卡片):   - 📈 月度校园活跃度趋势 —— 折线图,3条线:     * 图书馆入馆(千次)、体育活动(千人次)、社团活动(场)     * 12个月数据(9月-8月),体现学期内高峰、寒暑假低谷   - 📊 各学院人数统计 —— 柱状图,7个学院,七彩配色,圆角柱   - 🥧 校园设施使用占比 —— 环形图,6类设施,图例右侧3. Chart.js配置要求:   - responsive: true   - 小字体(9-10px)适配数据看板   - 圆角柱(borderRadius: 6)   - 折线图悬停显示所有数据集(interaction.mode: 'index')   - 配色与顶部指标点颜色呼应(蓝/绿/橙)4. UI样式:   - 卡片使用backdrop-filter: blur(10px)毛玻璃效果   - 圆角14px,半透明白底   - 图表面板可滚动(max-height限制)

✅ AI 输出结果:

  • 顶部导航栏(flex 布局,毛玻璃)
  • 3 张 Chart.js 图表(折线图、柱状图、环形图)
  • 数据模拟了学期波动(9 月开学高峰→2 月寒假低谷→6 月期末高峰→8 月暑假低谷)
  • 图表配色与顶部指标色点呼应

🔍 这一步的要点:

  • 给了具体的假数据,包括数值和趋势逻辑——AI 不用猜你要什么数据
  • 样式细节给到具体 CSS 数值(blur(10px)、14px、9-10px)
  • Chart.js 的配置项(interaction.mode、borderRadius)直接写在 Prompt 里,避免 AI 用默认值
  • UI 和 3D 场景分属不同层(CSS fixed + z-index),互不干扰

第 6 轮:细节打磨

🎯 目标:最后 10% 的打磨,提升精致度。

📝 我的 Prompt:

最后打磨细节:1. 建筑悬停提示:   - 监听mousemove,用Raycaster检测鼠标下的建筑   - 建筑创建时通过userData保存label信息   - 跟随鼠标显示半透明tooltip,展示建筑名称   - 鼠标变为pointer样式2. 昼夜模式细节补充:   - 夜景模式下,车辆大灯(vehicleSpotLights)和路灯(lampSpotLights)的SpotLight点亮   - 车灯发光材质(emissive)的Intensity随昼夜切换   - 白天模式下关闭所有SpotLight   - 调整夜景ambient强度不要太暗(0.12→0.24),保留一定可见度3. 优化:   - 昼夜切换时同步调整车辆和路灯的所有光源   - tooltip添加transition过渡动画

✅ AI 输出结果:

  • Raycaster 悬停检测 + 跟随鼠标 tooltip
  • 车灯和路灯 SpotLight 随昼夜联动(共 16+16 个光源统一控制)
  • 夜景参数微调(ambient 0.12→0.24,不过暗)
  • tooltip 的 CSS transition

🔍 这一步的要点:

  • 这是典型的 “收尾轮”——不添加大的新功能,专注于完善和打磨
  • Raycaster 的实现细节(NDC 坐标转换、intersectObjects、userData)全部交给 AI
  • 昼夜联动涉及多个数组(vehicleSpotLights、lampSpotLights),Prompt 中明确了数据结构关系

四、AI 编程的核心方法论

回顾这 6 轮交互,我总结了 5 条核心原则:

原则 1:一小步 > 一大步

❌ 错误:做一个很酷的校园3D数据大屏,要有建筑、树木、车辆、图表...✅ 正确:先做一个基础3D校园场景,等距视角,有运动场和8栋建筑

AI 的注意力是有限的。一个超大 Prompt 会得到"什么都有但什么都不好"的结果。分步迭代 = 每一步都可验证、可修正

原则 2:具体 > 抽象

❌ "创建一些树"✅ "创建约30棵树,每棵由圆柱树干(0.14倍半径)和3层锥体树冠组成,高度2-3米随机,分散在运动场四周和建筑附近"❌ "建筑要有窗户"✅ "建筑四面各有4行3列蓝色玻璃窗户,使用MeshPhysicalMaterial,clearcoat=0.4,窗户宽为列间距的50%,高为行间距的50%,上下各留10%边距"

AI 不会嫌弃你啰嗦。相反,越具体的描述,AI 的代码越符合预期。具体到颜色值、尺寸倍数、位置坐标。

原则 3:先跑起来,再优化

第1轮 → 能跑的基础场景(接受粗糙)第2轮 → 加功能第3轮 → 修 bug + 调参数第4轮 → 扩展规模第5轮 → 加数据面板第6轮 → 细节打磨

不要在 V1 就追求完美。第一版的唯一目标就是"能跑"。之后的每一轮,代码都在变得更好。这个节奏也符合敏捷开发的原则。

原则 4:Bug 修复单独一轮

❌ "添加相机切换功能,顺便修一下之前的建筑位置问题"✅ 第2轮:加相机切换 + 昼夜模式   第3轮:单独修相机切换bug和材质参数优化

新功能和 Bug 修复混在一起,AI 容易顾此失彼。单独的 Bug 修复轮可以让 AI 聚焦在问题本身上,效果远超"顺便修一下"。

原则 5:给 AI 定好技术约束

❌ "用 Three.js 做一个场景"✅ "使用 Three.js 0.160 ES Module 导入(import map),单文件 HTML,    OrthographicCamera,PCFSoftShadowMap,ACESFilmicToneMapping,    不引入构建工具"

技术栈的选择权在你手上。如果你不指定,AI 可能用老版本的 CDN Script 标签、或者引入一堆你不需要的依赖。在第一个 Prompt 里就把技术决策定死


五、关键技术点解读

虽然本文重点是 AI 编程方法论,但还是有必要挑几个技术亮点讲一下,方便你理解 AI 生成的代码逻辑。

5.1 等距视角的数学原理

javascript
const isoAngle = Math.PI / 4;              // 水平旋转 45°const isoTilt = Math.atan(1 / Math.sqrt(2)); // 俯仰角 ≈ 35.26°camera.position.set(  isoDist * Math.cos(isoTilt) * Math.sin(isoAngle),  // X  isoDist * Math.sin(isoTilt),                        // Y  isoDist * Math.cos(isoTilt) * Math.cos(isoAngle)    // Z);

等距投影要求三个轴的缩放比例相等。通过球坐标公式推导,相机方向的 x:y:z 需满足 1:1:1 的比例,得出俯仰角为 atan(1/√2)。这不是随便凑的数字,而是有数学依据的。

5.2 ShapeGeometry Holes 实现环形跑道

Three.js 的 ShapeGeometry 支持 holes 参数,无需手动拼接:

javascript
const trackOuter = createRoundedRectShape(14202.2); // 外轮廓 Shapeconst fieldHole = newTHREE.Path();fieldHole.moveTo(-4.5, -7.5);  // 内孔 Path// ... 画矩形路径trackOuter.holes.push(fieldHole);  // 把内孔添加到外轮廓上即可const trackGeom = newTHREE.ShapeGeometry(trackOuter);  // 自动挖洞

比手动创建 8 个梯形拼接强太多了。AI 在生成这段代码时,自动选择了最优雅的实现方式。

5.3 粒子喷泉的物理系统

每个粒子有独立的位置和速度向量,每帧更新:

javascript
// 速度更新(重力加速度)fountainVelArr[i * 3 + 1] -= GRAVITY * delta;  // 只有Y轴受重力// 位置更新fountainPosArr[i * 3]     += fountainVelArr[i * 3]     * delta;  // XfountainPosArr[i * 3 + 1] += fountainVelArr[i * 3 + 1] * delta;  // YfountainPosArr[i * 3 + 2] += fountainVelArr[i * 3 + 2] * delta;  // Z// 落到水面 → 重置if (fountainPosArr[i * 3 + 1] < BASIN_YresetFountainParticle(i);// 通知GPU更新fountainGeom.attributes.position.needsUpdate = true;

350 个粒子分 3 层速度(高速水柱 3.8-5.3m/s、中速水帘 2.2-3.7m/s、外层散开 1.5-2.5m/s),配合 AdditiveBlending 叠加混合,实现真实的水雾效果。

5.4 昼夜切换的灯光策略

夜景不是简单地把所有灯调暗,而是有选择地调整

参数
白天
夜晚
说明
ambient.intensity
0.55
0.24
整体变暗但不过黑
sun.intensity
3.2
0.55
方向光大幅减弱
matWindow.emissive
#000
#ffcc77
窗户从反射变为发光
路灯 emissiveIntensity
0.4
2.2
灯泡亮度提升 5 倍
toneMappingExposure
1.15
0.85
整体曝光降低
SpotLights (车灯+路灯)
0
3.5/2.5
夜景下打开实际光源

关键技巧是用 emissive(自发光)而非直接调 light 来实现窗户灯光——窗户本身不产生光照,但看起来像亮着。真正的照明交给 SpotLight。


六、总结:人 + AI 协作的正确姿势

做完这个项目,我最深的感受是:

AI 编程不是在"写代码",而是在"写需求"。

你的角色从"码农"变成了"产品经理 + 架构师 + 代码审查员"。你需要的能力排序变了:

传统开发
AI 辅助开发
1. 写代码能力
1. 拆解需求的能力
2. 调试能力
2. 写清楚 Prompt 的能力
3. 框架熟练度
3. 审查 AI 代码的能力
4. 搜索 StackOverflow
4. 理解核心原理即可

具体到开发流程:

  1. 规划阶段(人来)
    :拆解需求 → 分步规划 → 确定技术约束
  2. 生成阶段(AI 来)
    :每一小步给清晰的 Prompt → AI 生成代码
  3. 验证阶段(人来)
    :打开浏览器看效果 → 发现问题 → 针对性反馈
  4. 迭代阶段(循环)
    :修 Bug 单开一轮 → 加功能单开一轮 → 打磨单开一轮

2 小时完成传统需要 3-5 天的 3D 大屏开发,不是神话。


七、扩展思考

这个项目还可以继续用 AI 迭代:

  • 📡 接入真实 API — “把 Chart.js 的静态数据换成 fetch 请求”
  • 🚶 第一人称漫游 — “添加 PointerLockControls 实现 WASD 漫游模式”
  • 🌧️ 天气系统 — “复用喷泉粒子架构,添加雨滴和雪花效果”
  • 📱 响应式 — “让图表在小屏幕上折叠到底部”

每一句话都可以是一轮新的 Prompt,继续让 AI 帮你写。

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