mp_evaluate
Execute a JavaScript function within a WeChat Mini Program's AppService context and return its JSON-serialized result. Use for reading dynamic page data or performing state assertions.
Instructions
向小程序 AppService 注入并执行一个函数,返回其结果。functionSource 必须是完整的 function 表达式字符串(如 function(){ return getCurrentPages().pop().data.ready } 或 () => wx.getStorageSync('token')),不能是裸语句。函数体跑在 AppService 上下文,可用 getCurrentPages()、getApp()、wx 等全局;args 数组会按顺序作为函数入参展开。返回值经 JSON 序列化,别返回 DOM/句柄类不可序列化对象。
适合在 page.data 不稳定时显式读取 / 状态机断言 / 内联绕过 modal。可选 timeoutMs 覆盖默认 15s(上限 600s),用于长耗时异步。⚠️ 等任意条件请用 mp_pollUntil(内置 predicate 轮询,比 evaluate+waitTimeout+evaluate 手写循环稳);要调 wx.* API 用 mp_callWx。注意:函数体别遍历完整 prototype 链或做复杂反射,可能命中 SDK wrapper 抛 'Cannot read property is of undefined',保持函数体最小。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | ||
| maxBytes | No | ||
| timeoutMs | No | ||
| connection | No | 可选连接覆盖(不传则用默认会话)。可用字段:mode(launch|connect)、cliPath、projectPath、wsEndpoint、timeout、port(【自动化端口】→ cli auto --auto-port,默认 9420;不是 IDE HTTP 服务端口,别把 IDE 服务端口传进来)、account、ticket、trustProject、args、cwd、autoClose、autoLaunch、launchTimeout、connectTimeout。 | |
| functionSource | Yes |