当前位置:首页>鸿蒙APP>鸿蒙 Navigation 怎么用?路径栈管理、Tab 页内嵌导航,跟 Router 有什么不同 | 从零到一第15篇

鸿蒙 Navigation 怎么用?路径栈管理、Tab 页内嵌导航,跟 Router 有什么不同 | 从零到一第15篇

  • 2026-06-20 06:56:38
鸿蒙 Navigation 怎么用?路径栈管理、Tab 页内嵌导航,跟 Router 有什么不同 | 从零到一第15篇

上一篇讲了 Router 页面跳转和 Preferences 本地存储,列表跳详情、收藏存本地这套链路跑通了。

Router 在小项目里够用。但页面一多,比如底部有三个 Tab,每个 Tab 里还有子页面来回切,Router 的路径栈管理就开始吃力——哪个页面在栈顶、返回时回到哪一层,代码多了容易绕晕。

Navigation 是鸿蒙后来推的组件级导航方案,专门解决复杂页面结构下的路由问题。不管你是跟着教程自学,还是在重庆找鸿蒙培训系统学习,Navigation 都是必过的门槛——实际项目里多 Tab 应用是主流,Router 处理不了的场景,Navigation 能搞定。本篇把它的路径栈管理、Tab 嵌套导航、跟 Router 的适用场景一次讲清楚。

15.1 为什么 Router 不够用了

看这个场景:底部导航栏,三个 Tab——首页、发现、我的。从首页点进文章详情,再点进作者主页,然后切到“发现”Tab 看了一眼,再切回“首页”时,刚才打开的文章详情和作者主页都还在吗?

用 Router 管理的话,pushUrl 一路往下推,返回时用 back 一个一个退。但如果用户在几个 Tab 之间来回切,每个 Tab 的页面栈怎么保存、怎么恢复,Router 本身不管这些。需要自己在代码里用数组或 Map 存每个 Tab 的路径栈,切换时手动恢复——写起来很繁琐。

Navigation 的解决思路:给每个 Tab 分配一个独立的子导航栈,切 Tab 时各自的页面状态自动保留。

15.2 Navigation 路由原理

Navigation 是鸿蒙最核心的路由组件,既可以作为应用全局的导航容器,也可以在弹窗、模态等局部场景中使用。

Navigation 的组成结构

Navigation 由三部分构成:导航栏(NavBar)、子页(NavDestination)和页面栈管理器(NavPathStack)。

  • NavBar:Navigation 自带的导航栏,可以隐藏,也可以用自定义内容替代。

  • NavDestination:每个子页面的根容器,所有需要挂载到 Navigation 上的页面都要包裹在 NavDestination 中。它除了支持通用组件属性外,还支持页面生命周期、标题栏、工具栏、自定义转场动画、横竖屏控制等能力。

  • NavPathStack:管理子页面切换的核心对象,每个 Navigation 都需要绑定一个 NavPathStack。它提供 pushPath、pushDestination(带返回回调)、pop、replacePath、clear 等方法,以及路由拦截、转场动画控制、路由栈信息获取等能力。

三种显示模式

Navigation 支持三种显示模式,能自动根据屏幕尺寸切换布局:

  • Stack(单栏):宽度 < 600vp 时使用,全屏显示单个页面。

  • Split(分栏):宽度 >= 600vp 时使用,左侧导航栏 + 右侧内容区。

  • Auto(自适应):自动在 Stack 和 Split 之间切换,一套代码适配手机和平板。

页面栈管理

Navigation 的子页面栈存在 NavPathStack 中,NavPathStack 跟 Navigation 一一对应。在每个子页中可以通过 NavDestination 的 onReady 回调获取 NavPathStack,也可以全局维护一个单例,在任意地方获取并执行路由操作。

15.3 Navigation 基础跳转:从搭建到跑通

第一步:创建 NavPathStack 并绑定 Navigation

@Componentstruct BasicNavigation {  stack: NavPathStack = new NavPathStack()  build() {    Navigation(this.stack) {      // Navigation 作为路由根容器,可以不显示任何内容    }  }}

第二步:定义子页面

每个子页面需要包裹在 NavDestination 中,并声明对外的实例化方法:

// BasicNavDest.ets@Builderexport function PageOneBuilder() {  BasicNavDestination({ name'pageOne' });}@Componentstruct BasicNavDestination {  namestring = 'NA'  build() {    NavDestination() {      // 页面内容    }  }}

第三步:配置路由表

在 entry/src/main/resources/base/profile/ 目录下创建 route_map.json

{  "routerMap": [    {      "name": "basicPageOne",      "pageSourceFile": "src/main/ets/pages/BasicFeature/BasicNavDest.ets",      "buildFunction": "PageOneBuilder"    }  ]}

在 module.json5 中注册路由表:

{  "module": {    "routerMap""$profile:route_map"  }}

第四步:跳转页面

this.stack.pushPath({ name: 'basicPageOne' });

返回上一页:

this.stack.popPath();

对于没有分栏需求的应用,建议将 Navigation 的导航栏隐藏,基于 NavDestination 组件进行所有页面功能的开发:

Navigation(this.stack) {  // ...}.hideNavBar(true)

15.4 NavDestination 的标题栏和工具栏

NavDestination 支持设置页面标题和底部工具栏。

NavDestination() {  // 页面内容}.title('单标题演示').title({  main'主标题演示',  sub'副标题演示'}).toolbarConfiguration([  { value"A" },  { value"B" },  { value"C" },  { value"D" },  { value"E" },])

标题栏位于内容区上部,工具栏位于内容区下部。重复设置同一属性,后设置的会覆盖前者。

15.5 Tab 页里怎么嵌套子导航

三个 Tab,各自有独立的页面栈。Navigation 用 NavPathStack 的分组能力实现。

@Entry@Componentstruct TabNavigationDemo {  private homeStack: NavPathStack = new NavPathStack();  private discoverStack: NavPathStack = new NavPathStack();  private profileStack: NavPathStack = new NavPathStack();  @State currentTabIndex: number = 0;  build() {    Column() {      if (this.currentTabIndex === 0) {        Navigation(this.homeStack) {          HomeContent({ navStack: this.homeStack })        }      } else if (this.currentTabIndex === 1) {        Navigation(this.discoverStack) {          DiscoverContent({ navStack: this.discoverStack })        }      } else {        Navigation(this.profileStack) {          ProfileContent({ navStack: this.profileStack })        }      }      Row() {        Button('首页').onClick(() => { this.currentTabIndex = 0; })        Button('发现').onClick(() => { this.currentTabIndex = 1; })        Button('我的').onClick(() => { this.currentTabIndex = 2; })      }      .width('100%')      .height(56)      .justifyContent(FlexAlign.SpaceAround)    }  }}

每个 Tab 对应一个独立的 NavPathStack。切到“发现”Tab 时,之前“首页”Tab 里打开的页面都保留在 homeStack 里,切回来直接恢复。

15.6 Navigation 和 Router,使用场景

对比维度
Navigation
Router
定位
组件级导航容器
页面级全局路由
显示模式
单栏/分栏/自适应
仅全屏跳转
路由操作
pushPath、pop、replacePath、clear 等
pushUrl、back、replaceUrl
参数传递
NavPathInfo 对象传参
params 传参
转场动画
自定义动效、共享元素
基本动画
生命周期
NavDestination 组件事件
UIObserver 监听
适用场景
中大型复杂应用、多端适配
简单线性页面流

新项目、有底部 Tab、页面结构复杂用 Navigation。单线跳转的小项目 Router 依然能用,但官方重心在 Navigation 上。

15.7 实战应用:用 Navigation 改造文章列表跳转详情页

把上一篇的列表-详情-收藏功能,从 Router 改成 Navigation。

主页面:Navigation 包裹,底部两个 Tab

@Entry@Componentstruct MainNavigationPage {  private articleStackNavPathStack = new NavPathStack();  private favoriteStackNavPathStack = new NavPathStack();  @State currentTabnumber = 0;  build() {    Column() {      if (this.currentTab === 0) {        Navigation(this.articleStack) {          ArticleListContent({ navStackthis.articleStack })        }      } else {        Navigation(this.favoriteStack) {          FavoriteListContent({ navStackthis.favoriteStack })        }      }      Row() {        Button('文章').onClick(() => { this.currentTab = 0; })        Button('收藏').onClick(() => { this.currentTab = 1; })      }      .width('100%')      .height(56)      .justifyContent(FlexAlign.SpaceAround)    }  }}

文章列表子组件:接收 navStack,点文章跳详情

@Componentstruct ArticleListContent {  @Prop navStackNavPathStack;  build() {    List() {      ListItem() {        Text('文章标题')          .onClick(() => {            this.navStack.pushPath({ name'DetailPage'param: { articleId'001' } });          })      }    }  }}

15.8 本篇总结

  • Navigation 是鸿蒙主推方案:组件级导航容器,支持分栈管理、三种显示模式、自定义动效。

  • 核心结构:NavBar + NavDestination + NavPathStack,三者配合完成页面管理。

  • 基础跳转:创建 NavPathStack → 绑定 Navigation → 配置路由表 → pushPath 跳转。

  • Tab 导航:每个 Tab 分配独立 NavPathStack,切换时状态自动保留。

常见问题

Q: Navigation 是鸿蒙一开始就有的吗?A: 不是。Navigation 是后续版本推出的,用来解决 Router 在多 Tab、复杂导航场景下的不足。现在官方主推 Navigation。

Q: Navigation 和 Router 怎么选?A: 新项目、有底部 Tab、页面结构复杂、需要多端适配用 Navigation。简单线性跳转的小项目 Router 依然能用。

Q: 用 Navigation 之后,Router 代码要全改吗?A: 跳转写法从 pushUrl/back 换成 pushPath/popPath,传参方式类似。逻辑不用大改,主要是把 Navigation 容器搭起来。

Q: Tab 切换时怎么保留每个 Tab 的页面状态?A: 每个 Tab 分配独立的 NavPathStack,切换时栈不销毁,切回来页面状态还在。

学完 Navigation,页面跳转和本地存储两条线都实现了。列表到详情、收藏持久化、Tab 分栈导航——这些组合起来,一个 App 的骨架基本成型。文章列表现在还是模拟数据,接下来解决数据获取。下一篇讲网络请求,用 http 模块从服务器拉真实数据,async/await 处理异步,让 App 真正“活”起来。

如果你在自学过程中遇到问题,或者想找个重庆本地的鸿蒙培训系统学一遍,重庆华鸿科技正在做鸿蒙技术培训,跟赛力斯、阿维塔、重钢集团有深度合作,培训内容对接企业实际用人需求。会用真实项目把组件、路由、存储、网络请求这些零散知识点串起来——模块之间的衔接、数据的流转、问题的 debug,比跟着教程学印象深得多。

《从零到一学鸿蒙原生开发》(点击跳转):

《从零到一:鸿蒙原生应用开发实战》第1篇:搞懂鸿蒙的“世界观”——一次开发多端部署、元服务、分布式到底是什么
《从零到一:鸿蒙原生应用开发实战》第2篇:工欲善其事——搭建鸿蒙开发环境(零失败指南)
《从零到一:鸿蒙原生应用开发实战》第3篇:Hello World ——逐行拆解项目结构,手写你的第一个 ArkTS 页面
《从零到一:鸿蒙原生应用开发实战》第4篇:ArkTS 基础语法速成(上)—— 数据类型、变量、函数、箭头函数
《从零到一:鸿蒙原生应用开发实战》第5篇:ArkTS 基础语法速成(下)—— 数组、对象、解构、扩展运算符
《从零到一:鸿蒙原生应用开发实战》第6篇:声明式UI入门——告别命令式旧思维,手写第一个ArkUI组件
《从零到一:鸿蒙原生应用开发实战》第7篇:@State 装饰器入门——状态变,界面自动更新
《从零到一:鸿蒙原生应用开发实战》第8篇:@Prop 和 @Link 详解——父子组件传值,需要搞懂这两个装饰器
《从零到一:鸿蒙原生应用开发实战》第9篇:跨层级共享——@Provide 与 @Consume 怎么绕过中间组件传数据
《从零到一:鸿蒙原生应用开发实战》第10篇:Text 与 Image两个最基础的组件——讲几个细节
《从零到一:鸿蒙原生应用开发实战》第11篇:Button 和 TextInput,做一个登录页面

《从零到一:鸿蒙原生应用开发实战》第12篇:Flex 弹性布局——ArkUI 有没有 CSS 一样的弹性布局?

《从零到一:鸿蒙原生应用开发实战》第13篇:List 组件详解——ForEach 循环渲染与 LazyForEach 懒加载

《从零到一:鸿蒙原生应用开发实战》第14篇:页面跳转和本地存储——列表页到详情页,收藏退出不丢失

本文由「华鸿技术栈」原创发布,专注鸿蒙(HarmonyOS)原生应用与元服务开发。从零到一分享实战代码与项目案例,对接鸿蒙技术培训资源与上市公司研发岗位,为开发者铺平入行之路。不讲虚的,只上干货。转载请联系授权。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-12 02:28:31 HTTP/2.0 GET : https://c.mffb.com.cn/a/493395.html
  2. 运行时间 : 0.114977s [ 吞吐率:8.70req/s ] 内存消耗:4,313.21kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=cefa735d0128cba141c543d114719f8c
  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.000388s ] mysql:host=127.0.0.1;port=3306;dbname=c_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000559s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000297s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000274s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000501s ]
  6. SELECT * FROM `set` [ RunTime:0.000199s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000627s ]
  8. SELECT * FROM `article` WHERE `id` = 493395 LIMIT 1 [ RunTime:0.023040s ]
  9. UPDATE `article` SET `lasttime` = 1783794511 WHERE `id` = 493395 [ RunTime:0.002683s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000299s ]
  11. SELECT * FROM `article` WHERE `id` < 493395 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002649s ]
  12. SELECT * FROM `article` WHERE `id` > 493395 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000477s ]
  13. SELECT * FROM `article` WHERE `id` < 493395 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000734s ]
  14. SELECT * FROM `article` WHERE `id` < 493395 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.005570s ]
  15. SELECT * FROM `article` WHERE `id` < 493395 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002210s ]
0.116590s