import React, { useState } from 'react'; import { Tabs, Row, Col, Card, Divider, Input, Form, Space, Select, Modal, message, Switch, } from 'antd'; import { get } from 'oak-domain/lib/utils/lodash'; import Styles from './web.module.less'; function Ali(props) { const [open, setModal] = useState(false); const [smsIndex, setSmsIndex] = useState(''); const [labelType, setLabelType] = useState(''); const { sms, setValue, addItem, removeItem, cleanKey } = props; return ( 阿里云云短信配置 0)} onEdit={(targetKey, action) => { if (action === 'add') { addItem('', sms.length); } else { removeItem('', parseInt(targetKey, 10)); } }} items={sms.length > 0 ? sms.map((ele, idx) => ({ key: `${idx}`, label: `短信${idx + 1}`, children: (
<> setValue(`${idx}.accessKeyId`, e.target.value)}/> <> setValue(`${idx}.accessKeySecret`, e.target.value)}/> <> setValue(`${idx}.endpoint`, e.target.value)}/> <> setValue(`${idx}.defaultSignName`, e.target.value)}/> <> setValue(`${idx}.defaultSignName`, e.target.value)}/> {/* 0)} onEdit={( targetKey: any, action: 'add' | 'remove' ) => { if (action === 'add') { setSmsIndex(`${idx}`); setModal(true); } else { cleanKey( `${idx}.templates`, targetKey ); } }} items={ Object.keys( ele.templates || {} ).length > 0 ? Object.keys( ele.templates ).map((name, idx) => { const template = ele.templates[ name ]; return { key: `${name}`, label: `${name}`, children: ( <> setValue( `${idx}.templates.${name}.signName`, e .target .value ) } /> <> setValue( `${idx}.templates.${name}.code`, e .target .value ) } /> ), }; }) : [] } >
*/} ), })) : []}>
{ setModal(false); setLabelType(''); }} onOk={() => { if (!labelType) { message.error({ content: '请输入标签名称', }); return; } const templates = get(sms, `${smsIndex}.templates`) || {}; if (Object.keys(templates).includes(labelType)) { message.error({ content: '已存在相同的标签名,请重新输入', }); return; } setValue(`${smsIndex}.templates.${labelType}`, {}); setModal(false); setLabelType(''); setSmsIndex(''); }} open={open} cancelText="取消" okText="确定" destroyOnClose={true}>
<> setLabelType(e.target.value.replace(/[0-9-.]/g, ''))}/>
); } function Tencent(props) { const [open, setModal] = useState(false); const [smsIndex, setSmsIndex] = useState(''); const [labelType, setLabelType] = useState(''); const { sms, setValue, addItem, removeItem, cleanKey } = props; return ( 腾讯云短信配置 0)} onEdit={(targetKey, action) => { if (action === 'add') { addItem('', sms.length); } else { removeItem('', parseInt(targetKey, 10)); } }} items={sms.length > 0 ? sms.map((ele, idx) => ({ key: `${idx}`, label: `短信${idx + 1}`, children: (
<> setValue(`${idx}.secretId`, e.target.value)}/> <> setValue(`${idx}.secretKey`, e.target.value)}/> <> setValue(`${idx}.smsSdkAppId`, e.target.value)}/> <> setValue(`${idx}.region`, e.target.value)}/> <> setValue(`${idx}.endpoint`, e.target.value)}/> <> setValue(`${idx}.defaultSignName`, e.target.value)}/> 0)} onEdit={(targetKey, action) => { if (action === 'add') { setSmsIndex(`${idx}`); setModal(true); } else { cleanKey(`${idx}.templates`, targetKey); } }} items={Object.keys(ele.templates || {}).length > 0 ? Object.keys(ele.templates).map((name, idx) => { const template = ele.templates[name]; return { key: `${name}`, label: `${name}`, children: ( <> setValue(`${idx}.templates.${name}.signName`, e .target .value)}/> <> setValue(`${idx}.templates.${name}.code`, e .target .value)}/> ), }; }) : []}>
), })) : []}>
{ setModal(false); setLabelType(''); }} onOk={() => { if (!labelType) { message.error({ content: '请输入标签名称', }); return; } const templates = get(sms, `${smsIndex}.templates`) || {}; if (Object.keys(templates).includes(labelType)) { message.error({ content: '已存在相同的标签名,请重新输入', }); return; } setValue(`${smsIndex}.templates.${labelType}`, {}); setModal(false); setLabelType(''); setSmsIndex(''); }} open={open} cancelText="取消" okText="确定" destroyOnClose={true}>
<> setLabelType(e.target.value.replace(/[0-9-.]/g, ''))}/>
); } function CTYun(props) { const [open, setModal] = useState(false); const [smsIndex, setSmsIndex] = useState(''); const [labelType, setLabelType] = useState(''); const { sms, setValue, addItem, removeItem, cleanKey } = props; return ( 天翼云云短信配置 0)} onEdit={(targetKey, action) => { if (action === 'add') { addItem('', sms.length); } else { removeItem('', parseInt(targetKey, 10)); } }} items={sms.length > 0 ? sms.map((ele, idx) => ({ key: `${idx}`, label: `短信${idx + 1}`, children: (
<> setValue(`${idx}.accessKey`, e.target.value)}/> <> setValue(`${idx}.securityKey`, e.target.value)}/> <> setValue(`${idx}.endpoint`, e.target.value)}/> <> setValue(`${idx}.defaultSignName`, e.target.value)}/> {/* 0)} onEdit={( targetKey: any, action: 'add' | 'remove' ) => { if (action === 'add') { setSmsIndex(`${idx}`); setModal(true); } else { cleanKey( `${idx}.templates`, targetKey ); } }} items={ Object.keys( ele.templates || {} ).length > 0 ? Object.keys( ele.templates ).map((name, idx) => { const template = ele.templates[ name ]; return { key: `${name}`, label: `${name}`, children: ( <> setValue( `${idx}.templates.${name}.signName`, e .target .value ) } /> <> setValue( `${idx}.templates.${name}.code`, e .target .value ) } /> ), }; }) : [] } >
*/} ), })) : []}>
{ setModal(false); setLabelType(''); }} onOk={() => { if (!labelType) { message.error({ content: '请输入标签名称', }); return; } const templates = get(sms, `${smsIndex}.templates`) || {}; if (Object.keys(templates).includes(labelType)) { message.error({ content: '已存在相同的标签名,请重新输入', }); return; } setValue(`${smsIndex}.templates.${labelType}`, {}); setModal(false); setLabelType(''); setSmsIndex(''); }} open={open} cancelText="取消" okText="确定" destroyOnClose={true}>
<> setLabelType(e.target.value.replace(/[0-9-.]/g, ''))}/>
); } export default function Sms(props) { const { sms, setValue, removeItem, cleanKey } = props; const { ali, tencent, ctyun } = sms; return ( 每种均可配置一个,相应的服务所使用的帐号请准确对应 短信配置
<> setValue(`mockSend`, checked)}/> <> setValue(`defaultCodeTemplateName`, e.target.value)}/> { const val = e.target.value; if (val) { setValue(`defaultCodeDuration`, Number(val)); } else { setValue(`defaultCodeDuration`, val); } }} suffix="分钟"/>
setValue(`tencent.${path}`, value)} removeItem={(path, index) => removeItem(`tencent`, index)} addItem={(path, index) => setValue(`tencent.${index}`, {})} cleanKey={(path, key) => cleanKey(`tencent.${path}`, key)}/> setValue(`ali.${path}`, value)} removeItem={(path, index) => removeItem(`ali`, index)} addItem={(path, index) => setValue(`ali.${index}`, {})} cleanKey={(path, key) => cleanKey(`ali.${path}`, key)}/> setValue(`ctyun.${path}`, value)} removeItem={(path, index) => removeItem(`ctyun`, index)} addItem={(path, index) => setValue(`ctyun.${index}`, {})} cleanKey={(path, key) => cleanKey(`ctyun.${path}`, key)}/>
); }