功能:优化用户发布文章体验
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
"author": {
|
||||
"name": "YuYang",
|
||||
"email": "liuyuyang1024@yeah.net",
|
||||
"url": "https://blog.liuyuyang.net"
|
||||
"url": "https://liuyuyang.net"
|
||||
},
|
||||
"dependencies": {
|
||||
"@bytemd/plugin-gemoji": "^1.21.0",
|
||||
|
||||
@@ -39,14 +39,17 @@ const ArticlePage = () => {
|
||||
const delArticleData = async (id: number) => {
|
||||
setLoading(true);
|
||||
|
||||
// 普通删除:可从回收站恢复
|
||||
await delArticleDataAPI(id, true);
|
||||
await getArticleList();
|
||||
form.resetFields()
|
||||
setCurrent(1)
|
||||
notification.success({ message: '🎉 删除文章成功' })
|
||||
|
||||
setLoading(false);
|
||||
try {
|
||||
// 普通删除:可从回收站恢复
|
||||
await delArticleDataAPI(id, true);
|
||||
await getArticleList();
|
||||
form.resetFields()
|
||||
setCurrent(1)
|
||||
notification.success({ message: '🎉 删除文章成功' })
|
||||
setLoading(false);
|
||||
} catch (error) {
|
||||
setLoading(false);
|
||||
}
|
||||
};
|
||||
|
||||
// 标签颜色
|
||||
|
||||
@@ -55,9 +55,13 @@ const CatePage = () => {
|
||||
|
||||
const delCateData = async (id: number) => {
|
||||
setLoading(true);
|
||||
await delCateDataAPI(id);
|
||||
message.success('🎉 删除分类成功');
|
||||
getCateList();
|
||||
try {
|
||||
await delCateDataAPI(id);
|
||||
message.success('🎉 删除分类成功');
|
||||
getCateList();
|
||||
} catch (error) {
|
||||
setLoading(false);
|
||||
}
|
||||
};
|
||||
|
||||
const submit = async () => {
|
||||
|
||||
@@ -149,7 +149,7 @@ const PublishForm = ({ data, closeModel }: { data: Article, closeModel: () => vo
|
||||
...values,
|
||||
content: data.content,
|
||||
tagIds: tagIds.join(','),
|
||||
isDraft: 0,
|
||||
isDraft: isDraft ? 1 : 0,
|
||||
config: {
|
||||
status: values.status,
|
||||
password: values.password
|
||||
@@ -249,9 +249,9 @@ const PublishForm = ({ data, closeModel }: { data: Article, closeModel: () => vo
|
||||
</Form.Item>
|
||||
|
||||
{/* 草稿和编辑状态下不再显示保存草稿按钮 */}
|
||||
{(!isDraftParams && !id) && (
|
||||
{((isDraftParams && id) || !id) && (
|
||||
<Form.Item className="!mt-2 !mb-0">
|
||||
<Button className="w-full" onClick={() => form.validateFields().then(values => onSubmit(values, true))}>保存为草稿</Button>
|
||||
<Button className="w-full" onClick={() => form.validateFields().then(values => onSubmit(values, true))}>{isDraftParams ? '保存' : '保存为草稿'}</Button>
|
||||
</Form.Item>
|
||||
)}
|
||||
</Form>
|
||||
|
||||
@@ -60,7 +60,7 @@ const ListItem = ({ item, type, fetchData }: ListItemProps) => {
|
||||
content: replyInfo,
|
||||
commentId: item?.id!,
|
||||
auditStatus: 1,
|
||||
email: user.email,
|
||||
email: user.email ? user.email : null,
|
||||
name: user.name,
|
||||
articleId: item?.articleId!,
|
||||
createTime: new Date().getTime().toString(),
|
||||
@@ -85,7 +85,7 @@ const ListItem = ({ item, type, fetchData }: ListItemProps) => {
|
||||
}
|
||||
|
||||
// 有内容就发送驳回通知邮件,反之直接删除
|
||||
if(dismissInfo.trim().length) await sendDismissEmail()
|
||||
if (dismissInfo.trim().length) await sendDismissEmail()
|
||||
|
||||
message.success('🎉 驳回成功');
|
||||
setIsModalOpen(false)
|
||||
@@ -180,11 +180,16 @@ const ListItem = ({ item, type, fetchData }: ListItemProps) => {
|
||||
|
||||
<div className="flex items-end">
|
||||
<Dropdown menu={{
|
||||
items: [
|
||||
{ key: 'ok', label: "通过", onClick: handleApproval },
|
||||
{ key: 'reply', label: "回复", onClick: () => [setIsModalOpen(true), setBtnType("reply")] },
|
||||
{ key: 'dismiss', label: "驳回", onClick: () => [setIsModalOpen(true), , setBtnType("dismiss")] }
|
||||
]
|
||||
items: type === "comment"
|
||||
? [
|
||||
{ key: 'ok', label: "通过", onClick: handleApproval },
|
||||
{ key: 'reply', label: "回复", onClick: () => [setIsModalOpen(true), setBtnType("reply")] },
|
||||
{ key: 'dismiss', label: "驳回", onClick: () => [setIsModalOpen(true), , setBtnType("dismiss")] }
|
||||
]
|
||||
: [
|
||||
{ key: 'ok', label: "通过", onClick: handleApproval },
|
||||
{ key: 'dismiss', label: "驳回", onClick: () => [setIsModalOpen(true), , setBtnType("dismiss")] }
|
||||
]
|
||||
}}>
|
||||
<div className="flex justify-evenly items-center bg-[#F9F9FD] w-11 h-5 rounded-md cursor-pointer">
|
||||
<span className="inline-block w-2 h-2 bg-[#b5c2d3] rounded-full"></span>
|
||||
|
||||
2
src/types/app/comment.d.ts
vendored
2
src/types/app/comment.d.ts
vendored
@@ -2,7 +2,7 @@ export interface Comment {
|
||||
id?: number,
|
||||
name: string,
|
||||
avatar: string,
|
||||
email: string,
|
||||
email: string | null,
|
||||
url: string,
|
||||
content: string,
|
||||
articleId: number,
|
||||
|
||||
Reference in New Issue
Block a user