page_setData
Update current page data in WeChat Mini Programs to modify UI state and trigger re-rendering for dynamic content changes.
Instructions
使用 setData 更新当前页面的数据。
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| connection | No | ||
| data | Yes |
Implementation Reference
- src/tools/page.ts:139-159 (handler)The handler implementation for the 'page_setData' tool. It parses the input parameters, extracts data keys, uses the manager to execute page.setData with the provided data on the target page, and returns a text result confirming the updated data keys.function createSetPageDataTool(manager: WeappAutomatorManager): AnyTool { return { name: "page_setData", description: "使用 setData 更新当前页面的数据。", parameters: setPageDataParameters, execute: async (rawArgs, context: ToolContext) => { const args = setPageDataParameters.parse(rawArgs ?? {}); const dataKeys = Object.keys(args.data ?? {}); return manager.withPage<ContentResult>( context.log, { overrides: args.connection }, async (page) => { await page.setData(args.data); return toTextResult( `已更新页面数据键: ${dataKeys.length ? dataKeys.join(", ") : "(无)"}。` ); } ); }, }; }
- src/tools/page.ts:20-22 (schema)Zod schema defining the input parameters for page_setData: connection overrides and a data object (record of unknown).const setPageDataParameters = connectionContainerSchema.extend({ data: z.record(z.unknown()), });
- src/tools/page.ts:42-50 (registration)Registers the page_setData tool (via createSetPageDataTool) in the array of page tools returned by createPageTools.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)Higher-level registration including page tools (which contain page_setData) in the overall tools array via createTools.export function createTools(manager: WeappAutomatorManager): AnyTool[] { return [ ...createApplicationTools(manager), ...createPageTools(manager), ...createElementTools(manager), ]; }
- src/index.ts:17-17 (registration)Top-level registration: adds all tools (including page_setData) to the FastMCP server instance.server.addTools(createTools(manager));