乐于分享
好东西不私藏

从零到一:手机APP开发全流程深度解析

从零到一:手机APP开发全流程深度解析

技术深度 · 开发流程 · 框架选型

从零到一:手机APP开发全流程深度解析

导语

打开手机,外卖、社交、购物、办公……各类APP早已渗透日常。但一个APP从想法到落地,究竟要经历什么?它不是"一个文件",而是一个协作的微型系统——前端是门面,后端是厨房,数据库是仓库。本文将系统拆解手机APP开发的完整流程、主流框架与核心技能,无论你是零基础小白还是想转行的开发者,都能找到属于自己的路径。

一、需求分析与规划:别急着写代码,先想明白

1.1 痛点挖掘与市场调研

开发APP的第一步不是写代码,而是回答一个灵魂拷问:你的APP到底解决什么问题?精准定位用户痛点才是王道。2023年全球APP下载量高达2570亿次(Statista数据)[1],但大部分石沉大海——原因不是技术不行,而是没有找到真正的需求缺口。

市场调研是必不可少的环节。通过艾瑞咨询、易观等第三方报告了解行业格局,分析竞品的功能覆盖和用户评价,才能找到差异化切入点。目标用户画像越具体越好:不是"所有人",而是"25-35岁都市白领女性,习惯午间刷手机购物"。

1.2 MVP原则与需求文档

新手最容易犯的错是想"一步到位"。正确做法是采用MVP(最小可行产品)原则——第一个版本只做最核心、最能验证想法的功能。比如健身APP的V1.0只需课程展示、播放和基础记录,社交和商城往后放[2]

将想法落地为需求文档(PRD),这是开发团队的"圣经"。PRD应包含功能清单、用户故事、流程图(如UML),避免后期"我以为你要……"的扯皮。常用工具有墨刀、Axure和飞书文档[3]

APP原型设计流程图:从用户登录到功能跳转的界面逻辑规划

二、UI/UX设计:颜值即正义,好用才是王道

2.1 信息架构与线框图

整个APP有哪些板块?怎么跳转?用户路径要清晰自然。信息架构(IA)是APP的骨架,决定了功能的组织逻辑。在此基础上,用线框图(Wireframe)画出每个页面的黑白灰布局,专注功能流而不纠结视觉细节。

2.2 视觉设计与交互体验

线框图确认后,进入高保真视觉设计阶段。品牌调性决定配色方案——医疗类多用蓝绿色系,电商类偏暖色刺激购买欲。设计需遵循平台规范:iOS遵循《人机界面指南》,Android遵循Material Design[3]

交互体验的细节决定留存率。用户平均忍耐加载时间仅3秒,按钮点击要有即时反馈,页面跳转要符合直觉。Figma、Sketch、Adobe XD是当前最主流的UI设计工具,其中Figma凭借实时协作能力已成为行业首选。

高保真UI设计示例:从个人信息页到好友列表的多界面设计方案

三、技术选型与开发框架:选对工具比写代码更重要

在正式动手写代码之前,你必须做一个关键决策:用什么方式来开发你的APP?这就像盖房子——你是请木匠一块一块手工搭建(原生开发),还是买预制模块现场组装(跨平台开发),又或者直接用乐高积木拼一拼(零代码/低代码)?不同选择,决定了你需要什么技能、花多少时间、花多少钱。

3.1 四条路线,四条人生

路线一:零代码——不会编程也能做APP

一句话解释:就像用PPT一样,拖拽现成组件拼出你的APP,全程不用写一行代码。

怎么做到的:零代码平台(比如简道云、腾讯微搭)已经帮你把"登录按钮""商品列表""支付功能"做成了积木块,你只需要把它们拖到屏幕上、排列好位置就行了[2]

适合谁:完全不懂编程的创业者、小老板,想快速做一个内部管理工具或者简单的展示类APP。

好处:零门槛,可能一个下午就能拼出一个能用的APP

局限:功能受平台限制,复杂的东西做不了——你想做一个抖音那样的短视频APP?抱歉,零代码做不到[2]

路线二:原生开发——给苹果做苹果的、给安卓做安卓的

一句话解释:苹果手机用苹果的"官方语言"写一遍代码,安卓手机用安卓的"官方语言"再写一遍代码,做出来的APP体验最好,但要做两份。

什么叫"原生":你可以把"原生"理解成"当地人的母语"。苹果手机的"母语"叫Swift,安卓手机的"母语"叫Kotlin。用母语跟手机对话,手机当然听得最明白、反应最快[4]

给苹果手机做APP 你需要学Swift语言(苹果公司发明的编程语言),用Xcode软件(只能在Mac电脑上运行)来编写。现在主流的界面搭建方式叫SwiftUI——你可以把它理解成一种"描述式"的搭界面方法:你告诉手机"这里放一个红色按钮",手机就自动帮你画出来[4]

给安卓手机做APP 你需要学Kotlin语言(Google推荐的安卓编程语言,正在取代老一代的Java),用Android Studio软件来编写。对应的界面搭建方式叫Jetpack Compose,跟SwiftUI一个思路——你说"要什么",它就"画什么",比以前一行一行手写界面代码快了50%以上[9]

好处:性能天花板——APP反应最快、动画最丝滑、能用上手机最新功能

代价:你得做两份!苹果一份、安卓一份,相当于雇两拨人干同一件事,成本直接翻倍[4]

路线三:跨平台开发——写一次代码,苹果安卓都能用

一句话解释:就像写一份中文稿子,同时翻译成英文和日文出版——你只需要维护一份"源稿"。

为什么这么火:据统计,跨平台开发可以把开发周期缩短40%-60%,人力成本降低30%以上[9]。对于预算有限的中小团队来说,这就是救命稻草。

四大主流框架,到底怎么选:

Flutter

用什么语言写代码:Dart(Google专门为Flutter发明的语言)

怎么画出界面的:自己画!不依赖手机自带的界面组件,像一个自带画笔的画家,画出来的苹果版和安卓版长得一模一样

优势:界面一致性无敌——安卓上看到什么样子,苹果上就是什么样子

适合做什么:电商APP、教育APP、任何对界面精细度要求高的应用

React Native

用什么语言写代码:JavaScript/TypeScript(做网页最常用的编程语言)

怎么画出界面的:借手机的手画!调用了手机自带的界面组件,就像请苹果的画师画苹果版、请安卓的画师画安卓版,画风会略有不同

优势:如果你已经会做网页,学这个几乎零门槛;背后有Meta撑腰,生态最强

适合做什么:社交APP、新闻资讯类、团队里本来就会做网页的

uni-app

用什么语言写代码:Vue.js(国内最火的做网页框架)

怎么画出界面的:翻译成手机"母语"!把你写的代码翻译成苹果和安卓能直接执行的格式

优势:国产之光!一套代码能同时跑在苹果、安卓、微信小程序、支付宝小程序、网页……一口气覆盖十多个平台

适合做什么:国内市场为主、尤其是小程序需求强烈的业务

KMP(Kotlin Multiplatform)

用什么语言写代码:Kotlin(安卓的"母语")

怎么画出界面的:只翻译"逻辑",界面各写各的——比如用户登录、数据计算的代码共用,但界面还是苹果写苹果的、安卓写安卓的

优势:最灵活——你想共用多少代码就共用多少,不强制全跨

适合做什么:已经有安卓开发团队,想"渐进式"地把苹果版也做出来

小白直接看这里——选型决策树

你完全不会编程 → 先走零代码路线验证想法

你会做网页(HTML/CSS/JS) → 选React Native,上手最快

你在国内做小程序 → 选uni-app,一石多鸟

你追求极致界面效果 → 选Flutter,画出来的界面最精致

你已有安卓开发经验 → 选KMP,逐步扩展

你可能担心跨平台会不会"慢":2025年,Flutter全面换装了新的绘画引擎(叫Impeller,你可以理解成从铅笔升级到了数位板),彻底解决了以前复杂画面会卡顿的问题[10]。React Native也升级了新的底层架构(Fabric渲染器 + TurboModules),性能大幅提升[4]。实际测试中,用uni-app开发的外卖APP,加载速度只比原生慢0.2秒——普通用户根本察觉不到[2]

Flutter vs React Native:两大跨平台框架的技术选型对比

路线四:混合开发——网页套个APP壳

一句话解释:把一个网页装进APP的外壳里,看起来像APP,实际上里面跑的还是网页。

怎么做到的:手机APP里有个叫WebView的东西——你可以把它理解成"APP里嵌入的浏览器"。你用做网页的技术(HTML/CSS/JS)写好内容,WebView就像一个画框,把你的网页"框"在APP里面显示出来[3]

适合谁:预算极低的MVP验证、企业内部工具、营销活动页——这些场景对流畅度要求不高,但需要快速做出来。

好处:成本最低,会做网页的人就能做,而且更新内容不用重新提交应用商店审核

局限:体验就像在APP里打开了一个网页——滑动不够丝滑,动画效果受限,复杂交互做不好[3]

3.2 鸿蒙生态:国产操作系统的新赛道

华为的鸿蒙(HarmonyOS)正在形成独立生态。开发鸿蒙APP用ArkTS语言(你可以理解为"鸿蒙的母语"),配合ArkUI框架搭建界面[7]

鸿蒙最大的杀手锏是多设备协同——你的APP可以同时在手机、平板、手表、车机上运行,并且它们之间能"对话"。比如你在手机上开始看视频,上车后自动切换到车机屏幕继续播放。这种体验,苹果和安卓目前还做不到[7]

不过目前鸿蒙APP主要面向华为设备,如果你要做面向所有用户的APP,鸿蒙暂时还不能替代苹果和安卓,而是作为"第三端"来补充覆盖

四、核心开发阶段:用户看得见的 vs 看不见的

开发APP就像开一家餐厅——用户看到的是精美的菜单和漂亮的装修(前端),但真正决定这顿饭好不好吃的,是后厨的灶台和厨师的功夫(后端)。这一章,我们把APP拆成"看得见的"和"看不见的"两部分来讲。

4.1 前端开发:用户看得见的一切

前端是干什么的:你在APP上看到的所有东西——按钮长什么样、页面怎么滑动、点"购买"之后跳到哪里——全是前端的工作。你可以把前端开发理解成"装修房子":选什么颜色的墙纸、家具摆在哪、灯的开关装在哪个位置。

前端开发者需要掌握的五步技能:

第一步:学会一门"砌砖"的语言

就像盖房子要先学会砌砖,写APP也要先学会一门编程语言。你选哪门语言,取决于你选了哪条开发路线:

开发路线
需要学的语言
这门语言的特点
苹果原生
Swift
苹果发明,专门给苹果设备写APP,语法简洁
安卓原生
Kotlin
Google推荐,比老一代Java更简洁安全
Flutter
Dart
Google为Flutter发明,类似C/Java风格
React Native
JS / TS
做网页最常用的语言;TS是"加强版"
uni-app
Vue.js
国内最流行的网页框架,中文文档齐全

小白入门建议:完全零基础建议从JavaScript或Python开始——公认入门最友好。学会一门后再学第二门会容易得多。

第二步:学会搭界面

"搭界面"就是用代码把设计稿变成用户真正能看到、能点击的页面。不同开发方式有不同的搭界面方法,但核心思路都一样——声明式UI(你告诉手机"我要什么",手机自动帮你画出来):

Flutter里叫Widget(小部件):你写"我要一个红色圆角按钮,上面写着'立即购买'",Flutter就帮你画出来。整个页面就是一棵"Widget树"——最外层是页面容器,里面套着一行排列,每行里又套着文字和按钮[4]

React Native里叫组件(Component):跟Flutter思路类似,但写法是JavaScript风格。一个按钮就是一个组件,一个列表也是一个组件,组件可以一层套一层[4]

苹果SwiftUI安卓Compose:也是声明式,只不过它们是"母语"版本,可以直接调用系统最底层的绘图能力[9]

第三步:学会管理"状态"

什么是"状态"?你打开一个购物APP,购物车上显示"3件商品"——这个"3"就是一个状态。你删掉一件,变成"2"——状态变了。APP里的所有动态数据(你有没有登录、购物车几件商品、当前在第几个页面)都是"状态"。

为什么需要"管理"?想象一下:商品详情页显示"已加入购物车",但购物车图标上的数字还是"0"——这就是状态没同步。状态管理就是确保APP里所有地方的数字、标记都保持一致[8]

Flutter用Provider/Riverpod——可以理解成"状态广播站",某处状态变了,自动通知所有需要知道的地方

React Native用Redux——把所有状态集中放在一个"大仓库"里,谁要读就来取,要改就提交申请

Vue/uni-app用Pinia——Vue官方推荐,比老版Vuex更简洁

第四步:学会跟服务器"说话"

APP不是所有信息都存在你手机上的。比如抖音的视频列表、淘宝的商品信息,都是从服务器(远程电脑)上"拿"过来的。这个过程叫网络请求

通俗比喻:你在餐厅点菜(APP发出请求)→ 服务员把菜单送到后厨(网络传输)→ 后厨做好菜端上来(服务器返回数据)→ 你看到了菜品(APP展示内容)

常用工具:Flutter用Dio(几行代码就能从服务器拿数据),React Native和uni-app用Axios(同样的功能,只是名字不同),苹果原生用URLSession[8]

第五步:学会在手机上"存东西"

有些数据不需要从服务器拿,直接存在用户手机上就行——比如"上次浏览到第几页""用户选择了深色模式"。

轻量存储(存简单小数据,如"是否已登录"):安卓叫SharedPreferences,苹果叫UserDefaults——就像一个小笔记本,记几条简单信息

中等存储(存结构化数据,如聊天记录):用SQLite(轻量级数据库,装在APP里)或Flutter的Hive

重量级存储(存复杂关系型数据,如订单与商品对应关系):安卓用Room,苹果用CoreData——在SQLite基础上又包了一层,操作更方便[8]

4.2 后端开发:用户看不见的"发动机"

后端是干什么的:你在APP上点"下单",瞬间就生成了订单号——这背后是后端在运转:验证你的账号有没有登录、检查商品有没有库存、扣减库存、生成订单、记录日志……这一切都发生在你看不到的服务器(远程电脑)上[8]

继续用餐厅比喻:前端是餐厅大堂(你看到的菜单、装修、服务员),后端就是厨房(你看到的只是端上来的菜,但背后是厨师切菜、炒菜、调味的全过程)。

后端开发者需要掌握的四步技能:

第一步:选一门后端编程语言

语言
常搭配的"帮手"
适合干什么
上手难度
Node.js
Express、Koa
实时聊天、直播弹幕
Python
Django、Flask
数据分析、AI
Java
Spring Boot
银行、电商核心系统
中高
Go
Gin、Echo
秒杀、抢票等高并发
PHP
Laravel
传统网站、WordPress

小白入门建议:想快速上手选Node.js或Python;目标是进大厂学Java。

第二步:学会设计API——前后端的"合同"

什么是API?API就是前端和后端之间的"合同"。它规定了:前端可以问后端要什么数据、怎么问、后端会怎么回答[8]

通俗比喻:API就像餐厅的菜单。菜单上写着"宫保鸡丁——28元——辣度可选",你不需要知道厨房怎么炒的,你只需要按菜单格式点菜,后厨就会按规则上菜。

RESTful API:目前最主流。每个网址代表一种资源,用"增删改查"四种操作来处理。就像图书馆的索引系统,每本书都有固定编号和位置[8]

GraphQL:更灵活,前端可以"自定义"要拿哪些数据。REST是"套餐"(后端配好的组合),GraphQL是"自助餐"(你想要什么自己选)[8]

第三步:学会用数据库——数据的"仓库"

什么是数据库?你在APP上注册的账号信息、发布的每一条动态、每一笔订单记录——这些数据都存在数据库里。数据库就是APP的"仓库",负责存东西、找东西、改东西[8]

类型
通俗比喻
代表选手
适合存什么
关系型(SQL)
像Excel表格
MySQL、PostgreSQL
订单、财务——需要"严格格式"和"事务保障"的数据
非关系型(NoSQL)
像文件夹
MongoDB、Redis
社交动态、缓存——格式不固定、需要快速读写

小白入门建议:先学MySQL——最经典的关系型数据库,学会它其他的触类旁通。

第四步:学会部署——把后端"搬上线"

写好的后端代码在你自己的电脑上是跑不起来的——你的电脑不可能24小时开机,也扛不住几千人同时访问。你需要把代码部署到云服务器[8]

云服务器:就像租一台永远开机的远程电脑。主流选择有阿里云、腾讯云、AWS(亚马逊)

Docker(容器化):理解成"集装箱"——把代码和所需环境打包在一起,搬到哪台服务器都能直接跑,不会出现"在我电脑上能跑,到你那就不行"的问题

Kubernetes(简称K8s):当用户量很大、需要很多台服务器时,K8s就是"调度员"——自动分配任务、某台机器挂了自动切换到另一台

后端服务器架构:从客户端连接、SQL处理到存储引擎的完整链路

4.3 前后端联调:让"大堂"和"厨房"对上话

前端写好了界面,后端写好了接口,但它们还没"接上"——前端点了个"获取商品列表",后端返回的数据格式是{name: "手机", price: 2999},前端却在找{title: "手机", cost: 2999},字段名对不上,就报错了[8]

联调就是让前后端对齐"合同"的过程

后端按API文档提供数据(Swagger是常用的API文档工具,可以自动生成接口说明)

前端按API文档请求和解析数据

遇到不一致的地方,前后端一起排查修复

Postman是联调必备工具——它可以模拟前端发请求,让你单独测试后端的每个接口是否正常,不用等前端写完

联调阶段最容易踩的坑:

1. 字段名不一致(后端叫userId,前端叫uid

2. 数据格式偏差(后端返回数字1,前端期待字符串"1"

3. 异常状态没处理(网络断了怎么办?服务器返回错误怎么办?)

4.4 版本控制:多人协作不撞车

如果两个人同时改同一个文件,你的改动可能覆盖他的——版本控制就是解决这个问题的。

Git是目前最主流的版本控制工具,你可以把它理解成"代码的时光机":

每次改动都会生成一个"快照",随时可以回退到任何历史版本

多人同时开发时,每个人在自己的"分支"(Branch)上工作,互不干扰

开发完成后,通过"合并"(Merge)把各自的成果汇总到一起

合并前通常需要Code Review(代码审查)——同事互相检查代码,保证质量

Git Flow是团队协作的常用规范:主分支(main)始终保持稳定可发布状态,每个新功能开一个独立分支开发,开发完测试通过后再合并回主分支。2025年Git在开发团队中的使用率已超过90%[9]

五、测试阶段:找茬大会,越狠越好

开发说完成了?别信!测试才是照妖镜。完整的测试体系应覆盖以下类型[8]

单元测试 验证单个函数/类的逻辑正确性 | JUnit(Android)、XCTest(iOS)、Jest(JS)

集成测试 测试模块间交互(API调用、数据库读写) | Postman、Espresso

UI端到端测试 模拟用户操作流程 | Appium、Detox

性能测试 响应速度、内存占用、耗电量 | Android Profiler、Instruments

安全测试 数据加密、反逆向、权限滥用 | OWASP ZAP、MobSF

兼容性测试 不同设备/OS版本/屏幕适配 | Firebase Test Lab、BrowserStack

APP质量行业基准指标

≤2s

启动时间

<0.5%

日崩溃率

<0.1%

ANR率

100%

核心流程覆盖

测试左移是行业趋势——在开发阶段同步编写测试用例(TDD/BDD),而非开发完再补测试。持续集成/持续部署(CI/CD)流水线中自动触发测试,提交代码即运行自动化脚本并生成报告[6]

APP测试与上架发布流程:从BUG检测、安全审核到应用商店上线的完整链路(AI生成图)

六、部署上线与持续迭代:上线≠结束,是新的开始

6.1 应用商店发布

上架需要准备:Apple Developer账号($99/年)、Google Play Developer账号($25一次性)、应用信息(名称、图标、描述、截图)、隐私政策。iOS审核通常1-7天,首次提交通过率约70%;安卓审核几小时到几天[8]

6.2 监控与迭代

上线后需实时监控崩溃报告(Firebase Crashlytics)和用户行为(Mixpanel/Amplitude),基于数据和用户反馈持续迭代更新。灰度发布和A/B测试是降低版本风险的有效手段——分批推送新功能,对比数据后再全量发布[6]

七、2025-2026新趋势:AI重塑开发范式

AI辅助
GitHub Copilot等AI代码助手成为标配,自动生成代码、补全函数、修复Bug,开发效率提升30%-50%[9]
端侧AI
端侧NPU/GPU普及,小模型嵌入APP实现离线语音指令、图像识别、本地摘要[6]
多模态
语音、图像、手势等多模态交互从概念走向日常,AR量尺、智能相册已成现实
跨端统一
一套代码覆盖App、小程序、H5、桌面端成为趋势,Flutter/RN/KMP按域选择[10]
移动开发工程师技能图谱:从前端、后端、数据库到工具链的完整技能版图(AI生成图)

2025年的技术格局下,原生开发仍是性能天花板,跨平台方案已是效率最优解,AI正在重塑整个开发范式。无论选择哪条路线,核心目标始终不变:为用户创造流畅、稳定、有价值的体验。

结语:从想法到产品的每一公里

手机APP开发是一场从想法到落地的系统工程。需求分析决定方向,技术选型决定效率,开发测试决定品质,持续迭代决定生命力。从需求调研的"想明白",到UI设计的"画清楚",再到代码实现的"写出来",每一步都不可跳过。

好消息是,2025年的技术栈已经给开发者提供了前所未有的选择空间:零代码平台让非技术人员3小时出原型,跨平台框架让小团队一套代码覆盖三端,AI助手让编码效率翻倍。工具在进化,但创造力的内核从未改变——真正优秀的APP,永远始于对用户痛点的深刻洞察。

参考文献

[1] Statista. Number of mobile app downloads worldwide from 2016 to 2025. https://www.statista.com/statistics/271644/worldwide-free-and-paid-mobile-app-store-downloads/[2] CSDN. 2025自己编APP指南:从零代码到跨平台. https://blog.csdn.net/IAMIF12/article/details/152314094[3] 腾讯云开发者社区. APP开发框架的分类和特点. https://cloud.tencent.com/developer/article/2570848[4] CSDN. Flutter vs React Native vs 原生开发:有何不同? https://blog.csdn.net/2302_80329073/article/details/155414881[5] 掘金. 开发者必读:十大APP开发方案综合评测. https://juejin.cn/post/7382980041397583907[6] 腾讯云开发者社区. 2025移动应用开发最新趋势是什么? https://cloud.tencent.com/developer/article/2585695[7] CSDN. 跨平台移动应用开发语言对比分析(202510). https://blog.csdn.net/2501_90561511/article/details/153781509[8] 猪八戒网. 制作一款app需要学些什么技术. https://qh.zx.zbj.com/wenda/3089.html[9] 头条. 2026 App开发技术全景解析:从框架选型到AI融合新趋势. http://m.toutiao.com/group/7644359782056477203/[10] AtomGit开源社区. 移动开发全景前瞻:跨平台演进、性能极限优化与代码规范重构. https://gitcode.csdn.net/69c01cbe0a2f6a37c5996a26.html       

知人世,长见识 

关注公众号,获取更多知识,助你增长见识    

在ai时代下,人对知识的要求将从懂得知识够不够多,转变成知不知道有相关知识的存在。因此,增长见识是新时代的必要要求,本公众号于是应运而生

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-04 15:23:23 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/709874.html
  2. 运行时间 : 0.164192s [ 吞吐率:6.09req/s ] 内存消耗:4,698.43kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=641cfd7dfa92e2b9d2ab3984f498a96e
  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.000588s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000788s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000323s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000254s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000470s ]
  6. SELECT * FROM `set` [ RunTime:0.000196s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000504s ]
  8. SELECT * FROM `article` WHERE `id` = 709874 LIMIT 1 [ RunTime:0.011429s ]
  9. UPDATE `article` SET `lasttime` = 1780557803 WHERE `id` = 709874 [ RunTime:0.020088s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000324s ]
  11. SELECT * FROM `article` WHERE `id` < 709874 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000537s ]
  12. SELECT * FROM `article` WHERE `id` > 709874 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000630s ]
  13. SELECT * FROM `article` WHERE `id` < 709874 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.012791s ]
  14. SELECT * FROM `article` WHERE `id` < 709874 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.010393s ]
  15. SELECT * FROM `article` WHERE `id` < 709874 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.028202s ]
0.165849s