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/05/30 15:11:47 UTC

[incubator-apisix-dashboard] branch next updated: feat: update some pages (#220)

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 5a5d3d6  feat: update some pages (#220)
5a5d3d6 is described below

commit 5a5d3d6ebbeaef2b6f22ac67bdb8b5c40e80ff44
Author: 琚致远 <ju...@apache.org>
AuthorDate: Sat May 30 23:11:37 2020 +0800

    feat: update some pages (#220)
---
 config/routes.ts                                   |  6 ++---
 src/app.tsx                                        | 10 ++++----
 src/components/RightContent/AvatarDropdown.tsx     |  2 +-
 src/locales/en-US.ts                               |  2 +-
 src/locales/en-US/menu.ts                          |  2 +-
 src/locales/en-US/{settings.ts => setting.ts}      |  0
 src/locales/zh-CN.ts                               |  2 +-
 src/locales/zh-CN/menu.ts                          |  2 +-
 src/locales/zh-CN/{settings.ts => setting.ts}      |  0
 .../{settings/Settings.tsx => Setting/Setting.tsx} | 28 +++++++++-------------
 src/pages/Setting/index.ts                         |  2 ++
 src/pages/{settings => Setting}/service.ts         | 10 +-------
 src/pages/{settings => Setting}/style.less         |  0
 src/pages/Setting/typingd.d.ts                     |  8 +++++++
 src/pages/settings/index.ts                        |  2 --
 15 files changed, 35 insertions(+), 41 deletions(-)

diff --git a/config/routes.ts b/config/routes.ts
index 67c1a72..1fee575 100644
--- a/config/routes.ts
+++ b/config/routes.ts
@@ -4,9 +4,9 @@ const routes = [
     redirect: '/ssl',
   },
   {
-    name: 'settings',
-    path: '/settings',
-    component: './settings',
+    name: 'setting',
+    path: '/setting',
+    component: './Setting',
     layout: false,
     hideInMenu: true,
   },
diff --git a/src/app.tsx b/src/app.tsx
index 6336e81..be1c18c 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/settings';
+import { getAdminAPIConfig } from '@/pages/Setting';
 import RightContent from '@/components/RightContent';
 import Footer from '@/components/Footer';
 import { queryCurrent } from '@/services/user';
@@ -14,7 +14,7 @@ export async function getInitialState(): Promise<{
   settings?: LayoutSettings;
 }> {
   // 如果是设置页面,不执行
-  if (history.location.pathname !== '/settings') {
+  if (history.location.pathname !== '/setting') {
     try {
       const currentUser = await queryCurrent();
       return {
@@ -22,7 +22,7 @@ export async function getInitialState(): Promise<{
         settings: defaultSettings,
       };
     } catch (error) {
-      history.push('/settings');
+      history.push('/setting');
     }
   }
   return {
@@ -83,9 +83,9 @@ const errorHandler = (error: { response: Response; data: any }): Promise<Respons
   return Promise.reject(response);
 };
 
-const { schema, host, path, prefix, key } = getAdminAPIConfig();
+const { schema, host, path, key } = getAdminAPIConfig();
 export const request: RequestConfig = {
-  prefix: `${schema}://${host}${path}${prefix}`,
+  prefix: `${schema}://${host}${path}`,
   errorHandler,
   credentials: 'same-origin',
   headers: {
diff --git a/src/components/RightContent/AvatarDropdown.tsx b/src/components/RightContent/AvatarDropdown.tsx
index 9f3a674..567f2ae 100644
--- a/src/components/RightContent/AvatarDropdown.tsx
+++ b/src/components/RightContent/AvatarDropdown.tsx
@@ -17,7 +17,7 @@ export interface GlobalHeaderRightProps {
  */
 const settings = async () => {
   history.replace({
-    pathname: '/settings',
+    pathname: '/setting',
     search: stringify({
       redirect: window.location.href,
     }),
diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts
index 4ff9776..6dbf6ab 100644
--- a/src/locales/en-US.ts
+++ b/src/locales/en-US.ts
@@ -3,7 +3,7 @@ import globalHeader from './en-US/globalHeader';
 import menu from './en-US/menu';
 import pwa from './en-US/pwa';
 import settingDrawer from './en-US/settingDrawer';
-import settings from './en-US/settings';
+import settings from './en-US/setting';
 
 export default {
   'navBar.lang': 'Languages',
diff --git a/src/locales/en-US/menu.ts b/src/locales/en-US/menu.ts
index 914dc06..8d99bc4 100644
--- a/src/locales/en-US/menu.ts
+++ b/src/locales/en-US/menu.ts
@@ -52,5 +52,5 @@ export default {
   'menu.ssl.list': 'SSL List',
   'menu.ssl.edit': 'Edit',
   'menu.ssl.create': 'Create',
-  'menu.settings': 'Settings',
+  'menu.setting': 'Settings',
 };
diff --git a/src/locales/en-US/settings.ts b/src/locales/en-US/setting.ts
similarity index 100%
rename from src/locales/en-US/settings.ts
rename to src/locales/en-US/setting.ts
diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts
index b37ec0f..966f0a9 100644
--- a/src/locales/zh-CN.ts
+++ b/src/locales/zh-CN.ts
@@ -3,7 +3,7 @@ import globalHeader from './zh-CN/globalHeader';
 import menu from './zh-CN/menu';
 import pwa from './zh-CN/pwa';
 import settingDrawer from './zh-CN/settingDrawer';
-import settings from './zh-CN/settings';
+import settings from './zh-CN/setting';
 
 export default {
   'navBar.lang': '语言',
diff --git a/src/locales/zh-CN/menu.ts b/src/locales/zh-CN/menu.ts
index 5a877bb..7278b7c 100644
--- a/src/locales/zh-CN/menu.ts
+++ b/src/locales/zh-CN/menu.ts
@@ -52,7 +52,7 @@ export default {
   'menu.ssl.list': 'SSL 列表',
   'menu.ssl.edit': '编辑',
   'menu.ssl.create': '创建',
-  'menu.settings': '设置',
+  'menu.setting': '设置',
   'menu.routes': '路由',
   'menu.routes.create': '创建',
 };
diff --git a/src/locales/zh-CN/settings.ts b/src/locales/zh-CN/setting.ts
similarity index 100%
rename from src/locales/zh-CN/settings.ts
rename to src/locales/zh-CN/setting.ts
diff --git a/src/pages/settings/Settings.tsx b/src/pages/Setting/Setting.tsx
similarity index 81%
rename from src/pages/settings/Settings.tsx
rename to src/pages/Setting/Setting.tsx
index 5405c98..5ae4520 100644
--- a/src/pages/settings/Settings.tsx
+++ b/src/pages/Setting/Setting.tsx
@@ -14,20 +14,14 @@ const Settings: React.FC<{}> = () => {
   const { formatMessage } = useIntl();
 
   useEffect(() => {
-    const adminAPIConfig = getAdminAPIConfig();
-    form.setFieldsValue({
-      adminAPISchema: adminAPIConfig.schema,
-      adminAPIHost: adminAPIConfig.host,
-      adminAPIPath: adminAPIConfig.path,
-      adminAPIKey: adminAPIConfig.key,
-    });
+    form.setFieldsValue(getAdminAPIConfig());
   }, []);
 
-  const onFinish = (values: any) => {
-    localStorage.setItem('GLOBAL_ADMIN_API_SCHEMA', values.adminAPISchema);
-    localStorage.setItem('GLOBAL_ADMIN_API_HOST', values.adminAPIHost);
-    localStorage.setItem('GLOBAL_ADMIN_API_PATH', values.adminAPIPath);
-    localStorage.setItem('GLOBAL_ADMIN_API_KEY', values.adminAPIKey);
+  const onFinish = ({ schema, host, path, key }: Setting.AdminAPI) => {
+    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);
 
     notification.success({
       duration: 1,
@@ -59,9 +53,9 @@ const Settings: React.FC<{}> = () => {
         <div className={styles.main}>
           <Tabs>
             <TabPane tab={formatMessage({ id: 'app.settings.admin-api' })}>
-              <Form form={form} onFinish={onFinish}>
+              <Form form={form} onFinish={(values) => onFinish(values as Setting.AdminAPI)}>
                 <Form.Item
-                  name="adminAPISchema"
+                  name="schema"
                   rules={[
                     {
                       required: true,
@@ -81,7 +75,7 @@ const Settings: React.FC<{}> = () => {
                 </Form.Item>
 
                 <Form.Item
-                  name="adminAPIHost"
+                  name="host"
                   rules={[
                     {
                       required: true,
@@ -95,7 +89,7 @@ const Settings: React.FC<{}> = () => {
                 </Form.Item>
 
                 <Form.Item
-                  name="adminAPIPath"
+                  name="path"
                   rules={[
                     {
                       required: true,
@@ -108,7 +102,7 @@ const Settings: React.FC<{}> = () => {
                   <Input placeholder={formatMessage({ id: 'app.settings.item.admin-api-path' })} />
                 </Form.Item>
 
-                <Form.Item name="adminAPIKey">
+                <Form.Item name="key">
                   <Input placeholder={formatMessage({ id: 'app.settings.item.admin-api-key' })} />
                 </Form.Item>
 
diff --git a/src/pages/Setting/index.ts b/src/pages/Setting/index.ts
new file mode 100644
index 0000000..eb2672b
--- /dev/null
+++ b/src/pages/Setting/index.ts
@@ -0,0 +1,2 @@
+export { default } from './Setting';
+export * from './service';
diff --git a/src/pages/settings/service.ts b/src/pages/Setting/service.ts
similarity index 56%
rename from src/pages/settings/service.ts
rename to src/pages/Setting/service.ts
index 18d87bd..6d240da 100644
--- a/src/pages/settings/service.ts
+++ b/src/pages/Setting/service.ts
@@ -1,16 +1,8 @@
-export const getRequestPrefix = () => {
-  if (process.env.NODE_ENV === 'development') {
-    return '/api';
-  }
-  return '';
-};
-
-export const getAdminAPIConfig = (): SettingModule.AdminAPIConfig => {
+export const getAdminAPIConfig = (): Setting.AdminAPI => {
   return {
     schema: localStorage.getItem('GLOBAL_ADMIN_API_SCHEMA') || 'http',
     host: localStorage.getItem('GLOBAL_ADMIN_API_HOST') || '127.0.0.1:9080',
     path: localStorage.getItem('GLOBAL_ADMIN_API_PATH') || '/apisix/admin',
-    prefix: getRequestPrefix(),
     key: localStorage.getItem('GLOBAL_ADMIN_API_KEY') || '',
   };
 };
diff --git a/src/pages/settings/style.less b/src/pages/Setting/style.less
similarity index 100%
rename from src/pages/settings/style.less
rename to src/pages/Setting/style.less
diff --git a/src/pages/Setting/typingd.d.ts b/src/pages/Setting/typingd.d.ts
new file mode 100644
index 0000000..ff84901
--- /dev/null
+++ b/src/pages/Setting/typingd.d.ts
@@ -0,0 +1,8 @@
+declare namespace Setting {
+  interface AdminAPI {
+    schema: string;
+    host: string;
+    path: string;
+    key: string;
+  }
+}
diff --git a/src/pages/settings/index.ts b/src/pages/settings/index.ts
deleted file mode 100644
index d990ce6..0000000
--- a/src/pages/settings/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default } from './Settings';
-export * from './service';