fix: 修复开放平台的代码问题

pull/56/head
moonrailgun 3 years ago
parent 21c3eb67ad
commit e9437be500

@ -6,7 +6,7 @@ import {
} from '@capital/component'; } from '@capital/component';
import { useOpenAppInfo } from '../context'; import { useOpenAppInfo } from '../context';
import { OpenAppCapability } from '../types'; import { OpenAppCapability } from '../types';
import { postRequest, useAsyncRequest } from '@capital/common'; import { postRequest, useAsyncFn, useAsyncRequest } from '@capital/common';
const OAuth: React.FC = React.memo(() => { const OAuth: React.FC = React.memo(() => {
const { refresh, appId, capability, oauth } = useOpenAppInfo(); const { refresh, appId, capability, oauth } = useOpenAppInfo();

@ -8,10 +8,12 @@ interface OpenAppInfoContextProps extends OpenApp {
const OpenAppInfoContext = React.createContext<OpenAppInfoContextProps>(null); const OpenAppInfoContext = React.createContext<OpenAppInfoContextProps>(null);
OpenAppInfoContext.displayName = 'OpenAppInfoContext'; OpenAppInfoContext.displayName = 'OpenAppInfoContext';
export const OpenAppInfoProvider: React.FC<{ export const OpenAppInfoProvider: React.FC<
appInfo: OpenApp; React.PropsWithChildren<{
refresh: OpenAppInfoContextProps['refresh']; appInfo: OpenApp;
}> = (props) => { refresh: OpenAppInfoContextProps['refresh'];
}>
> = (props) => {
return ( return (
<OpenAppInfoContext.Provider <OpenAppInfoContext.Provider
value={{ value={{

@ -5,6 +5,7 @@ import {
useLocation, useLocation,
urlSearchParse, urlSearchParse,
isValidStr, isValidStr,
useNavigate,
} from '@capital/common'; } from '@capital/common';
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import { OpenApp } from './types'; import { OpenApp } from './types';
@ -23,6 +24,7 @@ export function useOpenAppList() {
return data ?? []; return data ?? [];
}, []); }, []);
const navigate = useNavigate();
const location = useLocation(); const location = useLocation();
@ -46,8 +48,7 @@ export function useOpenAppList() {
* app * app
*/ */
handleSetSelectedApp(appId: string) { handleSetSelectedApp(appId: string) {
history.push({ navigate({
...history.location,
search: appendUrlSearch({ search: appendUrlSearch({
appId, appId,
}), }),

@ -2,22 +2,24 @@ import { Icon } from '@capital/component';
import React, { useState } from 'react'; import React, { useState } from 'react';
import './SecretValue.less'; import './SecretValue.less';
export const SecretValue: React.FC = React.memo((props) => { export const SecretValue: React.FC<React.PropsWithChildren> = React.memo(
const [show, setShow] = useState(false); (props) => {
return ( const [show, setShow] = useState(false);
<span className="plugin-openapi-secret-value"> return (
{show ? ( <span className="plugin-openapi-secret-value">
<> {show ? (
<span>{props.children}</span> <>
<Icon icon="mdi:eye-off-outline" onClick={() => setShow(false)} /> <span>{props.children}</span>
</> <Icon icon="mdi:eye-off-outline" onClick={() => setShow(false)} />
) : ( </>
<> ) : (
<span>********</span> <>
<Icon icon="mdi:eye-outline" onClick={() => setShow(true)} /> <span>********</span>
</> <Icon icon="mdi:eye-outline" onClick={() => setShow(true)} />
)} </>
</span> )}
); </span>
}); );
}
);
SecretValue.displayName = 'SecretValue'; SecretValue.displayName = 'SecretValue';

@ -6,20 +6,22 @@ import { Translate } from '../translate';
/** /**
* *
*/ */
export const ServiceChecker: React.FC = React.memo((props) => { export const ServiceChecker: React.FC<React.PropsWithChildren> = React.memo(
const { loading, value: enabled } = useAsync(async () => { (props) => {
const services = await fetchAvailableServices(); const { loading, value: enabled } = useAsync(async () => {
return services.includes('openapi.app'); const services = await fetchAvailableServices();
}, []); return services.includes('openapi.app');
}, []);
if (loading) { if (loading) {
return <LoadingSpinner />; return <LoadingSpinner />;
} }
if (!enabled) { if (!enabled) {
return <div>{Translate.noservice}</div>; return <div>{Translate.noservice}</div>;
} }
return <>{props.children}</>; return <>{props.children}</>;
}); }
);
ServiceChecker.displayName = 'ServiceChecker'; ServiceChecker.displayName = 'ServiceChecker';

Loading…
Cancel
Save