乐于分享
好东西不私藏

创作你的第一个鸿蒙APP

创作你的第一个鸿蒙APP

嗨,同学们!👋 又到我们《零基础萌新养虾》实践课了。自从我们一起来养虾活动发布以来,我们上了八次课。

第一课,以WorkBuddy为例,如何拥有自己的第一只本地”龙虾”;第二课,教会大家给“龙虾”装Skill,让它从“小白”变成了“多面手”;第三课,分享了我和“龙虾”日常,“龙虾”住进了微信。第四课,复现腾讯龙虾公开课,模拟仿真跨境电商,业务从十三行到中东。第五课,分享了为班上同学定制私人偶像的经历。第六课,开源了偶像制作AI分身的教程。第七课,制作经典游戏坦克大战;第八课,升级坦克大战为联机版。
今天是我们的第九次课,我们说点不一样的东西——鸿蒙HarmonyOS开发。你是不是也听说"鸿蒙开发"很火,想学又不知从何下手?是不是曾经下载了DevEco Studio,打开后一脸懵逼?是不是跟着教程走,结果报错报得怀疑人生?
别担心!今天的教程,就是专门为你准备的。而且我们特意给大家准备了鸿蒙HarmonyOS学习搭子——华为云码道。你可以把码道看成是华为推出的“龙虾”,用来辅助我们学习华为鸿蒙HarmonyOS开发,特别合适。

在复现我们的鸿蒙开发教程时,遇到任何问题,你都可以把问题丢给码道,并相信码道的能力,它会告诉你如何搞定眼前的难题。

码道下载地址:https://codearts.huaweicloud.com/?utm_source=dmzntsq&utm_adplace=wz

我会手把手带你开发一个摇骰子游戏——别小看它,麻雀虽小五脏俱全。学完这个项目,你就掌握了鸿蒙开发的核心秘籍

而且,这个项目真的能跑在手机上哦!✨


🎯 学完这篇教程,你能收获什么?

  • ✅ 搭懂鸿蒙开发的"声明式UI"是什么
  • ✅ 掌握状态管理、布局、动画、事件处理
  • ✅ 成功运行自己的第一个鸿蒙APP
  • ✅ 获得"我也能做开发"的成就感!

准备好了吗?我们开始吧!


第一步:安装开发工具

1.1 下载DevEco Studio

去哪里下载?华为官网:https://developer.huawei.com/consumer/cn/download/

下载哪个版本?截止于本教程写作日期2026年5月6日,推荐下载最新的 DevEco Studio 6.1.0 release版本

小贴士:

  • 文件有点大(约2.8GB),建议用高速网络
  • 安装过程就像装QQ一样简单,一路"下一步"即可
  • 安装完成后,首次启动会下载一些SDK,耐心等待

1.2 首次启动,配置环境

打开DevEco Studio后,它会自动引导你配置开发环境:

你需要安装的SDK:

  1. 点击菜单栏 工具 → SDK Manager
  2. 点击左侧 "OpenHarmony SDK"
  3. 勾选 API Version 13 或更高版本
  4. 点击 Apply,等待下载完成

为什么要安装SDK?SDK就像做菜的食材和厨具,没有它,我们就没法"炒菜"(开发APP)了。

注意:如果你看到多个API版本,不知道选哪个,别纠结!选最新的就对了。


第二步:创建项目

2.1 新建项目

好,环境有了,现在开始"做菜"!

操作步骤:

  1. 点击 文件 → 新建 → 新建项目
  2. 选择 "Empty Ability" 模板(空白模板,最干净)
  3. 点击 下一步

2.2 填写项目信息

这里要填几个关键信息:

填写项
填什么
说明
Project nameDiceGame
项目名称,建议用英文
Bundle namecom.example.dicegame
包名,类似身份证号
Save location
自选位置
项目保存路径
Compile SDK
选择已安装的版本
我们之前装的API 13
Compatible SDK
选择已安装的版本
保持一致即可
Device Type
勾选 Phone
手机应用

点击 完成,项目就创建好了!


2.3 等待项目初始化

创建完成后,IDE会自动做一些初始化工作:

  • 下载依赖包
  • 同步项目配置
  • 构建索引

耐心等待,底部的进度条跑完就OK了。


第三步:理解项目结构

项目创建好了,先别急着写代码,我们先看看"房子"的结构。

3.1 核心文件都在哪?

打开左侧项目面板,你会看到一堆文件夹和文件。别慌,我们只需要关注几个核心文件:

DiceGame/└── entry/                          ← 入口模块(主模块)    └── src/main/        ├── ets/                    ← 代码文件夹        │   ├── entryability/        │   │   └── EntryAbility.ets  ← 应用入口(类似main函数)        │   └── pages/        │       └── Index.ets       ← 主页面(我们写代码的地方!)        └── resources/              ← 资源文件夹            └── base/                ├── element/                │   └── string.json   ← 字符串资源                └── profile/                    └── main_pages.json  ← 页面路由配置

重点记住:Index.ets 就是我们写代码的地方,相当于我们前面制作游戏时,HTML+CSS+JavaScript的集合体!


3.2 什么是.ets文件?

你可能会好奇:**".ets是什么鬼?不是JavaScript吗?"**

简单理解:

  • .ets = ArkTS语言文件
  • ArkTS = TypeScript的增强版
  • TypeScript = JavaScript的超集

一句话: 用.ets写代码,就像用JavaScript写代码,但更强大!


第四步:开发摇骰子游戏

好了,现在开始"炒菜"!我们会分几个小步骤,循序渐进。

4.1 第一个小目标:显示一个骰子

打开 Index.ets 文件,你会看到一些默认代码。别管它,全部删掉,我们从零开始!

第一步:搭建基本框架

@Entry@Componentstruct Index {  build() {    Column() {// 这里写界面内容    }    .width('100%')    .height('100%')  }}

这段代码是什么意思?

  • @Entry:告诉系统"这是入口页面"
  • @Component:告诉系统"这是一个组件"
  • struct Index:定义一个名为Index的结构体(类似class)
  • build():构建界面的函数,所有UI都写在这里
  • Column():纵向布局容器,就像一个竖着的盒子

第二步:显示骰子符号

@Entry@Componentstruct Index {  build() {    Column() {      Text('🎲 摇骰子游戏')    // 标题        .fontSize(32)        .fontWeight(FontWeight.Bold)      Text('⚀')                // 骰子符号        .fontSize(120)    }    .width('100%')    .height('100%')  }}

小知识:骰子符号从哪来的?

Unicode提供了骰子符号:

  • ⚀ = 点数1
  • ⚁ = 点数2
  • ⚂ = 点数3
  • ⚃ = 点数4
  • ⚄ = 点数5
  • ⚅ = 点数6

试试看:保存代码,点击右侧的 Previewer(预览器),看看效果!


4.2 第二个小目标:让骰子动起来

现在骰子是死的,点它没反应。我们要让它"活"起来!

核心概念:@State 状态管理

在鸿蒙开发中,@State 是最重要的装饰器。

它有什么用?当被 @State 装饰的变量改变时,界面会自动刷新

举个例子:

@State count: number = 0// 定义一个状态变量Button('点击我')  .onClick(() => {this.count++  // 改变变量,界面自动刷新!  })Text(`点击次数: ${this.count}`)  // 显示变量值

现在,让我们给骰子添加状态:

@Entry@Componentstruct Index {@State diceNumber: number = 1// 当前骰子点数(1-6)// 根据点数获取对应的骰子符号  getDiceSymbol(): string {const symbols = ['⚀''⚁''⚂''⚃''⚄''⚅']return symbols[this.diceNumber - 1]  }  build() {    Column() {      Text('🎲 摇骰子游戏')        .fontSize(32)        .fontWeight(FontWeight.Bold)      Text(this.getDiceSymbol())  // 显示骰子符号        .fontSize(120)    }    .width('100%')    .height('100%')  }}

添加摇骰子按钮:

@Entry@Componentstruct Index {@State diceNumber: number = 1  getDiceSymbol(): string {const symbols = ['⚀''⚁''⚂''⚃''⚄''⚅']return symbols[this.diceNumber - 1]  }// 摇骰子的方法  rollDice() {// 生成1-6的随机数this.diceNumber = Math.floor(Math.random() * 6) + 1  }  build() {    Column() {      Text('🎲 摇骰子游戏')        .fontSize(32)        .fontWeight(FontWeight.Bold)        .margin({ bottom: 30 })      Text(this.getDiceSymbol())        .fontSize(120)        .margin({ bottom: 30 })      Button('🎲 摇一摇')        .width(200)        .height(60)        .fontSize(24)        .backgroundColor('#FF6B6B')        .borderRadius(30)        .onClick(() => {this.rollDice()  // 点击时调用摇骰子方法        })    }    .width('100%')    .height('100%')  }}

试试看:现在点击"摇一摇"按钮,骰子会随机变化了!


4.3 第三个小目标:添加旋转动画

骰子虽然能动了,但太生硬。我们给它加个旋转动画!

鸿蒙动画:animateTo

// 动画基本用法animateTo({  duration: 500,           // 动画时长(毫秒)  curve: Curve.EaseInOut,  // 动画曲线  onFinish: () => {        // 动画结束后的回调// 做些什么...  }}, () => {// 动画过程中的状态变化})

完整代码(带动画):

@Entry@Componentstruct Index {@State diceNumber: number = 1@State rotationAngle: number = 0// 旋转角度@State isRolling: boolean = false// 是否正在摇动  getDiceSymbol(): string {const symbols = ['⚀''⚁''⚂''⚃''⚄''⚅']return symbols[this.diceNumber - 1]  }  rollDice() {// 防止连续点击if (this.isRolling) {return    }this.isRolling = true// 播放旋转动画    animateTo({      duration: 500,      curve: Curve.EaseInOut,      onFinish: () => {// 动画结束后生成随机数this.diceNumber = Math.floor(Math.random() * 6) + 1this.isRolling = falsethis.rotationAngle = 0// 重置角度      }    }, () => {// 动画过程:旋转360度this.rotationAngle = 360    })  }  build() {    Column() {      Text('🎲 摇骰子游戏')        .fontSize(32)        .fontWeight(FontWeight.Bold)        .margin({ top: 40, bottom: 20 })// 骰子显示区域      Column() {        Text(this.getDiceSymbol())          .fontSize(120)          .rotate({ angle: this.rotationAngle })  // 添加旋转          .animation({ duration: 500, curve: Curve.EaseInOut })      }      .width(200)      .height(200)      .justifyContent(FlexAlign.Center)      .backgroundColor('#FFFFFF')      .borderRadius(20)      .shadow({ radius: 20, color: '#CCCCCC', offsetX: 0, offsetY: 5 })      .margin({ top: 30, bottom: 20 })// 点数显示      Text(`点数: ${this.diceNumber}`)        .fontSize(28)        .fontColor('#666666')        .margin({ bottom: 30 })// 摇一摇按钮      Button(this.isRolling ? '摇动中...' : '🎲 摇一摇')        .width(200)        .height(60)        .fontSize(24)        .backgroundColor(this.isRolling ? '#CCCCCC' : '#FF6B6B')        .borderRadius(30)        .enabled(!this.isRolling)        .onClick(() => {this.rollDice()        })    }    .width('100%')    .height('100%')    .backgroundColor('#F5F5F5')  }}

试试看:现在点击按钮,骰子会旋转一圈,然后显示新的点数!


第五步:运行到模拟器

代码写完了,现在让它跑在"手机"上!

5.1 创建模拟器

为什么叫模拟器?它就像一个虚拟的手机,能在电脑上运行鸿蒙系统。

创建步骤:

  1. 点击顶部工具栏的设备下拉菜单(显示"无设备")
  2. 选择 "设备管理器"
  3. 点击左侧 "手机"
  4. 选择一个可用的版本(建议选择API 13或更高)
  5. 如果显示"下载",先点击下载
  6. 下载完成后,点击启动按钮

等待模拟器启动完成,你会看到一个虚拟的手机屏幕!


5.2 运行项目

  1. 确保模拟器已启动
  2. 顶部设备下拉菜单选择已启动的模拟器
  3. 点击运行按钮 ▶(绿色三角形)
  4. 等待构建完成

第一次运行可能需要等待较长时间,耐心等待!


5.3 看到成果!

如果一切顺利,你会看到:

  • 模拟器上显示了摇骰子游戏界面
  • 点击"摇一摇"按钮,骰子会旋转并显示随机点数
已关注
关注
重播 分享

🎉 恭喜!你的第一个鸿蒙APP成功运行了!


常见问题排查

Q1: 项目同步失败,提示"找不到SDK"?

解决方法:

  1. 打开 工具 → SDK Manager
  2. 点击左侧 "OpenHarmony SDK"
  3. 确保已勾选并安装了对应版本的SDK
  4. 重新同步项目

Q2: 运行时报错"系统能力不匹配"?

原因:项目配置的SDK版本与模拟器版本不匹配。

解决方法:

  • 确保项目的 Compile SDK 与模拟器版本一致
  • 或者重新创建项目,选择与模拟器匹配的SDK版本

Q3: 预览器能用,模拟器用不了?

说明:这是DevEco Studio的已知问题,部分模拟器可能不完全支持某些新特性。

建议:

  • 使用预览器进行开发和调试(功能完整)
  • 教学演示时优先使用预览器

知识点总结

学完这个项目,你掌握了:

知识点
作用
代码示例
@State
状态管理,数据驱动界面
@State count: number = 0
Column/Row
布局容器
Column() { ... }
Text
文本显示
Text('Hello').fontSize(20)
Button
按钮组件
Button('点击').onClick(() => {})
animateTo
动画效果
animateTo({ duration: 500 }, () => {})
onClick
点击事件
.onClick(() => { ... })

下一步学习建议

如果你想继续深入,可以:

  1. 给游戏添加新功能:

    • 双骰子模式(同时摇两个骰子)
    • 点数统计(记录历史点数)
    • 美化界面(渐变背景、自定义骰子图片)
  2. 学习更多组件:

    • Image(图片)
    • List(列表)
    • TextInput(输入框)
  3. 学习更多概念:

    • 页面路由(跳转页面)
    • 组件通信(父子组件传值)
    • 网络请求(调用API)

写在最后

从安装工具到成功运行,你完成了一个完整的开发流程。这看似简单的摇骰子游戏,其实包含了鸿蒙开发的核心思想

声明式UI:你描述界面"长什么样",系统自动帮你渲染。

这与传统的命令式开发(告诉计算机"怎么做")完全不同,更简洁、更高效。

希望这篇文章能帮助你打开鸿蒙开发的大门。记住:所有大牛,都是从Hello World开始的!

有问题欢迎留言交流,我们一起成长!💪

分享个幕后故事,这个骰子APP灵感来自于养虾社——我和小伙伴展恒庸津金辉鹏飞淼校区夜宵时,边吃烧烤边玩的游戏。


鸿蒙生态正在快速发展,学习鸿蒙开发,就是拥抱未来。希望你能坚持下去,成为一名优秀的鸿蒙开发者!

我们在2026华为开发者大会 HarmonyOS学生公开课等你哦!


📌 重要提示: 本教程基于DevEco Studio 6.1.0编写,不同版本界面可能略有差异,但核心概念相同。

相关阅读:

女神节,我们一起来养虾!

零基础萌新养虾第一课

零基础萌新养虾第二课

零基础萌新养虾第三课

零基础萌新养虾第四课

零基础萌新养虾第五课

零基础萌新养虾第六课
零基础萌新养虾第七课
零基础萌新养虾第八课
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-01 10:22:34 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/693047.html
  2. 运行时间 : 0.089207s [ 吞吐率:11.21req/s ] 内存消耗:4,799.63kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=84e831ae721bba208b027e93c1e27293
  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.000550s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000742s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000362s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000270s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000479s ]
  6. SELECT * FROM `set` [ RunTime:0.000210s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000546s ]
  8. SELECT * FROM `article` WHERE `id` = 693047 LIMIT 1 [ RunTime:0.000499s ]
  9. UPDATE `article` SET `lasttime` = 1780280554 WHERE `id` = 693047 [ RunTime:0.004201s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000253s ]
  11. SELECT * FROM `article` WHERE `id` < 693047 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000501s ]
  12. SELECT * FROM `article` WHERE `id` > 693047 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000445s ]
  13. SELECT * FROM `article` WHERE `id` < 693047 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000636s ]
  14. SELECT * FROM `article` WHERE `id` < 693047 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000802s ]
  15. SELECT * FROM `article` WHERE `id` < 693047 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000852s ]
0.090965s