乐于分享
好东西不私藏

文档比对来了,Docker 一键跑:File Viewer 1.0.20 把 149 个附件入口带进浏览器

文档比对来了,Docker 一键跑:File Viewer 1.0.20 把 149 个附件入口带进浏览器

今天想聊一件很具体的事情:当一个业务系统开始认真管理附件,文档预览就会从“小功能”变成“交付门面”。

合同有旧版和新版,审批材料有 PDF、OFD、Word、Excel,项目归档里夹着压缩包、邮件、图纸和模型。客户现场还会问一句:能不能放到内网 Docker 里直接跑?研发团队也会问:Typst、Office 模板、历史 .doc 这类文件能否统一纳入预览?

File Viewer 最新主线推进到 1.0.20,这一轮更新把这些问题放在一起处理:文档比对入口上线,Docker 镜像准备好,Typst 与 Office 模板格式进入统一链路,PDF 加载继续提速,文档与 Demo 也同步补齐。 🌈

今天先看结论

方向 这次带来的变化 对业务的价值
新格式入口 新增 Typst 源文件直读预览,Office 模板与宏格式按只读链路纳入兼容入口 技术报告、模板文件、历史附件可以进入同一套预览界面
文档比对 新增 /compare.html,左右并排预览,支持示例、URL、本地上传和同步滚动 合同修订、方案对照、版本验收可以直接在浏览器里完成
Docker 部署 提供 nginx 静态镜像、Dockerfile、多架构 buildx 发布脚本 内网、私有云、客户现场可以一条命令运行 Demo 与比对页
PDF 链路 同源 PDF 默认交给 PDF.js 渐进读取,Range 服务可分片建页 大文件首屏等待更短,下载按钮也兼容流式场景
质量修补 WPS 专有封装给出转换指引,Docker Hub API 脚本增加诊断,文档和成品包继续同步 接入者更容易判断边界,发布链路更清楚

当前版本内置 149 个扩展名映射,覆盖 20 条预览链路。Vue3、Vue2.7、React 和纯 Web 四条包线继续保持一致的使用体验。

文档比对:把“两个文件来回切”变成左右并排看

很多系统里,用户需要看的往往是一组互相关联的文件。合同条款更新、标书版本回看、技术方案修订、测试报告复核,都需要把两份材料放在一起。

1.0.20 新增独立文档比对入口 /compare.html。它和主预览页分开,避免把比对场景塞进日常预览界面里。左右两个面板各自支持示例文件、URL 和本地上传,也支持同步滚动。

这张图里,左侧是旧版 .doc,右侧是新版 .docx。用户可以直接核对内容风格、段落变化和页面结构。对于 PDF、PPTX、Typst、Markdown 等格式,也可以通过同一个入口做并排检查。

它还支持通过 URL 预置左右文件:

https://viewer.flyfish.dev/compare.html?left=/example/test.doc&right=/example/word.docx

这对业务系统很方便。审批流、合同库、版本管理页只要生成一条链接,就能把对照预览交给独立页面处理。

新格式继续扩展:Typst 与 Office 模板进入统一入口

File Viewer 的路线一直很清晰:浏览器端尽可能多地完成真实附件预览,重型依赖按格式异步加载,主入口保持轻盈。

这一轮新增和整理的重点如下:

类别 扩展名 当前表现
Typst typtypst 直接读取源文件,按需加载 @myriaddreamin/typst.ts 浏览器 WASM 编译链路,输出分页 SVG
Word 模板 dotdotxdotmdocm 复用 Word 渲染链路,只读预览,保留页面阅读感
Excel 模板 xltxltxxltm 复用表格链路,展示可读取的数据、尺寸和样式
PowerPoint 模板 pptmpotxpotmppsxppsm 复用演示文稿渲染链路,适合方案模板和课件预览
WPS 专有封装 业务指引 文档站给出转换建议,推荐沉淀为 Office、PDF 或 OFD 等浏览器友好的格式

Typst 是这次很值得单独拿出来讲的格式。它像代码一样管理文档源文件,又能生成漂亮的排版结果,正在越来越多技术团队里出现。

示例里可以看到标题、信息块、表格、公式和代码片段。组件会读取页面尺寸元数据,把输出拆成按页 SVG。打印和导出 HTML 时,也会沿用文档页面自身的布局。

更重要的是,Typst 的 WASM 编译器只在命中 .typ / .typst 时加载。普通 Word、PDF、图片、代码预览不会提前背上这部分体积。

Docker 一键部署:客户现场也能快速跑起来

很多团队接入组件时,先会在本地试 npm 包;走到客户现场、私有云或内网验收时,最省心的方式通常是一个静态镜像。

这一版加入了 Docker 部署链路:构建后的 Demo、文档比对页、示例文件、WASM、Worker 和静态资源全部放进 nginx 镜像,镜像目标为:

flyfishdev/file-viewer:1.0.20

运行方式非常直接:

docker run -d \
  --name flyfish-viewer \
  --restart unless-stopped \
  -p 8080:80 \
  flyfishdev/file-viewer:1.0.20

启动后访问:

地址 用途
http://localhost:8080/ 主预览 Demo
http://localhost:8080/compare.html 文档比对 Demo
http://localhost:8080/healthz 健康检查

镜像发布脚本覆盖 linux/amd64linux/arm64,也提供 Docker Hub 仓库创建 API helper。最新提交还补充了 Docker Hub API 诊断信息,方便发布时定位权限、命名空间和仓库状态问题。

这意味着你可以把 File Viewer 当作一个独立的“附件预览站”部署,再通过 iframe 嵌入 OA、CRM、知识库、工单或项目管理系统。需要多系统复用时,这条路尤其省心。

PDF 继续提速:同源文件支持渐进读取

PDF 是预览组件里最常被打开的一类文件,也是最容易暴露性能体验的链路。

过去,为了兼容各种鉴权下载和跨域场景,远端 PDF 往往会先下载为 Blob,再交给 PDF.js 渲染。文件越大,用户越容易在首屏等待里失去耐心。

最新主线新增 PDF 源加载策略:同源 PDF 默认交给 PDF.js 直接按 URL 读取;如果文件服务支持 Range,PDF.js 可以分片获取内容并逐步建页。跨域 URL 继续走兼容下载链路,照顾复杂 CORS 和鉴权环境。

当前 PDF 视图已经具备缩放、页码、旋转、页面侧栏、目录树侧栏、宽度自适应、完整打印和导出 HTML。新增配置项也为业务侧留出控制空间:

配置 作用
options.pdf.streaming 控制 PDF 渐进读取策略,默认 same-origin
options.pdf.rangeChunkSize 控制 Range 分片大小
options.pdf.withCredentials URL 读取时是否携带浏览器凭据

对于合同库、票据中心、归档材料、技术白皮书这类长 PDF,首屏变快一点,用户感知会非常明显。

压缩包、邮件、EDA、图纸和模型仍在同一个体系里

这一轮主角是 Typst、文档比对和 Docker,但 File Viewer 的完整能力已经覆盖更宽的附件世界。

压缩包仍然走 libarchive.js Worker:先读取目录,用户点击内部文件时再按需解压,已解压内容可缓存到 IndexedDB。包里的 PDF、Word、Markdown、代码或图片会继续复用统一预览器。

邮件链路支持 emlmsg,可以展示头信息、HTML/文本正文、附件下载和附件继续预览。OLB / DRA 会尽力解析 OrCAD / Allegro 常见 CFB 容器,展示结构树、元件/封装/Padstack 候选、属性和诊断。

图纸和模型方面,DXF 走 @cadview/core,3D 模型走 Three.js,并按格式异步加载 loader。Excalidraw 使用官方包恢复并导出只读 SVG,draw.io 使用 diagrams.net 官方 viewer。

把这些格式放在一起看,File Viewer 的定位就很清楚:它面向真实业务附件,不只服务某一种文档。

那些看起来琐碎、实际很要紧的修补

这两版之间还做了很多“看起来没有标题感,但用户每天都会遇到”的工作。

细节 已做工作
打印完整性 Word / PDF / Typst 等分页内容走专属导出适配器,打印窗口只包含文档页面
.doc 兼容 msdoc-viewer CFB 补丁改为包管理器无关脚本,npm、pnpm、yarn 都能应用
Excel 边界 虚拟表格场景按能力隐藏打印入口,避免用户得到被截断的输出
WPS 说明 移除容易造成误解的专有格式入口,文档中给出更可靠的转换路径
资源部署 PDF wasm、libarchive wasm、Worker、hash chunk 和静态示例继续同步到成品包
文档更新 README、格式矩阵、Docker 文档、Demo 说明、分发说明一起刷新到 1.0.20

这些工作不会在界面上显得夺目,却决定了组件能否在客户现场、内网环境和多技术栈团队里长期维护。

本地验证账本

写这篇文章前,我重新基于最新提交跑了一遍验证:

项目 结果
自动测试 7 个测试文件通过,19 个测试用例通过
生产构建 2764 个模块完成构建,耗时约 1.72s
Typst Viewer 约 40.02KB,gzip 后约 12.92KB
PDF Viewer 约 1915.62KB,gzip 后约 592.76KB,按需异步加载
libarchive WASM 约 1002.54KB,gzip 后约 493.74KB,命中压缩包时加载
Typst renderer WASM 约 972.42KB,gzip 后约 360.11KB,命中 Typst 时加载

能力继续扩展,加载边界也继续保留。用户打开普通图片、Markdown、代码或小文档时,无需提前加载所有重型解析器。

怎么接入最新版

Vue3 项目:

npm install @flyfish-group/file-viewer3@1.0.20

Vue2.7 项目:

npm install @flyfish-group/file-viewer@1.0.20

React 与纯 Web 适配层:

npm install @flyfish-group/file-viewer-react@1.0.20
npm install @flyfish-group/file-viewer-web@1.0.20

Docker 运行完整 Demo:

docker run -d -p 8080:80 flyfishdev/file-viewer:1.0.20

常用入口:

入口 地址
在线 Demo https://viewer.flyfish.dev[1]
文档比对 https://viewer.flyfish.dev/compare.html[2]
官方文档 https://doc.flyfish.dev[3]
公开成品仓库 https://github.com/flyfish-dev/file-viewer[4]
源码自助开通 https://dev.flyfish.group/shop[5]

持续高质量开源

File Viewer 继续按开放协议维护,公开成品仓库提供可直接使用的构建产物、Demo 静态站、文档静态站、示例文件和 npm tarball。

完整源码通过飞鱼小铺象征性打赏开通,一杯奶茶 即可自助获得全部源码以及永久仓库更新。流程越自助,大家越能把时间放回真正的业务集成里。

二次开发或商业使用时,请保留来源说明;如果你在真实项目中遇到新的样例文件、复杂打印场景、特殊部署问题,也欢迎一起贡献。文档预览这件事,终究要在真实附件里慢慢打磨,越走越开阔。✨

引用链接

[1]https://viewer.flyfish.dev

[2]https://viewer.flyfish.dev/compare.html

[3]https://doc.flyfish.dev

[4]https://github.com/flyfish-dev/file-viewer

[5]https://dev.flyfish.group/shop

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-10 13:09:08 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/730505.html
  2. 运行时间 : 0.225957s [ 吞吐率:4.43req/s ] 内存消耗:4,734.91kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=bf5499c026587d3997e457a2c83e0a9a
  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.000871s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000847s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000352s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000256s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000488s ]
  6. SELECT * FROM `set` [ RunTime:0.000203s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000733s ]
  8. SELECT * FROM `article` WHERE `id` = 730505 LIMIT 1 [ RunTime:0.000570s ]
  9. UPDATE `article` SET `lasttime` = 1781068148 WHERE `id` = 730505 [ RunTime:0.012376s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000334s ]
  11. SELECT * FROM `article` WHERE `id` < 730505 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000615s ]
  12. SELECT * FROM `article` WHERE `id` > 730505 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002237s ]
  13. SELECT * FROM `article` WHERE `id` < 730505 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003320s ]
  14. SELECT * FROM `article` WHERE `id` < 730505 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.005712s ]
  15. SELECT * FROM `article` WHERE `id` < 730505 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.005864s ]
0.227740s