|
@@ -1,60 +1,18 @@
|
|
|
import React, { useEffect, useState } from 'react';
|
|
import React, { useEffect, useState } from 'react';
|
|
|
import { Radio, Card, Button, Typography, Space, Tag } from 'antd';
|
|
import { Radio, Card, Button, Typography, Space, Tag } from 'antd';
|
|
|
import { InfoCircleOutlined } from '@ant-design/icons';
|
|
import { InfoCircleOutlined } from '@ant-design/icons';
|
|
|
-import ConfigService from '../../../../../features/serverConfig/services/ConfigService';
|
|
|
|
|
|
|
+import ConfigService, {
|
|
|
|
|
+ DEFAULT_SERVER_CONFIG,
|
|
|
|
|
+} from '../../../../../features/serverConfig/services/ConfigService';
|
|
|
import { getNetInfo, NetInfo } from '../../../../../API/system/network';
|
|
import { getNetInfo, NetInfo } from '../../../../../API/system/network';
|
|
|
import { SPACING } from '../../constants';
|
|
import { SPACING } from '../../constants';
|
|
|
|
|
+import { ServerConfig } from '@/features/serverConfig/types';
|
|
|
|
|
|
|
|
const Ip: React.FC = () => {
|
|
const Ip: React.FC = () => {
|
|
|
const [netList, setNetList] = useState<NetInfo[]>([]);
|
|
const [netList, setNetList] = useState<NetInfo[]>([]);
|
|
|
- const [serverInfo, setServerInfo] = useState({});
|
|
|
|
|
-
|
|
|
|
|
- const getNetInfoData = async (): Promise<void> => {
|
|
|
|
|
- const res = getNetInfo();
|
|
|
|
|
- console.log('res', res);
|
|
|
|
|
- setNetList([
|
|
|
|
|
- {
|
|
|
|
|
- name: 'eth0',
|
|
|
|
|
- ipv4: '192.168.100.100',
|
|
|
|
|
- ipv6: '',
|
|
|
|
|
- flags: 'up|broadcast|multicast',
|
|
|
|
|
- enabled: true,
|
|
|
|
|
- type: 'ethernet',
|
|
|
|
|
- state: 'connected',
|
|
|
|
|
- connection: '(externally) eth0',
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- name: 'eth0',
|
|
|
|
|
- ipv4: '127.0.0.1',
|
|
|
|
|
- ipv6: '',
|
|
|
|
|
- flags: 'up|broadcast|multicast',
|
|
|
|
|
- enabled: true,
|
|
|
|
|
- type: 'ethernet',
|
|
|
|
|
- state: 'connected',
|
|
|
|
|
- connection: '(externally) eth0',
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- name: 'eth1',
|
|
|
|
|
- ipv4: '192.168.11.252',
|
|
|
|
|
- ipv6: '',
|
|
|
|
|
- flags: 'up|broadcast|multicast',
|
|
|
|
|
- enabled: true,
|
|
|
|
|
- type: 'ethernet',
|
|
|
|
|
- state: 'connected',
|
|
|
|
|
- connection: '(externally) eth1',
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- name: 'wlP4p65s0',
|
|
|
|
|
- ipv4: '192.168.110.13',
|
|
|
|
|
- ipv6: 'fe80::a7d6:8818:341c:5656',
|
|
|
|
|
- flags: 'up|broadcast|multicast|running',
|
|
|
|
|
- enabled: true,
|
|
|
|
|
- type: 'wifi',
|
|
|
|
|
- state: 'connected',
|
|
|
|
|
- connection: 'zskkxk_5G',
|
|
|
|
|
- },
|
|
|
|
|
- ]);
|
|
|
|
|
- };
|
|
|
|
|
|
|
+ const [serverInfo, setServerInfo] = useState<ServerConfig>(
|
|
|
|
|
+ DEFAULT_SERVER_CONFIG
|
|
|
|
|
+ );
|
|
|
|
|
|
|
|
const { Text } = Typography;
|
|
const { Text } = Typography;
|
|
|
|
|
|
|
@@ -75,9 +33,13 @@ const Ip: React.FC = () => {
|
|
|
const serveRes = await ConfigService.getServerConfig();
|
|
const serveRes = await ConfigService.getServerConfig();
|
|
|
setServerInfo(serveRes);
|
|
setServerInfo(serveRes);
|
|
|
};
|
|
};
|
|
|
-
|
|
|
|
|
|
|
+ const getNetInfoData = async (): Promise<void> => {
|
|
|
|
|
+ const res = await getNetInfo();
|
|
|
|
|
+ if (res?.code === '0x000000') {
|
|
|
|
|
+ setNetList(res?.data || []);
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
const saveServerInfo = () => {
|
|
const saveServerInfo = () => {
|
|
|
- console.log('serverInfo==========================>', serverInfo);
|
|
|
|
|
ConfigService.saveServerConfig(serverInfo);
|
|
ConfigService.saveServerConfig(serverInfo);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -89,21 +51,23 @@ const Ip: React.FC = () => {
|
|
|
return (
|
|
return (
|
|
|
<div style={{ padding: SPACING.LG }}>
|
|
<div style={{ padding: SPACING.LG }}>
|
|
|
<Space direction="vertical" style={{ display: 'flex' }}>
|
|
<Space direction="vertical" style={{ display: 'flex' }}>
|
|
|
- {serverInfo.ip}
|
|
|
|
|
<Card title="IP地址配置" variant="borderless">
|
|
<Card title="IP地址配置" variant="borderless">
|
|
|
<Radio.Group
|
|
<Radio.Group
|
|
|
style={radioStyle}
|
|
style={radioStyle}
|
|
|
onChange={onChange}
|
|
onChange={onChange}
|
|
|
value={serverInfo.ip}
|
|
value={serverInfo.ip}
|
|
|
>
|
|
>
|
|
|
- {netList.map((k) => (
|
|
|
|
|
- <Radio key={k.ipv4} value={k.ipv4}>
|
|
|
|
|
- {k.ipv4}{' '}
|
|
|
|
|
- {k.type === 'wifi' && (
|
|
|
|
|
- <Tag bordered={false}>{k.connection}</Tag>
|
|
|
|
|
- )}
|
|
|
|
|
- </Radio>
|
|
|
|
|
- ))}
|
|
|
|
|
|
|
+ {netList.map(
|
|
|
|
|
+ (k) =>
|
|
|
|
|
+ k.ipv4 && (
|
|
|
|
|
+ <Radio key={k.ipv4} value={k.ipv4}>
|
|
|
|
|
+ {k.ipv4}
|
|
|
|
|
+ {k.type === 'wifi' && (
|
|
|
|
|
+ <Tag bordered={false}>{k.connection}</Tag>
|
|
|
|
|
+ )}
|
|
|
|
|
+ </Radio>
|
|
|
|
|
+ )
|
|
|
|
|
+ )}
|
|
|
</Radio.Group>
|
|
</Radio.Group>
|
|
|
</Card>
|
|
</Card>
|
|
|
<Text type="secondary">
|
|
<Text type="secondary">
|