diff --git a/src/App.jsx b/src/App.jsx index f3529a3..6263565 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -25,14 +25,14 @@ function App() { // 如果用户已认证但WebSocket未连接,则初始化连接 if (user && !isConnected) { - initWebSocket() - .then(() => { + // initWebSocket() + // .then(() => { // dispatch(setWebSocketConnected(true)); // console.log('WebSocket connection initialized'); - }) - .catch((error) => { - console.error('Failed to initialize WebSocket connection:', error); - }); + // }) + // .catch((error) => { + // console.error('Failed to initialize WebSocket connection:', error); + // }); } // 组件卸载或用户登出时关闭WebSocket连接 diff --git a/src/components/CreateKnowledgeBaseModal.jsx b/src/components/CreateKnowledgeBaseModal.jsx index c03059a..9dec1a5 100644 --- a/src/components/CreateKnowledgeBaseModal.jsx +++ b/src/components/CreateKnowledgeBaseModal.jsx @@ -60,7 +60,7 @@ const CreateKnowledgeBaseModal = ({ const getAvailableTypes = () => { if (isAdmin) { return [ - { value: 'admin', label: 'Admin 级知识库' }, + { value: 'admin', label: '公共知识库' }, { value: 'leader', label: 'Leader 级知识库' }, { value: 'member', label: 'Member 级知识库' }, { value: 'private', label: '私有知识库' }, @@ -68,11 +68,15 @@ const CreateKnowledgeBaseModal = ({ ]; } else if (isLeader) { return [ + { value: 'admin', label: '公共知识库' }, { value: 'member', label: 'Member 级知识库' }, { value: 'private', label: '私有知识库' }, ]; } else { - return [{ value: 'private', label: '私有知识库' }]; + return [ + { value: 'admin', label: '公共知识库' }, + { value: 'private', label: '私有知识库' }, + ]; } }; @@ -169,7 +173,7 @@ const CreateKnowledgeBaseModal = ({ {!isAdmin && !isLeader && ( - 注意:您当前只能创建私有知识库。其他类型需要更高权限。 + 您可以创建公共知识库(所有人可访问)或私有知识库(仅自己可访问)。 )} {formErrors.type &&
{formErrors.type}
} diff --git a/src/pages/KnowledgeBase/Detail/SettingsTab.jsx b/src/pages/KnowledgeBase/Detail/SettingsTab.jsx index 6828514..056fb4f 100644 --- a/src/pages/KnowledgeBase/Detail/SettingsTab.jsx +++ b/src/pages/KnowledgeBase/Detail/SettingsTab.jsx @@ -173,6 +173,17 @@ export default function SettingsTab({ knowledgeBase }) { return; } + // 所有用户都可以修改为admin或private类型,无需额外检查 + if (newType !== 'admin' && newType !== 'private' && currentUser.role === 'member') { + dispatch( + showNotification({ + message: '您只能将知识库修改为公共(admin)或私有(private)类型', + type: 'warning', + }) + ); + return; + } + if (isAdmin && !validateForm()) { return; } diff --git a/src/pages/KnowledgeBase/Detail/components/KnowledgeBaseForm.jsx b/src/pages/KnowledgeBase/Detail/components/KnowledgeBaseForm.jsx index 364704c..39b03bb 100644 --- a/src/pages/KnowledgeBase/Detail/components/KnowledgeBaseForm.jsx +++ b/src/pages/KnowledgeBase/Detail/components/KnowledgeBaseForm.jsx @@ -26,7 +26,7 @@ const KnowledgeBaseForm = ({ const getAvailableTypes = () => { if (isAdmin) { return [ - { value: 'admin', label: 'Admin 级知识库' }, + { value: 'admin', label: '公共知识库' }, { value: 'leader', label: 'Leader 级知识库' }, { value: 'member', label: 'Member 级知识库' }, { value: 'private', label: '私有知识库' }, @@ -34,11 +34,15 @@ const KnowledgeBaseForm = ({ ]; } else if (isLeader) { return [ + { value: 'admin', label: '公共知识库' }, { value: 'member', label: 'Member 级知识库' }, { value: 'private', label: '私有知识库' }, ]; } else { - return [{ value: 'private', label: '私有知识库' }]; + return [ + { value: 'admin', label: '公共知识库' }, + { value: 'private', label: '私有知识库' }, + ]; } }; @@ -106,7 +110,7 @@ const KnowledgeBaseForm = ({ value={type.value} checked={formData.type === type.value} onChange={onInputChange} - disabled={currentUser?.role === 'member'} // 普通成员无法修改类型 + disabled={false} // 允许所有用户修改类型 />