import React, { useState } from 'react';
import { Button, Space, Switch, Affix, Alert, Typography, Modal, Divider, Tag, Row, Tooltip, } from 'antd';
import Styles from './web.pc.module.less';
import classNames from 'classnames';
import { ExclamationCircleFilled } from '@ant-design/icons';
import Sms from './sms';
import Email from './email';
import Password from './password';
import WechatPublicForWeb from './wechatPublicForWeb';
import WechatMpForWeb from './wechatMpForWeb';
import WechatMp from './wechatMp';
import WechatPublic from './wechatPublic';
import LoginName from './loginName';
import Oauth from './oauth';
const { confirm } = Modal;
function AppView(props) {
const { passport, t, changeEnabled, updateConfig } = props;
const { id, type, config, enabled, stateColor } = passport;
return (
{t(`passport:v.type.${type}`)}
{
changeEnabled(checked);
}}/>
);
}
export default function render(props) {
const { data, methods } = props;
const { oakFullpath, oakExecuting, oakDirty, oakLoading, systemId, passports, systemName, oauthOptions } = data;
const { clean, execute, t, updateItem, updateConfig, checkConfrim, myConfirm } = methods;
const [createOpen, setCreateOpen] = useState(false);
const [newType, setNewType] = useState(undefined);
const showConfirm = (warnings) => {
confirm({
title: '确定保存当前更新吗?',
icon: ,
width: 540,
content:
当前登录方式配置存在以下问题可能影响登录:
{warnings.map((ele) => {
return (
{t(`passport:v.type.${ele.type}`)}{t('login')}
{ele.tip}
);
})}
,
async onOk() {
const ids = warnings.map((ele) => ele.id);
await myConfirm(ids);
},
onCancel() {
},
});
};
return (<>
您正在更新
system
对象
{systemName}
的登录配置,请谨慎操作
} type="info" showIcon action={
{/* */}
}/>
* 如需启用邮箱登录,请先前往配置管理邮箱设置,创建系统邮箱,并完成相关配置
* 如需启用小程序授权登录,请先前往应用管理,创建小程序application,并完成基础配置
* 如需启用公众号授权登录,请先前往应用管理,创建是服务号的公众号application,并完成基础配置
* 如需启用OAuth授权登录,请先前往OAuth管理,创建OAuth供应商,并启用
{passports && passports.map((passport) => {
switch (passport.type) {
case 'sms':
return ( {
updateItem({
enabled,
}, passport.id);
}} updateConfig={updateConfig}/>);
case 'email':
return ( {
updateItem({
enabled,
}, passport.id);
}} updateConfig={updateConfig}/>);
case 'password':
return ( {
updateItem({
enabled,
}, passport.id);
}} updateConfig={updateConfig}/>);
case 'wechatPublicForWeb':
return ( {
updateItem({
enabled,
}, passport.id);
}} updateConfig={updateConfig}/>);
case 'wechatMpForWeb':
return ( {
updateItem({
enabled,
}, passport.id);
}} updateConfig={updateConfig}/>);
case 'wechatMp':
return ( {
updateItem({
enabled,
}, passport.id);
}}/>);
case 'wechatPublic':
return ( {
updateItem({
enabled,
}, passport.id);
}}/>);
case 'loginName':
return ( {
updateItem({
enabled,
}, passport.id);
}} updateConfig={updateConfig}/>);
case 'oauth':
return ( {
updateItem({
enabled,
}, passport.id);
}} updateConfig={updateConfig} oauthOptions={oauthOptions}/>);
default:
return ( {
updateItem({
enabled,
}, passport.id);
}} updateConfig={updateConfig}/>);
}
})}
{/* {
methods.addItem({
type: newType,
systemId,
enabled: false,
})
setCreateOpen(false);
}}
onCancel={() => {
setNewType(undefined);
setCreateOpen(false);
}}
destroyOnClose
>
*/}
>);
}