当前位置:首页>鸿蒙APP>从零实现父亲节鸿蒙 App 教程

从零实现父亲节鸿蒙 App 教程

  • 2026-06-25 10:01:17
从零实现父亲节鸿蒙 App 教程

🎁 从零实现父亲节鸿蒙 App 教程

难度:⭐ 入门级适合:完全零基础的小白目标:30 分钟做出一个能跑在手机上的父亲节 App项目源码:https://atomgit.com/jianguoxu/fathersday[1]


📖 目录

  1. 准备工作[2]
  2. 创建项目[3]
  3. 写第一个页面[4]
  4. 添加资源文件[5]
  5. 配置设备支持[6]
  6. 运行到真机/模拟器[7]
  7. 总结[8]

1. 准备工作

1.1 安装 DevEco Studio

DevEco Studio 是华为官方的鸿蒙开发工具,基于 IntelliJ IDEA。

  1. 打开浏览器,访问:https://developer.huawei.com/consumer/cn/deveco-studio/[9]
  2. 点击 下载
  3. 下载完成后,双击 .dmg 文件(Mac)或 .exe 文件(Windows)
  4. 按照提示完成安装

1.2 配置 SDK

第一次启动 DevEco Studio 时,它会引导你下载 HarmonyOS SDK:

  1. 启动 DevEco Studio
  2. 在欢迎界面点击 "SDK Manager" 或进入 Settings → SDK Manager
  3. 确保勾选了 API 26(或更高版本)
  4. 点击 Apply 下载安装

1.3 准备运行设备

有两种方式运行 App:

方式 A:使用模拟器(推荐初学者)

  • 在 DevEco Studio 顶部工具栏,找到设备下拉菜单
  • 选择 "Device Manager" → 创建一个手机模拟器
  • 启动模拟器

方式 B:使用真机

  • 需要一台鸿蒙手机(HarmonyOS 4.0+)
  • 手机开启 **"开发者模式"**:设置 → 关于手机 → 连续点击版本号 7 次
  • 进入 **"开发人员选项"**,打开 "USB 调试"
  • 用数据线连接电脑

2. 创建项目

2.1 新建项目

  1. 打开 DevEco Studio,点击 "Create New Project"
  2. 选择模板:**"Empty Ability"**(空模板)
    • 这是最基础的模板,只有一页 Hello World
  3. 点击 Next

2.2 填写项目信息

字段
填写内容
说明
Project NameFathersDayApp
项目名称
Bundle Namecom.example.fathersday
应用的唯一标识
Save Location
默认即可
项目存放位置
Compatible SDK6.1.0(23)
最低兼容版本
Target SDK26
目标版本

点击 Finish,等待项目创建完成。

2.3 认识项目结构

创建完成后,你会看到左侧的文件列表,结构如下:

FathersDayApp/├── AppScope/                    # 应用级别的配置│   ├── app.json5               # 应用信息(名称、图标等)│   └── resources/              # 应用级资源├── entry/                       # 主模块(相当于一个 App)│   └── src/main/│       ├── ets/│       │   ├── entryability/   # 入口 Ability(应用启动入口)│       │   └── pages/│       │       └── Index.ets   # ⭐ 主页面,我们主要改这个文件│       ├── module.json5         # 模块配置(重要!)│       └── resources/           # 模块级资源├── build-profile.json5          # 构建配置└── oh-package.json5             # 依赖管理

💡 对于初学者,你只需要关心 3 个文件:

  • Index.ets — 页面的 UI 代码
  • module.json5 — 设备的配置
  • string.json 和 color.json — 文字和颜色

3. 写第一个页面

下面我们来写父亲节的主页面。

3.1 打开 Index.ets

找到 entry/src/main/ets/pages/Index.ets,双击打开。

你会看到初始代码:

@Entry@Componentstruct Index {@State message: string = 'Hello World';  build() {    RelativeContainer() {      Text(this.message)        .id('HelloWorld')        .fontSize(50)        .fontWeight(FontWeight.Bold)        .alignRules({          center: { anchor: '__container__', align: VerticalAlign.Center },          middle: { anchor: '__container__', align: HorizontalAlign.Center }        })        .onClick(() => {this.message = 'Welcome';        })    }    .height('100%')    .width('100%')  }}

3.2 逐行理解代码

先别急着删,理解每一行的作用:

代码
含义
@Entry
标记这是页面的入口
@Component
标记这是一个 UI 组件
struct Index
定义了一个叫 Index 的组件
@State message
定义了一个状态变量,值变了 UI 会自动更新
build()
这个方法里写 UI 布局
RelativeContainer
相对布局容器
Text(...)
显示文字
.fontSize(50)
设置字体大小 50
.height('100%')
高度占满屏幕

3.3 替换成父亲节页面

把整个文件内容替换成下面的代码。不需要理解每一行,先复制,后面会解释。

@Entry@Componentstruct Index {@State showBlessing: boolean = false;@State heartScale: number = 1.0;@State titleOpacity: number = 0;@State titleOffsetY: number = -50;@State cardScale: number = 0.8;@State cardOpacity: number = 0;  aboutToAppear(): void {    animateTo({      duration: 1000,      curve: Curve.EaseOut    }, () => {this.titleOpacity = 1;this.titleOffsetY = 0;    });    animateTo({      duration: 800,      delay: 400,      curve: Curve.EaseOut    }, () => {this.cardScale = 1;this.cardOpacity = 1;    });  }  build() {    Column() {// ===== 顶部装饰条 =====      Row() {        Text('❤')          .fontSize(20)          .fontColor(Color.Orange)        Blank()        Text('2026.06.21')          .fontSize(14)          .fontColor(Color.Gray)        Blank()        Text('❤')          .fontSize(20)          .fontColor(Color.Orange)      }      .padding({ left: 24, right: 24, top: 8 })      .width('100%')// ===== 标题区域 =====      Column() {        Text('Happy Father\'s Day')          .fontSize(32)          .fontWeight(FontWeight.Bold)          .fontColor(Color.Brown)          .textAlign(TextAlign.Center)          .opacity(this.titleOpacity)          .offset({ y: this.titleOffsetY })        Text('父亲节快乐')          .fontSize(20)          .fontWeight(FontWeight.Medium)          .fontColor(Color.Orange)          .textAlign(TextAlign.Center)          .margin({ top: 8 })          .opacity(this.titleOpacity)          .offset({ y: this.titleOffsetY })      }      .width('100%')      .padding({ top: 20, bottom: 8 })// ===== 祝福卡片 =====      Column() {// 家庭图标(带心跳动画)        Text('👨‍👧‍👦')          .fontSize(64)          .scale({ x: this.heartScale, y: this.heartScale })          .onAppear(() => {            animateTo({              duration: 600,              curve: Curve.EaseInOut,              iterations: -1            }, () => {this.heartScale = 1.15;            });          })// 三句祝福语        Text('父爱如山,深沉而伟大')          .fontSize(18)          .fontWeight(FontWeight.Medium)          .fontColor(Color.Black)          .textAlign(TextAlign.Center)          .margin({ top: 12 })        Text('感谢您一直以来默默的付出与守护')          .fontSize(15)          .fontColor(Color.Gray)          .textAlign(TextAlign.Center)          .margin({ top: 8 })        Text('愿您身体健康,幸福快乐')          .fontSize(15)          .fontColor(Color.Gray)          .textAlign(TextAlign.Center)          .margin({ top: 4 })// 分隔线        Divider()          .width('80%')          .color('#E8E8E8')          .margin({ top: 16, bottom: 8 })// 按钮 或 祝福全文if (!this.showBlessing) {          Button('点击送上祝福 💝')            .fontSize(16)            .fontWeight(FontWeight.Medium)            .fontColor(Color.White)            .backgroundColor(Color.Orange)            .borderRadius(25)            .width(220)            .height(50)            .margin({ top: 8, bottom: 8 })            .onClick(() => {              animateTo({                duration: 500,                curve: Curve.EaseOut              }, () => {this.showBlessing = true;              });            })        } else {          Text('爸爸,您辛苦了!\n' +'感谢您用坚实的臂膀为我撑起一片天空。\n' +'您的爱虽然沉默,却是我最坚强的后盾。\n' +'祝您父亲节快乐!')            .fontSize(15)            .fontColor(Color.Black)            .textAlign(TextAlign.Center)            .lineHeight(26)            .margin({ top: 8, bottom: 4 })        }      }      .width('88%')      .backgroundColor(Color.White)      .borderRadius(20)      .padding({ top: 24, bottom: 24, left: 20, right: 20 })      .shadow({        radius: 16,        color: 'rgba(0,0,0,0.08)',        offsetX: 0,        offsetY: 4      })      .scale({ x: this.cardScale, y: this.cardScale })      .opacity(this.cardOpacity)// ===== 底部装饰 =====      Text('❤ 祝天下所有父亲节日快乐 ❤')        .fontSize(13)        .fontColor(Color.Orange)        .textAlign(TextAlign.Center)        .margin({ top: 24 })    }    .width('100%')    .height('100%')// 暖色渐变背景    .linearGradient({      direction: GradientDirection.Bottom,      colors: [['#FFF5E6'0], ['#FFD699'1]]    })    .justifyContent(FlexAlign.Start)  }}

3.4 代码解释(小白版)

上面代码里有很多新东西,下面是简化版解释:

布局组件(搭积木)

组件
就像……
作用
Column
垂直叠放的积木
里面的内容从上到下排列
Row
水平排列的积木
里面的内容从左到右排列
Text
一块文字牌子
显示文字
Button
一个按钮
点击后触发事件
Divider
一条分隔线
把上下内容分开
Blank
弹簧
把左右两边的东西撑开

状态变量(@State)

@State showBlessing: boolean = false;
  • @State 表示这个变量是"响应式"的
  • 当变量值改变时,页面会自动重新渲染
  • 比如点击按钮后 showBlessing 变成 true,按钮消失,祝福文字出现

动画(animateTo)

animateTo({ duration: 1000 }, () => {this.titleOpacity = 1;  // 1秒内透明度从0变到1});
  • animateTo 让状态变化"慢慢变"而不是"瞬间变"
  • duration 是动画时长(毫秒)
  • delay 是延迟多久开始
  • iterations: -1 是无限循环

条件渲染(if/else)

if (!this.showBlessing) {// 显示按钮else {// 显示祝福文字}

根据 showBlessing 的值,决定显示按钮还是祝福全文。


4. 添加资源文件

资源文件就是单独管理文字和颜色,方便统一修改。

4.1 修改文字资源

打开 entry/src/main/resources/base/element/string.json替换全部内容为:

{"string": [    {"name""module_desc","value""父亲节快乐"    },    {"name""EntryAbility_desc","value""父亲节快乐 - 感恩父爱"    },    {"name""EntryAbility_label","value""父亲节"    },    {"name""title_main","value""Happy Father's Day"    },    {"name""title_sub","value""父亲节快乐"    },    {"name""message_1","value""父爱如山,深沉而伟大"    },    {"name""message_2","value""感谢您一直以来默默的付出与守护"    },    {"name""message_3","value""愿您身体健康,幸福快乐"    },    {"name""btn_text","value""点击送上祝福 💝"    },    {"name""blessing_text","value""爸爸,您辛苦了!\n感谢您用坚实的臂膀为我撑起一片天空。\n您的爱虽然沉默,却是我最坚强的后盾。\n祝您父亲节快乐!"    }  ]}

4.2 修改颜色资源

打开 entry/src/main/resources/base/element/color.json替换全部内容为:

{"color": [    {"name""start_window_background","value""#FFF5E6"    },    {"name""bg_start","value""#FFF5E6"    },    {"name""bg_end","value""#FFD699"    },    {"name""card_bg","value""#FFFFFF"    },    {"name""title_color","value""#8B4513"    },    {"name""text_primary","value""#333333"    },    {"name""text_secondary","value""#666666"    },    {"name""accent","value""#FF6B35"    },    {"name""gold","value""#FFD700"    }  ]}

4.3 更新 AppScope 的应用名

打开 AppScope/resources/base/element/string.json,改成:

{"string": [    {"name""app_name","value""父亲节快乐"    }  ]}

💡 为什么要用资源文件?

直接在代码里写文字也可以,但用资源文件的好处:

  • 所有文字集中管理,一目了然
  • 方便以后做多语言(英文版、日文版等)
  • 代码更干净,修改时不用翻代码

5. 配置设备支持

5.1 支持 2in1 设备

打开 entry/src/main/module.json5,找到 deviceTypes,改成:

"deviceTypes": ["phone","2in1"],

这表示你的 App 既支持手机,也支持平板/二合一设备。

5.2 module.json5 完整文件

如果你不确定其他内容对不对,这是完整的 module.json5

{"module": {"name""entry","type""entry","description""$string:module_desc","mainElement""EntryAbility","deviceTypes": ["phone","2in1"    ],"deliveryWithInstall"true,"installationFree"false,"pages""$profile:main_pages","abilities": [      {"name""EntryAbility","srcEntry""./ets/entryability/EntryAbility.ets","description""$string:EntryAbility_desc","icon""$media:layered_image","label""$string:EntryAbility_label","startWindowIcon""$media:startIcon","startWindowBackground""$color:start_window_background","exported"true,"skills": [          {"entities": ["entity.system.home"],"actions": ["ohos.want.action.home"]          }        ]      }    ],"extensionAbilities": [      {"name""EntryBackupAbility","srcEntry""./ets/entrybackupability/EntryBackupAbility.ets","type""backup","exported"false,"metadata": [          {"name""ohos.extension.backup","resource""$profile:backup_config"          }        ]      }    ]  }}

6. 运行到真机/模拟器

6.1 配置签名

鸿蒙 App 运行必须签名。第一次需要配置:

  1. 在 DevEco Studio 顶部菜单栏,点击 File → Project Structure
  2. 左侧选择 Signing Configs
  3. 点击 "default" 签名的 Fix 按钮(自动修复)
  4. 如果没 Fix 按钮,手动填:
    • Store File: 点 "Generate" 生成
    • Key AliasdebugKey
    • 其他项保持默认
  5. 点击 OK 保存

6.2 运行

  1. 在顶部工具栏的设备下拉菜单选择你的设备(模拟器或真机)
  2. 点击绿色的 ▶ Run 按钮
  3. 等待构建完成,App 会自动安装并启动

6.3 常见问题

问题
解决方法
SignHap
 报错
签名配置问题,按 6.1 重新配置
device type
 不匹配
module.json5 里的 deviceTypes 没包含目标设备类型
安装后打不开
检查 bundleName 是否正确(AppScope/app.json5)
模拟器启动慢
第一次启动较慢,耐心等待

7. 总结

恭喜你完成了第一个鸿蒙 App!🎉

你学到了什么

知识点
内容
✅ 创建项目
使用 Empty Ability 模板
✅ ArkUI 布局
Column、Row、Text、Button、Divider
✅ 状态管理
@State 响应式变量
✅ 动画
animateTo 实现淡入、缩放、心跳
✅ 条件渲染
if/else 控制显示内容
✅ 资源文件
string.json、color.json 管理文案和颜色
✅ 设备配置
module.json5 的 deviceTypes
✅ 签名与运行
配置签名、安装到设备

下一步可以做什么?

  • 🎨 换一套你喜欢的配色
  • 📝 修改祝福语,送给你的爸爸
  • 🖼️ 加一张爸爸的照片作为背景
  • 🎵 添加背景音乐
  • 🌍 做成多语言版本

参考资料

  • [项目源码 (AtomGit)](https://atomgit.com/jianguoxu/fathersday "项目源码 (AtomGit "项目源码 (AtomGit)")") — 本教程配套完整项目
  • HarmonyOS 官方文档[10]
  • ArkUI 组件参考[11]
  • DevEco Studio 下载[12]

父亲节快乐! 🎉如果这个教程对你有帮助,也送给你的爸爸一份惊喜吧!

如果这篇文章对你有帮助,麻烦大家点赞 + 收藏 + 转发三连支持~ 你们的每一份认可,都是我持续输出技术干货的最大动力!后续还会带来更多实操教程,技术解读。记得关注不迷路哦~

也欢迎添加我的联系方式,咱们交个朋友!未来我也会持续分享各类前沿技术干货。

参考资料
[1] 

https://atomgit.com/jianguoxu/fathersday: https://atomgit.com/jianguoxu/fathersday

[2] 

准备工作: #1-准备工作

[3] 

创建项目: #2-创建项目

[4] 

写第一个页面: #3-写第一个页面

[5] 

添加资源文件: #4-添加资源文件

[6] 

配置设备支持: #5-配置设备支持

[7] 

运行到真机/模拟器: #6-运行到真机模拟器

[8] 

总结: #7-总结

[9] 

https://developer.huawei.com/consumer/cn/deveco-studio/: https://developer.huawei.com/consumer/cn/deveco-studio/

[10] 

HarmonyOS 官方文档: https://developer.harmonyos.com/

[11] 

ArkUI 组件参考: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkui-overview

[12] 

DevEco Studio 下载: https://developer.huawei.com/consumer/cn/deveco-studio/

最新文章

随机文章

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