乐于分享
好东西不私藏

uni-app WebView 与原生 App 双向通信完整方案

uni-app WebView 与原生 App 双向通信完整方案

一、方案概述

在uni-app项目开发中,WebView组件常用于加载H5页面,实现混合开发模式。原生App(安卓、iOS)与WebView内H5页面的数据交互是混合开发的核心难点,本文系统性梳理App主动向H5传值、H5主动向App传值两种通信方向,详解 plus.webview.evalJSpostMessage 两种核心通信API,结合安卓录音文件回传、tempFilePath文件路径规则、AI语音识别实战场景,提供可直接落地的完整通信方案,同时补充兼容性适配、异常处理等开发注意事项。

二、通信基础概念与核心API说明

2.1 通信方向划分

  • • App → H5:原生端(安卓/iOS)主动向WebView内的H5页面发送数据,适用于App推送状态、设备信息、权限参数等场景。
  • • H5 → App:H5页面主动向原生App发送指令、业务数据,适用于H5触发原生功能(录音、拍照、支付)、页面状态同步等场景。

2.2 核心API简介

2.2.1 plus.webview.evalJS

该API为原生调用H5 JS方法的核心接口,支持App端直接执行H5页面内定义的JS函数,实现主动向H5推送数据,同步执行、响应速度快,适合高频、简单的数据传输。仅支持uni-app打包后的原生环境,H5浏览器环境无法使用。

2.2.2 postMessage

双向通用通信API,分为原生端postMessage和H5端postMessage,采用异步消息推送机制,支持复杂对象数据传输,可跨页面通信。适合非实时、大数据量、复杂结构的数据交互,是通用性最强的通信方式。

三、App → H5 通信实现方案

App向H5传值主流实现方式为 plus.webview.evalJS,原理是原生WebView实例获取H5全局JS方法,主动注入参数执行函数,完成数据推送。

3.1 前置准备

  1. 1. H5页面提前挂载全局接收方法,绑定至window对象,供原生调用,示例:window.receiveDataFromApp
  2. 2. uni-app端获取WebView实例,通过plus.webview.create创建页面或获取当前WebView对象;
  3. 3. 确保通信时机:需等待H5页面DOM加载完成后执行evalJS,避免方法未挂载导致调用失败。

3.2 完整代码实现

3.2.1 H5端代码(接收App数据)

// H5页面全局挂载接收方法,固定方法名供原生调用
window
.receiveDataFromApp = function(params) {
    // params:原生App传递的参数,支持字符串、对象、数组

    console
.log("App传递至H5的数据:", params);
    // 业务逻辑处理:更新页面数据、修改页面状态、弹窗提示等

    if
(params.code === 200) {
        // 处理正常业务数据

    } else {
        // 处理异常回调

    }
}

3.2.2 uni-app原生端代码(推送数据至H5)

// 获取WebView实例
let
 webView = plus.webview.getWebviewById("h5-page");
// 等待页面加载完成,避免执行时机过早

webView.addEventListener("loaded", function() {
    // 调用H5全局方法receiveDataFromApp,传递自定义参数

    webView.evalJS(`
        window.receiveDataFromApp({
            code: 200,
            msg: "原生推送数据成功",
            data: {
                device: "android",
                version: "1.0.0"
            }
        })
    `
);
})

3.3 方案优缺点

  • • 优点:同步调用、响应延迟低、代码简洁、无额外事件监听;
  • • 缺点:依赖全局JS方法挂载、复杂嵌套数据需手动序列化、跨域隔离严格。

四、H5 → App 通信实现方案

H5向原生App传值优先使用 postMessage,该方式无需提前挂载全局方法,通过消息队列异步推送数据,原生端监听message事件即可接收,适配复杂业务场景。

4.1 通信流程

H5触发postMessage发送消息 => 原生WebView监听message事件 => 原生解析数据执行业务逻辑 => 原生可通过evalJS回调结果至H5。

4.2 完整代码实现

4.2.1 H5端代码(发送数据至App)

// H5主动向原生App发送数据
function
 sendDataToApp() {
    // postMessage支持对象、数组、字符串等格式数据

    window
.plus.webview.currentWebview().postMessage({
        type
: "h5-to-app",
        operate
: "startRecord",
        content
: "H5触发原生录音功能",
        time
: new Date().getTime()
    })
}

4.2.2 uni-app原生端代码(监听接收H5数据)

let webView = plus.webview.getWebviewById("h5-page");
// 监听H5发送的message消息

webView.addEventListener("message", function(event) {
    // event.data为H5传递的原始数据

    let
 h5Data = event.data;
    console
.log("H5传递至App的数据:", h5Data);
    // 根据type区分业务逻辑

    switch
(h5Data.operate) {
        case
 "startRecord":
            // 触发原生录音逻辑

            startAndroidRecord
();
            break
;
        case
 "stopRecord":
            // 停止录音

            stopAndroidRecord
();
            break
;
        default
:
            break
;
    }
})

4.3 postMessage补充说明

  1. 1. 数据传输限制:不支持函数、DOM节点等特殊类型数据,传输前需过滤特殊格式;
  2. 2. 执行环境:仅plus环境可用,需判断 window.plus 是否存在,避免浏览器环境报错;
  3. 3. 回调方式:原生处理完成后,通过evalJS调用H5回调函数返回执行结果。

五、安卓录音回传实战(核心业务场景)

录音是混合开发高频场景,本文基于上述双向通信方案,实现H5触发原生录音、安卓原生录音、音频文件回传H5的完整流程,同时解析tempFilePath临时文件路径规则。

5.1 业务流程梳理

  1. 1. H5通过postMessage向App发送录音指令;
  2. 2. 安卓原生调用系统录音API,生成音频临时文件;
  3. 3. 原生获取音频tempFilePath临时路径;
  4. 4. 通过evalJS将文件路径、音频时长等数据回传给H5;
  5. 5. H5基于路径实现音频预览、上传、AI语音识别。

5.2 安卓原生录音代码实现

// 原生录音方法
function
 startAndroidRecord() {
    // 申请录音权限

    plus.android.requestPermissions(["android.permission.RECORD_AUDIO"], function(res) {
        if
(res.granted.length > 0) {
            // 创建录音实例

            let
 audioRecorder = plus.audio.createRecorder();
            audioRecorder.start();
            // 录音结束回调

            audioRecorder.onstopped = function(path) {
                // path为音频临时文件路径 tempFilePath

                let
 tempFilePath = path;
                // 将音频路径回传给H5

                webView.evalJS(`
                    window.receiveDataFromApp({
                        code: 200,
                        type: "record-end",
                        filePath: "${tempFilePath}",
                        duration: ${audioRecorder.getDuration()}
                    })
                `
);
            }
        } else {
            // 权限拒绝回调

            webView.evalJS(`window.receiveDataFromApp({code: 403, msg: "录音权限拒绝"})`);
        }
    })
}

5.3 tempFilePath路径详解

5.3.1 路径定义

tempFilePath是uni-app原生生成的临时文件路径,属于应用私有目录,仅当前App可访问,无需手动申请文件读写权限,录音、拍照、截图生成的文件均默认存储至该目录。

5.3.2 安卓路径格式

// 安卓临时文件路径示例
/_doc/uniapp_temp/record/20260516/record_123456.amr

5.3.3 路径使用注意事项

  • • 生命周期:临时文件在App重启后可能被系统清理,重要音频需手动保存至持久目录;
  • • H5访问权限:WebView默认允许访问应用私有临时路径,无需配置白名单;
  • • 格式转换:安卓原生录音默认生成amr格式,H5播放器兼容性较差,建议转码为mp3格式。

六、AI语音识别集成方案

基于安卓录音回传的音频临时路径,结合第三方AI语音识别接口,实现音频转文字功能,适配H5+原生混合开发场景,提供两种落地方式。

6.1 方案一:原生解析+AI识别(推荐)

6.1.1 流程

安卓录音生成tempFilePath => 原生读取音频文件 => 调用AI语音识别SDK => 识别完成通过evalJS回传文本至H5。

6.1.2 核心代码片段

// 录音结束后执行AI识别
audioRecorder.onstopped = function(path) {
    // 调用原生集成的AI语音识别接口

    aiVoiceRecognition
(path).then(res => {
        // 识别结果回传给H5

        webView.evalJS(`
            window.receiveDataFromApp({
                code: 200,
                type: "ai-text",
                filePath: "${path}",
                text: "${res.text}",
                confidence: ${res.confidence}
            })
        `
);
    })
}

6.2 方案二:H5解析+接口识别

  1. 1. 原生将tempFilePath传递至H5;
  2. 2. H5通过plus.io读取临时音频文件,转换为base64格式;
  3. 3. 调用云端AI语音识别API,上传base64音频数据;
  4. 4. 接收识别文本,完成业务渲染。

6.3 AI识别优化注意事项

  • • 音频压缩:录音文件过大将导致识别延迟,安卓端需配置音频采样率、比特率,压缩文件体积;
  • • 异常处理:增加音频损坏、网络超时、识别失败的异常回调,兼容低版本安卓机型;
  • • 权限配置:AI识别需网络权限,打包时需在manifest.json配置网络访问权限。

七、两种通信方式对比与选型标准

通信方式
通信方向
执行方式
适用场景
优缺点
plus.webview.evalJS
App → H5
同步执行
实时简单数据推送、结果回调
响应快、依赖全局方法、不适合复杂数据
postMessage
双向通信
异步执行
H5触发原生功能、复杂数据传输
通用性强、无挂载依赖、存在轻微延迟

八、常见问题与兼容解决方案

8.1 方法调用失败(找不到H5全局方法)

问题原因:evalJS执行时机早于H5页面加载完成;解决方案:绑定WebView的loaded监听事件,页面加载完成后再执行通信方法。

8.2 安卓tempFilePath路径无法访问

问题原因:应用后台重启、临时文件被清理;解决方案:重要音频文件通过plus.io.moveTo方法迁移至持久目录。

8.3 postMessage数据丢失

问题原因:传输数据包含特殊格式、循环引用;解决方案:传输前使用JSON序列化数据,过滤函数、DOM节点。

8.4 低版本安卓录音兼容性问题

问题原因:安卓6.0以下无动态权限;解决方案:manifest.json配置最低兼容版本,静态声明录音权限。

九、总结

本文完整实现uni-app WebView与原生App双向通信方案,明确 evalJS用于App主动推送数据、postMessage用于H5主动触发原生功能 的核心选型逻辑。结合安卓录音场景,详解tempFilePath临时文件路径规则,搭配AI语音识别完成业务闭环。该方案适配绝大多数混合开发场景,代码可直接复用,同时通过权限处理、时机优化、异常兼容,解决安卓机型适配、文件访问、数据传输等常见问题,是uni-app混合开发WebView通信的通用落地方案。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-20 08:09:40 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/640720.html
  2. 运行时间 : 0.156819s [ 吞吐率:6.38req/s ] 内存消耗:4,828.93kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=62e3fe62f330a0c2f813e53e6d6671ad
  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.000394s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000592s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000278s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.001844s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000486s ]
  6. SELECT * FROM `set` [ RunTime:0.000524s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000650s ]
  8. SELECT * FROM `article` WHERE `id` = 640720 LIMIT 1 [ RunTime:0.000379s ]
  9. UPDATE `article` SET `lasttime` = 1779235780 WHERE `id` = 640720 [ RunTime:0.035727s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000393s ]
  11. SELECT * FROM `article` WHERE `id` < 640720 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000534s ]
  12. SELECT * FROM `article` WHERE `id` > 640720 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.020550s ]
  13. SELECT * FROM `article` WHERE `id` < 640720 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.004891s ]
  14. SELECT * FROM `article` WHERE `id` < 640720 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002715s ]
  15. SELECT * FROM `article` WHERE `id` < 640720 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004625s ]
0.158882s