乐于分享
好东西不私藏

AI不止赋能软件!硬件工程师也能轻松玩转专属工具---基于 WorkBuddy 手搓电子元器件物料管理系统

AI不止赋能软件!硬件工程师也能轻松玩转专属工具---基于 WorkBuddy 手搓电子元器件物料管理系统

当下AI热潮席卷各行各业,无数软件工程师借着AI赋能,大幅提升开发效率、解锁各类新奇玩法。

不少硬件工程师却总有这样的感受:AI看似离硬件领域十分遥远,仿佛只是软件从业者的专属红利。

但事实并非如此!

硬件开发本就离不开各类辅助工具,而AI的飞速发展,彻底打破了技术壁垒。哪怕是不懂代码的硬件工程师,也能轻松打造适配自身工作场景的专属工具。这波AI赋能,对深耕硬件领域的我们而言,无疑是全新的突破与惊喜。

今天就给大家分享我的实操案例:我基于WorkBuddy搭建了一套电子元器件物料管理系统。全程实操、干货满满,希望能让每一位硬件从业者,都真切感受到AI带来的便捷与高效,看见硬件行业的AI新可能!

正菜开始了:

一、项目概述

电子元器件物料管理系统

开发笔记 —— 全过程回顾与技术总结

编写日期:2026-07-22

技术栈:FastAPI + Vue3 + Element Plus + SQLite

本项目是一个面向硬件研发团队的电子元器件物料管理系统(ERP),核心目标是解决物料编码混乱、参数管理分散、平替选型困难、BOM 导入繁琐等实际痛点。系统采用前后端分离架构:后端基于 FastAPI 提供 RESTful API,前端使用 Vue3 + Element Plus 构建单页应用,数据存储在 SQLite 数据库中(参数以 JSON 列灵活存储)。

截至本文档编写时,系统已具备完整的物料 CRUD、智能编码、平替推荐、参数模板驱动表单、专业 Excel 导出、原始 BOM 批量导入、多级排序、参数查询等核心能力,并通过了 API 自动化测试、前端端到端测试、可访问性审计和性能基准测试。

二、技术架构
2.1 后端架构
  • 框架:FastAPI (Uvicorn ASGI),自动生成 OpenAPI 文档

  • ORM:SQLAlchemy + SQLite,参数字段使用 JSON 类型存储灵活键值对

  • 路由模块:materials / categories / config / bom / io / datasheets / param_templates

  • 服务层:codegen(编码生成)、substitution(平替匹配)、material_import(导入)、ai_extractor(AI 提取)

  • 配置:YAML 驱动(data/config.yaml),支持 LLM(DeepSeek/OpenAI)和搜索引擎(Tavily/Serpapi/Bing)

2.2 前端架构
  • 框架:Vue3 Composition API + Vite 构建工具链

  • UI 库:Element Plus 组件库,自定义深色主题设计令牌

  • 路由:Vue Router HTML5 History 模式(7 个页面路由)

  • 状态:组件内 reactive/ref,无全局状态库(当前规模无需)

  • 构建产物 dist/ 由 FastAPI StaticFiles 直接托管

2.3 整体架构图

系统整体采用经典的前后端分离 SPA 架构,如下图所示:

1 materials

图:系统主界面 —— 物料列表页(侧栏导航 + 数据表格 + 操作区)

三、核心功能开发记录
3.1 物料编码体系

物料编码是系统的核心标识,采用"分类码 + 家族号 + 变体号"三段式结构:

格式:CCCC FFFFF VV

│ │ └─ 变体号(2位):同规格不同厂商 → 仅末位不同 → 强平替

│ └─ 家族号(5位):由"分类+关键参数签名"自动生成

└─ 分类码(4位):一级2位+二级2位(如 1001=电阻, 1302=肖特基二极管)

编码设计的精妙之处在于:同规格不同厂商的物料仅变体号不同(末两位),这使得"强平替"的判定变成简单的前缀匹配——同前缀(分类+家族)即视为可直接替换。家族号的生成由 codegen 服务完成,它根据分类码和关键参数的哈希签名自动分配。

3.2 平替推荐系统

平替是硬件工程师最关心的功能之一。系统提供两级平替:

  • 强平替:同前缀(分类码+家族号完全一致),仅变体号不同——可直接替换,零风险

  • 广义平替:同分类、同封装且关键参数相似度 ≥ 0.6——输出差异参数对比表供人工判断

API 端点为 GET /api/materials/{id}/alternatives,返回候选替代料列表及差异分析。平替关系存储在 material_substitutes 表中,也可通过 substitution_rules/ 下的 MD 规则文件扩展。

3.3 参数模板与动态表单

不同品类的元器件有完全不同的参数集(电阻看阻值/精度/功率,电容看容值/耐压/封装)。系统创新性地采用 Markdown 文件作为参数模板定义源:

  • 模板位置:param_templates/ 目录,按一级分类组织(如 13_二极管.md)

  • 格式约定:

四位code 名称 开头,每类两张标准 Markdown 表(必填/可选参数)
  • 生成器:_generator.py 可批量生成/更新模板文件(--force 强制覆盖)

运行时,后端 param_template 服务实时解析 MD 文件;前端 MaterialAdd 组件在选择分类后,动态加载对应模板并渲染必填/可选参数输入框。用户可随时编辑 MD 文件调整参数定义,改完立即生效——无需重启服务。

图:添加物料页面 —— 选择分类后动态加载参数模板表单(普通添加 / AI识别 / Excel批量 三种模式)

3.4 物料完整 CRUD

物料管理实现了从创建到删除的全生命周期操作:

新增物料

  • 三种录入方式:手动填写(参数模板驱动表单)、AI 自动识别(需配置 LLM Key)、Excel 批量导入

  • 型号查重:blur 时实时调用 GET /api/materials/check-duplicate?model=,命中则弹窗展示已有物料参数

  • 必填校验:后端 _check_required_params 按分类及祖先分类模板收集必填项,缺失返回 HTTP 400 MISSING_REQUIRED

保存流程:前端 try/catch 捕获 400 错误并友好提示用户补全必填项。

编辑与删除

  • MaterialList 表格增加"操作"列(编辑→跳详情、删除→确认框+DELETE),按钮 @click.stop 防行点击冲突

  • MaterialDetail 页头部加"删除"按钮(确认+DELETE+返回列表);编辑弹窗早已内置

8 detail

图:物料详情页 —— 展示完整信息(编码/型号/名称/参数/来源/置信度),支持编辑和删除

3.5 专业版 Excel 导出

导出功能经历了从基础到专业的升级迭代。当前版本(format=xlsx)输出多 Sheet 专业报表:

  • Sheet1 物料清单:标题区 + 冻结窗格(C5) + 自动筛选 + 斑马纹 + 数据手册超链接 + 参数紧凑渲染(k:v) + 替代料列

  • Sheet2 分类汇总:按分类统计数量/厂商数/占比

  • Sheet3 替代料对照:强平替 + 广义平替 + 红色"建议补充替代料"提示

CSV 格式保留旧平铺字段兼容。前端"导出 Excel/CSV"按钮无需改动即可生效。

3.6 分类树修复

这是一个重要的 Bug 修复案例。系统初始化时 seed_categories() 误将分类码数值当作主键 ID 赋给 parent_id,导致全部 127 个二级分类的父子关系错乱(如肖特基二极管被挂到钽电容下)。

修复方案分两步:

  • 一次性修复脚本 scripts/fix_category_tree.py 按 CATEGORY_TREE 权威树重新对齐 parent_id

  • 修改 seed_categories() 维护 code→id 映射,flush 取真实 ID 再赋子级 parent_id,杜绝复发

验证结果:审计错误数归零;导出中 SS34 分类路径正确显示为「二极管 / 肖特基二极管」。

7 categories

图:分类管理页 —— 展示完整的四级分类树结构(一级→二级→三级→四级)

3.7 原始 BOM 导入

用户的原始 BOM 数据存放在 原始BOM表/ 目录下(9 个板级 .xls/.xlsx 文件,DGT1000~DGT1500)。这些文件使用 legacy .xls 格式(WPS OLE2),需要 xlrd==1.2.0 解析。

导入规则约定:

  • 源物料编码写入 params.源物料编码 保留溯源

  • 组件按"名称→系统分类"关键词映射(电阻→1001、电容→1101、IC→16xx/20xx 等)

  • 板件型号 DGTxNxx 第 2 位映射到 10 个 PCB 三级分类(330201~330210)

导入器 scripts/import_raw_boms.py 通过 HTTP 调用 API 实现幂等导入(已存在同源编码则复用),顺序调用约 270 次。

6 bom

图:BOM 管理页 —— 已导入的板级 BOM 列表(DGT1000~DGT1500 南网总线系列板卡)

3.8 多级排序功能

物料列表和 BOM 表均支持多级排序——这是用户高频使用的功能。实现要点:

  • 后端:list_materials 接受 sort 参数,格式 field:order,field2:order2(白名单防注入)

  • 前端:点击列头触发排序;Shift+点击追加为二级排序(使用 MouseEvent.shiftKey 原生属性检测)

  • UI 反馈:排序层级条以 Chip 形式展示优先级①②③及方向箭头,支持逐层移除×和一键清除

开发过程中经历了几轮调试:最初用 keydown/keyup 监听 shiftHeld 不可靠,最终改为 MouseEvent.shiftKey 原生属性解决。用户曾质疑"制造商没排序",经排查确认功能正常——只是次级排序仅在主排序值相同时才生效,需直接点击制造商列头替换为主排序才能看到效果。

3.9 参数查询页面 UI 重设计

参数查询页面的初版 UI 被用户反馈"太丑"。作为 UI 设计师介入后的完整重设计包括:

  • 查询构建器卡片:条件行带连接轴(AND/OR 标签+竖线)、操作符彩色药丸(等于/包含/大于/小于等)

  • 活跃筛选标签区:已添加的条件以 Tag 形式展示,可单独移除

  • 结果卡:计数指标(匹配数/总物料数)+ 自定义空状态(放大镜图标+引导文案)

  • 设计令牌:套用 main.css 的 CSS 变量体系,720px 断点响应式适配

4 query

图:重设计后的参数查询页 —— 查询构建器(上)+ 结果区域(下),现代化卡片布局

四、测试与质量保障

系统经过了全面的质量验证,覆盖以下维度:

4.1 后端 API 测试(35+ Case)
  • 使用 httpx 同步客户端覆盖 CRUD / 编码 / 平替 / 导出 / 校验等核心接口

  • 发现并修复 1 个 Bug:gt/lt 过滤对 SI 前缀值(如"5k")抛 500(unguarded float())

4.2 前端端到端测试
  • Playwright + Edge 浏览器自动化,覆盖主要用户流程

  • 发现 2 个 WCAG 违规:el-select 缺 aria-label(critical)、颜色对比度不足(serious)

4.3 安全关注
  • API Key 明文存 config.yaml(已知风险,按安全约定不入库)

  • 配置写入接口无 schema 白名单(待后续加固)

4.4 性能基准
  • 首屏加载 < 1.5s 目标(构建优化 + 关键 CSS 内联)

  • API 响应 P95 < 200ms(SQLite 单机场景下充足)

五、备份与版本管理

项目建立了明确的备份约定:

5.1 代码备份
  • Git 提交到本地 master 分支(不自动 push 远程)

  • 最新提交 dc0820f:21 文件变更(+3552/-488),涵盖全部近期功能迭代

  • 补充提交 79d0256:纳入测试脚本 test_bom_io / test_pcb_rule

5.2 数据库备份
  • SQLite 数据库 data/erp.db 不纳入 Git 跟踪(gitignore 约定 *.db)

  • 时间戳快照:data/erp.db.bak_YYYYMMDD_HHMMSS(最新:20260721_195040,368KB)

  • 每次快照验证:字节级一致 + integrity_check ok + 各表记录数匹配

5.3 有意不纳入的内容
  • 原始BOM表/:用户决策视为外部输入,仅磁盘一份(不进 git 也不进 db 快照)

  • 临时调试产物(*_check.json 等):正确排除,不污染版本库

六、经验总结与踩坑记录
6.1 技术决策
  • JSON 列 vs EAV 模型:选择 JSON 存储参数,牺牲部分查询灵活性换取极致的 schema 灵活性——对品类繁多的元器件场景是正确的取舍

  • MD 驱动参数模板:让非开发者也能通过编辑 Markdown 文件扩展参数定义,降低运维门槛

  • HTML5 History vs Hash 路由:选择 History 模式获得更干净的 URL,但要求服务器配置 catch-all(当前开发环境未配置,生产部署需注意)

6.2 踩坑记录
  • Git Bash 中文路径:直接 git add 中文文件名会 pathspec 不匹配导致整条命令失败 → 改用 glob 通配符按字节匹配绕过

  • Element Plus 自闭合标签:.vue 中 自闭合会导致 vite build 报错 → 必须显式闭合

  • Shift 键检测:keydown/keyup 监听不可靠 → 改用 MouseEvent.shiftKey 原生属性

  • 浏览器缓存:JS 更新后用户看到旧界面 → Vite content hash 强制刷新 + Array.isArray() 防御性写法

  • 分类树 parent_id:seed 时误用 code 当 id → 维护 code→id 映射 + flush 取真实 ID

6.3 待办事项
  • component_api(LCSC/Digikey):目前仅骨架,未接真实接口

  • 库存出入库、供应商管理:下一阶段规划

  • WCAG a11y 修复:el-select aria-label + 颜色对比度优化

  • SPA catch-all 路由:FastAPI 需配置 fallback 返回 index.html 以支持 History 模式直连访问

附录:关键截图索引
  • 01_materials.png — 物料列表主页(表格/搜索/导出/操作)

  • 02_sort_single.png — 单级排序演示

  • 03_sort_multi.png — 多级排序演示(Shift+点击)

  • 04_query.png — 参数查询页(重设计后 UI)

  • 05_add.png — 添加物料页(三模式/参数模板/必填校验)

  • 06_bom.png — BOM 管理页(板级列表/查看/删除)

  • 07_categories.png — 分类管理页(四级树结构)

  • 08_detail.png — 物料详情页(完整信息/编辑/删除)

相关内容:

一个人就是一支团队:WorkBuddy 多 Agent 协同工作完全教程

LLM Wiki 个人知识库构建工作流 — Agent 执行手册

从零搭建一个「会自己生长」的个人知识库:Obsidian + WorkBuddy 实战全记录

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-23 14:00:14 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/872688.html
  2. 运行时间 : 0.319025s [ 吞吐率:3.13req/s ] 内存消耗:4,749.29kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=83c6aa67a3daf9726aa8ceb8fb446ce6
  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.000627s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000844s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.009074s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000734s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000563s ]
  6. SELECT * FROM `set` [ RunTime:0.014663s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000840s ]
  8. SELECT * FROM `article` WHERE `id` = 872688 LIMIT 1 [ RunTime:0.079360s ]
  9. UPDATE `article` SET `lasttime` = 1784786414 WHERE `id` = 872688 [ RunTime:0.030963s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.006882s ]
  11. SELECT * FROM `article` WHERE `id` < 872688 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.004565s ]
  12. SELECT * FROM `article` WHERE `id` > 872688 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000518s ]
  13. SELECT * FROM `article` WHERE `id` < 872688 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002512s ]
  14. SELECT * FROM `article` WHERE `id` < 872688 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.010572s ]
  15. SELECT * FROM `article` WHERE `id` < 872688 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.052466s ]
0.320731s