packages-fetcher/console-fetcher-basic/stories/demo-default/console-api-test/index.tsx (57 lines of code) (raw):

import React, { useState, useCallback } from 'react'; import { Button, PrePromise } from '@alicloud/demo-rc-elements'; import { FetcherDemoRcFecsTip } from '@alicloud/fetcher-demo-helpers'; import { fetcher1 } from '../../fetcher'; const { callOpenApi, callInnerApi, callContainerApi } = fetcher1; const FAKE_PRODUCT = 'BOSHIT'; const FAKE_ACTION = 'FuckMe'; function testCallOpenApi(): Promise<unknown> { return callOpenApi('slb', 'DescribeRegions', { p1: 'param1', p2: 2 }, { body: { region: 'cn-hangzhou-wuchang' } }); } function testCallInnerApi(): Promise<unknown> { return callInnerApi(FAKE_PRODUCT, FAKE_ACTION, { p1: 'param1', p2: 2 }, { body: { region: 'cn-hangzhou-wuchang' } }); } function testCallContainerApi(): Promise<unknown> { return callContainerApi('one-console-app-home', 'ListProduct'); } export default function ConsoleApiTest(): JSX.Element { const [statePromise, setStatePromise] = useState<Promise<unknown> | null>(null); const handleCallOpenApi = useCallback(() => setStatePromise(testCallOpenApi()), []); const handleCallInnerApi = useCallback(() => setStatePromise(testCallInnerApi()), []); const handleCallContainerApi = useCallback(() => setStatePromise(testCallContainerApi()), []); return <> <FetcherDemoRcFecsTip /> <Button onClick={handleCallOpenApi}>callOpenApi</Button> <Button onClick={handleCallInnerApi}>callInnerApi</Button> <Button onClick={handleCallContainerApi}>callContainerApi</Button> <PrePromise promise={statePromise} /> </>; }