张涛 il y a 1 an
Parent
révision
a151397ebd

+ 17
- 0
package-lock.json Voir le fichier

@@ -18,6 +18,7 @@
18 18
         "classnames": "^2.3.2",
19 19
         "echarts": "^5.4.0",
20 20
         "i18next": "^23.9.0",
21
+        "i18next-browser-languagedetector": "^7.2.0",
21 22
         "md5": "^2.3.0",
22 23
         "moment": "^2.29.4",
23 24
         "react": "18.2.0",
@@ -2349,6 +2350,14 @@
2349 2350
         "@babel/runtime": "^7.23.2"
2350 2351
       }
2351 2352
     },
2353
+    "node_modules/i18next-browser-languagedetector": {
2354
+      "version": "7.2.0",
2355
+      "resolved": "https://registry.npmmirror.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.0.tgz",
2356
+      "integrity": "sha512-U00DbDtFIYD3wkWsr2aVGfXGAj2TgnELzOX9qv8bT0aJtvPV9CRO77h+vgmHFBMe7LAxdwvT/7VkCWGya6L3tA==",
2357
+      "dependencies": {
2358
+        "@babel/runtime": "^7.23.2"
2359
+      }
2360
+    },
2352 2361
     "node_modules/iconv-lite": {
2353 2362
       "version": "0.6.3",
2354 2363
       "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz",
@@ -5838,6 +5847,14 @@
5838 5847
         "@babel/runtime": "^7.23.2"
5839 5848
       }
5840 5849
     },
5850
+    "i18next-browser-languagedetector": {
5851
+      "version": "7.2.0",
5852
+      "resolved": "https://registry.npmmirror.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.0.tgz",
5853
+      "integrity": "sha512-U00DbDtFIYD3wkWsr2aVGfXGAj2TgnELzOX9qv8bT0aJtvPV9CRO77h+vgmHFBMe7LAxdwvT/7VkCWGya6L3tA==",
5854
+      "requires": {
5855
+        "@babel/runtime": "^7.23.2"
5856
+      }
5857
+    },
5841 5858
     "iconv-lite": {
5842 5859
       "version": "0.6.3",
5843 5860
       "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz",

BIN
public/img/step4.jpg Voir le fichier


BIN
public/img/step5.jpg Voir le fichier


BIN
public/img/step6.jpg Voir le fichier


+ 6
- 0
src/layouts/AuthLayout/RequireLogin.jsx Voir le fichier

@@ -1,6 +1,7 @@
1 1
 import React, { useState, useEffect } from "react";
2 2
 import { useNavigate } from "react-router-dom";
3 3
 import { useModel } from "@/store";
4
+import { currentUser } from "@/services/login";
4 5
 
5 6
 export default (props) => {
6 7
   const { user, getCurrentUser } = useModel("user");
@@ -18,6 +19,11 @@ export default (props) => {
18 19
           setUserStatus(-1);
19 20
         });
20 21
     }
22
+    currentUser().then((res) => {
23
+      if (!res.user?.email) {
24
+        navigate("/bindEmail");
25
+      }
26
+    });
21 27
   }, []);
22 28
 
23 29
   useEffect(() => {

+ 11
- 0
src/locale/zh.json Voir le fichier

@@ -155,6 +155,10 @@
155 155
     "btnText4": "去提交",
156 156
     "text4": "请结合您的实际业务运营情况及时提交新的业务场景",
157 157
 
158
+    "title5": "启用谷歌身份验证器",
159
+    "btnText5": "去启用",
160
+    "text5": "为了您的账户安全,请启用谷歌身份验证器(Google Authenticator)",
161
+
158 162
     "emailTitle": "修改邮箱",
159 163
     "emailInput1": "原始邮箱",
160 164
     "emailInput2": "新邮箱",
@@ -183,5 +187,12 @@
183 187
     "title4": "填写企业受益所有人信息",
184 188
     "title5": "人脸识别",
185 189
     "title6": "确认提交"
190
+  },
191
+  "bindEmail": {
192
+    "extra": "请绑定您的邮箱",
193
+    "label": "邮箱",
194
+    "placeholder": "请输入邮箱",
195
+    "message": "请输入邮箱",
196
+    "submit": "确定"
186 197
   }
187 198
 }

+ 6
- 5
src/pages/accountsettings/components/ChangeModalEmail.jsx Voir le fichier

@@ -10,18 +10,19 @@ import { useNavigate } from "react-router-dom";
10 10
 import { useTranslation } from 'react-i18next';
11 11
 
12 12
 export default (props) => {
13
-  const { opEmail, setOpEmail } = props;
13
+  const { opEmail, setOpEmail, setEmail, hideEmail } = props;
14 14
   const navigate = useNavigate();
15 15
   const { t } = useTranslation();
16 16
 
17 17
   const onFinish = async (values) => {
18 18
     const data = {
19
-      originEmail: md5(values.email),
20
-      newEmail: md5(values.newEmail),
19
+      originEmail: values.email,
20
+      newEmail: values.newEmail,
21 21
     };
22 22
     await changeEmail(data);
23
-    navigate(`/login`);
24
-
23
+    let email = hideEmail(values?.newEmail);
24
+    setEmail(email)
25
+    setOpEmail(false)
25 26
     return true;
26 27
   };
27 28
 

+ 1
- 1
src/pages/accountsettings/components/ChangeModalPhone.jsx Voir le fichier

@@ -27,7 +27,7 @@ export default (props) => {
27 27
 
28 28
   return (
29 29
     <ModalForm
30
-      title={t('accountsettings.emailTitle')}
30
+      title={t('accountsettings.phoneTitle')}
31 31
       width="480px"
32 32
       open={opPhone}
33 33
       modalProps={{

+ 36
- 3
src/pages/accountsettings/index.jsx Voir le fichier

@@ -13,14 +13,31 @@ export default (props) => {
13 13
   const [opPhone, setOpPhone] = useState(false);
14 14
   const [opEmail, setOpEmail] = useState(false);
15 15
   const [phone, setPhone] = useState();
16
+  const [email, setEmail] = useState();
16 17
 
17 18
   const navigate = useNavigate();
18 19
 
19 20
   const { t } = useTranslation();
21
+
22
+  const hideEmail = (email) => {
23
+    // 分割邮箱地址,获取用户名和域名部分  
24
+    const [user, domain] = email?.split('@');
25
+
26
+    // 替换用户名的中间部分为星号  
27
+    const hiddenUser = user.charAt(0) + '****' + user.charAt(user.length - 1);
28
+    console.log('hiddenUser', hiddenUser);
29
+
30
+    // 重新组合隐藏的邮箱地址  
31
+    const hiddenEmail = `${hiddenUser}@${domain}`;
32
+
33
+    return hiddenEmail;
34
+  }
20 35
   useEffect(() => {
21 36
     currentUser().then((res) => {
22 37
       let secretPhone = (res.user.phone).replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
38
+      let secretEmail = hideEmail(res.user.email);
23 39
       setPhone(secretPhone)
40
+      setEmail(secretEmail)
24 41
     })
25 42
   }, [])
26 43
 
@@ -72,7 +89,7 @@ export default (props) => {
72 89
         </div>
73 90
 
74 91
         <div style={{ display: "flex", alignItems: "stretch", marginTop: '24px' }}>
75
-          <div style={{ flex: 0.5, marginRight: '24px' }}>
92
+          <div style={{ flex: 1, marginRight: '24px' }}>
76 93
             <Card>
77 94
               <div style={{ display: "flex", alignItems: "stretch" }}>
78 95
                 <div style={{ flex: 0.4, display: "flex", justifyContent: "center" }}>
@@ -83,7 +100,23 @@ export default (props) => {
83 100
                     <div style={{ fontSize: "16px", fontWeight: "bold" }}>{t('accountsettings.title3')}</div>
84 101
                     <Button type="ghost" onClick={onOpenEmail}>{t('accountsettings.btnText3')}</Button>
85 102
                   </div>
86
-                  <div style={{ paddingTop: '1em', color: '#bfbfbf' }}>{t('accountsettings.text3')}99****qq.com</div>
103
+                  <div style={{ paddingTop: '1em', color: '#bfbfbf' }}>{t('accountsettings.text3')}{email}</div>
104
+                </div>
105
+              </div>
106
+            </Card>
107
+          </div>
108
+          <div style={{ flex: 1 }}>
109
+            <Card>
110
+              <div style={{ display: "flex", alignItems: "stretch" }}>
111
+                <div style={{ flex: 0.4, display: "flex", justifyContent: "center" }}>
112
+                  <img src="	https://qbitnetwork.com/app/img/ga-qbit.06a15090.png" alt={t('accountsettings.title5')} width="100" />
113
+                </div>
114
+                <div style={{ flex: 1.6 }}>
115
+                  <div style={{ display: "flex", justifyContent: "space-between", paddingTop: '10px' }}>
116
+                    <div style={{ fontSize: "16px", fontWeight: "bold" }}>{t('accountsettings.title5')}</div>
117
+                    <Button type="ghost">{t('accountsettings.btnText5')}</Button>
118
+                  </div>
119
+                  <div style={{ paddingTop: '1em', color: '#bfbfbf' }}>{t('accountsettings.text5')}</div>
87 120
                 </div>
88 121
               </div>
89 122
             </Card>
@@ -113,7 +146,7 @@ export default (props) => {
113 146
 
114 147
         <ChangeModalPhone opPhone={opPhone} setOpPhone={setOpPhone} />
115 148
         <ChangeModalPassword visible={visible} setVisible={setVisible} />
116
-        <ChangeModalEmail opEmail={opEmail} setOpEmail={setOpEmail} />
149
+        <ChangeModalEmail opEmail={opEmail} setOpEmail={setOpEmail} setEmail={setEmail} hideEmail={hideEmail} />
117 150
       </Page>
118 151
     </div>
119 152
   )

+ 13
- 12
src/pages/authentication/components/EveryoneInfo.jsx Voir le fichier

@@ -1,5 +1,5 @@
1 1
 import React, { useEffect, useState } from "react";
2
-import { Card, Button, Radio, Form, Select } from "antd";
2
+import { Card, Button, Radio, Form, Select, Checkbox } from "antd";
3 3
 import UploadFile from "@/components/Upload/UploadFile";
4 4
 import { useTranslation } from "react-i18next";
5 5
 import {
@@ -121,7 +121,7 @@ export default (props) => {
121 121
           });
122 122
         }
123 123
       })
124
-      .catch((err) => {});
124
+      .catch((err) => { });
125 125
   }, []);
126 126
 
127 127
   return (
@@ -212,7 +212,7 @@ export default (props) => {
212 212
                     <Form.Item
213 213
                       name="otherBeneficiaryNum"
214 214
                       label="贵公司其他受益所有人的数量为?"
215
-                      // initialValue={otherBeneficiaryNum || 1}
215
+                    // initialValue={otherBeneficiaryNum || 1}
216 216
                     >
217 217
                       <Select
218 218
                         options={[
@@ -250,18 +250,19 @@ export default (props) => {
250 250
             {t("authentication.everyoneInfoRadioTip")}
251 251
           </div>
252 252
 
253
-          {/* 这个是 我已阅读并同意 的东西,涛哥你看适当放开 */}
254
-          {/* <Form.Item
253
+          <Form.Item
255 254
             name="check"
256 255
             rules={[{ required: true, message: "请阅读并勾选协议" }]}
257 256
           >
258
-            <Checkbox>
259
-              {t("authentication.everyoneInfoAgreement")}
260
-              <a>{t("authentication.everyoneInfoAgreementTitle1")}</a>
261
-              {t("authentication.everyoneInfoAgreementEnd")}
262
-              <a>{t("authentication.everyoneInfoAgreementTitle2")}</a>
263
-            </Checkbox>
264
-          </Form.Item> */}
257
+            <Checkbox.Group value="1">
258
+              <Checkbox value="1">
259
+                {t("authentication.everyoneInfoAgreement")}
260
+                <a>{t("authentication.everyoneInfoAgreementTitle1")}</a>
261
+                {t("authentication.everyoneInfoAgreementEnd")}
262
+                <a>{t("authentication.everyoneInfoAgreementTitle2")}</a>
263
+              </Checkbox>
264
+            </Checkbox.Group>
265
+          </Form.Item>
265 266
 
266 267
           <Form.Item style={{ marginTop: "24px" }}>
267 268
             <Button

+ 49
- 0
src/pages/bindEmail/index.jsx Voir le fichier

@@ -0,0 +1,49 @@
1
+import React, { useState, useEffect } from "react";
2
+import { Divider, Card, Button, Radio, Form, Input, Row, Col } from "antd";
3
+import { useTranslation } from 'react-i18next';
4
+import { useNavigate } from "react-router-dom";
5
+import { changeEmail } from "@/services/login";
6
+
7
+export default (props) => {
8
+  const navigate = useNavigate();
9
+
10
+  const { t } = useTranslation();
11
+  const [form] = Form.useForm();
12
+
13
+  const onFinish = (values) => {
14
+    changeEmail(values).then((res) => {
15
+      navigate("/authentication");
16
+    })
17
+  };
18
+
19
+  return (
20
+    <Row justify="center" style={{ marginTop: '48px' }}>
21
+      <Col span={12}>
22
+        <Card
23
+          title={
24
+            <div>
25
+              {t('bindEmail.extra')}
26
+            </div>}
27
+        >
28
+          <Form
29
+            form={form}
30
+            size="large"
31
+            onFinish={onFinish}
32
+          >
33
+            <Form.Item label={t('bindEmail.label')} rules={[{ required: true, message: t('bindEmail.message') }]} name="newEmail">
34
+              <Input placeholder={t('bindEmail.placeholder')} />
35
+
36
+            </Form.Item>
37
+            <Form.Item>
38
+              <div style={{ display: 'flex', justifyContent: 'flex-end' }}>
39
+                <Button type="primary" htmlType="submit">
40
+                  {t('bindEmail.submit')}
41
+                </Button>
42
+              </div>
43
+            </Form.Item>
44
+          </Form>
45
+        </Card>
46
+      </Col>
47
+    </Row>
48
+  )
49
+}

+ 3
- 3
src/pages/incorporation/index.jsx Voir le fichier

@@ -36,21 +36,21 @@ export default (props) => {
36 36
         <Card>
37 37
           <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', padding: '0 24px' }}>
38 38
             <div style={{ textAlign: 'center' }}>
39
-              <img src="https://qbitnetwork.com/app/img/register-img-1.f346588c.png" width="130px" />
39
+              <img src="./img/step4.jpg" width="130px" />
40 40
               <div style={{ fontSize: '14px', fontWeight: 'bold' }}>
41 41
                 {t('incorporation.title4')}
42 42
               </div>
43 43
             </div>
44 44
             <div style={{ border: '1px dashed #82ced2', width: '20vw' }} />
45 45
             <div style={{ textAlign: 'center' }}>
46
-              <img src="https://qbitnetwork.com/app/img/register-img-2.cc735250.png" width="130px" />
46
+              <img src="./img/step5.jpg" width="130px" />
47 47
               <div style={{ fontSize: '14px', fontWeight: 'bold' }}>
48 48
                 {t('incorporation.title5')}
49 49
               </div>
50 50
             </div>
51 51
             <div style={{ border: '1px dashed #82ced2', width: '20vw' }} />
52 52
             <div style={{ textAlign: 'center' }}>
53
-              <img src="https://qbitnetwork.com/app/img/register-img-3.b5b8bd86.png" width="130px" />
53
+              <img src="./img/step6.jpg" width="130px" />
54 54
               <div style={{ fontSize: '14px', fontWeight: 'bold' }}>
55 55
                 {t('incorporation.title6')}
56 56
               </div>

+ 35
- 33
src/pages/qRegister/QRegister.jsx Voir le fichier

@@ -17,28 +17,29 @@ export default (props) => {
17 17
   const formRef = useRef();
18 18
 
19 19
   const onFinish = (values) => {
20
-    // setLoading(true);
21
-    // register({
22
-    //   userName: values.userName,
23
-    //   loginType: "admin.pc",
24
-    //   password: values.password,
25
-    //   phone: values.phone
26
-    // })
27
-    //   .then((res) => {
28
-    //     setLoading(true);
29
-    //     try {
30
-    //       navigate("/qLogin");
31
-    //     } catch (e) {
32
-    //       message.error(e);
33
-    //     }
34
-    //     setLoading(false);
35
-    //   })
36
-    //   .catch((err) => {
37
-    //     setLoading(false);
38
-    //   });
20
+    setLoading(true);
21
+    register({
22
+      userName: values.userName,
23
+      loginType: "admin.pc",
24
+      password: values.password,
25
+      phone: values.phone,
26
+      wxNum: values.wxNum,
27
+      invitationCode: values.invitationCode
28
+    })
29
+      .then((res) => {
30
+        setLoading(true);
31
+        try {
32
+          navigate("/qLogin");
33
+        } catch (e) {
34
+          message.error(e);
35
+        }
36
+        setLoading(false);
37
+      })
38
+      .catch((err) => {
39
+        setLoading(false);
40
+      });
39 41
 
40
-    // setLoading(false);
41
-    navigate("/qLogin");
42
+    setLoading(false);
42 43
   }
43 44
 
44 45
   return (
@@ -114,29 +115,30 @@ export default (props) => {
114 115
         </Form.Item> */}
115 116
         <Form.Item
116 117
           label="微信号(选填)"
117
-          name="wxId"
118
+          name="wxNum"
118 119
         >
119 120
           <Input placeholder="请输入微信号/手机号" style={{ borderRadius: "4px" }} />
120 121
         </Form.Item>
121 122
         <Form.Item
122 123
           label="邀请码(选填)"
123
-          name="ycCode"
124
+          name="invitationCode"
124 125
         >
125 126
           <Input placeholder="若有,请输入邀请码" style={{ borderRadius: "4px" }} />
126 127
         </Form.Item>
127
-        {/* 这个是 我已阅读并同意 的东西,涛哥你看适当放开 */}
128 128
 
129
-        {/* <Form.Item name="check"
129
+        <Form.Item name="check"
130 130
           rules={[{ required: true, message: '请阅读并勾选协议' }]}>
131
-          <Checkbox>
132
-            <div>
133
-              <span>我已阅读并同意</span>
134
-              <a href="https://qbitnetwork.com/terms?type=QbitGeneralTermsAndConditions" target="_blank">快云 General Terms and Conditions</a>和
135
-              <a href="https://qbitnetwork.com/terms?type=PrivacyPolicies" target="_blank">Privacy Policies</a>
136
-            </div>
131
+          <Checkbox.Group value="1">
132
+            <Checkbox value="1">
133
+              <div>
134
+                <span>我已阅读并同意</span>
135
+                <a href="https://qbitnetwork.com/terms?type=QbitGeneralTermsAndConditions" target="_blank">快云 General Terms and Conditions</a>和
136
+                <a href="https://qbitnetwork.com/terms?type=PrivacyPolicies" target="_blank">Privacy Policies</a>
137
+              </div>
137 138
 
138
-          </Checkbox>
139
-        </Form.Item> */}
139
+            </Checkbox>
140
+          </Checkbox.Group>
141
+        </Form.Item>
140 142
         <Form.Item>
141 143
           <Button
142 144
             type="primary"

+ 9
- 0
src/routes/routes.jsx Voir le fichier

@@ -27,6 +27,7 @@ import StoreForeignExchange from "@/pages/storeforeignexchange";
27 27
 import QuantuMstored from "@/pages/quantumstored";
28 28
 import QuantumCredit from "@/pages/quantumcredit";
29 29
 import TransactionInquiry from "@/pages/transactioninquiry";
30
+import BindEmail from "@/pages/bindEmail";
30 31
 import FirstPage from "@/pages/firstPage/index";
31 32
 
32 33
 import QLogin from "@/pages/qLogin/index";
@@ -180,6 +181,14 @@ export const authRoutes = [
180 181
       icon: <SettingOutlined />,
181 182
     },
182 183
   },
184
+  {
185
+    path: "bindEmail",
186
+    element: <BindEmail />,
187
+    meta: {
188
+      title: "绑定邮箱",
189
+      hideInMenu: true,
190
+    },
191
+  },
183 192
 ];
184 193
 
185 194
 export const defaultRoutes = [

+ 50
- 151
yarn.lock Voir le fichier

@@ -262,7 +262,7 @@
262 262
   resolved "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.22.3.tgz"
263 263
   integrity sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==
264 264
 
265
-"@babel/core@^7.12.10", "@babel/core@^7.19.6":
265
+"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.12.10", "@babel/core@^7.19.6":
266 266
   version "7.22.1"
267 267
   resolved "https://registry.npmmirror.com/@babel/core/-/core-7.22.1.tgz"
268 268
   integrity sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==
@@ -509,7 +509,7 @@
509 509
   dependencies:
510 510
     tslib "^2.0.0"
511 511
 
512
-"@dnd-kit/core@^6.0.8":
512
+"@dnd-kit/core@^6.0.7", "@dnd-kit/core@^6.0.8":
513 513
   version "6.0.8"
514 514
   resolved "https://registry.npmmirror.com/@dnd-kit/core/-/core-6.0.8.tgz"
515 515
   integrity sha512-lYaoP8yHTQSLlZe6Rr9qogouGUz9oRUj4AHhDQGQzq/hqaJRpFo65X+JKsdHf8oUFBzx5A+SJPUvxAwTF2OabA==
@@ -543,16 +543,6 @@
543 543
   resolved "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.7.5.tgz"
544 544
   integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
545 545
 
546
-"@esbuild/android-arm@0.15.18":
547
-  version "0.15.18"
548
-  resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz#266d40b8fdcf87962df8af05b76219bc786b4f80"
549
-  integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==
550
-
551
-"@esbuild/linux-loong64@0.15.18":
552
-  version "0.15.18"
553
-  resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz#128b76ecb9be48b60cf5cfc1c63a4f00691a3239"
554
-  integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==
555
-
556 546
 "@formatjs/ecma402-abstract@1.18.2":
557 547
   version "1.18.2"
558 548
   resolved "https://registry.npmmirror.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.18.2.tgz"
@@ -654,16 +644,16 @@
654 644
   resolved "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz"
655 645
   integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
656 646
 
657
-"@jridgewell/sourcemap-codec@1.4.14":
658
-  version "1.4.14"
659
-  resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz"
660
-  integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
661
-
662 647
 "@jridgewell/sourcemap-codec@^1.4.10":
663 648
   version "1.4.15"
664 649
   resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
665 650
   integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
666 651
 
652
+"@jridgewell/sourcemap-codec@1.4.14":
653
+  version "1.4.14"
654
+  resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz"
655
+  integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
656
+
667 657
 "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
668 658
   version "0.3.18"
669 659
   resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz"
@@ -748,7 +738,7 @@
748 738
     "@uppy/utils" "^4.1.2"
749 739
     namespace-emitter "^2.0.1"
750 740
 
751
-"@uppy/core@^2.1.1":
741
+"@uppy/core@^2.0.3", "@uppy/core@^2.1.1", "@uppy/core@^2.1.4", "@uppy/core@^2.3.3":
752 742
   version "2.3.4"
753 743
   resolved "https://registry.npmmirror.com/@uppy/core/-/core-2.3.4.tgz"
754 744
   integrity sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==
@@ -774,7 +764,7 @@
774 764
   dependencies:
775 765
     lodash.throttle "^4.1.1"
776 766
 
777
-"@uppy/xhr-upload@^2.0.3":
767
+"@uppy/xhr-upload@^2.0.3", "@uppy/xhr-upload@^2.0.7":
778 768
   version "2.1.3"
779 769
   resolved "https://registry.npmmirror.com/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz"
780 770
   integrity sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==
@@ -796,7 +786,7 @@
796 786
     magic-string "^0.26.7"
797 787
     react-refresh "^0.14.0"
798 788
 
799
-"@wangeditor/basic-modules@^1.1.7":
789
+"@wangeditor/basic-modules@^1.1.7", "@wangeditor/basic-modules@1.x":
800 790
   version "1.1.7"
801 791
   resolved "https://registry.npmmirror.com/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz"
802 792
   integrity sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==
@@ -810,7 +800,7 @@
810 800
   dependencies:
811 801
     prismjs "^1.23.0"
812 802
 
813
-"@wangeditor/core@^1.1.19":
803
+"@wangeditor/core@^1.1.19", "@wangeditor/core@>=1.1.0", "@wangeditor/core@1.x":
814 804
   version "1.1.19"
815 805
   resolved "https://registry.npmmirror.com/@wangeditor/core/-/core-1.1.19.tgz"
816 806
   integrity sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==
@@ -827,7 +817,7 @@
827 817
   resolved "https://registry.npmmirror.com/@wangeditor/editor-for-react/-/editor-for-react-1.0.6.tgz"
828 818
   integrity sha512-KJNSfgMr5Blzae3oyaiz20flMKHZHnvsz4bCYQKDCUs/qkvC+xNTnwedlCmhGP187oPWPEypCIYI8Zg6sz0psQ==
829 819
 
830
-"@wangeditor/editor@^5.1.23":
820
+"@wangeditor/editor@^5.1.23", "@wangeditor/editor@>=5.1.0":
831 821
   version "5.1.23"
832 822
   resolved "https://registry.npmmirror.com/@wangeditor/editor/-/editor-5.1.23.tgz"
833 823
   integrity sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==
@@ -900,7 +890,7 @@ ansi-styles@^4.1.0:
900 890
   dependencies:
901 891
     color-convert "^2.0.1"
902 892
 
903
-antd@^4.23.4:
893
+antd@^4.23.4, antd@>=4.23.0:
904 894
   version "4.24.10"
905 895
   resolved "https://registry.npmmirror.com/antd/-/antd-4.24.10.tgz"
906 896
   integrity sha512-GihdwTGFW0dUaWjcvSIfejFcT63HjEp2EbYd+ojEXayldhey230KrHDJ+C53rkrkzLvymrPBfSxlLxJzyFIZsg==
@@ -973,7 +963,7 @@ axios@^1.2.0:
973 963
     form-data "^4.0.0"
974 964
     proxy-from-env "^1.1.0"
975 965
 
976
-browserslist@^4.21.3:
966
+browserslist@^4.21.3, "browserslist@>= 4.21.0":
977 967
   version "4.21.7"
978 968
   resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.7.tgz"
979 969
   integrity sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==
@@ -1010,7 +1000,7 @@ charenc@0.0.2:
1010 1000
   resolved "https://registry.npmmirror.com/charenc/-/charenc-0.0.2.tgz"
1011 1001
   integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==
1012 1002
 
1013
-classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2:
1003
+classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2, classnames@2.x:
1014 1004
   version "2.3.2"
1015 1005
   resolved "https://registry.npmmirror.com/classnames/-/classnames-2.3.2.tgz"
1016 1006
   integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==
@@ -1029,16 +1019,16 @@ color-convert@^2.0.1:
1029 1019
   dependencies:
1030 1020
     color-name "~1.1.4"
1031 1021
 
1032
-color-name@1.1.3:
1033
-  version "1.1.3"
1034
-  resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz"
1035
-  integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
1036
-
1037 1022
 color-name@~1.1.4:
1038 1023
   version "1.1.4"
1039 1024
   resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz"
1040 1025
   integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
1041 1026
 
1027
+color-name@1.1.3:
1028
+  version "1.1.3"
1029
+  resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz"
1030
+  integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
1031
+
1042 1032
 combined-stream@^1.0.8:
1043 1033
   version "1.0.8"
1044 1034
   resolved "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz"
@@ -1085,7 +1075,7 @@ csstype@^3.0.10, csstype@^3.0.2:
1085 1075
   resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz"
1086 1076
   integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
1087 1077
 
1088
-d@1, d@^1.0.1:
1078
+d@^1.0.1, d@1:
1089 1079
   version "1.0.1"
1090 1080
   resolved "https://registry.npmmirror.com/d/-/d-1.0.1.tgz"
1091 1081
   integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
@@ -1100,7 +1090,7 @@ date-fns@2.x:
1100 1090
   dependencies:
1101 1091
     "@babel/runtime" "^7.21.0"
1102 1092
 
1103
-dayjs@1.x, dayjs@^1.11.4:
1093
+dayjs@^1.11.4, dayjs@1.x:
1104 1094
   version "1.11.7"
1105 1095
   resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz"
1106 1096
   integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==
@@ -1198,106 +1188,11 @@ es6-symbol@^3.1.1, es6-symbol@^3.1.3:
1198 1188
     d "^1.0.1"
1199 1189
     ext "^1.1.2"
1200 1190
 
1201
-esbuild-android-64@0.15.18:
1202
-  version "0.15.18"
1203
-  resolved "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5"
1204
-  integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==
1205
-
1206
-esbuild-android-arm64@0.15.18:
1207
-  version "0.15.18"
1208
-  resolved "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz#9cc0ec60581d6ad267568f29cf4895ffdd9f2f04"
1209
-  integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==
1210
-
1211
-esbuild-darwin-64@0.15.18:
1212
-  version "0.15.18"
1213
-  resolved "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz#428e1730ea819d500808f220fbc5207aea6d4410"
1214
-  integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==
1215
-
1216
-esbuild-darwin-arm64@0.15.18:
1217
-  version "0.15.18"
1218
-  resolved "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz#b6dfc7799115a2917f35970bfbc93ae50256b337"
1219
-  integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==
1220
-
1221
-esbuild-freebsd-64@0.15.18:
1222
-  version "0.15.18"
1223
-  resolved "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz#4e190d9c2d1e67164619ae30a438be87d5eedaf2"
1224
-  integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==
1225
-
1226
-esbuild-freebsd-arm64@0.15.18:
1227
-  version "0.15.18"
1228
-  resolved "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz#18a4c0344ee23bd5a6d06d18c76e2fd6d3f91635"
1229
-  integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==
1230
-
1231
-esbuild-linux-32@0.15.18:
1232
-  version "0.15.18"
1233
-  resolved "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz#9a329731ee079b12262b793fb84eea762e82e0ce"
1234
-  integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==
1235
-
1236
-esbuild-linux-64@0.15.18:
1237
-  version "0.15.18"
1238
-  resolved "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz#532738075397b994467b514e524aeb520c191b6c"
1239
-  integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==
1240
-
1241
-esbuild-linux-arm64@0.15.18:
1242
-  version "0.15.18"
1243
-  resolved "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz#5372e7993ac2da8f06b2ba313710d722b7a86e5d"
1244
-  integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==
1245
-
1246
-esbuild-linux-arm@0.15.18:
1247
-  version "0.15.18"
1248
-  resolved "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz#e734aaf259a2e3d109d4886c9e81ec0f2fd9a9cc"
1249
-  integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==
1250
-
1251
-esbuild-linux-mips64le@0.15.18:
1252
-  version "0.15.18"
1253
-  resolved "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz#c0487c14a9371a84eb08fab0e1d7b045a77105eb"
1254
-  integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==
1255
-
1256
-esbuild-linux-ppc64le@0.15.18:
1257
-  version "0.15.18"
1258
-  resolved "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz#af048ad94eed0ce32f6d5a873f7abe9115012507"
1259
-  integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==
1260
-
1261
-esbuild-linux-riscv64@0.15.18:
1262
-  version "0.15.18"
1263
-  resolved "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz#423ed4e5927bd77f842bd566972178f424d455e6"
1264
-  integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==
1265
-
1266
-esbuild-linux-s390x@0.15.18:
1267
-  version "0.15.18"
1268
-  resolved "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz#21d21eaa962a183bfb76312e5a01cc5ae48ce8eb"
1269
-  integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==
1270
-
1271
-esbuild-netbsd-64@0.15.18:
1272
-  version "0.15.18"
1273
-  resolved "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz#ae75682f60d08560b1fe9482bfe0173e5110b998"
1274
-  integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==
1275
-
1276
-esbuild-openbsd-64@0.15.18:
1277
-  version "0.15.18"
1278
-  resolved "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz#79591a90aa3b03e4863f93beec0d2bab2853d0a8"
1279
-  integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==
1280
-
1281
-esbuild-sunos-64@0.15.18:
1282
-  version "0.15.18"
1283
-  resolved "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz#fd528aa5da5374b7e1e93d36ef9b07c3dfed2971"
1284
-  integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==
1285
-
1286
-esbuild-windows-32@0.15.18:
1287
-  version "0.15.18"
1288
-  resolved "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz#0e92b66ecdf5435a76813c4bc5ccda0696f4efc3"
1289
-  integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==
1290
-
1291 1191
 esbuild-windows-64@0.15.18:
1292 1192
   version "0.15.18"
1293 1193
   resolved "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz"
1294 1194
   integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==
1295 1195
 
1296
-esbuild-windows-arm64@0.15.18:
1297
-  version "0.15.18"
1298
-  resolved "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz#5b5bdc56d341d0922ee94965c89ee120a6a86eb7"
1299
-  integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==
1300
-
1301 1196
 esbuild@^0.15.9:
1302 1197
   version "0.15.18"
1303 1198
   resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.15.18.tgz"
@@ -1370,11 +1265,6 @@ form-data@^4.0.0:
1370 1265
     combined-stream "^1.0.8"
1371 1266
     mime-types "^2.1.12"
1372 1267
 
1373
-fsevents@~2.3.2:
1374
-  version "2.3.3"
1375
-  resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
1376
-  integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
1377
-
1378 1268
 function-bind@^1.1.1:
1379 1269
   version "1.1.1"
1380 1270
   resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz"
@@ -1433,7 +1323,7 @@ html-void-elements@^2.0.0:
1433 1323
 
1434 1324
 i18next-browser-languagedetector@^7.2.0:
1435 1325
   version "7.2.0"
1436
-  resolved "https://registry.npmmirror.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.0.tgz#de0321cba6881be37d82e20e4d6f05aa75f6e37f"
1326
+  resolved "https://registry.npmmirror.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.0.tgz"
1437 1327
   integrity sha512-U00DbDtFIYD3wkWsr2aVGfXGAj2TgnELzOX9qv8bT0aJtvPV9CRO77h+vgmHFBMe7LAxdwvT/7VkCWGya6L3tA==
1438 1328
   dependencies:
1439 1329
     "@babel/runtime" "^7.23.2"
@@ -1445,7 +1335,7 @@ i18next@^20.4.0:
1445 1335
   dependencies:
1446 1336
     "@babel/runtime" "^7.12.0"
1447 1337
 
1448
-i18next@^23.9.0:
1338
+i18next@^23.9.0, "i18next@>= 23.2.3":
1449 1339
   version "23.9.0"
1450 1340
   resolved "https://registry.npmmirror.com/i18next/-/i18next-23.9.0.tgz"
1451 1341
   integrity sha512-f3MUciKqwzNV//mHG6EtdSlC65+nqH/3zK8sOSWqNV6FVu2tmHhF/rFOp9UF8S4m1odojtuipKaKJrP0Loh60g==
@@ -1481,6 +1371,14 @@ intl-messageformat-parser@^3.6.4:
1481 1371
   dependencies:
1482 1372
     "@formatjs/intl-unified-numberformat" "^3.2.0"
1483 1373
 
1374
+intl-messageformat@^7.8.4:
1375
+  version "7.8.4"
1376
+  resolved "https://registry.npmmirror.com/intl-messageformat/-/intl-messageformat-7.8.4.tgz"
1377
+  integrity sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==
1378
+  dependencies:
1379
+    intl-format-cache "^4.2.21"
1380
+    intl-messageformat-parser "^3.6.4"
1381
+
1484 1382
 intl-messageformat@10.5.11:
1485 1383
   version "10.5.11"
1486 1384
   resolved "https://registry.npmmirror.com/intl-messageformat/-/intl-messageformat-10.5.11.tgz"
@@ -1491,14 +1389,6 @@ intl-messageformat@10.5.11:
1491 1389
     "@formatjs/icu-messageformat-parser" "2.7.6"
1492 1390
     tslib "^2.4.0"
1493 1391
 
1494
-intl-messageformat@^7.8.4:
1495
-  version "7.8.4"
1496
-  resolved "https://registry.npmmirror.com/intl-messageformat/-/intl-messageformat-7.8.4.tgz"
1497
-  integrity sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==
1498
-  dependencies:
1499
-    intl-format-cache "^4.2.21"
1500
-    intl-messageformat-parser "^3.6.4"
1501
-
1502 1392
 invariant@^2.2.2:
1503 1393
   version "2.2.4"
1504 1394
   resolved "https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz"
@@ -1560,7 +1450,7 @@ json5@^2.2.2:
1560 1450
   resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz"
1561 1451
   integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
1562 1452
 
1563
-less@^4.1.3:
1453
+less@*, less@^4.1.3:
1564 1454
   version "4.1.3"
1565 1455
   resolved "https://registry.npmmirror.com/less/-/less-4.1.3.tgz"
1566 1456
   integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==
@@ -1701,7 +1591,7 @@ moment@^2.24.0, moment@^2.29.2, moment@^2.29.4:
1701 1591
   resolved "https://registry.npmmirror.com/moment/-/moment-2.29.4.tgz"
1702 1592
   integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==
1703 1593
 
1704
-ms@2.1.2, ms@^2.1.1:
1594
+ms@^2.1.1, ms@2.1.2:
1705 1595
   version "2.1.2"
1706 1596
   resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz"
1707 1597
   integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
@@ -1743,7 +1633,7 @@ node-releases@^2.0.12:
1743 1633
   resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.12.tgz"
1744 1634
   integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==
1745 1635
 
1746
-object-assign@4.x, object-assign@^4.1.1:
1636
+object-assign@^4.1.1, object-assign@4.x:
1747 1637
   version "4.1.1"
1748 1638
   resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz"
1749 1639
   integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
@@ -1917,6 +1807,15 @@ rc-dropdown@~4.0.0:
1917 1807
     rc-trigger "^5.3.1"
1918 1808
     rc-util "^5.17.0"
1919 1809
 
1810
+rc-field-form@^1.22.0:
1811
+  version "1.32.0"
1812
+  resolved "https://registry.npmmirror.com/rc-field-form/-/rc-field-form-1.32.0.tgz"
1813
+  integrity sha512-vr5pA0/gWiBZf0HKdevQJcWSsAac10Z8Nj1Brs3OOCnExk7l+u8GtsW+4cRSqJLug5fxV11dOGXpxf7+aHT/2A==
1814
+  dependencies:
1815
+    "@babel/runtime" "^7.18.0"
1816
+    async-validator "^4.1.0"
1817
+    rc-util "^5.32.2"
1818
+
1920 1819
 rc-field-form@~1.27.0:
1921 1820
   version "1.27.4"
1922 1821
   resolved "https://registry.npmmirror.com/rc-field-form/-/rc-field-form-1.27.4.tgz"
@@ -2217,7 +2116,7 @@ rc-util@^4.19.0:
2217 2116
     react-lifecycles-compat "^3.0.4"
2218 2117
     shallowequal "^1.1.0"
2219 2118
 
2220
-rc-util@^5.0.0, rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.15.0, rc-util@^5.16.0, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.19.2, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.21.2, rc-util@^5.22.5, rc-util@^5.23.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.26.0, rc-util@^5.27.0, rc-util@^5.31.1, rc-util@^5.4.0, rc-util@^5.6.1, rc-util@^5.8.0, rc-util@^5.9.4:
2119
+rc-util@^5.0.0, rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.15.0, rc-util@^5.16.0, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.19.2, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.21.2, rc-util@^5.22.5, rc-util@^5.23.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.26.0, rc-util@^5.27.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.4.0, rc-util@^5.6.1, rc-util@^5.8.0, rc-util@^5.9.4:
2221 2120
   version "5.32.3"
2222 2121
   resolved "https://registry.npmmirror.com/rc-util/-/rc-util-5.32.3.tgz"
2223 2122
   integrity sha512-+Pv1nOiTtmp6kpz8yZ/DToMrZHz4DIUi1/EhpIsGQhhF12jANx3rb+gsp0YUWWtxUDf6U1Eyhe0EN+mBlCJXoA==
@@ -2235,7 +2134,7 @@ rc-virtual-list@^3.2.0, rc-virtual-list@^3.5.1:
2235 2134
     rc-resize-observer "^1.0.0"
2236 2135
     rc-util "^5.15.0"
2237 2136
 
2238
-react-dom@18.2.0:
2137
+react-dom@*, react-dom@>=16.0.0, react-dom@>=16.11.0, react-dom@>=16.6.0, react-dom@>=16.8, react-dom@>=16.8.0, react-dom@>=16.9.0, react-dom@>=17.0.0, react-dom@>=17.0.2, react-dom@18.2.0:
2239 2138
   version "18.2.0"
2240 2139
   resolved "https://registry.npmmirror.com/react-dom/-/react-dom-18.2.0.tgz"
2241 2140
   integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
@@ -2340,7 +2239,7 @@ react-transition-group@^4.4.5:
2340 2239
     loose-envify "^1.4.0"
2341 2240
     prop-types "^15.6.2"
2342 2241
 
2343
-react@18.2.0:
2242
+react@*, "react@^16.11.0 || ^17.0.0 || ^18.0.0", "react@^16.3.0 || ^17.0.0 || ^18.0.0", "react@^16.6.0 || 17 || 18", "react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^18.2.0, "react@>= 16.8.0", react@>=16.0.0, react@>=16.11.0, react@>=16.12.0, react@>=16.3.0, react@>=16.6.0, react@>=16.8, react@>=16.8.0, react@>=16.9.0, react@>=17.0.0, react@>=17.0.2, react@18.2.0:
2344 2243
   version "18.2.0"
2345 2244
   resolved "https://registry.npmmirror.com/react/-/react-18.2.0.tgz"
2346 2245
   integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
@@ -2426,7 +2325,7 @@ slate-history@^0.66.0:
2426 2325
   dependencies:
2427 2326
     is-plain-object "^5.0.0"
2428 2327
 
2429
-slate@^0.72.0:
2328
+slate@^0.72.0, slate@>=0.65.3:
2430 2329
   version "0.72.8"
2431 2330
   resolved "https://registry.npmmirror.com/slate/-/slate-0.72.8.tgz"
2432 2331
   integrity sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==
@@ -2516,7 +2415,7 @@ toggle-selection@^1.0.6:
2516 2415
   resolved "https://registry.npmmirror.com/toggle-selection/-/toggle-selection-1.0.6.tgz"
2517 2416
   integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==
2518 2417
 
2519
-tslib@2.3.0, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.3.0:
2418
+tslib@^2.0.0, tslib@^2.0.3, tslib@^2.3.0, tslib@2.3.0:
2520 2419
   version "2.3.0"
2521 2420
   resolved "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz"
2522 2421
   integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
@@ -2572,7 +2471,7 @@ vite-plugin-imp@^2.2.0:
2572 2471
     param-case "^3.0.4"
2573 2472
     pascal-case "^3.1.2"
2574 2473
 
2575
-vite@^3.0.0:
2474
+vite@^3.0.0, "vite@>= 2.0.0-beta.5":
2576 2475
   version "3.2.7"
2577 2476
   resolved "https://registry.npmmirror.com/vite/-/vite-3.2.7.tgz"
2578 2477
   integrity sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g==