乐于分享
好东西不私藏

从零到一上架 eDots, 我的原生 iOS 产品研发复盘|VibeCoding 实战手记

从零到一上架 eDots, 我的原生 iOS 产品研发复盘|VibeCoding 实战手记
落地 eDots 这款 Apple 原生 App,本质上是作为拥有十年 UX 与前后端开发经验的我给自己设下的两场实验:
其一,依托 AI 编程工具的加持,常年深耕 Web 全栈的开发者,能否低成本、高效率切入 iOS 与 Swift 原生开发领域;
其二,当下大火的 VibeCoding 模式,究竟只能产出观感亮眼却无法落地的演示 Demo,还是真能支撑打磨出一款可正式上架、面向真实用户使用的商用 App。
如今试验落地:eDots 已正式登陆 App Store,也收获了第一波喜欢它的用户。
eDots 是一款纯正苹果原生应用,核心定位是收纳日常生活里细碎的「生活的点滴」:灵光一闪的想法、目的地、菜谱、待读书目、待养成的习惯、值得珍藏的细碎回忆 ……
所有零散内容都能分门别类归入专属合集,同时支持列表、卡片、日历、地图、语录视图、桌面小组件等多维度查阅;
除此之外,随机抽取内容、记录打卡频次、补充备注、批量导出、iCloud 跨设备同步与内容分享等实用能力全部内置(也算对 Apple 的技术生态摸了个底)。
产品官网:👉🏻 https://dots.e-studio.ai/
本文无意单纯做产品推广,更多是复盘整个开发周期:我如何借助 Agentic Coding完成全流程开发,以及在落地一款真实产品的过程中,沉淀下来关于AI辅助编程的落地思考。

一、eDots 的诞生:源于无处安放的 Dots

我一直有随手收集碎片化信息和认真管理一些个人清单的习惯,但这些内容和常规结构化笔记截然不同:书中摘选的短句、种草的线下门店、待追的漫画、规划中的旅行目的地、烹饪菜谱、和家人敲定的小计划、重要的纪念日倒计时,还有无数凭空迸发的瞬时灵感 ~
市面上工具虽多,却没有一款适配这类零散素材的「收纳容器」。于是eDots 最初的产品初心应运而生:专为偏爱整理收纳的J人,打造专属的生活碎片收纳空间
从产品定位上,我刻意避开了两个误区:它既不是一款迭代优化的新型笔记软件,也绝非套着 AI 外壳的聊天式记事本,一旦锚定这两个方向,产品内核就彻底跑偏。
eDots 的本质,是一款安静克制、遵循苹果设计规范的私人生活 Dots 花园,帮用户收拢散落的日常碎片,串联成线,方便日后重温回溯,也能按需分享给身边重要的人。
我始终把产品核心锚定在五大关键词:碎片 Dots、合集 Collections、多视图浏览、内容重温、内容分享,任何新增功能都需要证明自身具备不可替代的实际价值。

二、落地 eDots,七条 Vibe & Agentic Coding 实战干货

1. 优先选择 AI 「擅长」的技术栈

很多开发者在用 AI 写代码时,习惯让模型从零摸索陌生技术栈、自定义产品规范,这也是大量 AI 项目止步 Demo 的关键原因。我的思路恰好相反:立足 AI 已有海量学习素材的成熟领域。
苹果人机交互规范 HIG 公开且体系完善,SwiftUI、SFSymbols 体系、原生导航逻辑、系统组件、桌面小组件Widget、CloudKit云同步、地图框架MapKit、本地通知、快捷指令 App Intents 等相关文档、开源案例、社区讨论存量巨大,都是AI训练数据里的高频内容。
落实到开发约束上,统一给 Agent 划定标准:遵循苹果原生设计语言、严守 HIG 规范、优先使用系统原生控件与SF Symbols图标、杜绝网页化UI风格;iOS独有震动反馈通过条件编译做环境隔离,Mac端单独适配专属侧边栏与菜单栏。
有明确成熟的参考标尺,AI开发即便偶尔跑偏,也能快速拉回规范轨道。
我同步定下整套产品设计准则,最终全部转化为项目硬性约束,避免项目沦为流水线生成的 CRUD 工具:
  • 从用户体验倒推开发,而非以技术实现为优先级;
  • 持续聚焦需求、主动做功能删减;
  • 对全链路端到端使用体验全权负责;
  • 坚持有取舍的产品决策;
  • 把复杂逻辑封装在系统底层,不将使用成本转嫁用户;
  • 产品质感藏在细节之中;
  • 打磨完善产品(MLP),不用最小可行产品(MVP)当做粗放开发的借口。

2. 选用原生技术栈,借用平台现成的杠杆

对独立开发者而言,技术选型从来不是炫技,核心是最大化借用成熟平台能力,降低自研成本。eDots全链路采用苹果原生技术栈:
  • SwiftUI:统一实现iPhone、iPad、Mac多端界面;
  • Core Data:本地数据持久化存储;
  • CloudKit:依托iCloud实现跨设备同步与内容分享;
  • WidgetKit:桌面小组件,实现日常内容快速回看;
  • MapKit:落地地理位置类合集的地图视图;
  • UserNotifications:系统原生提醒服务;
  • StoreKit 2:应用内购体系;
  • App Intents+快捷指令:打通系统自动化入口;
  • Xcode Cloud:自动化打包与发布流水线。
这套技术栈帮我省去大量重复基建工作:依托 Apple ID 与 iCloud,不用从零搭建账号体系与跨端同步服务;借助系统通知框架,无需自研提醒后端;全端原生 UI 框架,规避跨端框架和苹果系统交互手感割裂的问题。
全程无自建后端,也是经过权衡的产品决策。个人用户数据全部存放在用户自有 iCloud 存储空间,不仅大幅缩减独立开发的服务器运维成本,在用户隐私层面也拥有天然说服力:用户的所有生活碎片,所有权始终归属于个人Apple账户。
当然 CloudKit 门槛不低,跨设备同步逻辑、内容分享、数据删除与误删恢复都需要精细化处理,但这份复杂度换来纯正的苹果原生体验,在我看来完全值得。

3. 给项目一份 AGENTS.md / CLAUDE.md,让 AI 读懂产品和工程灵魂

Agentic Coding 高效落地的关键,绝非每次开发临时写零散提示词,一个长期项目必须拥有定义项目准则的「SOUL DOC」。
在 eDots 项目中,`AGENTS.md` 就承担了这个角色。文档清晰写明产品定位、目录结构、技术选型、编译规范、测试要求、UI设计标准、数据边界、CloudKit禁用修改项、多语言本地化规则、跨平台差异化适配细则等。后续所有AI开发任务,都基于这份文档约束执行。
精简版项目灵魂规范原文参考如下(这里给出示意,具体根据项目做扩展):
Build native Apple experiences that stay simple in structure,feel polished in use, and remain practical to debug.- Apple frameworks first.- SwiftUI-native across iPhone, iPad, and Mac.- Core Data + CloudKit for persistence and sync.- Keep data access in services, not leaf views.- Keep UI adaptive and Apple-like.- Localize user-facing strings.- Guard iOS-only haptics and UIKit assumptions.- Preserve widget shared storage.- Add tests for persistence, import/export, widgets, and sync-sensitive behavior.- Prefer small, composable changes over broad rewrites.- Details are product quality: haptics, empty states, motion, defaults, copy.
我的结论是:任何打算长期迭代、落地正式版本的 AI 辅助开发项目,都需要一份文档。
篇幅无需冗长,但必须写清四点:产品核心定位、不可改动的底层规则、产品设计审美、编译测试与发布规范。
缺少这份约束,AI只会盯着单一功能局部完成;有了约束,Agent才能守住产品整体方向。

4. 云端 Agent 负责推进开发效率,本地 XCode 是最终验收标准

整个项目周期我搭配了Cursor、Claude Code、Codex 三款AI编程工具,并非盲目堆砌工具,而是根据不同能力做分工:Cursor擅长在现有项目代码库中查阅、迭代修改、梳理项目上下文;Claude Code胜任高复杂度逻辑开发与长链路代码推理;Codex Cloud 主打项目快速迭代提速,临时萌生新需求时,可交由远程Agent新建开发分支、编写代码并生成 PR,后续我拉取代码至本地调试。
很多时候,在路上我也用 Codex 云端工作,一些小想法可以得到很好的落地和验证 😄
我的参考开发闭环:
  1. 梳理新增需求或现存Bug;
  2. 交由云端AI Agent先行调研方案、输出代码PR;
  3. 拉取代码到本地Xcode环境;
  4. 编译、真机运行实测;
  5. 亲身感受产品实际使用效果;
  6. 确认合并、二次修改或直接废弃方案。
AI可以加速编码落地的过程,但永远无法替代开发者,以使用者的视角判定功能是否契合产品の初衷。
当然用好 TestFlights 自己和周边的朋友可以作为产品 GA 之前的试验场,发现问题并快速修复,省时省心 ~

5. 尽早搭建完整发布流水线,跳出 Demo 幻觉

AI 极速生成代码很容易带来错觉:代码落地即产品接近完工。可从可用代码到上架 App Store,中间隔着整套工程化落地流程。
eDots早早接入 Xcode 云端编译体系、Swift 自动化单元测试、App Store 打包规范与 Xcode Cloud 自动化流水线。这些没有酷炫 AI 黑科技的工程基建,才是把原型 Demo转 化为用户可安装正版应用的基石。
单元测试尤为关键,同步、数据导入导出、内购、应用状态、随机逻辑、CloudKit联动等模块,都是AI改代码时极易无意破坏的核心逻辑。独立开发不必对全部UI做自动化测试,但数据层与核心业务逻辑,必须完善用例覆盖。
依托 Swift+SwiftUI 的跨端能力,一套核心代码支撑 iPhone、iPad、Mac三端分发,仅针对平台独有特性做隔离:iOS独有震动反馈单独做环境判断,Mac定制专属侧边栏与菜单栏,桌面小组件遵循独立的存储与刷新规则。只要提前把跨平台规范写入项目约束,AI就能稳定按照规范完成适配开发。

6. 摒弃 Demo 思维,打磨一款自己日常在用的产品

AI 生成 Demo 和商业化产品最本质的差距,从来不在技术实现,而在于开发者有没有长期打磨优化的耐心。
首先,你自己得是「第一用户」。
作为 eDots 的开发者,自己必须是它的头号玩家, 段段一段时间,自己也「爱上」了它,这非常重要,我创建了 700+ 条 dots,38 个集合,114 个标签 🏷,它已然成为了我日常的一部分。
其次,就是「深度打磨」:
截至目前 eDots 累计提交434+次代码,我的长期目标是迭代至 1000次提交,至少这样才意味着「工匠精神」得以体现。当然提交数字本身没有意义,但产品细腻的使用质感,恰恰来自一次次细碎优化:调整更合理的默认参数、优化弹窗弹出逻辑、打磨空页面引导文案、修正小组件边界异常、优化文件导入安全逻辑、微调图标配色……所有不起眼的细节堆砌成最终的产品体验。
也是出于对苹果原生软件质感的偏爱,我从一开始就聚焦 Apple 全平台,深耕液态玻璃、SF图标、系统原生控件、震动反馈、小组件、系统分享面板等苹果独有的设计细节。倘若开局就全平台通吃,最后往往所有端的体验都沦为平庸。
给独立开发者的建议:不必追求全平台全覆盖,找准一个足够细分、自己拥有审美和使用共鸣的垂直赛道,深耕打磨就足够。eDots瞄准的就是生活碎片收纳:习惯做清单的J型用户、内容创作者、语录收藏爱好者、旅行规划爱好者、注重生活记录的人群,一个个真实使用场景,反向推着产品持续迭代优化。少即是多的前提,是精准洞悉每一项冗余功能想要解决的真实诉求。

7. AI 能力真的不必硬塞进 App,依托系统生态是更优解

项目前期我也曾计划在App内堆砌大量AI功能,目前开发环境虽保留碎片AI生成的试验能力,未来也可能拓展图片转碎片、合集智能对话、本地内容洞察等功能,但我找到了更贴合苹果生态的落地思路:依托 App Intents+系统快捷指令实现AI联动。
把新增、查看、修改、删除碎片的能力通过系统快捷指令接口对外开放,各类外部 AI 工具(Agentic)即可通过苹果原生系统能力调用 eDots,App 本体依旧保持简洁安静的原生形态,无需强行植入臃肿的AI对话面板。
相比在应用内生硬添加AI按钮,这套方案更契合苹果产品设计理念:应用做好本职的内容收纳,自动化与AI交互交给系统生态承载,用户收获干净纯粹的原生工具,各类 Agent 也获得标准化调用入口。

三、我的 VibeCoding 落地实操配方

结合 eDots 全流程开发经验,整理出一套适合所有独立创作者用 AI 落地产品的实操清单:
  1. 选定一个细分、真实且你愿意从头到尾做完的产品方向;
  2. 优先选择公开资料充足、AI 擅长的技术领域;
  3. 借力平台原生能力做基建,避免从零重复造轮子;
  4. 在大规模启用 AI 编码前,撰写定义项目边界的 Soul File,以及各类加速研发流程的 Skills(这块未来我还可以单出一篇文章细细展开)
  5. AI 负责提速开发迭代,本地真机编译实测掌握产品最终决定权;
  6. 为数据层与核心业务逻辑补充单元测试;
  7. 早期搭建自动化打包、发布的工程流水线;
  8. 学会持续拒绝不合理的需求与冗余功能;
  9. 自己成为产品首批重度用户,在日常使用中发现优化点;
  10. 保持持续迭代提交,在反复打磨中让产品细节趋于自然。
AI辅助编程大幅降低了代码编写的体力成本,却不会免费赠送产品判断力:工具减少了编码摩擦,但一款产品该面向谁、保留什么功能、最终使用手感如何,依旧需要人做决策。

写在最后

AI 确实大大重构了软件的开发效率,真正缩短了从想法到代码的距离,但一件具备质感的产品,永远离不开开发者持续的细节打磨、长期投入与审美把控。
优质 UX(用户体验) 体验绝不会仅凭一句「帮我开发一款App」就由 AI自动生成,它根植于清晰的产品信仰、严谨的开发约束、对平台生态的深度理解,以及首版可用之后沉下心反复优化的耐心。
eDots 是我第一款正式落地的苹果原生应用,也用真实上架的结果完成了最初的试验:VibeCoding 不只是一时兴起的趣味开发,依托合理的项目约束与人为把控,完全可以落地通过 App Store 审核的正式产品。
当然如果你也需要一款隐私可控、苹果原生风格的生活碎片收纳工具,欢迎体验 eDots ~
App Store下载:
🔗 https://apps.apple.com/cn/app/edots/id6754982386
希望我的经验对你有所帮助 🥳 and Happy Agentic / Vibe coding ~~~
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-06 12:29:11 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/719392.html
  2. 运行时间 : 0.222392s [ 吞吐率:4.50req/s ] 内存消耗:4,735.70kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=d9f003567a16899564c1a758a2053697
  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.001108s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001562s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000741s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000687s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001350s ]
  6. SELECT * FROM `set` [ RunTime:0.000662s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001397s ]
  8. SELECT * FROM `article` WHERE `id` = 719392 LIMIT 1 [ RunTime:0.001141s ]
  9. UPDATE `article` SET `lasttime` = 1780720151 WHERE `id` = 719392 [ RunTime:0.011886s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000413s ]
  11. SELECT * FROM `article` WHERE `id` < 719392 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000545s ]
  12. SELECT * FROM `article` WHERE `id` > 719392 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000501s ]
  13. SELECT * FROM `article` WHERE `id` < 719392 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001667s ]
  14. SELECT * FROM `article` WHERE `id` < 719392 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000666s ]
  15. SELECT * FROM `article` WHERE `id` < 719392 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000705s ]
0.226495s