diff --git a/apps/web/src/components/models/post/LetterCard.tsx b/apps/web/src/components/models/post/LetterCard.tsx index 1aac3c8..4177d3b 100755 --- a/apps/web/src/components/models/post/LetterCard.tsx +++ b/apps/web/src/components/models/post/LetterCard.tsx @@ -63,7 +63,7 @@ export function LetterCard({ letter }: LetterCardProps) { )} {letter.title} {/* 印章样式的"密"字 */} - {!letter?.isPublic && ( + {(
diff --git a/apps/web/src/components/models/post/detail/context/PostDetailContext.tsx b/apps/web/src/components/models/post/detail/context/PostDetailContext.tsx index 0dd7ffb..4d0f9db 100755 --- a/apps/web/src/components/models/post/detail/context/PostDetailContext.tsx +++ b/apps/web/src/components/models/post/detail/context/PostDetailContext.tsx @@ -80,14 +80,17 @@ export function PostDetailProvider({ const { data: post, isLoading }: { data: PostDto; isLoading: boolean } = ( api.post.findFirst as any ).useQuery(queryParams, { enabled: Boolean(editId) }); - - const { data: staff } : { data: StaffDto}= api.staff.findFirst.useQuery( + + const { data: staff }: { data: StaffDto } = api.staff.findFirst.useQuery( { where: { id: post?.authorId } }, { enabled: !!post?.authorId } ); const canSee = useMemo(() => { if (hasSomePermissions(RolePerms.READ_ANY_POST)) { return true; + } else if (post?.authorId === user?.id) { + // 如果当前用户是作者,直接允许查看 + return true; } else if ( post?.receivers?.map((receiver) => receiver.id)?.includes(user?.id) ) { diff --git a/apps/web/src/components/models/post/editor/form/public-or-not-selector/PublicOrNotSelector.tsx b/apps/web/src/components/models/post/editor/form/public-or-not-selector/PublicOrNotSelector.tsx index 08aabfe..376f085 100755 --- a/apps/web/src/components/models/post/editor/form/public-or-not-selector/PublicOrNotSelector.tsx +++ b/apps/web/src/components/models/post/editor/form/public-or-not-selector/PublicOrNotSelector.tsx @@ -1,5 +1,4 @@ import React from "react"; -import { Select } from "antd"; import { useEffect, useState } from "react"; export default function PublicOrNotSelector({ @@ -17,57 +16,21 @@ export default function PublicOrNotSelector({ setIsBrowserSupported(browserVersion >= 87); }, []); - const options = [ - { value: true, label: "公开" }, - { value: false, label: "私密" }, - ]; + useEffect(() => { + // 如果当前值不是 false,将其设置为 false + if (value !== false && onChange) { + onChange(false); + } + }, [value, onChange]); - // 处理 Antd Select 的 onChange - const handleAntdChange = (newValue) => { - if (onChange) { - onChange(newValue); - } - }; - - // 处理原生 select 的 onChange - const handleNativeChange = (e) => { - if (onChange) { - // 将字符串 "true"/"false" 转换为布尔值 - onChange(e.target.value === "true"); - } - }; if (isBrowserSupported) { return ( - +
); } else { return ( - +
); } -} +} \ No newline at end of file