乐于分享
好东西不私藏

三个网页一套APK:OpenClaw + Chat Gateway + Hermès 私有化部署与移动端打包指南

三个网页一套APK:OpenClaw + Chat Gateway + Hermès 私有化部署与移动端打包指南

作者:团团 🫧
日期:2026-04-18
适用场景:自己使用的私有 AI 工作站,不想每次输网址,想在手机桌面点开像 APP 一样用

已关注
关注
重播 分享

一、这篇文章解决了什么问题?

把三套 Web 管理界面——OpenClaw Control UIChat GatewayHermès——串联成一套可以装进手机桌面的 APK,像原生 APP 一样点击即用。

效果预览:

手机桌面一个图标 → 点开是三栏导航 → 底部快捷跳转 OpenClaw / Chat Gateway / Hermès


二、先认识三个主角

2.1 OpenClaw Control UI(控制台)

端口:10474
地址:http://你的服务器IP:10474/8snn7a#token=你的登录token
作用:OpenClaw 核心的 Web 控制面板,管理智能体、会话、配置、系统设置。

2.2 Chat Gateway(对话网关)

端口:3115
地址:http://你的服务器IP:3115
作用:多智能体对话管理界面,支持团队模式、会话历史、模型配置、文档预览(Word/Excel/PPT/PDF)。

2.3 Hermès(偏好设置)

端口:8787
地址:http://你的服务器IP:8787/
作用:OpenClaw 的偏好设置面板,管理 SOUL/USER 文件夹、导入导出、个人配置。


三、三者是怎么串联起来的?

1
2
3
4
5
6
7
8
9
10
11
┌─────────────────────────────────────────┐
│  OpenClaw Control UI(端口 10474)       │
│  左侧栏底部有三个跳转链接                │
│                                         │
│  [OpenClaw]  →  http://IP:3115         │
│  [Hermès]     →  http://IP:8787         │
└────────┬────────────────────────────────┘
         │
         ├─→ Chat Gateway(3115)← 多智能体对话
         │
         └─→ Hermès(8787)← 个人偏好配置

技术细节:
OpenClaw Control UI 的侧边栏底部(原sidebar-bottom区域)硬编码了三条跳转链接:

  • • OpenClaw 链接指向 Chat Gateway 的 IP:3115
  • • Hermès 链接指向 Hermès 的 IP:8787
  • • Chat Gateway 底部导航里同样有指向 OpenClaw Control UI 的快捷回程

所以在三个页面之间来回跳转,完全不用手动输地址。


四、服务器端准备

4.1 确认三个服务都在运行

1
2
3
systemctl --user status openclaw-gateway.service
systemctl --user status clawui-3115.service
# Hermès 随 OpenClaw 一起启动,无需单独服务

4.2 确认端口可访问

1
2
3
curl -s -o /dev/null -w "%{http_code}" 自定义端口
curl -s -o /dev/null -w "%{http_code}" 自定义端口
curl -s -o /dev/null -w "%{http_code}" 自定义端口

三个都返回 200 即正常。

4.3 防火墙放行(如需要)

1
2
# 阿里云轻量服务器控制台 → 防火墙 → 添加规则
# 放行端口:10474、3115、8787(TCP)

五、用的是什么技术方案?(方案选择)

目前有三个主流方案,优缺点对比如下:

方案实现难度APP 体验离线可用维护成本
WebView APK(本文推荐)⭐ 低⭐⭐⭐ 好❌ 需联网
Capacitor 打包⭐⭐⭐ 中⭐⭐⭐⭐ 佳部分
PWA(渐进式)⭐ 低⭐⭐ 一般部分最低

本文选用方案一:WebView APK,原因:零门槛、当下可用、三个页面天然支持移动端响应式。


六、动手做 APK(详细步骤)

6.1 环境准备

电脑端(开发打包用):

  • • 系统:Windows / macOS / Linux 均可
  • • Android Studio 最新版(用于生成 APK)
  • • 一台 Android 测试机(开启开发者模式 + USB 调试)

服务器端:

  • • 已部署好的三个 Web 服务(上面第四步已确认)

6.2 创建 Android 项目

如果你不想装 Android Studio,可以用在线打包平台(见 6.6 节),连这一步都可以跳过。

打开 Android Studio → New Project →Empty Views Activity→ 项目名填MyAIStation

6.3 修改布局文件 activity_main.xml

路径:app/src/main/res/layout/activity_main.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
 
    <!-- 顶部栏(可选:显示当前在哪个服务) -->
    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="#1a1a2e"
        android:title="AI 工作站"
        android:titleTextColor="#ffffff" />
 
    <!-- WebView 主区域 -->
    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />
 
    <!-- 底部快捷导航栏 -->
    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bottomNav"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#16213e"
        app:itemIconTint="#F5C542"
        app:itemTextColor="#F5C542"
        app:menu="@menu/bottom_nav_menu"
        xmlns:app="http://schemas.android.com/apk/res-auto" />
 
</LinearLayout>

6.4 创建底部导航菜单

路径:app/src/main/res/menu/bottom_nav_menu.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/nav_control"
        android:icon="@android:drawable/ic_menu_compass"
        android:title="控制台" />
    <item
        android:id="@+id/nav_chat"
        android:icon="@android:drawable/ic_menu-chat"
        android:title="对话" />
    <item
        android:id="@+id/nav_settings"
        android:icon="@android:drawable/ic_menu_preferences"
        android:title="设置" />
</menu>

6.5 编写 MainActivity.java

路径:app/src/main/java/com/aiworksation/MainActivity.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package com.aiworksation;
 
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import com.google.android.material.bottomnavigation.BottomNavigationView;
 
public class MainActivity extends AppCompatActivity {
 
    private WebView webView;
    // ★ 改成你自己的服务器 IP
    private static final String CONTROL_URL = "http://42.193.158.92:10474/8snn7a#token=26d300a2bfd2421a95118ef265a89b6b80b072e022885afb";
    private static final String CHAT_URL    = "http://42.193.158.92:3115/";
    private static final String HERMES_URL  = "http://42.193.158.92:8787/";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        webView = findViewById(R.id.webView);
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
 
        // WebView 基础配置
        WebSettings settings = webView.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setDomStorageEnabled(true);
        settings.setSupportZoom(true);
        settings.setBuiltInZoomControls(true);
        settings.setDisplayZoomControls(false);
        settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
        settings.setUserAgentString("Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36");
 
        // 页面在 WebView 内打开,不调用外部浏览器
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, android.webkit.WebResourceRequest request) {
                view.loadUrl(request.getUrl().toString());
                return true;
            }
        });
 
        // 默认打开控制台
        webView.loadUrl(CONTROL_URL);
 
        // 底部导航点击切换
        BottomNavigationView bottomNav = findViewById(R.id.bottomNav);
        bottomNav.setOnItemSelectedListener(item -> {
            int id = item.getItemId();
            if (id == R.id.nav_control) {
                webView.loadUrl(CONTROL_URL);
                toolbar.setTitle("控制台");
            } else if (id == R.id.nav_chat) {
                webView.loadUrl(CHAT_URL);
                toolbar.setTitle("对话网关");
            } else if (id == R.id.nav_settings) {
                webView.loadUrl(HERMES_URL);
                toolbar.setTitle("Hermès 设置");
            }
            return true;
        });
    }
 
    // 返回键回到上一页,而不是直接退出 APP
    @Override
    public void onBackPressed() {
        if (webView.canGoBack()) {
            webView.goBack();
        } else {
            super.onBackPressed();
        }
    }
}

6.6 添加网络权限

路径:app/src/main/AndroidManifest.xml

<manifest>标签内加入:

1
2
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

同时确保<application>标签有:

1
android:usesCleartextTraffic="true"

6.7 免 Android Studio 的替代方案:在线打包

如果不想装 Android Studio,用Capacitor + 极简 HTML的方式:

Step 1:创建项目(任意目录)

1
2
3
4
5
npm create vite@latest ai-station -- --template vanilla
cd ai-station
npm install @capacitor/core @capacitor/cli @capacitor/android
npx cap init "AI工作站" "com.aiworksation.app" --web-dir=dist
npx cap add android

Step 2:修改index.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  <title>AI 工作站</title>
  <style>
    * { margin: 0; padding: 0; box-sizing: border-box; }
    body { font-family: -apple-system, sans-serif; background: #0f0f1a; color: #fff; }
    iframe { width: 100%; height: calc(100vh - 60px); border: none; }
    nav { display: flex; height: 60px; background: #16213e; }
    nav button { flex: 1; background: none; border: none; color: #F5C542; font-size: 14px; cursor: pointer; }
    nav button.active { background: #1a1a2e; }
  </style>
</head>
<body>
  <iframe id="frame" src="http://42.193.158.92:10474/8snn7a#token=26d300a2bfd2421a95118ef265a89b6b80b072e022885afb"></iframe>
  <nav>
    <button class="active" onclick="switchTo('control')">控制台</button>
    <button onclick="switchTo('chat')">对话</button>
    <button onclick="switchTo('hermes')">设置</button>
  </nav>
  <script>
    const PAGES = {
      control: 'http://42.193.158.92:10474/8snn7a#token=26d300a2bfd2421a95118ef265a89b6b80b072e022885afb',
      chat:    'http://42.193.158.92:3115/',
      hermes:  'http://42.193.158.92:8787/'
    };
    function switchTo(key) {
      document.getElementById('frame').src = PAGES[key];
      document.querySelectorAll('nav button').forEach(b => b.classList.remove('active'));
      event.target.classList.add('active');
    }
  </script>
</body>
</html>

Step 3:打包

1
2
npm run build
npx cap sync android

Step 4:生成 APK

1
2
3
4
5
# 用 Android Studio 打开 ai-station/android/ 目录
# 或者用命令行:
cd ai-station/android
./gradlew assembleRelease
# APK 输出在:app/build/outputs/apk/release/app-release.apk

6.8 安装到手机

方法 A(USB 直装):

1
adb install -r app-release.apk

方法 B(扫码安装):
上传 APK 到手机可访问的 URL,或通过微信/QQ文件传输助手发送到手机安装。

首次安装需要开启「安装未知来源应用」权限。


七、怎么让 APK 更像原生 APP?

7.1 添加启动页(Splash Screen)

res/drawable放一张 1080×1920 的启动图splash.png,然后创建res/layout/splash.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#0f0f1a"
    android:gravity="center"
    android:orientation="vertical">
    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:text="🫧 AI 工作站"
        android:textColor="#F5C542"
        android:textSize="28sp"
        android:textStyle="bold" />
</LinearLayout>

7.2 隐藏状态栏(沉浸式)

MainActivityonCreate()里加:

1
2
3
4
5
getWindow().getDecorView().setSystemUiVisibility(
    View.SYSTEM_UI_FLAG_FULLSCREEN
    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
);

7.3 添加 APP 图标

res/mipmap-*目录放不同分辨率的图标 PNG文件(512×512 原图),Android Studio 会自动生成各尺寸。


八、安全注意事项

⚠️ 重要:这三个地址暴露公网意味着什么?

风险项等级应对
Token 泄露🔴 高当前 token 有效期请确认,目前用的是永久 token,建议添加 IP 白名单
3115 端口无密码🔴 高至少加一层 Basic Auth 或 Gatekeeper 插件
HTTP 明文传输🟡 中条件允许的话配上 HTTPS

快速加固:给 Chat Gateway 加密码

1
2
# 在 Chat Gateway 的设置页开启 Basic Auth
# 或在 Nginx 层做反向代理认证

快速加固:Nginx HTTPS 反代配置参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
server {
    listen 443 ssl;
    server_name your-domain.com;
 
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
 
    location / {
        proxy_pass http://127.0.0.1:10474;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
 
    location /chat {
        proxy_pass http://127.0.0.1:3115;
    }
 
    location /hermes {
        proxy_pass http://127.0.0.1:8787;
    }
}

九、日常使用流程

打开 APP

手机桌面点「AI 工作站」图标 → 进入 OpenClaw 控制台

在三个服务间切换

点底部三个 Tab:控制台/对话/设置

切换智能体对话

控制台 → 左侧栏选智能体 → 自动切换到对应团队的 Chat Gateway 会话

发送文件预览

Chat Gateway 对话 → 直接拖入 Word/Excel/PPT/PDF → 自动预览(依赖 LibreOffice)


十、常见问题

Q:装了 APK 打不开页面,显示空白?
A:检查手机网络能否访问服务器 IP(公司网络可能限制了非标准端口)。建议配上域名 + 443 端口。

Q:底部导航点击没反应?
A:在AndroidManifest.xml确认<application android:usesCleartextTraffic="true">

Q:页面加载很慢?
A:服务器带宽不够,建议开启 CDN 加速静态资源;也可以把三个服务都配上 Nginx 缓存。

Q:APP 图标能不能换成自己的?
A:可以。用 512×512 PNG 图标,通过 Android Studio 的 Image Asset 工具自动生成各尺寸,替换res/mipmap-*目录下的文件。

Q:APP 要更新怎么办?
A:重新打 APK,通过 URL 分发(如http://your-server.com/app.apk),在 APP 里写一个版本检测逻辑,跳转下载即可。


十一、今天的修改记录(技术细节存档)

如果你是在自己的服务器上复刻这套三联系统,以下是今天的改动点:

文件改动说明
openclaw/dist/control-ui/assets/index-M4TNVXB3.js第 4333 行侧边栏加入 OpenClaw + Hermès 跳转链接
hermes-webui/static/index.html第 163 行底部加入 OpenClaw Control UI 快捷入口
Chat-Gateway/frontend/src/components/Sidebar.tsx第 138-162 行侧边栏底部加 OpenClaw 快捷按钮

有问题或需要进一步定制化开发,欢迎联系作者。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-20 03:14:36 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/548632.html
  2. 运行时间 : 0.270585s [ 吞吐率:3.70req/s ] 内存消耗:4,881.36kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=75c9e6cf39a04203ff1de0e8dba6fd8a
  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.80 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001056s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001714s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000736s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000705s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001333s ]
  6. SELECT * FROM `set` [ RunTime:0.000571s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001525s ]
  8. SELECT * FROM `article` WHERE `id` = 548632 LIMIT 1 [ RunTime:0.001101s ]
  9. UPDATE `article` SET `lasttime` = 1776626076 WHERE `id` = 548632 [ RunTime:0.016892s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000588s ]
  11. SELECT * FROM `article` WHERE `id` < 548632 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.006987s ]
  12. SELECT * FROM `article` WHERE `id` > 548632 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001151s ]
  13. SELECT * FROM `article` WHERE `id` < 548632 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.027724s ]
  14. SELECT * FROM `article` WHERE `id` < 548632 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.008902s ]
  15. SELECT * FROM `article` WHERE `id` < 548632 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002037s ]
0.274477s