Pārlūkot izejas kodu

统一使用/mobile/classroom/:id/:role路径格式
分享链接现在使用标准path参数格式
确保从分享链接进入能正确解析参数
教师和学生都能通过URL正确进入课堂
刷新页面后能保持课堂和角色状态

yourname 7 mēneši atpakaļ
vecāks
revīzija
6caa4ed885

+ 2 - 9
client/mobile/components/Classroom/ClassroomProvider.tsx

@@ -11,19 +11,12 @@ export const ClassroomProvider: React.FC<{children: React.ReactNode}> = ({ child
   const { id: classId, role: pathRole } = useParams();
 
   useEffect(() => {
-    // 解析URL参数中的classId
-    const params = new URLSearchParams(window.location.search);
-    const queryClassId = params.get('classId');
-    const finalClassId = classId || queryClassId;
-    
-    if (finalClassId) {
-      classroom.setClassId(finalClassId);
+    if (classId) {
+      classroom.setClassId(classId);
     }
     
     if (pathRole && ['teacher', 'student'].includes(pathRole)) {
       classroom.setRole(pathRole === 'teacher' ? Role.Teacher : Role.Student);
-    } else if (queryClassId) {
-      classroom.setRole(Role.Student);
     }
   }, [classId, pathRole]);
 

+ 2 - 1
client/mobile/components/Classroom/useClassroom.ts

@@ -646,7 +646,8 @@ export const useClassroom = () => {
         
         await joinRtcChannel(response.groupId);
         
-        setShareLink(`${window.location.href.split('?')[0]}?classId=${response.groupId}`);
+        const baseUrl = window.location.href.split('?')[0].replace(/\/[^/]*$/, '');
+        setShareLink(`${baseUrl}/mobile/classroom/${response.groupId}/student`);
         
         return response.groupId;
       } catch (joinErr: any) {