From 78514cb093ea564dfc5e64ebbb47d331e6dbaf4a Mon Sep 17 00:00:00 2001
From: Li1304553726 <1304553726@qq.com>
Date: Mon, 1 Dec 2025 11:10:32 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=A7=81=E5=AF=86=E4=BF=A1?=
=?UTF-8?q?=E4=BB=B6=E6=A0=BC=E5=BC=8F=E5=92=8C=E5=8F=91=E4=BF=A1=E4=BA=BA?=
=?UTF-8?q?=E4=B8=8D=E9=9C=80=E8=A6=81=E8=BE=93=E5=AF=86=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/components/models/post/LetterCard.tsx | 2 +-
.../post/detail/context/PostDetailContext.tsx | 7 ++-
.../PublicOrNotSelector.tsx | 55 +++----------------
3 files changed, 15 insertions(+), 49 deletions(-)
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