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