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/04/19 11:41:06 UTC
[incubator-apisix-dashboard] branch next updated: feature: add new
setting items with i18n content (#177)
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 2b2fda3 feature: add new setting items with i18n content (#177)
2b2fda3 is described below
commit 2b2fda3152bcf5aeada9b4abcab2444948662cd8
Author: bzp2010 <bz...@gmail.com>
AuthorDate: Sun Apr 19 06:40:58 2020 -0500
feature: add new setting items with i18n content (#177)
* feature: add new setting items with i18n content
* fix: missing i18n files
* fix: change AdminAPIConfig define
* feature: new setting util file
* fix: change to new AdminAPIConfig define
* fix: add item's name i18n
---
src/locales/en-US/settings.ts | 8 ++++++-
src/locales/zh-CN/settings.ts | 8 ++++++-
src/pages/Settings.tsx | 52 ++++++++++++++++++++++++++++++++++---------
src/typings.d.ts | 8 +++----
src/utils/request.ts | 10 ++++-----
src/utils/setting.ts | 8 +++++++
src/utils/utils.ts | 9 --------
7 files changed, 72 insertions(+), 31 deletions(-)
diff --git a/src/locales/en-US/settings.ts b/src/locales/en-US/settings.ts
index b08e385..fe2cff7 100644
--- a/src/locales/en-US/settings.ts
+++ b/src/locales/en-US/settings.ts
@@ -1,3 +1,9 @@
export default {
- 'app.settings.description.invalid-admin-api': 'Invalid Admin API'
+ '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',
};
diff --git a/src/locales/zh-CN/settings.ts b/src/locales/zh-CN/settings.ts
index 8889804..03bc5f8 100644
--- a/src/locales/zh-CN/settings.ts
+++ b/src/locales/zh-CN/settings.ts
@@ -1,3 +1,9 @@
export default {
- 'app.settings.description.invalid-admin-api': '非法的管理API'
+ 'app.settings.item.admin-api-schema': '管理 API 协议',
+ 'app.settings.item.admin-api-host': '管理 API 地址',
+ 'app.settings.item.admin-api-path': '管理 API 路径',
+ 'app.settings.item.admin-api-key': '管理 API 密钥',
+ 'app.settings.description.invalid-admin-api-schema': '非法的管理 API 协议',
+ 'app.settings.description.invalid-admin-api-host': '非法的管理 API 地址',
+ 'app.settings.description.invalid-admin-api-path': '非法的管理 API 路径',
};
diff --git a/src/pages/Settings.tsx b/src/pages/Settings.tsx
index a05caf4..402ce2d 100644
--- a/src/pages/Settings.tsx
+++ b/src/pages/Settings.tsx
@@ -1,14 +1,16 @@
import React, {useEffect} from "react";
import {useForm} from "antd/es/form/util";
-import {Button, Card, Form, Input, notification} from "antd";
+import {Button, Card, Form, Input, notification, Select} from "antd";
import {formatMessage, FormattedMessage} from "umi-plugin-react/locale";
import {router} from "umi";
import {PageHeaderWrapper} from "@ant-design/pro-layout";
-import {getAdminAPI, getAdminAPIKey} from "@/utils/utils";
+import {getAdminAPIConfig} from "@/utils/setting";
+
+const { Option } = Select;
const layout = {
labelCol: {
- span: 2,
+ span: 4,
},
wrapperCol: {
span: 8,
@@ -17,7 +19,7 @@ const layout = {
const tailLayout = {
wrapperCol: {
- offset: 2,
+ offset: 4,
},
};
@@ -25,14 +27,19 @@ const Settings: React.FC = () => {
const [form] = useForm();
useEffect(() => {
+ let adminAPIConfig = getAdminAPIConfig();
form.setFieldsValue({
- adminAPI: getAdminAPI(),
- adminAPIKey: getAdminAPIKey()
+ adminAPISchema: adminAPIConfig.schema,
+ adminAPIHost: adminAPIConfig.host,
+ adminAPIPath: adminAPIConfig.path,
+ adminAPIKey: adminAPIConfig.key
})
});
const onFinish = (values: any) => {
- localStorage.setItem('GLOBAL_ADMIN_API', values.adminAPI);
+ 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);
notification.success({
@@ -47,17 +54,40 @@ const Settings: React.FC = () => {
<Card>
<Form {...layout} form={form} onFinish={onFinish}>
<Form.Item
- label="Admin API"
- name="adminAPI"
+ label={formatMessage({ id: 'app.settings.item.admin-api-schema' })}
+ name="adminAPISchema"
+ rules={[
+ {required: true, message: formatMessage({id: 'app.settings.description.invalid-admin-api-schema'})},
+ ]}
+ >
+ <Select defaultValue="http">
+ <Option value="http">HTTP</Option>
+ <Option value="https">HTTPS</Option>
+ </Select>
+ </Form.Item>
+
+ <Form.Item
+ label={formatMessage({ id: 'app.settings.item.admin-api-host' })}
+ name="adminAPIHost"
+ rules={[
+ {required: true, message: formatMessage({id: 'app.settings.description.invalid-admin-api-host'})},
+ ]}
+ >
+ <Input />
+ </Form.Item>
+
+ <Form.Item
+ label={formatMessage({ id: 'app.settings.item.admin-api-path' })}
+ name="adminAPIPath"
rules={[
- {required: true, message: formatMessage({id: 'app.settings.description.invalid-admin-api'})},
+ {required: true, message: formatMessage({id: 'app.settings.description.invalid-admin-api-path'})},
]}
>
<Input />
</Form.Item>
<Form.Item
- label="X-API-KEY"
+ label={formatMessage({ id: 'app.settings.item.admin-api-key' })}
name="adminAPIKey"
>
<Input />
diff --git a/src/typings.d.ts b/src/typings.d.ts
index e3bf05d..e7e385f 100644
--- a/src/typings.d.ts
+++ b/src/typings.d.ts
@@ -39,10 +39,10 @@ declare const REACT_APP_ENV: 'test' | 'dev' | 'pre' | false;
declare let ADMIN_API_SCHEMA, ADMIN_API_HOST, ADMIN_API_PATH, API_KEY: '';
declare interface AdminAPIConfig {
- adminAPISchema: string;
- adminAPIHost: string;
- adminAPIPath: string;
- adminAPIKey: string;
+ schema: string;
+ host: string;
+ path: string;
+ key: string;
}
type PageMode = 'CREATE' | 'EDIT' | 'VIEW';
diff --git a/src/utils/request.ts b/src/utils/request.ts
index 4bf02d6..75cac05 100644
--- a/src/utils/request.ts
+++ b/src/utils/request.ts
@@ -4,7 +4,7 @@
*/
import { extend } from 'umi-request';
import { notification } from 'antd';
-import { getAdminAPIConfig } from "@/utils/utils";
+import { getAdminAPIConfig } from "@/utils/setting";
const codeMessage = {
200: '服务器成功返回请求的数据。',
@@ -54,10 +54,10 @@ const request = extend({
errorHandler, // 默认错误处理
credentials: 'same-origin', // 默认请求是否带上cookie
headers: {
- 'X-ADMIN-API-SCHEMA': adminAPIConfig.adminAPISchema,
- 'X-ADMIN-API-HOST': adminAPIConfig.adminAPIHost,
- 'X-ADMIN-API-PATH': adminAPIConfig.adminAPIPath,
- 'X-API-KEY': adminAPIConfig.adminAPIKey,
+ 'X-ADMIN-API-SCHEMA': adminAPIConfig.schema,
+ 'X-ADMIN-API-HOST': adminAPIConfig.host,
+ 'X-ADMIN-API-PATH': adminAPIConfig.path,
+ 'X-API-KEY': adminAPIConfig.key,
},
});
diff --git a/src/utils/setting.ts b/src/utils/setting.ts
new file mode 100644
index 0000000..86c4f37
--- /dev/null
+++ b/src/utils/setting.ts
@@ -0,0 +1,8 @@
+export const getAdminAPIConfig = (): AdminAPIConfig => {
+ return {
+ schema: localStorage.getItem('GLOBAL_ADMIN_API_SCHEMA') || ADMIN_API_SCHEMA,
+ host: localStorage.getItem('GLOBAL_ADMIN_API_HOST') || ADMIN_API_HOST,
+ path: localStorage.getItem('GLOBAL_ADMIN_API_PATH') || ADMIN_API_PATH,
+ key: localStorage.getItem('GLOBAL_ADMIN_API_KEY') || API_KEY
+ };
+}
diff --git a/src/utils/utils.ts b/src/utils/utils.ts
index dbd4dc5..9a5c445 100644
--- a/src/utils/utils.ts
+++ b/src/utils/utils.ts
@@ -76,12 +76,3 @@ export const getPageMode = (): PageMode => {
return 'VIEW';
};
-
-export const getAdminAPIConfig = (): AdminAPIConfig => {
- return {
- adminAPISchema: localStorage.getItem('GLOBAL_ADMIN_API_SCHEMA') || ADMIN_API_SCHEMA,
- adminAPIHost: localStorage.getItem('GLOBAL_ADMIN_API_HOST') || ADMIN_API_HOST,
- adminAPIPath: localStorage.getItem('GLOBAL_ADMIN_API_PATH') || ADMIN_API_PATH,
- adminAPIKey: localStorage.getItem('GLOBAL_ADMIN_API_KEY') || API_KEY
- };
-}