当前位置:首页>网站源码>网页深色模式全攻略:从设计规范到代码实现,一篇讲透

网页深色模式全攻略:从设计规范到代码实现,一篇讲透

  • 2026-04-05 17:51:38
网页深色模式全攻略:从设计规范到代码实现,一篇讲透

在低光环境下使用深色界面可减少约 30-40% 的视觉疲劳,同时提升OLED屏幕设备的续航时间。本文将带你全面掌握现代网页深色模式的实现精髓。

一、为什么深色模式如此重要?

深色模式早已不再是简单的“时尚潮流”,而是现代用户体验的重要组成部分。随着苹果、谷歌、微软等主流操作系统全面支持深色主题,用户对网站和应用的主题一致性提出了更高要求。

数据显示

  • 超过 82% 的用户在低光环境下更喜欢使用深色模式。

  • OLED屏幕上,深色模式可节省 30-60% 的电池消耗。

  • 适当地应用深色主题能减少 视觉疲劳,尤其在夜间使用场景。

二、核心实现方案详解

2.1 CSS类切换法:最经典的实现

这是最直观的实现方式,通过JavaScript动态修改文档根元素类名实现主题切换。

<bodyclass="light-theme">  <buttonclass="theme-toggle"aria-label="切换主题">    🌓  </button></body>
class ThemeManager {  constructor() {    this.currentTheme = localStorage.getItem('theme') || 'light';    this.init();  }  toggle() {    this.currentTheme = this.currentTheme === 'light' ? 'dark' : 'light';    document.body.classList.replace(      `${this.currentTheme === 'light' ? 'dark' : 'light'}-theme`,      `${this.currentTheme}-theme`    );    localStorage.setItem('theme'this.currentTheme);  }}
  • 优势:简单直接,兼容性好。

  • 适用场景:中小型项目,需要广泛浏览器支持。

2.2 CSS自定义属性方案:现代最佳实践

利用CSS变量实现主题切换,是目前最推荐的方法。

/* 定义主题变量 */:root {  /* 浅色主题 */  --bg-primary#ffffff;  --text-primary#1a1a1a;  --accent-color#007bff;}
[data-theme="dark"] {  /* 深色主题 */  --bg-primary#0d1117;  --text-primary#f0f6fc;  --accent-color#3399ff;}
/* 使用变量 */body {  background-colorvar(--bg-primary);  colorvar(--text-primary);  transition: background-color 0.3s ease, color 0.3s ease;}
  • 性能优势:浏览器只需重新计算样式,无需重新渲染DOM。

  • 维护性:所有颜色定义集中管理,易于维护。

2.3 动态样式表切换:大型项目方案

对于组件化、模块化的大型项目,按需加载主题样式表可能更合适。

// 样式表动态加载async function loadTheme(themeName) {  // 移除旧主题样式  const oldLink = document.getElementById('theme-stylesheet');  if (oldLink) oldLink.remove();  // 创建新链接  const link = document.createElement('link');  link.id = 'theme-stylesheet';  link.rel = 'stylesheet';  link.href = `/themes/${themeName}.css`;  document.head.appendChild(link);  return new Promise(resolve => {    link.onload = resolve;  });}

三、系统级集成策略

3.1 自动检测用户系统偏好

现代CSS提供了 prefers-color-scheme 媒体查询,可以直接检测用户系统主题设置。

/* 系统偏好检测 */@media (prefers-color-scheme: dark) {  :root {    --bg-primary#121212;    --text-primary#ffffff;  }}
/* 高对比度模式支持 */@media (prefers-contrast: high) {  :root {    --border-width2px;    --font-weight700;  }}
3.2 JavaScript增强检测
// 综合主题检测function detectThemePreference() {  // 优先级:用户保存 > 系统设置 > 默认  const savedTheme = localStorage.getItem('theme-preference');  const systemPrefersDark = window.matchMedia(    '(prefers-color-scheme: dark)'  ).matches;  return savedTheme || (systemPrefersDark ? 'dark' : 'light');}
// 监听系统主题变化window.matchMedia('(prefers-color-scheme: dark)')  .addEventListener('change'(e) => {    if (!localStorage.getItem('theme-preference')) {      applyTheme(e.matches ? 'dark' : 'light');    }  });

四、设计规范与视觉优化

4.1 色彩系统设计

不要简单反转颜色!深色模式需要专门设计的色彩体系。

色彩角色

浅色值

深色值

对比度要求

背景主色

#FFFFFF

#121212

≥ 4.5:1

文字主体

#1A1A1A

#F0F6FC

≥ 7:1

次要文字

#666666

#8B949E

≥ 4.5:1

品牌色

#007BFF

#3399FF

保持一致

错误状态

#DC3545

#FF6B6B

语义一致

关键原则

在线工具

  • WebAIM对比度检查器 (https://webaim.org/resources/contrastchecker/)

  • Chrome颜色选择器(chrome://settings/appearance)

  • Dark Mode Design指南(https://darkmodedesign.xyz/)

4.2 图像与媒体优化
/* 图像深色模式优化 */img {  filterbrightness(.95contrast(1.05);}[data-theme="dark"] {  /* 降低图像亮度 */  img:not(.keep-brightness) {    filterbrightness(.85contrast(1.1);  }  /* SVG图标优化 */  .icon {    opacity0.9;  }  /* 减少视频眩光 */  video {    background#000;  }}
4.3 阴影与深度效果

在深色模式下,传统的阴影效果需要调整:

.card {  /* 浅色模式:标准阴影 */  box-shadow0 2px 8px rgba(0000.1);}
[data-theme="dark"] .card {  /* 深色模式:使用更亮的阴影 */  box-shadow0 2px 8px rgba(2552552550.1);  /* 或者使用边框代替阴影 */  border1px solid rgba(2552552550.1);}

五、无障碍访问考虑

5.1 键盘导航支持
<button  class="theme-toggle"  aria-label="切换主题"  aria-pressed="false"  tabindex="0"  role="switch">  <spanclass="sr-only">当前主题:浅色</span></button>
5.2 对比度验证

使用工具自动检查对比度是否符合WCAG标准:

// 简单对比度检查function checkContrast(color1, color2) {  // 计算相对亮度  const l1 = getRelativeLuminance(color1);  const l2 = getRelativeLuminance(color2);  // 计算对比度  const contrast = (Math.max(l1, l2) + 0.05) / (Math.min(l1, l2) + 0.05);  return contrast;}// WCAG AA标准:普通文本需要4.5:1,大文本需要3:1

六、性能优化策略

6.1 防止主题切换闪烁
// 在<head>最前执行,防止FOUC(无样式内容闪烁)(function() {  // 同步读取主题,避免异步导致的闪烁  const theme = (() => {    try {      const saved = localStorage.getItem('theme');      if (saved) return saved;    } catch (e) {}    const systemDark = window.matchMedia('(prefers-color-scheme: dark)').matches;    return systemDark ? 'dark' : 'light';  })();  // 立即设置,不等待DOMContentLoaded  document.documentElement.setAttribute('data-theme', theme);  document.documentElement.classList.add('theme-loaded');})();
6.2 优化CSS过渡效果
/* 分层过渡策略 */:root {  --transition-theme300ms cubic-bezier(0.400.21);}
/* 只有颜色和背景需要过渡 */.theme-transition {  transition    background-color var(--transition-theme),    color var(--transition-theme),    border-color var(--transition-theme),    fill var(--transition-theme),    stroke var(--transition-theme);}
/* 图片和布局不需要过渡 */img,video,.layout-container {  transition: none !important;}

七、现代框架集成

7.1 React实现示例
import React, { createContext, useContext, useEffect, useState } from 'react';const ThemeContext = createContext();export function ThemeProvider({ children }) {  const [theme, setTheme] = useState('light');  useEffect(() => {    // 初始化检测    const saved = localStorage.getItem('theme');    const systemDark = window.matchMedia('(prefers-color-scheme: dark)').matches;    setTheme(saved || (systemDark ? 'dark' : 'light'));  }, []);  useEffect(() => {    // 应用主题变化    document.documentElement.setAttribute('data-theme', theme);    localStorage.setItem('theme', theme);  }, [theme]);  const toggleTheme = () => {    setTheme(prev => prev === 'light' ? 'dark' : 'light');  };  return (    <ThemeContext.Providervalue={{themetoggleTheme }}>      {children}    </ThemeContext.Provider>  );}
7.2 Vue3 组合式API
<scriptsetup>import { ref, watch, onMounted } from 'vue';const theme = ref('light');const toggleTheme = () => {  theme.value = theme.value === 'light' ? 'dark' : 'light';};// 监听主题变化watch(theme, (newTheme) => {  document.documentElement.setAttribute('data-theme', newTheme);  localStorage.setItem('theme', newTheme);});// 初始化onMounted(() => {  const saved = localStorage.getItem('theme');  const systemDark = window.matchMedia('(prefers-color-scheme: dark)').matches;  theme.value = saved || (systemDark ? 'dark' : 'light');});</script>

八、测试与验证清单

8.1 功能测试
  • 初始加载主题正确。

  • 手动切换功能正常。

  • 系统主题变化自动响应。

  • 页面刷新后主题保持。

  • 跨标签页同步正常。

8.2 视觉测试
  • 所有文本对比度≥4.5:1。

  • 图像在不同主题下清晰。

  • 过渡动画平滑。

  • 焦点指示器可见。

8.3 性能测试
  • 主题切换时间<100ms。

  • 无布局抖动(CLS=0)。

  • 内存使用正常。

九、进阶技巧

9.1 动态主题生成
/* 基于CSS Color Level 5的混合颜色 */:root {  --brand-color#007bff;  --bg-primary#ffffff;  --text-on-brandcolor-contrast(    var(--brand-color) vs white, black  );}
[data-theme="dark"] {  --bg-primary#121212;  /* 自动调整品牌色亮度 */  --brand-colorcolor-mix(    in srgb,     var(--brand-color) 80%    white 20%  );}
9.2 分区域主题控制
<divclass="card"data-theme="light">  <!-- 强制使用浅色主题 --></div><divclass="card"data-theme="dark">  <!-- 强制使用深色主题 --></div>
9.3 基于时间的自动切换
// 根据时间自动切换主题function autoThemeByTime() {  const hour = new Date().getHours();  const isNight = hour >= 18 || hour < 6;  // 如果用户没有手动设置过主题  if (!localStorage.getItem('theme-preference')) {    return isNight ? 'dark' : 'light';  }}

十、总结与建议

实现优秀的深色模式需要平衡多个方面:

1. 渐进增强:先从基础功能开始,确保在不支持新特性的浏览器上也能正常工作。

2. 用户控制:始终让用户有最终控制权,自动检测但不自动决定。

3. 性能优先:注意过渡效果的性能影响,避免布局抖动。

4. 无障碍访问:确保所有用户都能正常使用。

5. 一致性:保持与操作系统和其他应用的一致性。

推荐架构

用户偏好 → 本地存储 → JavaScript处理 → CSS变量 → 实际渲染       ↓系统设置 → 媒体查询

深色模式不再是可有可无的“花哨功能”,而是现代网页设计的基本要求。通过合理的设计和技术实现,可以为用户提供更加舒适、个性化的浏览体验,同时也展现网站的专业性和对细节的关注。

彩蛋

本文有彩蛋,请点击 《阅读原文》,查找!!!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-07 18:00:19 HTTP/2.0 GET : https://g.sjds.net/a/458057.html
  2. 运行时间 : 0.151677s [ 吞吐率:6.59req/s ] 内存消耗:4,637.05kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=b9e64effd72ee2dc28db409df5c2bf21
  1. /yingpanguazai/ssd/ssd1/www/g.sjds.net/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/g.sjds.net/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/g.sjds.net/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/g.sjds.net/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/g.sjds.net/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/g.sjds.net/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/g.sjds.net/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/g.sjds.net/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/g.sjds.net/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/g.sjds.net/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/g.sjds.net/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/g.sjds.net/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/g.sjds.net/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/g.sjds.net/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/g.sjds.net/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/g.sjds.net/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/g.sjds.net/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/g.sjds.net/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/g.sjds.net/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/g.sjds.net/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/g.sjds.net/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/g.sjds.net/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/g.sjds.net/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/g.sjds.net/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/g.sjds.net/runtime/temp/8321bd4d2de6fe7dffb246d4ae0c61fd.php ( 12.06 KB )
  140. /yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000467s ] mysql:host=127.0.0.1;port=3306;dbname=g_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000670s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000328s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.002017s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000632s ]
  6. SELECT * FROM `set` [ RunTime:0.013092s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000694s ]
  8. SELECT * FROM `article` WHERE `id` = 458057 LIMIT 1 [ RunTime:0.000767s ]
  9. UPDATE `article` SET `lasttime` = 1775556019 WHERE `id` = 458057 [ RunTime:0.002180s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000335s ]
  11. SELECT * FROM `article` WHERE `id` < 458057 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.012780s ]
  12. SELECT * FROM `article` WHERE `id` > 458057 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.004914s ]
  13. SELECT * FROM `article` WHERE `id` < 458057 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.009067s ]
  14. SELECT * FROM `article` WHERE `id` < 458057 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.008543s ]
  15. SELECT * FROM `article` WHERE `id` < 458057 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.005306s ]
0.155398s