page_setData
Update data on the current page in WeChat Mini Program development to modify UI state and trigger re-rendering.
Instructions
使用 setData 更新当前页面的数据。
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| connection | No | ||
| data | Yes |
Implementation Reference
- src/tools/page.ts:139-159 (handler)The main handler implementation for the 'page_setData' tool. It parses the input arguments, extracts data keys, and uses the page.setData method to update the page data, returning a confirmation message.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 the page_setData tool, including the 'data' record and inherited connection properties.const setPageDataParameters = connectionContainerSchema.extend({ data: z.record(z.unknown()), });
- src/tools/page.ts:42-51 (registration)Page tools factory function that registers the page_setData tool among other 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)Main tools factory that includes page tools (containing page_setData) by spreading createPageTools.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_setData) to the FastMCP server.server.addTools(createTools(manager));