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 > */} ); }