页面主题选择后自动记忆
自定义主题主色与底色自由搭配
星际导航 为开发者与创作者整理的高质量资源导航
首页关于本站
开发历程 · 每日一记

45 天,一天一点做出这个导航站

没有突击,也没有大团队。每天 1 - 2 小时,只定一个能验证的小目标,做完就收工;第二天先清掉昨天的 Bug,再继续往下写。这里有从选框架到上线的完整过程。

45 天 5 个阶段 33 个插件 4 条支付通道
Day 01 已完成 45 / 45 天 Day 45
45天 从零到上线
33个 内置工具箱插件
4条 支付通道
1套 自研加密协议
共 45 天记录
起步 Day 01 - 10 · 定框架、搭骨架,让程序先完整跑起来
10 天
Day 1

选型与项目骨架

把项目定位成「一个能长期维护的导航站」,先把目录结构和请求链路跑通。

  • 选定 ThinkPHP 8 + PHP 8.1,路由集中在 route/app.php,业务统一放在 app/controller。
  • 确立「后台纯 HTML 视图 + PHP 接口」的前后端分离结构,静态资源统一放 public/static。
  • 第一天就把安全层写进架构:登录态、接口守卫、登录限速,为后续加密传输留好位置。
ThinkPHP 8 PHP 8.1 MVC
Day 2

数据库设计

先想清楚数据怎么存,后面所有功能才不用反复改表。

  • 设计站点、分类、标签、文章、公告、设置、管理员等核心表。
  • 同一套 Schema 兼容 SQLite 与 MySQL,表前缀自动读取 .env。
  • 所有表统一 create_time / update_time,方便排序、统计与审计。
SQLite MySQL 表前缀
Day 3

安装向导

让程序可以脱离开发者环境,在任意服务器上安装。

  • 环境检测:PHP 版本、扩展、目录可写权限逐项检查。
  • 填写数据库信息后自动建表,并把配置写入项目根目录 .env。
  • 生成默认管理员 admin / 123456,首次登录提醒立即修改。
/install 环境检测 .env
Day 4

后台登录与布局

后台是每天都要用的地方,先把骨架和登录态做稳。

  • 使用服务端 Token 登录态,退出登录后立即失效。
  • 登录失败次数限速,避免被暴力破解。
  • 后台侧边栏与移动端抽屉布局一次搭好,后续页面直接复用。
Token 登录限速 Cookie
Day 5

分类与二级标签

导航站的骨架是分类,先让内容有地方放。

  • 一级分类 + 二级标签树,图标同时支持 emoji 与 Bootstrap Icons。
  • 支持排序、批量启停与站点数量统计。
  • 前台左侧菜单按树形展示,子分类可展开收起。
分类 标签 排序
Day 6

站点管理

把「收录一个站点」这件事做到最省力。

  • 站点的名称、URL、图标、封面、描述、标签、徽章等完整字段。
  • 一键抓取图标与站点信息,支持批量上下架。
  • 前台提供详情页与直达链接两种跳转模式。
CRUD 图标抓取 批量操作
Day 7

首页骨架

先把首页的信息层级和视觉节奏定下来。

  • Hero 搜索区、分类快捷入口、精选卡片与推荐位一次排布完成。
  • 右侧栏:站点数据、人气排行、最近收录、公告、赞助榜。
  • 先用占位数据把布局跑通,再接真实查询,避免边改样式边查库。
Hero 精选 侧栏
Day 8

主题系统

让同一个站点有多种气质,但只需要维护一套样式。

  • 六套预设主题,支持自定义主色与底色。
  • 全部颜色走 CSS 变量,切换主题不刷新页面。
  • 内联脚本提前还原主题,避免首屏闪白。
CSS 变量 localStorage
Day 9

三端响应式

手机访问占比很高,移动端不能是桌面端的缩小版。

  • 桌面、平板、手机三套断点,分别调整栅格与间距。
  • 手机端使用抽屉式侧栏与底部 Dock,主操作保持单手可达。
  • 触控区域不小于 44px,避免误触。
响应式 抽屉 Dock
Day 10

公共函数层

把重复逻辑收敛,后面做插件和支付才不会越写越乱。

  • common.php 统一封装设置读取、统计、排行与导航数据。
  • 统一 JSON 返回结构 code / msg / data,前端只写一套请求逻辑。
  • 设置项读取后做请求级缓存,减少重复查库。
common.php 设置缓存
导航核心 Day 11 - 20 · 把「找站点」的完整链路做顺
10 天
Day 11

站内搜索

搜索是导航站最高频的入口。

  • 站内同时搜索站点与文章,结果按相关度与热度排序。
  • 搜索框可切换 Bing / 百度 / Google 等外部引擎。
  • 补充输入联想与空结果兜底,避免用户走进死胡同。
搜索 联想 多引擎
Day 12

站点详情页

详情页承担 SEO 与转化,不能只是简单跳转。

  • /site/:slug 详情页,标题、关键词与描述按站点内容自动生成。
  • 相关推荐按分类与标签匹配,提升停留时长。
  • 访问计数与外部跳转分别统计,方便判断站点价值。
/site/:slug SEO 相关推荐
Day 13

文章系统

导航站需要内容来沉淀搜索流量。

  • 文章分类、列表、详情与 Markdown 编辑器。
  • 封面图、摘要、阅读量、发布时间等基础字段一次补齐。
  • 文章与站点互相导流:文章里可引用站点,站点页可挂相关文章。
文章 Markdown 封面
Day 14

人气排行

排行是用户发现好站点的第二条路径。

  • 日 / 周 / 月 / 总榜四种周期。
  • 定时聚合浏览量,避免每次请求都做全表统计。
  • 榜单做缓存与空数据回落,冷启动也不出现空白。
日榜 周榜 月榜
Day 15

公告与单页

运营需要能随时发通知、挂说明页。

  • 首页顶部滚动公告条,后台可一键关闭。
  • 公告列表与详情页,支持时间排序。
  • 单页管理支持自定义 HTML、访问密码与来源校验。
公告 单页 访问密码
Day 16

SEO 细节

把搜索引擎关心的细节逐项补齐。

  • 每页独立 title / keywords / description。
  • 语义化链接:/c/:slug、/site/:slug、/article/:id。
  • 统一 404 页面与跳转逻辑,避免出现软 404。
meta 语义化链接 404
Day 17

导航与 Dock

让站长可以自由调整站点的导航结构。

  • 顶部、底部导航支持二级菜单、图标与描述。
  • 底部 Dock 支持站点 / 分类 / 网址标签 / 自定义链接四种入口。
  • 后台可视化排序,保存后前台即时生效。
顶部导航 底部 Dock
Day 18

赞助墙

给愿意支持站点的人一个体面的展示位置。

  • 雪花飘落背景、赞助列表与金额档位。
  • 赞助播报、榜上有名门槛与永久收录入口。
  • 移动端降级为静态列表,减少动画开销。
赞助 动画 榜单
Day 19

后台仪表盘

每天打开后台,第一眼要看到关键数据。

  • 站点、文章、待审、订单、赞助数据集中展示。
  • 近 7 天趋势图与常用功能快捷入口。
  • 待审核、待收款等事项集中提醒,避免漏单。
统计 趋势图 待办
Day 20

性能第一轮

功能齐了之后,回头处理「能用但不快」的地方。

  • 图片与图标懒加载,首屏只加载必要资源。
  • 合并公共查询并补索引,排行榜与首页明显变快。
  • 静态资源统一带版本号,解决浏览器缓存导致样式不更新。
懒加载 索引 缓存
工具箱 Day 21 - 30 · 把插件体系做出来,让功能可以持续生长
10 天
Day 21

插件框架

先定规则,再批量做工具,效率会高很多。

  • 约定 widget.json 清单:名称、分类、入口、依赖资源。
  • 后台自动发现、安装、启用 / 停用插件。
  • 插件页面独立运行,样式与脚本不污染主站。
widget.json 插件管理
Day 22

文本类工具

第一批插件从最常用、最容易验证的开始。

  • 记事本、Markdown 预览、编码转换、二维码生成。
  • 纯前端运行,输入内容不上传服务器。
  • 工具箱首页使用 2x2 / 2x4 图标布局,功能一眼可辨。
记事本 Markdown 二维码
Day 23

站长工具

把站长每天要查的东西集中到一个页面。

  • 权重、友链、备案、SEO 查询入口。
  • IP 查询与 Ping 工具,支持批量检测。
  • 死链批量检测,结果可一键复制。
权重 友链 备案
Day 24

图片工具

图片处理全部放在浏览器里完成。

  • 图片压缩、格式转换、水印、在线编辑。
  • 封面制作与贴图工具,满足日常运营需求。
  • Canvas 本地处理,避免上传原图带来的隐私与带宽问题。
压缩 水印 编辑
Day 25

音频工具

音频处理是工具箱里最容易被忽略的一类。

  • 音频压缩与裁剪,支持波形预览与试听。
  • 输出格式与码率可选,兼顾体积与音质。
  • 长音频分段处理,避免浏览器卡死。
压缩 裁剪 试听
Day 26

视频与解析

这一批插件最考验稳定性和合规边界。

  • m3u8 播放器支持多套内核与自定义配置。
  • 蓝奏云、飞寄盘、青数云解析入口。
  • token 与代理接口分离,前台不暴露真实资源地址。
m3u8 云盘解析
Day 27

效率工具

把重复劳动交给页面完成。

  • 文件批量改名与格式转换。
  • iOS 描述文件生成,方便内测分发。
  • 卡密与随机口令生成,支持自定义字符集。
改名 描述文件 口令
Day 28

内容与娱乐

除了工具,也要有让人愿意多停一会的页面。

  • KPL 赛事数据、赛程与直播入口。
  • 热搜榜聚合,按平台分类展示。
  • 数据做缓存,避免频繁请求源站被封。
KPL 热搜
Day 29

工具箱体验

插件数量变多后,如何找到才是关键。

  • 工具搜索、分类筛选与插件弹窗一体化。
  • 重排中栏布局,减少空白区,操作说明与示例数据分区展示。
  • 横向筛选栏支持鼠标拖动与滚轮滚动,新工具排在前面。
搜索 筛选 布局
Day 30

上传与素材

所有插件都要上传,安全必须统一收口。

  • 统一上传接口,校验文件类型、大小与后缀。
  • 上传目录权限收紧,文件名随机化。
  • 图片与文件预览、清理入口集中管理。
上传接口 文件校验
商业化 Day 31 - 37 · 收录、广告、友链与支付,让站点可以自己造血
7 天
Day 31

收录系统

把「申请收录」做成一条完整流水线。

  • 前台 /submit 提交收录,后台「待审站点」集中处理。
  • 免审开关与收录费用说明,免费与付费两套流程。
  • 审核通过后自动写入站点管理并上架前台。
/submit 待审 免审
Day 32

广告系统

广告位既是收入,也是首页的视觉组成部分。

  • 横幅与固定位两种广告位,分别设置价格与列数。
  • 套餐、月价、投放时长与「虚位以待」占位卡。
  • 强制广告标识、排序与到期自动下线。
横幅 固定位 套餐
Day 33

友链系统

友链是最轻量的互换合作方式。

  • /friend 申请页、后台审核、付费与免费两种模式。
  • 免费单可设置免审,提交即展示。
  • 友链展示区与权重说明集中维护。
/friend 审核 付费
Day 34

聚合支付

先接最容易落地的通道,把支付链路跑通。

  • 易支付协议接入,同时支持支付宝与微信。
  • 下单、签名、回调验签全链路跑通。
  • 支付成功后写订单并自动完成投放。
易支付 MD5 签名
Day 35

支付宝当面付

官方通道能减少对第三方网关的依赖。

  • 调用 precreate 生成二维码,前台直接扫码。
  • RSA2 签名与支付宝公钥验签。
  • 异步回调做幂等处理,避免重复入账。
precreate RSA2
Day 36

微信 Native

微信 APIv3 的坑最多,单独安排一天。

  • APIv3 下单与二维码生成。
  • 回调用 AES-256-GCM 解密,平台证书验签。
  • 证书轮换后后台会提示同步更新。
APIv3 AES-GCM
Day 37

订单与人工收款

不是所有人都用在线支付,人工通道必须顺手。

  • 订单列表、状态流转与按类型筛选。
  • 收款码回填单号,人工确认后入账。
  • 赞助记录与永久收录联动,付款即上墙。
订单 收款码 人工确认
安全与打磨 Day 38 - 45 · 最后八天,全部用来补安全、修体验、做复盘
8 天
Day 38

加密传输

接口里的数据不该以明文躺在网络面板里。

  • 自研 nav-sec-v1:ECDH 协商 + HKDF 派生 + AES-256-GCM 加密。
  • 接口返回加密信封,前端握手后还原密钥再解密。
  • 站点密钥分片存储,降低单点泄露风险。
ECDH HKDF AES-256-GCM
Day 39

会话与降级

安全要强,但不能让正常用户打不开页面。

  • 会话密钥 30 分钟轮换,过期返回 419 由前端自动重连。
  • HTTP 或浏览器能力不足时自动降级为明文。
  • 调试模式支持 ?debug=1 临时明文,方便排查接口。
会话轮换 419 重连 明文降级
Day 40

后台安全

后台是权限最集中的地方,逐项加固。

  • 密码哈希存储,登录限速与服务端 Token 校验。
  • 所有后台接口统一 guard,未登录直接拒绝。
  • APP_DEBUG 开关直接写入 .env,避免线上暴露堆栈与配置。
密码哈希 接口守卫 APP_DEBUG
Day 41

防抓包与防查看源码

把「随手 F12」这道门槛立起来。

  • 全站拦截 F12 与 Ctrl+Shift+I / J / C。
  • 检测到开发者工具打开时弹出遮罩阻断页面,关闭后自动恢复。
  • 防查看源码额外禁用右键菜单、Ctrl+U 与 Ctrl+S。
F12 防抓包 右键拦截
Day 42

设置页体验

设置项越来越多,不能让站长在一堆输入框里迷路。

  • 设置拆成 9 个标签页,右侧说明随当前标签联动。
  • 支付通道分组展示,启用状态一目了然。
  • 永久收录价签实时预览,保存后用服务端真实值回填。
标签页 说明联动 价签预览
Day 43

移动端打磨

最后统一检查手机上的交互细节。

  • 抽屉、弹窗、Dock 的手势与层级统一。
  • 播放器交互对齐主流视频平台的用户习惯。
  • 横向筛选栏支持鼠标拖动与滚轮滚动,新选项优先展示。
手势 播放器 横向滚动
Day 44

兼容与修复

把开发过程中记下的问题清单逐条清掉。

  • 修复支付回调验签、时区与缓存导致的问题。
  • 处理空数据、超长文本与异常图片等边界情况。
  • 补齐 Windows 与 Linux 的部署差异说明。
Bug 修复 兼容
Day 45

上线复盘

最后一天不写新功能,只做收尾与规划。

  • 整理部署步骤、备份与恢复策略。
  • 输出后台使用说明与常见问题。
  • 列出下一阶段计划:更多插件、数据备份、内容运营。
部署 备份 复盘
Day 45 · 全部计划已完成 接下来继续加插件、做内容、修细节 —— 慢一点没关系,每天都在往前。
纯真网络 必备 枫叶起始页(必备)
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-10-28 00:12:55 HTTP/1.1 GET : https://dhw.wchulian.com.cn/about
  2. 运行时间 : 0.075852s [ 吞吐率:13.18req/s ] 内存消耗:6,024.61kb 文件加载:138
  3. 缓存信息 : 0 reads,0 writes
  1. /www/wwwroot/daohw.cn/public/index.php ( 0.79 KB )
  2. /www/wwwroot/daohw.cn/vendor/autoload.php ( 0.73 KB )
  3. /www/wwwroot/daohw.cn/vendor/composer/autoload_real.php ( 1.63 KB )
  4. /www/wwwroot/daohw.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /www/wwwroot/daohw.cn/vendor/composer/ClassLoader.php ( 15.99 KB )
  6. /www/wwwroot/daohw.cn/vendor/composer/autoload_static.php ( 4.73 KB )
  7. /www/wwwroot/daohw.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /www/wwwroot/daohw.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /www/wwwroot/daohw.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /www/wwwroot/daohw.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /www/wwwroot/daohw.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 0.35 KB )
  15. /www/wwwroot/daohw.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.86 KB )
  16. /www/wwwroot/daohw.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.60 KB )
  17. /www/wwwroot/daohw.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /www/wwwroot/daohw.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.23 KB )
  19. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /www/wwwroot/daohw.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /www/wwwroot/daohw.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /www/wwwroot/daohw.cn/app/provider.php ( 0.19 KB )
  23. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Http.php ( 6.22 KB )
  24. /www/wwwroot/daohw.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /www/wwwroot/daohw.cn/app/common.php ( 208.73 KB )
  27. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/helper.php ( 18.77 KB )
  28. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Config.php ( 5.93 KB )
  29. /www/wwwroot/daohw.cn/config/app.php ( 0.95 KB )
  30. /www/wwwroot/daohw.cn/config/cache.php ( 0.78 KB )
  31. /www/wwwroot/daohw.cn/config/console.php ( 0.23 KB )
  32. /www/wwwroot/daohw.cn/config/cookie.php ( 0.56 KB )
  33. /www/wwwroot/daohw.cn/config/database.php ( 2.13 KB )
  34. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /www/wwwroot/daohw.cn/config/filesystem.php ( 0.61 KB )
  36. /www/wwwroot/daohw.cn/config/lang.php ( 0.91 KB )
  37. /www/wwwroot/daohw.cn/config/log.php ( 1.35 KB )
  38. /www/wwwroot/daohw.cn/config/middleware.php ( 0.19 KB )
  39. /www/wwwroot/daohw.cn/config/route.php ( 1.89 KB )
  40. /www/wwwroot/daohw.cn/config/session.php ( 0.57 KB )
  41. /www/wwwroot/daohw.cn/config/trace.php ( 0.34 KB )
  42. /www/wwwroot/daohw.cn/config/view.php ( 0.92 KB )
  43. /www/wwwroot/daohw.cn/app/event.php ( 0.25 KB )
  44. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Event.php ( 7.77 KB )
  45. /www/wwwroot/daohw.cn/app/service.php ( 0.13 KB )
  46. /www/wwwroot/daohw.cn/app/AppService.php ( 0.26 KB )
  47. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /www/wwwroot/daohw.cn/vendor/services.php ( 0.14 KB )
  53. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /www/wwwroot/daohw.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /www/wwwroot/daohw.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.20 KB )
  64. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.75 KB )
  65. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.30 KB )
  68. /www/wwwroot/daohw.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /www/wwwroot/daohw.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /www/wwwroot/daohw.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /www/wwwroot/daohw.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /www/wwwroot/daohw.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /www/wwwroot/daohw.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 17.45 KB )
  80. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.02 KB )
  82. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /www/wwwroot/daohw.cn/app/Request.php ( 0.09 KB )
  84. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Request.php ( 54.64 KB )
  85. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/traits/UrlHandler.php ( 6.05 KB )
  86. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/traits/DomainHandler.php ( 5.49 KB )
  87. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/traits/HttpMethodHandler.php ( 4.74 KB )
  88. /www/wwwroot/daohw.cn/app/middleware.php ( 0.26 KB )
  89. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  90. /www/wwwroot/daohw.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  91. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  92. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.74 KB )
  93. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  94. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.41 KB )
  95. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/route/Rule.php ( 27.49 KB )
  96. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  97. /www/wwwroot/daohw.cn/route/app.php ( 7.17 KB )
  98. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  99. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  100. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 11.32 KB )
  101. /www/wwwroot/daohw.cn/app/controller/Front.php ( 80.01 KB )
  102. /www/wwwroot/daohw.cn/app/BaseController.php ( 2.05 KB )
  103. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  104. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.73 KB )
  105. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 53.74 KB )
  106. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  107. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  108. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  109. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.07 KB )
  110. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  111. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 6.10 KB )
  112. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  113. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  114. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  115. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.97 KB )
  116. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  117. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  118. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  119. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  120. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  121. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  122. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  123. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  124. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  125. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  126. /www/wwwroot/daohw.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  127. /www/wwwroot/daohw.cn/vendor/topthink/think-orm/src/db/Raw.php ( 1.30 KB )
  128. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Response.php ( 9.07 KB )
  129. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  130. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  131. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  132. /www/wwwroot/daohw.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  133. /www/wwwroot/daohw.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  134. /www/wwwroot/daohw.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  135. /www/wwwroot/daohw.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  136. /www/wwwroot/daohw.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  137. /www/wwwroot/daohw.cn/runtime/temp/d0b56efa6f9591b395a026832eeeb4ca.php ( 49.50 KB )
  138. /www/wwwroot/daohw.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000425s ] mysql:host=127.0.0.1;port=3306;dbname=daohw_cn;charset=utf8mb4
  2. SELECT `v` FROM `nav_setting` WHERE `k` = 'db_version' [ RunTime:0.000363s ]
  3. SHOW FULL COLUMNS FROM `nav_category` [ RunTime:0.001174s ]
  4. SELECT * FROM `nav_category` WHERE `status` = 1 ORDER BY `sort` DESC,`id` ASC [ RunTime:0.000352s ]
  5. SHOW FULL COLUMNS FROM `nav_site` [ RunTime:0.002087s ]
  6. SELECT `hide_code` FROM `nav_site` LIMIT 1 [ RunTime:0.000198s ]
  7. SELECT category_id, COUNT(*) AS n FROM `nav_site` WHERE `status` = 1 AND `hide_code` = '' GROUP BY `category_id` [ RunTime:0.000441s ]
  8. SELECT SUM(`views`) AS think_sum FROM `nav_site` WHERE `status` = 1 AND `hide_code` = '' [ RunTime:0.000352s ]
  9. SHOW FULL COLUMNS FROM `nav_article` [ RunTime:0.001593s ]
  10. SELECT SUM(`views`) AS think_sum FROM `nav_article` WHERE `status` = 1 [ RunTime:0.000184s ]
  11. SELECT SUM(`likes`) AS think_sum FROM `nav_site` WHERE `status` = 1 AND `hide_code` = '' [ RunTime:0.000273s ]
  12. SHOW FULL COLUMNS FROM `nav_category_tag` [ RunTime:0.000744s ]
  13. SELECT COUNT(*) AS think_count FROM `nav_category_tag` WHERE `status` = 1 [ RunTime:0.000220s ]
  14. SELECT * FROM `nav_category_tag` WHERE `status` = 1 ORDER BY `sort` DESC,`id` ASC [ RunTime:0.000207s ]
  15. SELECT tag_id, COUNT(*) AS n FROM `nav_site` WHERE `status` = 1 AND `hide_code` = '' GROUP BY `tag_id` [ RunTime:0.000359s ]
  16. SELECT * FROM `nav_site` WHERE `status` = 1 AND `hide_code` = '' AND `views_date` = 1793116800 AND `views_today` > 0 ORDER BY `views_today` DESC,`id` DESC LIMIT 8 [ RunTime:0.000343s ]
  17. SHOW FULL COLUMNS FROM `nav_like_log` [ RunTime:0.000691s ]
  18. SELECT `target_id` FROM `nav_like_log` WHERE `type` = 'site' AND `ip` = '61.241.130.166' [ RunTime:0.000193s ]
  19. SHOW FULL COLUMNS FROM `nav_setting` [ RunTime:0.000739s ]
  20. SELECT * FROM `nav_setting` [ RunTime:0.000306s ]
  21. SELECT * FROM `nav_site` WHERE `status` = 1 AND `hide_code` = '' AND `views_wkey` = '202644' AND `views_week` > 0 ORDER BY `views_week` DESC,`id` DESC LIMIT 8 [ RunTime:0.000392s ]
  22. SELECT * FROM `nav_site` WHERE `status` = 1 AND `hide_code` = '' AND `views_mkey` = '202610' AND `views_month` > 0 ORDER BY `views_month` DESC,`id` DESC LIMIT 8 [ RunTime:0.000363s ]
  23. SELECT * FROM `nav_site` WHERE `status` = 1 AND `hide_code` = '' ORDER BY `views` DESC,`id` DESC LIMIT 8 [ RunTime:0.000429s ]
  24. SHOW FULL COLUMNS FROM `nav_ad` [ RunTime:0.000870s ]
  25. SELECT * FROM `nav_ad` WHERE `status` = 2 AND `position` = 'home_banner' AND `start_time` <= 1793117575 AND `end_time` >= 1793117575 ORDER BY `sort` DESC,`id` DESC LIMIT 30 [ RunTime:0.000347s ]
  26. SHOW FULL COLUMNS FROM `nav_link` [ RunTime:0.000803s ]
  27. SELECT * FROM `nav_link` WHERE `status` = 1 AND `position` = 'top' ORDER BY `sort` ASC,`id` ASC [ RunTime:0.000404s ]
  28. SELECT * FROM `nav_link` WHERE `status` = 1 AND `position` = 'foot' ORDER BY `sort` ASC,`id` ASC [ RunTime:0.000389s ]
  29. SHOW FULL COLUMNS FROM `nav_qlink` [ RunTime:0.000893s ]
  30. SELECT * FROM `nav_qlink` WHERE `status` = 1 ORDER BY `sort` ASC,`id` ASC LIMIT 16 [ RunTime:0.000582s ]
  31. SELECT * FROM `nav_category` WHERE `status` = 1 ORDER BY `sort` DESC,`id` ASC [ RunTime:0.000240s ]
  32. SELECT category_id, COUNT(*) AS n FROM `nav_site` WHERE `status` = 1 AND `hide_code` = '' GROUP BY `category_id` [ RunTime:0.000392s ]
  33. SHOW FULL COLUMNS FROM `nav_dock` [ RunTime:0.001478s ]
  34. SELECT * FROM `nav_dock` WHERE `status` = 1 ORDER BY `sort` ASC,`id` ASC LIMIT 12 [ RunTime:0.000215s ]
  35. SELECT * FROM `nav_category` WHERE `status` = 1 ORDER BY `sort` DESC,`id` ASC [ RunTime:0.000190s ]
  36. SELECT category_id, COUNT(*) AS n FROM `nav_site` WHERE `status` = 1 AND `hide_code` = '' GROUP BY `category_id` [ RunTime:0.000440s ]
  37. SELECT * FROM `nav_category_tag` WHERE `status` = 1 ORDER BY `sort` DESC,`id` ASC [ RunTime:0.000217s ]
  38. SELECT tag_id, COUNT(*) AS n FROM `nav_site` WHERE `status` = 1 AND `hide_code` = '' GROUP BY `tag_id` [ RunTime:0.000433s ]
  39. SELECT * FROM `nav_site` WHERE `status` = 1 AND `id` = 96 AND `hide_code` = '' [ RunTime:0.000270s ]
  40. SHOW FULL COLUMNS FROM `nav_article_cat` [ RunTime:0.000880s ]
  41. SELECT * FROM `nav_article_cat` WHERE `status` = 1 ORDER BY `sort` DESC,`id` ASC [ RunTime:0.000258s ]
  42. SHOW FULL COLUMNS FROM `nav_notice` [ RunTime:0.000842s ]
  43. SELECT * FROM `nav_notice` WHERE `status` = 1 ORDER BY `sort` DESC,`id` DESC LIMIT 5 [ RunTime:0.000242s ]
  44. SHOW FULL COLUMNS FROM `nav_sponsor` [ RunTime:0.000850s ]
  45. SELECT * FROM `nav_sponsor` WHERE `status` = 1 ORDER BY `amount` DESC,`id` ASC LIMIT 6 [ RunTime:0.000280s ]
  46. SELECT COUNT(*) AS think_count FROM `nav_site` WHERE `status` = 1 AND `hide_code` = '' [ RunTime:0.000390s ]
  47. SELECT COUNT(*) AS think_count FROM `nav_article` WHERE `status` = 1 [ RunTime:0.000150s ]
  48. SELECT COUNT(*) AS think_count FROM `nav_notice` WHERE `status` = 1 [ RunTime:0.000137s ]
  49. SELECT COUNT(*) AS think_count FROM `nav_sponsor` WHERE `status` = 1 [ RunTime:0.000165s ]
  50. SELECT COUNT(*) AS think_count FROM `nav_site` WHERE `status` = 1 AND `hide_code` = '' AND `create_time` >= 1793116800 [ RunTime:0.000264s ]
0.076427s