You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by ju...@apache.org on 2020/06/15 06:48:47 UTC

[incubator-apisix-dashboard] branch next updated: feat: codes clean

This is an automated email from the ASF dual-hosted git repository.

juzhiyuan pushed a commit to branch next
in repository https://gitbox.apache.org/repos/asf/incubator-apisix-dashboard.git


The following commit(s) were added to refs/heads/next by this push:
     new 3bcafd0  feat: codes clean
3bcafd0 is described below

commit 3bcafd0e0e6c451e161f445392ae030779a8b221
Author: juzhiyuan <jj...@gmail.com>
AuthorDate: Mon Jun 15 14:48:03 2020 +0800

    feat: codes clean
---
 src/app.tsx                    |  9 ++---
 src/locales/en-US/setting.ts   |  8 +----
 src/locales/zh-CN/setting.ts   |  1 +
 src/pages/Metrics/Metrics.tsx  |  4 +--
 src/pages/Metrics/service.ts   |  5 ---
 src/pages/Setting/Setting.tsx  | 74 +++++-------------------------------------
 src/pages/Setting/service.ts   | 15 +++------
 src/pages/Setting/typingd.d.ts |  5 +--
 8 files changed, 20 insertions(+), 101 deletions(-)

diff --git a/src/app.tsx b/src/app.tsx
index 6faa1f1..1a38f9c 100644
--- a/src/app.tsx
+++ b/src/app.tsx
@@ -3,7 +3,7 @@ import { notification } from 'antd';
 import { RequestConfig, history } from 'umi';
 import { BasicLayoutProps, Settings as LayoutSettings } from '@ant-design/pro-layout';
 
-import { getAdminAPIConfig } from '@/pages/Setting';
+import { getSetting } from '@/pages/Setting';
 import RightContent from '@/components/RightContent';
 import Footer from '@/components/Footer';
 import { queryCurrent } from '@/services/user';
@@ -84,12 +84,9 @@ const errorHandler = (error: { response: Response; data: any }): Promise<Respons
   return Promise.reject(response);
 };
 
-const { schema, host, path, key } = getAdminAPIConfig();
+const { baseURL } = getSetting();
 export const request: RequestConfig = {
-  prefix: `${schema}://${host}${path}`,
+  prefix: baseURL,
   errorHandler,
   credentials: 'same-origin',
-  headers: {
-    'X-API-KEY': key,
-  },
 };
diff --git a/src/locales/en-US/setting.ts b/src/locales/en-US/setting.ts
index 0c7081c..b6ce2cf 100644
--- a/src/locales/en-US/setting.ts
+++ b/src/locales/en-US/setting.ts
@@ -1,10 +1,4 @@
 export default {
   'app.settings.admin-api': 'Admin API Config',
-  'app.settings.item.admin-api-schema': 'Admin API Schema',
-  'app.settings.item.admin-api-host': 'Admin API Host',
-  'app.settings.item.admin-api-path': 'Admin API Path',
-  'app.settings.item.admin-api-key': 'Admin API Key',
-  'app.settings.description.invalid-admin-api-schema': 'Invalid Admin API Schema',
-  'app.settings.description.invalid-admin-api-host': 'Invalid Admin API Host',
-  'app.settings.description.invalid-admin-api-path': 'Invalid Admin API Path',
+  'app.settings.item.baseURL': 'API base URL',
 };
diff --git a/src/locales/zh-CN/setting.ts b/src/locales/zh-CN/setting.ts
index c9485f4..43f198e 100644
--- a/src/locales/zh-CN/setting.ts
+++ b/src/locales/zh-CN/setting.ts
@@ -1,5 +1,6 @@
 export default {
   'app.settings.admin-api': '管理 API 配置',
+  'app.settings.item.baseURL': 'API 基础地址',
   'app.settings.item.admin-api-schema': '管理 API 协议',
   'app.settings.item.admin-api-host': '管理 API 地址',
   'app.settings.item.admin-api-path': '管理 API 路径',
diff --git a/src/pages/Metrics/Metrics.tsx b/src/pages/Metrics/Metrics.tsx
index f60c24d..7693883 100644
--- a/src/pages/Metrics/Metrics.tsx
+++ b/src/pages/Metrics/Metrics.tsx
@@ -3,14 +3,14 @@ import { PageHeaderWrapper } from '@ant-design/pro-layout';
 import { Empty, Button, Card } from 'antd';
 import { history } from 'umi';
 import { stringify } from 'qs';
-import { getGrafanaConfig } from './service';
+import { getSetting } from '@/pages/Setting';
 
 const Metrics: React.FC = () => {
   const [grafanaURL, setGrafanaURL] = useState<string | undefined>();
   const [showMetrics, setShowMetrics] = useState(false);
 
   useEffect(() => {
-    const url = getGrafanaConfig().grafanaURL;
+    const { grafanaURL: url } = getSetting();
     setGrafanaURL(url);
     setShowMetrics(Boolean(url));
   }, []);
diff --git a/src/pages/Metrics/service.ts b/src/pages/Metrics/service.ts
deleted file mode 100644
index e782428..0000000
--- a/src/pages/Metrics/service.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export const getGrafanaConfig = (): Setting.GrafanaConfig => {
-  return {
-    grafanaURL: localStorage.getItem('GLOBAL_ADMIN_SETTING_GRAFANA_URL') || '',
-  };
-};
diff --git a/src/pages/Setting/Setting.tsx b/src/pages/Setting/Setting.tsx
index 07128dd..ee09f87 100644
--- a/src/pages/Setting/Setting.tsx
+++ b/src/pages/Setting/Setting.tsx
@@ -1,12 +1,11 @@
-import { Button, Form, Input, notification, Select, Tabs, Tooltip } from 'antd';
+import { Button, Form, Input, notification, Tabs, Tooltip } from 'antd';
 import React, { useEffect } from 'react';
 import { Link, SelectLang, FormattedMessage, useIntl } from 'umi';
 import logo from '@/assets/logo.svg';
 import { useForm } from 'antd/es/form/util';
 import styles from './style.less';
-import { getAdminAPIConfig, getGrafanaConfig } from './service';
+import { getSetting } from './service';
 
-const { Option } = Select;
 const { TabPane } = Tabs;
 
 const Settings: React.FC<{}> = () => {
@@ -14,21 +13,12 @@ const Settings: React.FC<{}> = () => {
   const { formatMessage } = useIntl();
 
   useEffect(() => {
-    form.setFieldsValue({ ...getAdminAPIConfig(), ...getGrafanaConfig() });
+    form.setFieldsValue(getSetting());
   }, []);
 
-  const onFinish = ({
-    schema,
-    host,
-    path,
-    key,
-    grafanaURL,
-  }: Setting.AdminAPI & Setting.GrafanaConfig) => {
-    localStorage.setItem('GLOBAL_ADMIN_API_SCHEMA', schema);
-    localStorage.setItem('GLOBAL_ADMIN_API_HOST', host);
-    localStorage.setItem('GLOBAL_ADMIN_API_PATH', path);
-    localStorage.setItem('GLOBAL_ADMIN_API_KEY', key);
-    localStorage.setItem('GLOBAL_ADMIN_SETTING_GRAFANA_URL', grafanaURL);
+  const onFinish = ({ grafanaURL, baseURL }: Setting.AdminAPI & Setting.GrafanaConfig) => {
+    localStorage.setItem('GLOBAL_SETTING_API_BASE_URL', baseURL);
+    localStorage.setItem('GLOBAL_SETTING_GRAFANA_URL', grafanaURL);
 
     notification.success({
       duration: 1,
@@ -64,56 +54,8 @@ const Settings: React.FC<{}> = () => {
                 form={form}
                 onFinish={(values) => onFinish(values as Setting.AdminAPI & Setting.GrafanaConfig)}
               >
-                <Form.Item
-                  name="schema"
-                  rules={[
-                    {
-                      required: true,
-                      message: formatMessage({
-                        id: 'app.settings.description.invalid-admin-api-schema',
-                      }),
-                    },
-                  ]}
-                >
-                  <Select
-                    placeholder={formatMessage({ id: 'app.settings.item.admin-api-schema' })}
-                    allowClear
-                  >
-                    <Option value="http">HTTP</Option>
-                    <Option value="https">HTTPS</Option>
-                  </Select>
-                </Form.Item>
-
-                <Form.Item
-                  name="host"
-                  rules={[
-                    {
-                      required: true,
-                      message: formatMessage({
-                        id: 'app.settings.description.invalid-admin-api-host',
-                      }),
-                    },
-                  ]}
-                >
-                  <Input placeholder={formatMessage({ id: 'app.settings.item.admin-api-host' })} />
-                </Form.Item>
-
-                <Form.Item
-                  name="path"
-                  rules={[
-                    {
-                      required: true,
-                      message: formatMessage({
-                        id: 'app.settings.description.invalid-admin-api-path',
-                      }),
-                    },
-                  ]}
-                >
-                  <Input placeholder={formatMessage({ id: 'app.settings.item.admin-api-path' })} />
-                </Form.Item>
-
-                <Form.Item name="key">
-                  <Input placeholder={formatMessage({ id: 'app.settings.item.admin-api-key' })} />
+                <Form.Item name="baseURL">
+                  <Input placeholder={formatMessage({ id: 'app.settings.item.baseURL' })} />
                 </Form.Item>
 
                 <Form.Item>
diff --git a/src/pages/Setting/service.ts b/src/pages/Setting/service.ts
index 8d2d146..45064f7 100644
--- a/src/pages/Setting/service.ts
+++ b/src/pages/Setting/service.ts
@@ -1,14 +1,7 @@
-export const getAdminAPIConfig = (): Setting.AdminAPI => {
+export const getSetting = (): Setting.AdminAPI & Setting.GrafanaConfig => {
   return {
-    schema: localStorage.getItem('GLOBAL_ADMIN_API_SCHEMA') || 'http',
-    host: localStorage.getItem('GLOBAL_ADMIN_API_HOST') || '127.0.0.1:8080',
-    path: localStorage.getItem('GLOBAL_ADMIN_API_PATH') || '/apisix/admin',
-    key: localStorage.getItem('GLOBAL_ADMIN_API_KEY') || '',
-  };
-};
-
-export const getGrafanaConfig = (): Setting.GrafanaConfig => {
-  return {
-    grafanaURL: localStorage.getItem('GLOBAL_ADMIN_SETTING_GRAFANA_URL') || '',
+    baseURL:
+      localStorage.getItem('GLOBAL_SETTING_API_BASE_URL') || 'http://127.0.0.1:8080/apisix/admin',
+    grafanaURL: localStorage.getItem('GLOBAL_SETTING_GRAFANA_URL') || '',
   };
 };
diff --git a/src/pages/Setting/typingd.d.ts b/src/pages/Setting/typingd.d.ts
index 8c03768..7761330 100644
--- a/src/pages/Setting/typingd.d.ts
+++ b/src/pages/Setting/typingd.d.ts
@@ -1,9 +1,6 @@
 declare namespace Setting {
   interface AdminAPI {
-    schema: string;
-    host: string;
-    path: string;
-    key: string;
+    baseURL: string;
   }
 
   interface GrafanaConfig {