diff --git a/eiam-console/src/main/console-fe/src/constant.ts b/eiam-console/src/main/console-fe/src/constant.ts
index c0bec3d2..37ccfcff 100644
--- a/eiam-console/src/main/console-fe/src/constant.ts
+++ b/eiam-console/src/main/console-fe/src/constant.ts
@@ -51,6 +51,15 @@ export enum GEO_IP_PROVIDER {
DEFAULT = 'default',
}
+
+export enum EMAIL_PROVIDER {
+ CUSTOMIZE = 'customize',
+ ALIYUN = 'aliyun',
+ TENCENT = 'tencent',
+ NET_EASE = 'netease',
+}
+
+
/**
* 应用类型
*/
@@ -65,12 +74,9 @@ export enum AppType {
* App Protocol
*/
export enum AppProtocolType {
- saml2 = 'saml2',
oidc = 'oidc',
- cas = 'cas',
jwt = 'jwt',
form = 'form',
- oauth2 = 'oauth2',
}
export enum PolicyEffectType {
diff --git a/eiam-console/src/main/console-fe/src/pages/setting/Message/components/MailProvider/MailProvider.tsx b/eiam-console/src/main/console-fe/src/pages/setting/Message/components/MailProvider/MailProvider.tsx
index 318af229..56ed12e6 100644
--- a/eiam-console/src/main/console-fe/src/pages/setting/Message/components/MailProvider/MailProvider.tsx
+++ b/eiam-console/src/main/console-fe/src/pages/setting/Message/components/MailProvider/MailProvider.tsx
@@ -16,16 +16,17 @@
* along with this program. If not, see .
*/
import { Container } from '@/components/Container';
-import { SMS_PROVIDER } from '@/constant';
+import { EMAIL_PROVIDER } from '@/constant';
import { disableMailProvider, getMailProviderConfig, saveMailProvider } from '../../service';
import { EyeInvisibleOutlined, EyeTwoTone, WarningOutlined } from '@ant-design/icons';
import {
ProCard,
ProForm,
+ ProFormDependency,
ProFormDigit,
ProFormRadio,
- ProFormSelect,
+ ProFormSegmented,
ProFormSwitch,
ProFormText,
} from '@ant-design/pro-components';
@@ -63,12 +64,11 @@ const tailFormItemLayout = {
},
},
};
-const defaultProvider = 'customize';
+
export default (props: { visible: boolean }) => {
const [form] = Form.useForm();
const { message, modal } = App.useApp();
const { visible } = props;
- const [provider, setProvider] = useState(defaultProvider);
const [loading, setLoading] = useState(false);
const [enabled, setEnabled] = useState(false);
const intl = useIntl();
@@ -79,12 +79,9 @@ export default (props: { visible: boolean }) => {
const { success, result } = await getMailProviderConfig();
if (success && result && result.enabled) {
setEnabled(result.enabled);
- setProvider(result.provider);
form.setFieldsValue({
...result,
});
- } else {
- form.setFieldsValue({ provider: provider });
}
setLoading(false);
return;
@@ -126,11 +123,7 @@ export default (props: { visible: boolean }) => {
if (success) {
setEnabled(checked);
message.success(intl.formatMessage({ id: 'app.operation_success' }));
- setProvider(defaultProvider);
form.resetFields();
- form.setFieldsValue({
- provider: defaultProvider,
- });
return;
}
},
@@ -148,16 +141,15 @@ export default (props: { visible: boolean }) => {
{
form.resetFields();
- form.setFieldsValue({ provider });
}}
{...layout}
layout={'horizontal'}
labelAlign={'right'}
submitter={{
- render: (p, dom) => {
+ render: (_p, dom) => {
return (
{dom}
@@ -194,14 +186,41 @@ export default (props: { visible: boolean }) => {
}
}}
>
- {
+ return [
+ {
+ value: EMAIL_PROVIDER.CUSTOMIZE,
+ label: intl.formatMessage({
+ id: 'pages.setting.message.mail_provider.provider.customize',
+ }),
+ },
+ {
+ value: EMAIL_PROVIDER.ALIYUN,
+ label: intl.formatMessage({
+ id: 'pages.setting.message.mail_provider.provider.aliyun',
+ }),
+ },
+ {
+ value: EMAIL_PROVIDER.TENCENT,
+ label: intl.formatMessage({
+ id: 'pages.setting.message.mail_provider.provider.tencent',
+ }),
+ },
+ {
+ value: EMAIL_PROVIDER.NET_EASE,
+ label: intl.formatMessage({
+ id: 'pages.setting.message.mail_provider.provider.net_ease',
+ }),
+ },
+ ];
+ }}
fieldProps={{
- onChange: async (value: string) => {
+ onChange: async (value) => {
setLoading(true);
- setProvider(value);
form.resetFields();
form.setFieldsValue({
provider: value,
@@ -216,138 +235,120 @@ export default (props: { visible: boolean }) => {
setLoading(false);
},
}}
- options={[
- {
- value: 'customize',
- label: intl.formatMessage({
- id: 'pages.setting.message.mail_provider.provider.customize',
- }),
- },
- {
- value: SMS_PROVIDER.ALIYUN,
- label: intl.formatMessage({
- id: 'pages.setting.message.mail_provider.provider.aliyun',
- }),
- },
- {
- value: SMS_PROVIDER.TENCENT,
- label: intl.formatMessage({
- id: 'pages.setting.message.mail_provider.provider.tencent',
- }),
- },
- {
- value: SMS_PROVIDER.NET_EASE,
- label: intl.formatMessage({
- id: 'pages.setting.message.mail_provider.provider.net_ease',
- }),
- },
- ]}
- />
- {provider === 'customize' && (
- <>
-
-
-
- >
- )}
-
+
+ {({ provider }) => {
+ return (
+ <>
+ {provider === EMAIL_PROVIDER.CUSTOMIZE && (
+ <>
+
+
+
+ >
+ )}
+
+ >
+ );
+ }}
+
.
*/
import { SMS_PROVIDER } from '@/constant';
-import { Language } from '../../constant';
+import { Language } from '@/pages/setting/Storage/constant';
import {
disableSmsProvider,
getSmsProviderConfig,
@@ -33,7 +33,7 @@ import {
ModalForm,
ProCard,
ProForm,
- ProFormSelect,
+ ProFormSegmented,
ProFormSwitch,
ProFormText,
} from '@ant-design/pro-components';
@@ -84,7 +84,7 @@ const TestModal = (props: {
modalProps={{ onCancel: onCancel, destroyOnClose: true }}
labelAlign={'left'}
labelCol={{ span: 4 }}
- wrapperCol={{ span: 19 }}
+ wrapperCol={{ span: 20 }}
key={data.type}
title={intl.formatMessage({ id: 'pages.setting.message.sms_provider.send_scene.modal.from' })}
initialValues={{ type: data.type, name: data.name, content: data.content }}
@@ -376,14 +376,14 @@ export default (props: { visible: boolean }) => {
}
}}
>
- {
+ onChange: async (value) => {
setLoading(true);
- setProvider(value);
+ setProvider(value as string);
//清理
form.resetFields();
form.setFieldsValue({ provider: value });
@@ -394,7 +394,7 @@ export default (props: { visible: boolean }) => {
form.setFieldsValue({ ...result.config });
setLanguage(result.language);
//获取模板
- await fetchSmsTemplateList(result.language, value);
+ await fetchSmsTemplateList(result.language, value as string);
result.templates?.forEach((i: { type: any; code: any }) => {
editorFormRef.current?.setFieldsValue({ [i.type]: { code: i.code } });
});
@@ -402,31 +402,33 @@ export default (props: { visible: boolean }) => {
//已配置和选中配置不一致,走初始化流程
if (success && result && result.provider !== value) {
setLanguage(Language.ZH);
- await fetchSmsTemplateList(Language.ZH, value);
+ await fetchSmsTemplateList(Language.ZH, value as string);
}
setLoading(false);
},
}}
- options={[
- {
- value: SMS_PROVIDER.ALIYUN,
- label: intl.formatMessage({
- id: 'pages.setting.message.sms_provider.provider.aliyun',
- }),
- },
- {
- value: SMS_PROVIDER.TENCENT,
- label: intl.formatMessage({
- id: 'pages.setting.message.sms_provider.provider.tencent',
- }),
- },
- {
- value: SMS_PROVIDER.QI_NIU,
- label: intl.formatMessage({
- id: 'pages.setting.message.sms_provider.provider.qi_niu',
- }),
- },
- ]}
+ request={async () => {
+ return [
+ {
+ value: SMS_PROVIDER.ALIYUN,
+ label: intl.formatMessage({
+ id: 'pages.setting.message.sms_provider.provider.aliyun',
+ }),
+ },
+ {
+ value: SMS_PROVIDER.TENCENT,
+ label: intl.formatMessage({
+ id: 'pages.setting.message.sms_provider.provider.tencent',
+ }),
+ },
+ {
+ value: SMS_PROVIDER.QI_NIU,
+ label: intl.formatMessage({
+ id: 'pages.setting.message.sms_provider.provider.qi_niu',
+ }),
+ },
+ ];
+ }}
/>
{provider === SMS_PROVIDER.ALIYUN && }
{provider === SMS_PROVIDER.TENCENT && }
diff --git a/eiam-console/src/main/console-fe/src/pages/setting/Message/locales/zh-CN.ts b/eiam-console/src/main/console-fe/src/pages/setting/Message/locales/zh-CN.ts
index 91400a9f..1836cf33 100644
--- a/eiam-console/src/main/console-fe/src/pages/setting/Message/locales/zh-CN.ts
+++ b/eiam-console/src/main/console-fe/src/pages/setting/Message/locales/zh-CN.ts
@@ -78,6 +78,23 @@ export default {
'请输入阿里云短信签名',
'pages.setting.message.sms_provider.provider.aliyun.sign_name.rule.0.message':
'阿里云短信签名为必填项',
+ 'pages.setting.storage_provider.provider.s3': 'S3',
+ 'pages.setting.storage_provider.provider.s3.endpoint': 'S3域名',
+ 'pages.setting.storage_provider.provider.s3.endpoint.placeholder': '请输入 S3域名',
+ 'pages.setting.storage_provider.provider.s3.endpoint.rule.0.message': 'S3域名为必填项',
+ 'pages.setting.storage_provider.provider.s3.domain': '外链域名',
+ 'pages.setting.storage_provider.provider.s3.domain.placeholder': '请输入S3 外链域名',
+ 'pages.setting.storage_provider.provider.s3.domain.rule.0.message': 'S3 外链域名为必填项',
+ 'pages.setting.storage_provider.provider.s3.access_key_id.placeholder': '请输入S3 AccessKeyId',
+ 'pages.setting.storage_provider.provider.s3.access_key_id.rule.0.message':
+ 'S3 AccessKeyId为必填项',
+ 'pages.setting.storage_provider.provider.s3.secret_access_key.placeholder':
+ '请输入S3 SecretAccessKey',
+ 'pages.setting.storage_provider.provider.s3.secret_access_key.rule.0.message':
+ 'S3 SecretAccessKey为必填项',
+ 'pages.setting.storage_provider.provider.s3.region.placeholder': '请输入S3 Region',
+ 'pages.setting.storage_provider.provider.s3.bucket.placeholder': '请输入S3 Bucket',
+ 'pages.setting.storage_provider.provider.s3.bucket.rule.0.message': 'S3 Bucket为必填项',
'pages.setting.message.sms_provider.provider.tencent': '腾讯云',
'pages.setting.message.sms_provider.provider.tencent.region': '地域',
'pages.setting.message.sms_provider.provider.tencent.region.placeholder': '请选择地域配置',