page_getData
Retrieve data objects from current WeChat Mini Program pages, with optional path specification for targeted data extraction during development and testing.
Instructions
获取当前页面的数据对象,可选择指定路径。
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| connection | No | ||
| path | No |
Implementation Reference
- src/tools/page.ts:115-137 (handler)The createGetPageDataTool function returns the tool object for 'page_getData', including the inline 'execute' handler that parses parameters, uses the manager to access the page, fetches data with page.data(path), serializes it, and returns as formatted JSON text.function createGetPageDataTool(manager: WeappAutomatorManager): AnyTool { return { name: "page_getData", description: "获取当前页面的数据对象,可选择指定路径。", parameters: getPageDataParameters, execute: async (rawArgs, context: ToolContext) => { const args = getPageDataParameters.parse(rawArgs ?? {}); return manager.withPage<ContentResult>( context.log, { overrides: args.connection }, async (page) => { const data = await page.data(args.path); return toTextResult( formatJson({ path: args.path ?? null, data: toSerializableValue(data), }) ); } ); }, }; }
- src/tools/page.ts:16-18 (schema)Zod schema defining the input parameters for the page_getData tool: optional connection overrides and optional data path.const getPageDataParameters = connectionContainerSchema.extend({ path: z.string().trim().min(1).optional(), });
- src/tools/page.ts:42-51 (registration)The page_getData tool is registered in the createPageTools function by including createGetPageDataTool(manager) in the returned array of page tools.export function createPageTools(manager: WeappAutomatorManager): AnyTool[] { return [ createGetElementTool(manager), createWaitForElementTool(manager), createWaitForTimeoutTool(manager), createGetPageDataTool(manager), createSetPageDataTool(manager), createCallPageMethodTool(manager), ]; }
- src/tools.ts:7-13 (registration)All tools, including page tools (with page_getData), are registered in createTools by spreading createPageTools(manager).export function createTools(manager: WeappAutomatorManager): AnyTool[] { return [ ...createApplicationTools(manager), ...createPageTools(manager), ...createElementTools(manager), ]; }
- src/index.ts:17-17 (registration)Final registration of all tools (including page_getData) to the FastMCP server instance.server.addTools(createTools(manager));