mirror of https://github.com/openspug/spug
				
				
				
			# 移除内置服务相关配置
							parent
							
								
									3d3697e47b
								
							
						
					
					
						commit
						1c955c0332
					
				| 
						 | 
				
			
			@ -5,7 +5,7 @@
 | 
			
		|||
 */
 | 
			
		||||
import React, { useState } from 'react';
 | 
			
		||||
import { observer } from 'mobx-react';
 | 
			
		||||
import { Button, Form, Input, Radio, Space, message } from 'antd';
 | 
			
		||||
import { Button, Form, Input, Space, message } from 'antd';
 | 
			
		||||
import styles from './index.module.css';
 | 
			
		||||
import { http } from 'libs';
 | 
			
		||||
import store from './store';
 | 
			
		||||
| 
						 | 
				
			
			@ -13,7 +13,6 @@ import store from './store';
 | 
			
		|||
export default observer(function () {
 | 
			
		||||
  const [form] = Form.useForm();
 | 
			
		||||
  const setting = store.settings.mail_service || {};
 | 
			
		||||
  const [mode, setMode] = useState(setting.server === undefined ? '1' : '2');
 | 
			
		||||
  const [loading, setLoading] = useState(false);
 | 
			
		||||
 | 
			
		||||
  function handleEmailTest() {
 | 
			
		||||
| 
						 | 
				
			
			@ -37,9 +36,7 @@ export default observer(function () {
 | 
			
		|||
 | 
			
		||||
  function handleSubmit() {
 | 
			
		||||
    let formData = form.getFieldsValue();
 | 
			
		||||
    if (mode === '1') {
 | 
			
		||||
      formData = {}
 | 
			
		||||
    } else if (!formData.server || !formData.port || !formData.username || !formData.password) {
 | 
			
		||||
    if (!formData.server || !formData.port || !formData.username || !formData.password) {
 | 
			
		||||
      return message.error('请完成邮件服务配置');
 | 
			
		||||
    }
 | 
			
		||||
    _doSubmit([{key: 'mail_service', value: formData}])
 | 
			
		||||
| 
						 | 
				
			
			@ -50,15 +47,7 @@ export default observer(function () {
 | 
			
		|||
      <div className={styles.title}>报警服务设置</div>
 | 
			
		||||
      <div style={{maxWidth: 340}}>
 | 
			
		||||
        <Form.Item label="邮件服务" labelCol={{span: 24}} style={{marginTop: 12}} extra="用于通过邮件方式发送报警信息">
 | 
			
		||||
          <Radio.Group
 | 
			
		||||
            value={mode}
 | 
			
		||||
            style={{marginBottom: 8}}
 | 
			
		||||
            buttonStyle="solid"
 | 
			
		||||
            onChange={e => setMode(e.target.value)}>
 | 
			
		||||
            <Radio.Button value="1">内置</Radio.Button>
 | 
			
		||||
            <Radio.Button value="2">自定义</Radio.Button>
 | 
			
		||||
          </Radio.Group>
 | 
			
		||||
          <div style={{marginTop: 12, display: mode === '1' ? 'none' : 'block'}}>
 | 
			
		||||
          <div style={{marginTop: 12}}>
 | 
			
		||||
            <Form form={form} initialValues={setting} labelCol={{span: 7}} wrapperCol={{span: 17}}>
 | 
			
		||||
              <Form.Item required name="server" label="邮件服务器">
 | 
			
		||||
                <Input placeholder="例如:smtp.exmail.qq.com"/>
 | 
			
		||||
| 
						 | 
				
			
			@ -79,7 +68,7 @@ export default observer(function () {
 | 
			
		|||
          </div>
 | 
			
		||||
        </Form.Item>
 | 
			
		||||
        <Space style={{marginTop: 24}}>
 | 
			
		||||
          {mode !== '1' && <Button type="danger" loading={loading} onClick={handleEmailTest}>测试邮件服务</Button>}
 | 
			
		||||
          <Button type="danger" loading={loading} onClick={handleEmailTest}>测试邮件服务</Button>
 | 
			
		||||
          <Button type="primary" loading={store.loading} onClick={handleSubmit}>保存设置</Button>
 | 
			
		||||
        </Space>
 | 
			
		||||
      </div>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,52 +0,0 @@
 | 
			
		|||
/**
 | 
			
		||||
 * Copyright (c) OpenSpug Organization. https://github.com/openspug/spug
 | 
			
		||||
 * Copyright (c) <spug.dev@gmail.com>
 | 
			
		||||
 * Released under the AGPL-3.0 License.
 | 
			
		||||
 */
 | 
			
		||||
import React  from 'react';
 | 
			
		||||
import { observer } from 'mobx-react';
 | 
			
		||||
import { Form, Popover, Input, Button, message } from 'antd';
 | 
			
		||||
import styles from './index.module.css';
 | 
			
		||||
import { http } from 'libs';
 | 
			
		||||
import store from './store';
 | 
			
		||||
 | 
			
		||||
export default observer(function () {
 | 
			
		||||
  function handleSubmit() {
 | 
			
		||||
    const spug_key = store.settings.spug_key;
 | 
			
		||||
    if (!spug_key) return message.error('请输入调用凭据');
 | 
			
		||||
    store.loading = true;
 | 
			
		||||
    http.post('/api/setting/', {data: [{key: 'spug_key', value: spug_key}]})
 | 
			
		||||
      .then(() => {
 | 
			
		||||
        message.success('保存成功');
 | 
			
		||||
        store.fetchSettings()
 | 
			
		||||
      })
 | 
			
		||||
      .finally(() => store.loading = false)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const spugWx = <img src="https://cdn.spug.cc/img/spug-weixin.jpeg" alt='spug'/>;
 | 
			
		||||
  return (
 | 
			
		||||
    <React.Fragment>
 | 
			
		||||
      <div className={styles.title}>基本设置</div>
 | 
			
		||||
      <div style={{maxWidth: 340}}>
 | 
			
		||||
        <Form.Item
 | 
			
		||||
          label="调用凭据"
 | 
			
		||||
          labelCol={{span: 24}}
 | 
			
		||||
          extra={<span>如需要使用Spug的邮件、微信和MFA等内置服务,请关注公众号
 | 
			
		||||
              <span style={{color: '#008dff', cursor: 'pointer'}}>
 | 
			
		||||
                  <Popover content={spugWx}>
 | 
			
		||||
                    <span>Spug</span>
 | 
			
		||||
                  </Popover>
 | 
			
		||||
              </span>
 | 
			
		||||
              在【我的】页面获取调用凭据,否则请留空。</span>}>
 | 
			
		||||
          <Input
 | 
			
		||||
            value={store.settings.spug_key}
 | 
			
		||||
            onChange={e => store.update('spug_key', e.target.value)}
 | 
			
		||||
            placeholder="请输入Spug微信公众号获取到的Token"/>
 | 
			
		||||
        </Form.Item>
 | 
			
		||||
        <Form.Item style={{marginTop: 24}}>
 | 
			
		||||
          <Button type="primary" loading={store.loading} onClick={handleSubmit}>保存设置</Button>
 | 
			
		||||
        </Form.Item>
 | 
			
		||||
      </div>
 | 
			
		||||
    </React.Fragment>
 | 
			
		||||
  )
 | 
			
		||||
})
 | 
			
		||||
| 
						 | 
				
			
			@ -6,7 +6,6 @@
 | 
			
		|||
import React from 'react';
 | 
			
		||||
import { Menu } from 'antd';
 | 
			
		||||
import { AuthDiv, Breadcrumb } from 'components';
 | 
			
		||||
import BasicSetting from './BasicSetting';
 | 
			
		||||
import AlarmSetting from './AlarmSetting';
 | 
			
		||||
import LDAPSetting from './LDAPSetting';
 | 
			
		||||
import OpenService from './OpenService';
 | 
			
		||||
| 
						 | 
				
			
			@ -22,7 +21,7 @@ class Index extends React.Component {
 | 
			
		|||
  constructor(props) {
 | 
			
		||||
    super(props);
 | 
			
		||||
    this.state = {
 | 
			
		||||
      selectedKeys: ['basic']
 | 
			
		||||
      selectedKeys: ['security']
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -46,7 +45,6 @@ class Index extends React.Component {
 | 
			
		|||
              selectedKeys={selectedKeys}
 | 
			
		||||
              style={{border: 'none'}}
 | 
			
		||||
              onSelect={({selectedKeys}) => this.setState({selectedKeys})}>
 | 
			
		||||
              <Menu.Item key="basic">基本设置</Menu.Item>
 | 
			
		||||
              <Menu.Item key="security">安全设置</Menu.Item>
 | 
			
		||||
              <Menu.Item key="ldap">LDAP设置</Menu.Item>
 | 
			
		||||
              <Menu.Item key="key">密钥设置</Menu.Item>
 | 
			
		||||
| 
						 | 
				
			
			@ -57,7 +55,6 @@ class Index extends React.Component {
 | 
			
		|||
            </Menu>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div className={styles.right}>
 | 
			
		||||
            {selectedKeys[0] === 'basic' && <BasicSetting/>}
 | 
			
		||||
            {selectedKeys[0] === 'security' && <SecuritySetting/>}
 | 
			
		||||
            {selectedKeys[0] === 'ldap' && <LDAPSetting/>}
 | 
			
		||||
            {selectedKeys[0] === 'alarm' && <AlarmSetting/>}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue