● 点击插入时间/段,可插入时间/段在输入框光标所在位置
@@ -145,6 +169,12 @@ const FormModal = ({isOpen, setOpen, data, reList, currentMemoType}) => {
/** 自定义底部按钮 */
const footerButtons = [
+ ...externalImgBedList.map(({title, src}, index) =>
+
),
,
,
diff --git a/src/pages/MemoDrawer/compontets/formModal.module.css b/src/pages/MemoDrawer/compontets/formModal.module.css
index 04ba5d7a..bf8ddb26 100644
--- a/src/pages/MemoDrawer/compontets/formModal.module.css
+++ b/src/pages/MemoDrawer/compontets/formModal.module.css
@@ -8,3 +8,6 @@
background-color: #f5f5f5; /*鼠标放上去背景变浅色*/
}
+.externalImgModel [class="ant-modal-confirm-content"] {
+ height: 75vh;
+}
\ No newline at end of file
diff --git a/src/pages/Mobile/Blog.jsx b/src/pages/Mobile/Blog.jsx
index 55fe5c63..c972d595 100644
--- a/src/pages/Mobile/Blog.jsx
+++ b/src/pages/Mobile/Blog.jsx
@@ -1,32 +1,41 @@
-import React, {useEffect, useRef, useState} from "react";
-import {Collapse, DotLoading, Toast} from 'antd-mobile'
+import React, {useEffect, useState} from "react";
+import {Collapse, DotLoading} from 'antd-mobile'
import Md from "../../compontets/Md";
import {blogMenu} from "../../store/NoLoginData";
import {blogBaseURL, getBlogItemIconObj, getBlogList, getBlogMd} from "../../request/blogRequest";
+import LoaderWhite from "../../compontets/common/LoaderWhite";
+let menu = blogMenu; // 菜单项
+let icon = {} // 图标
+let initLoad = true // 初始加载菜单状态
+let sxIndex = 0 // 刷新页面状态变量
export default () => {
- const [menu, setMenu] = useState(blogMenu) // 菜单项
- const [icon, setIcon] = useState({}) // 图标
-
- const loading = useRef() // 显示加载中
-
+ const [, setSxYm] = useState(0) // 刷新页面状态
+ const sxYm = () => setSxYm(++sxIndex)
+
+
/** 初始化获取最新菜单和图标 */
useEffect(() => {
- loading.current = Toast.show({icon: 'loading', content: '数据加载中...', duration: 0})
- getBlogItemIconObj().then(obj => {
- setIcon(obj)
- loading.current?.close() // 关闭加载蒙版
- getBlogList().then(data => setMenu(data))
- }).catch(() => Toast.show({icon: 'fail', content: '数据加载失败'}))
+ init()
}, [])
-
+
+ const init = async () => {
+ try {
+ icon = await getBlogItemIconObj();
+ menu = await getBlogList();
+ } finally {
+ sxYm(initLoad = false)
+ }
+ }
+
/** 构建菜单 */
const buildMenu = blogMenu =>
{
blogMenu.map(itemList =>
- {itemList[0]}>}>
+ {itemList[0]}>}>
{itemList.slice(1).map(item =>
@@ -38,15 +47,15 @@ export default () => {
)
}
-
- return buildMenu(menu)
+
+ return initLoad ? : buildMenu(menu)
}
/** 异步内容组件 */
const DynamicContent = ({keyPath}) => {
const [finished, setFinished] = useState(false)
const [content, setContent] = useState('# 欢迎来到仰晨博客');
-
+
useEffect(() => {
getBlogMd(keyPath).then(data => {
setContent(data)
@@ -54,7 +63,7 @@ const DynamicContent = ({keyPath}) => {
setContent(`请求失败,请检查网络连接`)
}).finally(() => setFinished(true))
}, [])
-
+
return finished ?
{content}