From 752ea528803dc520dcfdc569350a4b64c692f6a2 Mon Sep 17 00:00:00 2001 From: ember <1279347317@qq.com> Date: Sun, 13 Apr 2025 22:43:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86=E8=BF=9B=E5=85=A5?= =?UTF-8?q?=E7=9A=84=E9=AA=8C=E6=9D=83=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/index.html | 2 +- dist/js/app.20e13150.js | 2 -- dist/js/app.6a601c00.js | 2 ++ src/App.vue | 33 ++++++++++----------------------- 4 files changed, 13 insertions(+), 26 deletions(-) delete mode 100644 dist/js/app.20e13150.js create mode 100644 dist/js/app.6a601c00.js diff --git a/dist/index.html b/dist/index.html index 41bea73..21fc843 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1 +1 @@ -
只有在 NEU小站 完成 校园网或校园邮箱验证 并激活 东币系统 的用户才能访问课程评分系统。
请确保您已完成相关操作,然后重新尝试访问。
',4)])))])}function d(e,t,s,o,n,i){const l=(0,a.g2)("el-menu-item"),r=(0,a.g2)("el-menu");return(0,a.uX)(),(0,a.Wv)(r,{"default-active":i.activeMenu,class:"el-menu-vertical-demo","background-color":"#333","text-color":"#fff","active-text-color":"#ffd04b"},{default:(0,a.k6)((()=>[(0,a.bF)(l,{index:"1",onClick:t[0]||(t[0]=e=>i.goTo("home"))},{default:(0,a.k6)((()=>t[6]||(t[6]=[(0,a.Lk)("i",{class:"el-icon-house"},null,-1),(0,a.Lk)("span",null,"使用必看",-1)]))),_:1}),(0,a.bF)(l,{index:"2",onClick:t[1]||(t[1]=e=>i.goTo("rating"))},{default:(0,a.k6)((()=>t[7]||(t[7]=[(0,a.Lk)("i",{class:"el-icon-setting"},null,-1),(0,a.Lk)("span",null,"选修课评分",-1)]))),_:1}),(0,a.bF)(l,{index:"3",onClick:t[2]||(t[2]=e=>i.goTo("ratingforcomp"))},{default:(0,a.k6)((()=>t[8]||(t[8]=[(0,a.Lk)("i",{class:"el-icon-setting"},null,-1),(0,a.Lk)("span",null,"必修课评分",-1)]))),_:1}),(0,a.bF)(l,{index:"4",onClick:t[3]||(t[3]=e=>i.goTo("course-list"))},{default:(0,a.k6)((()=>t[9]||(t[9]=[(0,a.Lk)("i",{class:"el-icon-setting"},null,-1),(0,a.Lk)("span",null,"我的课程",-1)]))),_:1}),(0,a.bF)(l,{index:"5",onClick:t[4]||(t[4]=e=>i.goTo("chat"))},{default:(0,a.k6)((()=>t[10]||(t[10]=[(0,a.Lk)("i",{class:"el-icon-setting"},null,-1),(0,a.Lk)("span",null,"我的聊天",-1)]))),_:1}),(0,a.bF)(l,{index:"6",onClick:t[5]||(t[5]=e=>i.goTo("about"))},{default:(0,a.k6)((()=>t[11]||(t[11]=[(0,a.Lk)("i",{class:"el-icon-info"},null,-1),(0,a.Lk)("span",null,"关于",-1)]))),_:1}),t[12]||(t[12]=(0,a.Lk)("div",{class:"sidebar-footer"},[(0,a.Lk)("span",{class:"footer-title"},"NEU小站课程评分系统 - v1.1"),(0,a.Lk)("div",{class:"footer-info"},[(0,a.eW)(" © 2025 "),(0,a.Lk)("a",{href:"https://www.xn--xhq44jb2fzpc.com/",target:"_blank"},"NEU小站")])],-1))])),_:1},8,["default-active"])}s(4114);var h={name:"SideBar",computed:{activeMenu(){const e=this.$route.name;return"home"===e?"1":"rating"===e?"2":"ratingforcomp"===e?"3":"course-list"===e?"4":"chat"===e?"5":"about"===e?"6":"1"}},methods:{goTo(e){this.$router.push({name:e})}}},m=s(1241);const g=(0,m.A)(h,[["render",d],["__scopeId","data-v-fa32c4be"]]);var p=g,k={name:"App",data(){return{isAuthorized:!1,authChecked:!1,isMobile:!1,forceDesktopMode:!1}},components:{SideBar:p},mounted(){this.redirectToHTTPS(),this.checkIfMobile(),this.checkLoginStatus()},methods:{checkIfMobile(){const e=navigator.userAgent||navigator.vendor||window.opera,t=/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(e.toLowerCase()),s="true"===localStorage.getItem("forceDesktopMode");t&&!s?this.isMobile=!0:this.forceDesktopMode=s},enableDesktopMode(){this.forceDesktopMode=!0,localStorage.setItem("forceDesktopMode","true");const e=document.querySelector('meta[name="viewport"]');if(e)e.setAttribute("content","width=1024");else{const e=document.createElement("meta");e.name="viewport",e.content="width=1024",document.head.appendChild(e)}},async checkLoginStatus(){const e=document.cookie.split("; ").reduce(((e,t)=>{const[s,o]=t.split("=");return e[s]=decodeURIComponent(o),e}),{}).token;if(e)try{const t=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/qvphone",{method:"GET",headers:{Authorization:e}}),s=await t.json();t.ok&&"验证成功,用户已绑定手机号并完成激活。"===s.message?this.isAuthorized=!0:console.warn("用户未通过验证:",s.message)}catch(t){console.error("Error during phone verification:",t)}finally{this.authChecked=!0}},redirectToHTTPS(){if("localhost"!==location.hostname&&"127.0.0.1"!==location.hostname&&"http:"===location.protocol){const e=`https://${location.host}${location.pathname}${location.search}`;window.location.replace(e)}}}};const v=(0,m.A)(k,[["render",u]]);var C=v,b=s(6762),y=(s(4188),s(973)),f=s(4232);const L={key:0},_={id:"homepage-title"},w={key:1};function E(e,t,s,o,n,i){const l=(0,a.g2)("router-link");return n.isLoaded?((0,a.uX)(),(0,a.CE)("div",L,[(0,a.Lk)("div",null,[(0,a.Lk)("h2",_,(0,f.v_)(n.greeting)+", "+(0,f.v_)(n.nickname)+"!",1),t[9]||(t[9]=(0,a.Fv)("欢迎您使用NEU小站课程评分系统!
本系统采用全匿名方式,学生可以匿名对课程进行评分和发表评论。每人对每个课程只能评分一次,若需要多次评分,系统将记录用户最后一次提交的评分结果。为保护隐私,发表评论时不会显示用户在NEU小站的用户名,每次评论的昵称均由用户自行定义。
本系统中,课程分为两大类:选修课和必修课。选修课有8个小类:通识选修、人文选修、专业方向、体育、学科基础、暑期国际课、数学与自然科学、重修专栏。人文选修类包括采用“抢选”方式进行选课的所有选修课,以及“改革开放史”和“社会主义发展史”两门人文社会科学类的选修课。体育课单独作为一类,不属于人文选修类。重修课程的选课归为选修课的“重修专栏”类别,不属于必修课范畴。重修专栏可以分享任何类别课程,但仅限分享重修体验。
必修课有5个小类:数学与自然科学、人文社会科学、学科基础、专业方向、实践。如上所述,本系统中重修的必修课程也属于选修课范畴。特别说明:军训课程属于实践类,系辅导员给分,在创建课程时课程教师请填写辅导员。
",4)),(0,a.Lk)("p",null,[t[1]||(t[1]=(0,a.eW)(" 在创建课程时,请先了解课程的类别,以及课程的")),t[2]||(t[2]=(0,a.Lk)("strong",null,"开课院系",-1)),t[3]||(t[3]=(0,a.eW)(",")),(0,a.bF)(l,{to:"/courses?m=true",class:"guide-link"},{default:(0,a.k6)((()=>t[0]||(t[0]=[(0,a.eW)("点击此处")]))),_:1}),t[4]||(t[4]=(0,a.eW)("查看指引。")),t[5]||(t[5]=(0,a.Lk)("strong",null,'如果同一课程的任课教师不同,用户可以创建多个同名课程,例如"A老师-篮球"和"B老师-篮球"将被视为两个不同的课程。',-1)),t[6]||(t[6]=(0,a.eW)("创建的课程卡片")),t[7]||(t[7]=(0,a.Lk)("strong",null,"需经过管理员审核",-1)),t[8]||(t[8]=(0,a.eW)(',审核进度可在"我的课程"中实时查看。 '))]),t[10]||(t[10]=(0,a.Lk)("p",null,[(0,a.eW)(" 本系统鼓励同学们提供真实、有价值的评分。"),(0,a.Lk)("strong",null,"禁止发布带有侮辱性的人身攻击等恶意评论。"),(0,a.eW)("管理员将对恶意用户进行封禁处理,确保评分系统的文明环境。 ")],-1))])])):((0,a.uX)(),(0,a.CE)("div",w,t[11]||(t[11]=[(0,a.Lk)("p",null,"加载中,请稍后...",-1)])))}var S={data(){return{name:"Homepage",greeting:"",nickname:"",isLoaded:!1}},mounted(){this.setGreeting(),this.fetchNickname(),setTimeout((()=>{this.isLoaded=!0}),300)},methods:{setGreeting(){const e=(new Date).getHours();this.greeting=e<12?"早上好":e<14?"中午好":e<18?"下午好":"晚上好"},async fetchNickname(){const e=document.cookie.split("; ").reduce(((e,t)=>{const[s,o]=t.split("=");return e[s]=decodeURIComponent(o),e}),{}).token;if(e)try{const t=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/avatar/nickname",{method:"GET",headers:{Authorization:e}});if(!t.ok){const e=await t.json();return void console.error("获取昵称失败:",e.message||"未知错误")}const s=await t.json();s.nickname?(this.nickname=s.nickname,console.log("Nickname successfully fetched:",s.nickname)):(this.nickname="默认昵称",console.log("Nickname field is missing. Using default nickname."))}catch(t){console.error("获取昵称时出错:",t)}else console.error("未找到JWT信息")}}};const x=(0,m.A)(S,[["render",E],["__scopeId","data-v-b83355ba"]]);var P=x;const T={key:0,class:"loading-message"},M={key:1,class:"empty-message"},W={key:2,class:"course-table"},I={key:0},X=["onClick"],j={class:"pagination-bar"},F=["onClick"],D={class:"add-course"},U={class:"section-header"},$={class:"input-section"},N=["value"],A={key:3,class:"help-modal"},V={class:"help-modal-content"},z={class:"help-modal-header"};function O(e,t,s,n,i,l){const r=(0,a.g2)("CourseDetailModal");return(0,a.uX)(),(0,a.CE)("div",null,[t[14]||(t[14]=(0,a.Lk)("h2",null,"我添加的课程",-1)),i.isLoaded?0===i.submissions.length?((0,a.uX)(),(0,a.CE)("div",M," 您还没有添加任何课程。 ")):((0,a.uX)(),(0,a.CE)("div",W,[(0,a.Lk)("table",null,[t[7]||(t[7]=(0,a.Lk)("thead",null,[(0,a.Lk)("tr",null,[(0,a.Lk)("th",null,"课程名"),(0,a.Lk)("th",null,"分类"),(0,a.Lk)("th",null,"教师"),(0,a.Lk)("th",null,"开课院系"),(0,a.Lk)("th",null,"提交时间"),(0,a.Lk)("th",null,"状态更新时间"),(0,a.Lk)("th",null,"审核状态")])],-1)),(0,a.Lk)("tbody",null,[((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(l.paginatedSubmissions,(e=>((0,a.uX)(),(0,a.CE)("tr",{key:e.submit_id},[(0,a.Lk)("td",null,[0===e.course_id?((0,a.uX)(),(0,a.CE)("span",I,(0,f.v_)(e.course_name),1)):((0,a.uX)(),(0,a.CE)("span",{key:1,class:"clickable-text",onClick:t=>l.loadCourseDetail(e.course_id)},(0,f.v_)(e.course_name),9,X))]),(0,a.Lk)("td",null,(0,f.v_)(l.getCategoryName(e.category_id)),1),(0,a.Lk)("td",null,(0,f.v_)(e.teachers),1),(0,a.Lk)("td",null,(0,f.v_)(l.getCollegeName(e.college)),1),(0,a.Lk)("td",null,(0,f.v_)(l.formatTime(e.create_time)),1),(0,a.Lk)("td",null,(0,f.v_)(l.formatTime(e.status_update_time)),1),(0,a.Lk)("td",null,(0,f.v_)(e.status),1)])))),128))])]),(0,a.Lk)("div",j,[((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(i.totalPages,(e=>((0,a.uX)(),(0,a.CE)("button",{key:e,onClick:t=>l.goToPage(e),class:(0,f.C4)({active:i.currentPage===e})},(0,f.v_)(e),11,F)))),128))])])):((0,a.uX)(),(0,a.CE)("div",T," 加载中,请稍后... ")),(0,a.Lk)("div",D,[(0,a.Lk)("div",U,[t[9]||(t[9]=(0,a.Lk)("h2",null,"我要添加课程",-1)),(0,a.Lk)("button",{class:"help-btn",onClick:t[0]||(t[0]=e=>i.showHelp=!0)},t[8]||(t[8]=[(0,a.Lk)("span",{class:"help-icon"},"?",-1),(0,a.eW)(" 帮助 ")]))]),(0,a.Lk)("div",$,[(0,a.bo)((0,a.Lk)("input",{"onUpdate:modelValue":t[1]||(t[1]=e=>i.newCourseName=e),type:"text",placeholder:"请输入课程名称"},null,512),[[o.Jo,i.newCourseName]]),(0,a.bo)((0,a.Lk)("select",{"onUpdate:modelValue":t[2]||(t[2]=e=>i.newCategoryId=e)},t[10]||(t[10]=[(0,a.Fv)('',14)]),512),[[o.u1,i.newCategoryId]]),(0,a.bo)((0,a.Lk)("select",{"onUpdate:modelValue":t[3]||(t[3]=e=>i.newCollege=e)},[t[11]||(t[11]=(0,a.Lk)("option",{value:"",disabled:""},"请选择开课院系",-1)),((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(l.filteredColleges,((e,t)=>((0,a.uX)(),(0,a.CE)("option",{key:t,value:t},(0,f.v_)(e),9,N)))),128))],512),[[o.u1,i.newCollege]]),(0,a.bo)((0,a.Lk)("input",{"onUpdate:modelValue":t[4]||(t[4]=e=>i.newTeachers=e),type:"text",placeholder:"请输入任课教师(多个教师之间用英文逗号,隔开)"},null,512),[[o.Jo,i.newTeachers]]),(0,a.Lk)("button",{onClick:t[5]||(t[5]=(...e)=>l.submitCourse&&l.submitCourse(...e))},"提交")])]),(0,a.bF)(r,{isVisible:i.showDetail,course:i.selectedCourse,onClose:l.closeCourseDetail},null,8,["isVisible","course","onClose"]),i.showHelp?((0,a.uX)(),(0,a.CE)("div",A,[(0,a.Lk)("div",V,[(0,a.Lk)("div",z,[t[12]||(t[12]=(0,a.Lk)("h3",null,"关于本系统课程信息的说明",-1)),(0,a.Lk)("button",{class:"close-btn",onClick:t[6]||(t[6]=e=>i.showHelp=!1)},"×")]),t[13]||(t[13]=(0,a.Fv)('本系统中,课程分为两大类:选修课和必修课。选修课有8个小类:通识选修、人文选修、专业方向、体育、学科基础、暑期国际课、数学与自然科学、重修专栏。人文选修类包括采用“抢选”方式进行选课的所有选修课,以及“改革开放史”和“社会主义发展史”两门人文社会科学类的选修课。体育课单独作为一类,不属于人文选修类。重修课程的选课归为选修课的“重修专栏”类别,不属于必修课范畴。重修专栏可以分享任何类别课程,但仅限分享重修体验。
必修课有5个小类:数学与自然科学、人文社会科学、学科基础、专业方向、实践。如上所述,本系统中重修的必修课程也属于选修课范畴。特别说明:军训课程属于实践类,系辅导员给分,在创建课程时课程教师请填写辅导员。
在创建课程时,请先了解课程的类别,以及课程的开课院系(详见下文)。如果同一课程的任课教师不同,用户可以创建多个同名课程,例如“A老师-篮球”和“B老师-篮球”将被视为两个不同的课程。创建的课程卡片需经过管理员审核,审核进度可在“我的课程”中实时查看。
在教务系统选择“我的考试”,选择对应的学期后,即可查看当前学期的课程类别和开课院系。
在教务系统选择“公共课表查询”,课表类型选择“班级课表”,再选好要查询的学期,并填写要查询的班级名称,点击查询按钮。
进入班级课表后,即可对应课程的开课院系。然后记下老师的姓名。
然后回到公共课表查询页面,课表类型选择“教师课表”,同样选好要查询的学期,并填写要查询的教师姓名,点击查询按钮。
进入教师课表后,找到此课程,即可查看课程类别。
只有在 NEU小站 完成 校园网或校园邮箱验证 的用户才能访问课程评分系统。
请确保您已完成相关操作,然后重新尝试访问。
',4)])))])}function d(e,t,s,o,n,i){const l=(0,a.g2)("el-menu-item"),r=(0,a.g2)("el-menu");return(0,a.uX)(),(0,a.Wv)(r,{"default-active":i.activeMenu,class:"el-menu-vertical-demo","background-color":"#333","text-color":"#fff","active-text-color":"#ffd04b"},{default:(0,a.k6)((()=>[(0,a.bF)(l,{index:"1",onClick:t[0]||(t[0]=e=>i.goTo("home"))},{default:(0,a.k6)((()=>t[6]||(t[6]=[(0,a.Lk)("i",{class:"el-icon-house"},null,-1),(0,a.Lk)("span",null,"使用必看",-1)]))),_:1}),(0,a.bF)(l,{index:"2",onClick:t[1]||(t[1]=e=>i.goTo("rating"))},{default:(0,a.k6)((()=>t[7]||(t[7]=[(0,a.Lk)("i",{class:"el-icon-setting"},null,-1),(0,a.Lk)("span",null,"选修课评分",-1)]))),_:1}),(0,a.bF)(l,{index:"3",onClick:t[2]||(t[2]=e=>i.goTo("ratingforcomp"))},{default:(0,a.k6)((()=>t[8]||(t[8]=[(0,a.Lk)("i",{class:"el-icon-setting"},null,-1),(0,a.Lk)("span",null,"必修课评分",-1)]))),_:1}),(0,a.bF)(l,{index:"4",onClick:t[3]||(t[3]=e=>i.goTo("course-list"))},{default:(0,a.k6)((()=>t[9]||(t[9]=[(0,a.Lk)("i",{class:"el-icon-setting"},null,-1),(0,a.Lk)("span",null,"我的课程",-1)]))),_:1}),(0,a.bF)(l,{index:"5",onClick:t[4]||(t[4]=e=>i.goTo("chat"))},{default:(0,a.k6)((()=>t[10]||(t[10]=[(0,a.Lk)("i",{class:"el-icon-setting"},null,-1),(0,a.Lk)("span",null,"我的聊天",-1)]))),_:1}),(0,a.bF)(l,{index:"6",onClick:t[5]||(t[5]=e=>i.goTo("about"))},{default:(0,a.k6)((()=>t[11]||(t[11]=[(0,a.Lk)("i",{class:"el-icon-info"},null,-1),(0,a.Lk)("span",null,"关于",-1)]))),_:1}),t[12]||(t[12]=(0,a.Lk)("div",{class:"sidebar-footer"},[(0,a.Lk)("span",{class:"footer-title"},"NEU小站课程评分系统 - v1.1"),(0,a.Lk)("div",{class:"footer-info"},[(0,a.eW)(" © 2025 "),(0,a.Lk)("a",{href:"https://www.xn--xhq44jb2fzpc.com/",target:"_blank"},"NEU小站")])],-1))])),_:1},8,["default-active"])}s(4114);var h={name:"SideBar",computed:{activeMenu(){const e=this.$route.name;return"home"===e?"1":"rating"===e?"2":"ratingforcomp"===e?"3":"course-list"===e?"4":"chat"===e?"5":"about"===e?"6":"1"}},methods:{goTo(e){this.$router.push({name:e})}}},m=s(1241);const g=(0,m.A)(h,[["render",d],["__scopeId","data-v-fa32c4be"]]);var p=g,k={name:"App",data(){return{isAuthorized:!1,authChecked:!1,isMobile:!1,forceDesktopMode:!1}},components:{SideBar:p},mounted(){this.checkIfMobile(),this.checkLoginStatus()},methods:{checkIfMobile(){const e=navigator.userAgent||navigator.vendor||window.opera,t=/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(e.toLowerCase()),s="true"===localStorage.getItem("forceDesktopMode");t&&!s?this.isMobile=!0:this.forceDesktopMode=s},enableDesktopMode(){this.forceDesktopMode=!0,localStorage.setItem("forceDesktopMode","true");const e=document.querySelector('meta[name="viewport"]');if(e)e.setAttribute("content","width=1024");else{const e=document.createElement("meta");e.name="viewport",e.content="width=1024",document.head.appendChild(e)}},async checkLoginStatus(){const e=document.cookie.split("; ").reduce(((e,t)=>{const[s,o]=t.split("=");return e[s]=decodeURIComponent(o),e}),{}).token;if(e)try{const t=await fetch("https://newfront.xn--xhq44jb2fzpc.com/user/info",{method:"GET",headers:{Authorization:e}}),s=await t.json();t.ok&&!0===s.activated?this.isAuthorized=!0:console.warn("用户未通过验证:用户未激活")}catch(t){console.error("获取用户信息失败:",t)}finally{this.authChecked=!0}}}};const v=(0,m.A)(k,[["render",u]]);var C=v,b=s(6762),y=(s(4188),s(973)),f=s(4232);const L={key:0},_={id:"homepage-title"},w={key:1};function E(e,t,s,o,n,i){const l=(0,a.g2)("router-link");return n.isLoaded?((0,a.uX)(),(0,a.CE)("div",L,[(0,a.Lk)("div",null,[(0,a.Lk)("h2",_,(0,f.v_)(n.greeting)+", "+(0,f.v_)(n.nickname)+"!",1),t[9]||(t[9]=(0,a.Fv)("欢迎您使用NEU小站课程评分系统!
本系统采用全匿名方式,学生可以匿名对课程进行评分和发表评论。每人对每个课程只能评分一次,若需要多次评分,系统将记录用户最后一次提交的评分结果。为保护隐私,发表评论时不会显示用户在NEU小站的用户名,每次评论的昵称均由用户自行定义。
本系统中,课程分为两大类:选修课和必修课。选修课有8个小类:通识选修、人文选修、专业方向、体育、学科基础、暑期国际课、数学与自然科学、重修专栏。人文选修类包括采用“抢选”方式进行选课的所有选修课,以及“改革开放史”和“社会主义发展史”两门人文社会科学类的选修课。体育课单独作为一类,不属于人文选修类。重修课程的选课归为选修课的“重修专栏”类别,不属于必修课范畴。重修专栏可以分享任何类别课程,但仅限分享重修体验。
必修课有5个小类:数学与自然科学、人文社会科学、学科基础、专业方向、实践。如上所述,本系统中重修的必修课程也属于选修课范畴。特别说明:军训课程属于实践类,系辅导员给分,在创建课程时课程教师请填写辅导员。
",4)),(0,a.Lk)("p",null,[t[1]||(t[1]=(0,a.eW)(" 在创建课程时,请先了解课程的类别,以及课程的")),t[2]||(t[2]=(0,a.Lk)("strong",null,"开课院系",-1)),t[3]||(t[3]=(0,a.eW)(",")),(0,a.bF)(l,{to:"/courses?m=true",class:"guide-link"},{default:(0,a.k6)((()=>t[0]||(t[0]=[(0,a.eW)("点击此处")]))),_:1}),t[4]||(t[4]=(0,a.eW)("查看指引。")),t[5]||(t[5]=(0,a.Lk)("strong",null,'如果同一课程的任课教师不同,用户可以创建多个同名课程,例如"A老师-篮球"和"B老师-篮球"将被视为两个不同的课程。',-1)),t[6]||(t[6]=(0,a.eW)("创建的课程卡片")),t[7]||(t[7]=(0,a.Lk)("strong",null,"需经过管理员审核",-1)),t[8]||(t[8]=(0,a.eW)(',审核进度可在"我的课程"中实时查看。 '))]),t[10]||(t[10]=(0,a.Lk)("p",null,[(0,a.eW)(" 本系统鼓励同学们提供真实、有价值的评分。"),(0,a.Lk)("strong",null,"禁止发布带有侮辱性的人身攻击等恶意评论。"),(0,a.eW)("管理员将对恶意用户进行封禁处理,确保评分系统的文明环境。 ")],-1))])])):((0,a.uX)(),(0,a.CE)("div",w,t[11]||(t[11]=[(0,a.Lk)("p",null,"加载中,请稍后...",-1)])))}var x={data(){return{name:"Homepage",greeting:"",nickname:"",isLoaded:!1}},mounted(){this.setGreeting(),this.fetchNickname(),setTimeout((()=>{this.isLoaded=!0}),300)},methods:{setGreeting(){const e=(new Date).getHours();this.greeting=e<12?"早上好":e<14?"中午好":e<18?"下午好":"晚上好"},async fetchNickname(){const e=document.cookie.split("; ").reduce(((e,t)=>{const[s,o]=t.split("=");return e[s]=decodeURIComponent(o),e}),{}).token;if(e)try{const t=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/avatar/nickname",{method:"GET",headers:{Authorization:e}});if(!t.ok){const e=await t.json();return void console.error("获取昵称失败:",e.message||"未知错误")}const s=await t.json();s.nickname?(this.nickname=s.nickname,console.log("Nickname successfully fetched:",s.nickname)):(this.nickname="默认昵称",console.log("Nickname field is missing. Using default nickname."))}catch(t){console.error("获取昵称时出错:",t)}else console.error("未找到JWT信息")}}};const S=(0,m.A)(x,[["render",E],["__scopeId","data-v-b83355ba"]]);var P=S;const T={key:0,class:"loading-message"},M={key:1,class:"empty-message"},W={key:2,class:"course-table"},I={key:0},X=["onClick"],j={class:"pagination-bar"},F=["onClick"],D={class:"add-course"},U={class:"section-header"},$={class:"input-section"},N=["value"],A={key:3,class:"help-modal"},V={class:"help-modal-content"},z={class:"help-modal-header"};function O(e,t,s,n,i,l){const r=(0,a.g2)("CourseDetailModal");return(0,a.uX)(),(0,a.CE)("div",null,[t[14]||(t[14]=(0,a.Lk)("h2",null,"我添加的课程",-1)),i.isLoaded?0===i.submissions.length?((0,a.uX)(),(0,a.CE)("div",M," 您还没有添加任何课程。 ")):((0,a.uX)(),(0,a.CE)("div",W,[(0,a.Lk)("table",null,[t[7]||(t[7]=(0,a.Lk)("thead",null,[(0,a.Lk)("tr",null,[(0,a.Lk)("th",null,"课程名"),(0,a.Lk)("th",null,"分类"),(0,a.Lk)("th",null,"教师"),(0,a.Lk)("th",null,"开课院系"),(0,a.Lk)("th",null,"提交时间"),(0,a.Lk)("th",null,"状态更新时间"),(0,a.Lk)("th",null,"审核状态")])],-1)),(0,a.Lk)("tbody",null,[((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(l.paginatedSubmissions,(e=>((0,a.uX)(),(0,a.CE)("tr",{key:e.submit_id},[(0,a.Lk)("td",null,[0===e.course_id?((0,a.uX)(),(0,a.CE)("span",I,(0,f.v_)(e.course_name),1)):((0,a.uX)(),(0,a.CE)("span",{key:1,class:"clickable-text",onClick:t=>l.loadCourseDetail(e.course_id)},(0,f.v_)(e.course_name),9,X))]),(0,a.Lk)("td",null,(0,f.v_)(l.getCategoryName(e.category_id)),1),(0,a.Lk)("td",null,(0,f.v_)(e.teachers),1),(0,a.Lk)("td",null,(0,f.v_)(l.getCollegeName(e.college)),1),(0,a.Lk)("td",null,(0,f.v_)(l.formatTime(e.create_time)),1),(0,a.Lk)("td",null,(0,f.v_)(l.formatTime(e.status_update_time)),1),(0,a.Lk)("td",null,(0,f.v_)(e.status),1)])))),128))])]),(0,a.Lk)("div",j,[((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(i.totalPages,(e=>((0,a.uX)(),(0,a.CE)("button",{key:e,onClick:t=>l.goToPage(e),class:(0,f.C4)({active:i.currentPage===e})},(0,f.v_)(e),11,F)))),128))])])):((0,a.uX)(),(0,a.CE)("div",T," 加载中,请稍后... ")),(0,a.Lk)("div",D,[(0,a.Lk)("div",U,[t[9]||(t[9]=(0,a.Lk)("h2",null,"我要添加课程",-1)),(0,a.Lk)("button",{class:"help-btn",onClick:t[0]||(t[0]=e=>i.showHelp=!0)},t[8]||(t[8]=[(0,a.Lk)("span",{class:"help-icon"},"?",-1),(0,a.eW)(" 帮助 ")]))]),(0,a.Lk)("div",$,[(0,a.bo)((0,a.Lk)("input",{"onUpdate:modelValue":t[1]||(t[1]=e=>i.newCourseName=e),type:"text",placeholder:"请输入课程名称"},null,512),[[o.Jo,i.newCourseName]]),(0,a.bo)((0,a.Lk)("select",{"onUpdate:modelValue":t[2]||(t[2]=e=>i.newCategoryId=e)},t[10]||(t[10]=[(0,a.Fv)('',14)]),512),[[o.u1,i.newCategoryId]]),(0,a.bo)((0,a.Lk)("select",{"onUpdate:modelValue":t[3]||(t[3]=e=>i.newCollege=e)},[t[11]||(t[11]=(0,a.Lk)("option",{value:"",disabled:""},"请选择开课院系",-1)),((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(l.filteredColleges,((e,t)=>((0,a.uX)(),(0,a.CE)("option",{key:t,value:t},(0,f.v_)(e),9,N)))),128))],512),[[o.u1,i.newCollege]]),(0,a.bo)((0,a.Lk)("input",{"onUpdate:modelValue":t[4]||(t[4]=e=>i.newTeachers=e),type:"text",placeholder:"请输入任课教师(多个教师之间用英文逗号,隔开)"},null,512),[[o.Jo,i.newTeachers]]),(0,a.Lk)("button",{onClick:t[5]||(t[5]=(...e)=>l.submitCourse&&l.submitCourse(...e))},"提交")])]),(0,a.bF)(r,{isVisible:i.showDetail,course:i.selectedCourse,onClose:l.closeCourseDetail},null,8,["isVisible","course","onClose"]),i.showHelp?((0,a.uX)(),(0,a.CE)("div",A,[(0,a.Lk)("div",V,[(0,a.Lk)("div",z,[t[12]||(t[12]=(0,a.Lk)("h3",null,"关于本系统课程信息的说明",-1)),(0,a.Lk)("button",{class:"close-btn",onClick:t[6]||(t[6]=e=>i.showHelp=!1)},"×")]),t[13]||(t[13]=(0,a.Fv)('本系统中,课程分为两大类:选修课和必修课。选修课有8个小类:通识选修、人文选修、专业方向、体育、学科基础、暑期国际课、数学与自然科学、重修专栏。人文选修类包括采用“抢选”方式进行选课的所有选修课,以及“改革开放史”和“社会主义发展史”两门人文社会科学类的选修课。体育课单独作为一类,不属于人文选修类。重修课程的选课归为选修课的“重修专栏”类别,不属于必修课范畴。重修专栏可以分享任何类别课程,但仅限分享重修体验。
必修课有5个小类:数学与自然科学、人文社会科学、学科基础、专业方向、实践。如上所述,本系统中重修的必修课程也属于选修课范畴。特别说明:军训课程属于实践类,系辅导员给分,在创建课程时课程教师请填写辅导员。
在创建课程时,请先了解课程的类别,以及课程的开课院系(详见下文)。如果同一课程的任课教师不同,用户可以创建多个同名课程,例如“A老师-篮球”和“B老师-篮球”将被视为两个不同的课程。创建的课程卡片需经过管理员审核,审核进度可在“我的课程”中实时查看。
在教务系统选择“我的考试”,选择对应的学期后,即可查看当前学期的课程类别和开课院系。
在教务系统选择“公共课表查询”,课表类型选择“班级课表”,再选好要查询的学期,并填写要查询的班级名称,点击查询按钮。
进入班级课表后,即可对应课程的开课院系。然后记下老师的姓名。
然后回到公共课表查询页面,课表类型选择“教师课表”,同样选好要查询的学期,并填写要查询的教师姓名,点击查询按钮。
进入教师课表后,找到此课程,即可查看课程类别。