ソースを参照

add function: change account name

tianyunperfect 5 年 前
コミット
05dba0497a

+ 10 - 1
src/pages/Memory/index.less

@@ -2,6 +2,15 @@
   display: inline;
 }
 
-.btn-right{
+
+.btnRight{
   margin-right: 5px;
 }
+
+.divBottom{
+  margin-bottom: 5px;
+}
+
+.minHeight{
+  min-height: 100px;
+}

+ 73 - 56
src/pages/Memory/index.tsx

@@ -6,6 +6,7 @@ import Quill from "@/pages/Memory/components/Quill";
 import {TableListItem} from '../MemoryList/data.d';
 import service from './service';
 import UpdateForm from "@/pages/Memory/components/UpdateForm";
+import styles from './index.less'
 
 enum Step {
   MAIN = 0,
@@ -60,6 +61,19 @@ const TableList: React.FC<{}> = () => {
     setTimeout(() => {
       countRemind();
     }, 1000 * 60 * 60)  // 每隔一个小时查询一次
+
+    document.onkeydown = (ev)=> {
+      if (ev.key === ' ' && state.step === Step.MEMORY) {
+        ev.preventDefault(); // 关闭浏览器快捷键
+        if (state.showBack == false) {
+          setState({showBack: true});
+        } else {
+          memorySuccess(2);
+        }
+
+      }
+
+    }
   }, []);
 
   /**
@@ -169,81 +183,84 @@ const TableList: React.FC<{}> = () => {
                 }}
                 value={memory.back}/>
               <p/>
-              <Button
-                type="primary"
-                onClick={() => {
-                  memorySuccess(0.5);
-                }}
-              >
-                生疏
-              </Button>
-              <span> </span>
-              <Button
-                type="primary"
-                onClick={() => {
-                  memorySuccess(2);
-                }}
-              >
-                一般
-              </Button>
-              <span> </span>
-              <Button
-                type="primary"
-                onClick={() => {
-                  memorySuccess(3);
-                }}
-              >
-                简单
-              </Button>
-              <p/>
-              <div>
-                <Button
-                  type="primary"
-                  onClick={async () => {
-                    memoryRes(await service.restart(memory));
-                  }}
-                >
-                  重新开始复习
-                </Button>
-                <span> </span>
+              <div className={styles.divBottom}>
                 <Button
                   type="primary"
-                  onClick={async () => {
-                    memoryRes(await service.noMemory(memory));
+                  onClick={() => {
+                    memorySuccess(0.5);
                   }}
                 >
-                  不在复习
+                  生疏
                 </Button>
                 <span> </span>
-                <Button
-                  type="primary"
-                  onClick={async () => {
-                    memoryRes(await service.delete(memory));
-                  }}
-                >
-                  删除
-                </Button>
-              </div>
-              <p/>
-              <div>
                 <Button
                   type="primary"
                   onClick={() => {
-                    changStepAdd();
+                    memorySuccess(2);
                   }}
                 >
-                  编辑
+                  一般(空格)
                 </Button>
                 <span> </span>
                 <Button
                   type="primary"
                   onClick={() => {
-                    changStepMain();
+                    memorySuccess(3);
                   }}
                 >
-                  关闭
+                  简单
                 </Button>
+                <p/>
+                <div>
+                  <Button
+                    type="primary"
+                    onClick={async () => {
+                      memoryRes(await service.restart(memory));
+                    }}
+                  >
+                    重新开始复习
+                  </Button>
+                  <span> </span>
+                  <Button
+                    type="primary"
+                    onClick={async () => {
+                      memoryRes(await service.noMemory(memory));
+                    }}
+                  >
+                    不在复习
+                  </Button>
+                  <span> </span>
+                  <Button
+                    type="primary"
+                    onClick={async () => {
+                      memoryRes(await service.delete(memory));
+                    }}
+                  >
+                    删除
+                  </Button>
+                </div>
+                <p/>
+                <div>
+                  <Button
+                    type="primary"
+                    onClick={() => {
+                      changStepAdd();
+                    }}
+                  >
+                    编辑
+                  </Button>
+                  <span> </span>
+                  <Button
+                    type="primary"
+                    onClick={() => {
+                      changStepMain();
+                    }}
+                  >
+                    关闭
+                  </Button>
+                </div>
               </div>
+
             </div>
           ) : (
             <div>
@@ -253,7 +270,7 @@ const TableList: React.FC<{}> = () => {
                   setState({showBack: true});
                 }}
               >
-                显示答案
+                显示答案(空格)
               </Button>
             </div>
           )}

+ 84 - 13
src/pages/Setting/index.tsx

@@ -1,23 +1,28 @@
 import {Button, Card, Form, Input, message} from 'antd';
-import React from 'react';
+import React, {useState} from 'react';
 import {PageHeaderWrapper} from '@ant-design/pro-layout';
 import service from './service';
 
-interface PasswordChange{
+interface PasswordChange {
   newPassword: string;
   oldPassword: string;
 }
 
+enum InputState {
+  default = '',
+  success = 'success',
+  error = 'error'
+}
+
 const layout = {
-  labelCol: { span: 4 },
-  wrapperCol: { span: 18 },
+  labelCol: {span: 4},
+  wrapperCol: {span: 18},
 };
 const tailLayout = {
-  wrapperCol: { offset: 4, span: 18 },
+  wrapperCol: {offset: 4, span: 18},
 };
 
 
-
 /**
  * 更新节点
  * @param fields
@@ -32,15 +37,50 @@ const handleUpdate = async (fields: PasswordChange) => {
     } else {
       message.error('修改失败!');
     }
-  }catch (e) {
+  } catch (e) {
     console.log(e);
   }
 };
 
+
+
 const TableList: React.FC<{}> = () => {
+  const [success, setSuccess] = useState<InputState>(InputState.default);
+
+  const [form2] = Form.useForm();
+
+  const nameExist = async () => {
+    const res = await service.nameExist({userName: form2.getFieldValue("userName")});
+    if (res.success) {
+      setSuccess(InputState.success);
+      return true;
+    } else {
+      setSuccess(InputState.error);
+    }
+    return false;
+  }
+
+
+  /**
+   * 密码更新
+   * @param values
+   */
   const onFinish = (values: any) => {
     handleUpdate(values);
   };
+  /**
+   * 用户名更新
+   * @param value
+   */
+  const onFinishUserName = async (value: any) => {
+    const res = await service.updateAccountName(value);
+    if (res.success) {
+      message.success('修改成功');
+      history.go(0);
+    } else {
+      message.error('修改失败!');
+    }
+  }
 
   // const onFinishFailed = errorInfo => {
   //   console.log('Failed:', errorInfo);
@@ -48,28 +88,59 @@ const TableList: React.FC<{}> = () => {
 
   return (
     <PageHeaderWrapper title={false}>
-      <Card title="重置密码"  style={{ width: '100%' }}>
+
+      <Card title="修改用户名" style={{width: '100%'}}>
+        <Form
+          {...layout}
+          name="basic"
+          form={form2}
+          initialValues={{remember: true}}
+          onFinish={onFinishUserName}
+          // onFinishFailed={onFinishFailed}
+        >
+          <Form.Item
+            label="新用户名"
+            name="userName"
+            hasFeedback
+            validateStatus={success}
+          >
+            <Input />
+          </Form.Item>
+
+          <Form.Item {...tailLayout}>
+            <Button type="primary" htmlType="button" onClick={nameExist}>
+              校验
+            </Button>
+            <span> </span>
+            <Button type="primary" htmlType="submit">
+              提交
+            </Button>
+          </Form.Item>
+        </Form>
+      </Card>
+
+      <Card title="重置密码" style={{width: '100%'}}>
         <Form
           {...layout}
           name="basic"
-          initialValues={{ remember: true }}
+          initialValues={{remember: true}}
           onFinish={onFinish}
           // onFinishFailed={onFinishFailed}
         >
           <Form.Item
             label="旧密码"
             name="oldPassword"
-            rules={[{ required: true, message: '请输入旧密码!' }]}
+            rules={[{required: true, message: '请输入旧密码!'}]}
           >
-            <Input.Password />
+            <Input.Password/>
           </Form.Item>
 
           <Form.Item
             label="新密码"
             name="newPassword"
-            rules={[{ required: true, message: '请输入旧密码' }]}
+            rules={[{required: true, message: '请输入旧密码'}]}
           >
-            <Input.Password />
+            <Input.Password/>
           </Form.Item>
 
           <Form.Item {...tailLayout}>

+ 2 - 0
src/pages/Setting/service.ts

@@ -4,4 +4,6 @@ export default {
   queryList: api.get('/service/queryList'),
   forceUpdateModel: api.post('/service/forceUpdate'),
   updatePassword: api.get('/api/user/resetPassword'),
+  nameExist: api.get('/api/user/nameExist'),
+  updateAccountName: api.get('/api/user/updateAccountName'),
 };