Skip to content
This repository was archived by the owner on Aug 12, 2025. It is now read-only.

Commit 3e63d0c

Browse files
committed
feat: add the throwDoubleConfirmError for risk
1 parent a9c8812 commit 3e63d0c

File tree

7 files changed

+28
-12
lines changed

7 files changed

+28
-12
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
export { default as consoleRequestInterceptor } from './request';
22
export { default as consoleResponseInterceptor } from './response';
3-
export { default as rosRequestInterceptor } from './roa';
3+
export { default as roaRequestInterceptor } from './roa';

packages/console-utils/xconsole-service/src/interceptors/riskInterceptor/form.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ class VerifyForm extends Component<IProps, IState> {
155155
>
156156
<Row>
157157
<Col>
158-
<Input onChange={this.onInputChange} style={{ width: 80 }} />
158+
<Input onChange={this.onInputChange} style={{ width: 80, marginRight: 8 }} />
159159
</Col>
160160
{verifyType !== 'ga' ? (
161161
<Col>

packages/console-utils/xconsole-service/src/interceptors/riskInterceptor/handleDoubleConfirm.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ async function handleDoubleConfirm(
6868
lastRequestId = requestId;
6969
} catch (e) {
7070
console.error('[getVerifyInformation] failed: ', e.message);
71-
return response;
71+
throw e;
7272
}
7373

7474
try {
@@ -88,7 +88,7 @@ async function handleDoubleConfirm(
8888
});
8989
} catch (e) {
9090
console.error('[verify Request] failed: ', e.message);
91-
return response;
91+
throw e;
9292
}
9393
}
9494

packages/console-utils/xconsole-service/src/interceptors/riskInterceptor/index.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ async function consoleRiskInterceptor(
77
): Promise<IResponse<IResponseData>> {
88
const {
99
data: responseData,
10-
config: { apiType },
10+
config: { apiType, throwDoubleConfirmError },
1111
} = response;
1212

1313
if (apiType === ApiType.custom) return response;
@@ -26,7 +26,10 @@ async function consoleRiskInterceptor(
2626
const newResponse = await handleDoubleConfirm(response);
2727
return newResponse;
2828
} catch (e) {
29-
console.error('[handleDoubleConfirm] failed: ', e.message);
29+
if (throwDoubleConfirmError) {
30+
e.response = response;
31+
throw e;
32+
}
3033
return response;
3134
}
3235
case code.forbidden:

packages/console-utils/xconsole-service/src/request.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import consoleMockInterceptor from './interceptors/mockInterceptor/index';
44
import {
55
consoleRequestInterceptor,
66
consoleResponseInterceptor,
7-
rosRequestInterceptor
7+
roaRequestInterceptor
88
} from './interceptors/consoleInterceptor/index';
99
import consoleRiskInterceptor from './interceptors/riskInterceptor/index';
1010
import {
@@ -33,7 +33,7 @@ export default function createRequest(
3333
instance.interceptors.request.use(searchParamsInterceptor);
3434
instance.interceptors.request.use(consoleMockInterceptor);
3535
instance.interceptors.request.use(consoleRequestInterceptor);
36-
instance.interceptors.request.use(rosRequestInterceptor);
36+
instance.interceptors.request.use(roaRequestInterceptor);
3737
instance.interceptors.request.use(armsRequestInterceptor);
3838

3939
instance.interceptors.response.use(armsResponseInterceptor);

packages/console-utils/xconsole-service/src/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export interface IOptions extends AxiosRequestConfig {
4545
mock?: boolean;
4646
region?: string;
4747
rawResponseData?: boolean;
48+
throwDoubleConfirmError?: boolean;
4849
}
4950

5051
export interface IResponseData<D = any> {

packages/console-utils/xconsole-service/stories/index.stories.tsx

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,30 @@
11
import React, { useEffect } from 'react';
22
import { select, withKnobs } from '@storybook/addon-knobs';
3-
import withAxiosDecorator from 'storybook-axios';
3+
// import withAxiosDecorator from 'storybook-axios';
44
import { storiesOf } from '@storybook/react';
55
import { createService, useOpenApi, useRoaApi, defaultAxiosRequest } from '../src/index'
66
import { ApiType } from '../src/const';
7+
import '@alicloud/console-components/dist/wind.css'
8+
9+
// @ts-ignore
10+
defaultAxiosRequest.interceptors.request.handlers.unshift({
11+
fulfilled: (config) => {
12+
config.baseURL = 'https://oneapi.alibaba-inc.com/mock/oneconsole';
13+
config.method = 'GET'
14+
return config;
15+
}
16+
});
717

818
storiesOf('XConsole Service', module)
919
.addDecorator(withKnobs)
1020
// @ts-ignore
11-
.addDecorator(withAxiosDecorator(defaultAxiosRequest))
21+
// .addDecorator(withAxiosDecorator(defaultAxiosRequest))
1222
.add('AppCode', () => {
1323
const action = select('action', ['DescribeInstance', 'DescribeAPI'], 'DescribeInstance')
14-
const { data } = useOpenApi('ros', action, null, { ignoreError: true })
15-
return <div>{JSON.stringify(data)}</div>
24+
const { data, error } = useOpenApi('consoledemo', action, null, { throwDoubleConfirmError: true })
25+
// @ts-ignore
26+
console.log(error?.response)
27+
return <div>{JSON.stringify(data)}{JSON.stringify(error)}</div>
1628
})
1729
.add('ROA', () => {
1830
const action = select('action', ['DescribeInstance', 'DescribeAPI'], 'DescribeInstance')

0 commit comments

Comments
 (0)