(function(){"use strict";var e={2595:function(e,t,a){a.d(t,{A:function(){return re}});var s=a(6768),n=a(4232),o=a(5130);const i={class:"navbar"},r={class:"container"},c={class:"navbar-brand"},l={class:"navbar-end"},d={key:0,class:"navbar-item user-dropdown",style:{padding:"0"}},u=["src","alt"],h={class:"user-nickname"},p={class:"dropdown-menu"},g={key:0,class:"unread-dot"},m={key:1,class:"navbar-item"},f={key:0,class:"activation-dialog"},v={class:"activation-dialog-content"},k={class:"activation-methods"},b={class:"activation-method"},y={class:"activation-method"},C={key:1,class:"message-modal"},w={class:"message-modal-content"},L={class:"message-modal-header"},E={class:"message-modal-body",ref:"messageContainer"},_={key:0,class:"loading-spinner"},A={key:1,class:"no-messages"},M={key:2,class:"message-list"},I={class:"message-header"},x={class:"message-time"},S={key:0,class:"unread-tag"},X=["innerHTML"],j={key:1,class:"message-content"},O=["href"],z={key:1},P={key:2,class:"message-content"},T=["href"],N={key:1},V={key:3,class:"message-content"},D=["href"],q={key:1},W={key:4,class:"message-content"},F={key:5,class:"message-content"},U=["href"],$={key:1},B={key:6,class:"message-content"},Q=["href"],R={key:1},Z={key:7,class:"message-content"},J={key:3,class:"pagination"},H=["disabled"],K={class:"page-info"},G=["disabled"];function Y(e,t,a,Y,ee,te){const ae=(0,s.g2)("router-link");return(0,s.uX)(),(0,s.CE)("nav",i,[(0,s.Lk)("div",r,[(0,s.Lk)("div",c,[(0,s.bF)(ae,{to:"/",class:"navbar-logo"},{default:(0,s.k6)((()=>t[12]||(t[12]=[(0,s.Lk)("img",{src:"https://download.xn--xhq44jb2fzpc.com/images/logo-hd.png",alt:"NEU小站",class:"navbar-logo-img"},null,-1),(0,s.Lk)("span",null,"NEU小站",-1)]))),_:1}),(0,s.Lk)("div",{class:(0,n.C4)(["navbar-burger",{"is-active":ee.isMenuActive}]),onClick:t[0]||(t[0]=(...e)=>te.toggleMenu&&te.toggleMenu(...e))},t[13]||(t[13]=[(0,s.Lk)("span",null,null,-1),(0,s.Lk)("span",null,null,-1),(0,s.Lk)("span",null,null,-1)]),2)]),(0,s.Lk)("div",{class:(0,n.C4)(["navbar-menu",{"is-active":ee.isMenuActive}])},[(0,s.Lk)("div",l,[(0,s.bF)(ae,{to:"/",class:"navbar-item"},{default:(0,s.k6)((()=>t[14]||(t[14]=[(0,s.eW)("首页")]))),_:1}),(0,s.bF)(ae,{to:"/strategy",class:"navbar-item"},{default:(0,s.k6)((()=>t[15]||(t[15]=[(0,s.eW)("攻略指南")]))),_:1}),(0,s.bF)(ae,{to:"/resources",class:"navbar-item"},{default:(0,s.k6)((()=>t[16]||(t[16]=[(0,s.eW)("资源共享")]))),_:1}),(0,s.bF)(ae,{to:"/app",class:"navbar-item"},{default:(0,s.k6)((()=>t[17]||(t[17]=[(0,s.eW)("应用中心")]))),_:1}),(0,s.bF)(ae,{to:"/about",class:"navbar-item"},{default:(0,s.k6)((()=>t[18]||(t[18]=[(0,s.eW)("关于")]))),_:1}),(0,s.bF)(ae,{to:"/search",class:"navbar-item"},{default:(0,s.k6)((()=>t[19]||(t[19]=[(0,s.eW)("搜索")]))),_:1}),ee.userInfo?((0,s.uX)(),(0,s.CE)("div",d,[(0,s.Lk)("div",{class:"user-info",onClick:t[1]||(t[1]=(...e)=>te.toggleDropdown&&te.toggleDropdown(...e))},[(0,s.Lk)("img",{src:ee.userInfo.avatar_path,class:"user-avatar",alt:ee.userInfo.nickname},null,8,u),(0,s.Lk)("span",h,(0,n.v_)(ee.userInfo.nickname),1),(0,s.Lk)("span",{class:(0,n.C4)(["dropdown-arrow",{"is-active":ee.isDropdownActive}])},"▼",2)]),(0,s.bo)((0,s.Lk)("div",p,[(0,s.Lk)("div",{class:"dropdown-item",onClick:t[2]||(t[2]=(...e)=>te.handleUserCenter&&te.handleUserCenter(...e))},"个人中心"),(0,s.Lk)("div",{class:"dropdown-item",onClick:t[3]||(t[3]=(...e)=>te.handleMessages&&te.handleMessages(...e))},[t[20]||(t[20]=(0,s.eW)(" 我的消息 ")),ee.userInfo.messageUnread?((0,s.uX)(),(0,s.CE)("span",g)):(0,s.Q3)("",!0)]),(0,s.Lk)("div",{class:"dropdown-item",onClick:t[4]||(t[4]=(...e)=>te.handleLogout&&te.handleLogout(...e))},"退出登录")],512),[[o.aG,ee.isDropdownActive]])])):((0,s.uX)(),(0,s.CE)("div",m,[(0,s.Lk)("a",{class:"login-btn",onClick:t[5]||(t[5]=(...e)=>te.handleLogin&&te.handleLogin(...e))},"登录")]))])],2)]),ee.showActivationDialog?((0,s.uX)(),(0,s.CE)("div",f,[(0,s.Lk)("div",v,[t[25]||(t[25]=(0,s.Lk)("h3",null,"账户激活",-1)),t[26]||(t[26]=(0,s.Lk)("p",null,"您的账户尚未激活,请选择以下方式进行激活:",-1)),(0,s.Lk)("div",k,[(0,s.Lk)("div",b,[t[21]||(t[21]=(0,s.Lk)("h4",null,"方式 1:NEU 校园网验证",-1)),t[22]||(t[22]=(0,s.Lk)("p",null,"请连接 NEU 校园网后点击下面的验证按钮(暂不支持秦皇岛分校)",-1)),(0,s.Lk)("button",{onClick:t[6]||(t[6]=(...e)=>te.handleNetworkVerify&&te.handleNetworkVerify(...e)),class:"verify-btn"},"校园网验证")]),(0,s.Lk)("div",y,[t[23]||(t[23]=(0,s.Lk)("h4",null,"方式 2:校园邮箱验证",-1)),t[24]||(t[24]=(0,s.Lk)("p",null,"使用 @stu.neu.edu.cn 或 @stu.neuq.edu.cn 后缀的校园邮箱验证",-1)),(0,s.Lk)("button",{onClick:t[7]||(t[7]=(...e)=>te.handleEmailVerify&&te.handleEmailVerify(...e)),class:"verify-btn"},"邮箱验证")])]),(0,s.Lk)("button",{onClick:t[8]||(t[8]=(...e)=>te.handleLogout&&te.handleLogout(...e)),class:"close-btn"},"退出登录")])])):(0,s.Q3)("",!0),ee.showMessageModal?((0,s.uX)(),(0,s.CE)("div",C,[(0,s.Lk)("div",w,[(0,s.Lk)("div",L,[t[27]||(t[27]=(0,s.Lk)("h3",null,"我的消息",-1)),(0,s.Lk)("span",{class:"close-icon",onClick:t[9]||(t[9]=(...e)=>te.closeMessageModal&&te.closeMessageModal(...e))},"×")]),(0,s.Lk)("div",E,[ee.loading?((0,s.uX)(),(0,s.CE)("div",_,"加载中...")):0===ee.messages.length?((0,s.uX)(),(0,s.CE)("div",A," 暂无消息 ")):((0,s.uX)(),(0,s.CE)("div",M,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(ee.messages,(e=>((0,s.uX)(),(0,s.CE)("div",{key:e.id,class:"message-item"},[(0,s.Lk)("div",I,[(0,s.Lk)("span",x,(0,n.v_)(te.formatDate(e.created_at)),1),e.status?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("span",S,"未读"))]),0===e.type?((0,s.uX)(),(0,s.CE)("div",{key:0,class:"message-content",innerHTML:e.content},null,8,X)):1===e.type?((0,s.uX)(),(0,s.CE)("div",j,[t[28]||(t[28]=(0,s.eW)(" 您在《")),e.article_id?((0,s.uX)(),(0,s.CE)("a",{key:0,href:"https://www.xn--xhq44jb2fzpc.com/article/"+e.article_id,target:"_blank"},(0,n.v_)(e.article_title),9,O)):((0,s.uX)(),(0,s.CE)("span",z,(0,n.v_)(e.article_title),1)),(0,s.eW)("》内容下的「"+(0,n.v_)(e.original_content)+"」评论被回复:「"+(0,n.v_)(e.reply_content)+"」 ",1)])):2===e.type?((0,s.uX)(),(0,s.CE)("div",P,[t[29]||(t[29]=(0,s.eW)(" 您的投稿《")),e.article_id?((0,s.uX)(),(0,s.CE)("a",{key:0,href:"https://www.xn--xhq44jb2fzpc.com/article/"+e.article_id,target:"_blank"},(0,n.v_)(e.title),9,T)):((0,s.uX)(),(0,s.CE)("span",N,(0,n.v_)(e.title),1)),(0,s.eW)("》审核"+(0,n.v_)(e.pass?"已通过":"未通过")+(0,n.v_)(e.note?",审核备注:"+e.note:""),1)])):3===e.type?((0,s.uX)(),(0,s.CE)("div",V,[t[30]||(t[30]=(0,s.eW)(' 您添加的课程"')),e.course_id?((0,s.uX)(),(0,s.CE)("a",{key:0,href:"https://course.xn--xhq44jb2fzpc.com/courses?c="+te.encodeBase64(e.course_id),target:"_blank"},(0,n.v_)(e.course_name),9,D)):((0,s.uX)(),(0,s.CE)("span",q,(0,n.v_)(e.course_name),1)),(0,s.eW)('"审核'+(0,n.v_)(e.status),1)])):4===e.type?((0,s.uX)(),(0,s.CE)("div",W," 您的密钥「"+(0,n.v_)(e.key_plaintext)+"」使用次数已用尽,继续投稿可获得新的密钥。 ",1)):5===e.type?((0,s.uX)(),(0,s.CE)("div",F,[t[31]||(t[31]=(0,s.eW)(" 您在《")),e.article_id?((0,s.uX)(),(0,s.CE)("a",{key:0,href:"https://www.xn--xhq44jb2fzpc.com/article/"+e.article_id,target:"_blank"},(0,n.v_)(e.article_title),9,U)):((0,s.uX)(),(0,s.CE)("span",$,(0,n.v_)(e.article_title),1)),(0,s.eW)("》内容下的「"+(0,n.v_)(e.content)+"」评论被点赞。 ",1)])):6===e.type?((0,s.uX)(),(0,s.CE)("div",B,[t[32]||(t[32]=(0,s.eW)(" 您的内容《")),e.article_id?((0,s.uX)(),(0,s.CE)("a",{key:0,href:"https://www.xn--xhq44jb2fzpc.com/article/"+e.article_id,target:"_blank"},(0,n.v_)(e.article_title),9,Q)):((0,s.uX)(),(0,s.CE)("span",R,(0,n.v_)(e.article_title),1)),(0,s.eW)("》收到新评论:「"+(0,n.v_)(e.comment_content)+"」 ",1)])):((0,s.uX)(),(0,s.CE)("div",Z,(0,n.v_)(e.error||"未知消息类型"),1))])))),128))])),ee.totalPages>1?((0,s.uX)(),(0,s.CE)("div",J,[(0,s.Lk)("button",{disabled:1===ee.currentPage,onClick:t[10]||(t[10]=e=>te.loadMessages(ee.currentPage-1)),class:"page-btn"},"上一页",8,H),(0,s.Lk)("span",K,(0,n.v_)(ee.currentPage)+" / "+(0,n.v_)(ee.totalPages),1),(0,s.Lk)("button",{disabled:ee.currentPage===ee.totalPages,onClick:t[11]||(t[11]=e=>te.loadMessages(ee.currentPage+1)),class:"page-btn"},"下一页",8,G)])):(0,s.Q3)("",!0)],512)])])):(0,s.Q3)("",!0)])}a(4114),a(4979);var ee=a(8704),te=a(4373),ae=a(6253),se=a(6965),ne={name:"NavBar",data(){return{isMenuActive:!1,isDropdownActive:!1,userInfo:null,showActivationDialog:!1,isActivated:!1,showMessageModal:!1,messages:[],loading:!1,currentPage:1,totalPages:1,pageSize:10}},mounted(){this.checkLoginStatus()},methods:{handleLogin(){(0,se.A)().then((e=>{console.log(e),this.checkLoginStatus()})).catch((e=>{console.log(e)}))},toggleMenu(){this.isMenuActive=!this.isMenuActive},toggleDropdown(){this.isDropdownActive=!this.isDropdownActive},handleUserCenter(){this.isDropdownActive=!1,this.$router.push("/user-center")},handleLogout(){const e=window.location.hostname.includes("localhost")?"localhost":window.location.hostname.split(".").slice(-2).join(".");ee.A.remove("token",{domain:e,path:"/"}),this.userInfo=null,window.location.reload()},checkLoginStatus(){const e=ee.A.get("token");e&&te.A.get("https://newfront.xn--xhq44jb2fzpc.com/user/info",{headers:{Authorization:e}}).then((e=>{this.userInfo=e.data,this.isActivated=e.data.activated,this.isActivated||(this.showActivationDialog=!0)})).catch((e=>{console.log(e),this.userInfo=null}))},checkActivationStatus(e){},closeActivationDialog(){this.showActivationDialog=!1},handleNetworkVerify(){const e=ee.A.get("token");e?te.A.get("https://userlogin.xn--xhq44jb2fzpc.com/qv",{headers:{Authorization:e}}).then((e=>{ae.A.alert(e.data.message,"提示"),this.isActivated=!0,this.showActivationDialog=!1})).catch((e=>{e.response&&e.response.data?ae.A.alert(`${e.response.data.message} 当前IP: ${e.response.data.ip||"未知"}`,"提示"):ae.A.alert("验证失败,请稍后重试","提示")})):ae.A.alert("您未登录,请先登录后操作!","提示")},handleEmailVerify(){const e=ee.A.get("token");e?te.A.get("https://userlogin.xn--xhq44jb2fzpc.com/check-email",{headers:{Authorization:e}}).then((e=>{ae.A.alert(e.data.message,"提示"),this.isActivated=!0,this.showActivationDialog=!1})).catch((t=>{t.response&&403===t.response.status?this.promptForCampusEmail(e):t.response&&t.response.data?ae.A.alert(t.response.data.message||"发生未知错误,请稍后重试","提示"):ae.A.alert("验证失败,请稍后重试","提示")})):ae.A.alert("您未登录,请先登录后操作!","提示")},promptForCampusEmail(e){(0,ae.A)({title:"校园邮箱验证",message:"请输入您的 @stu.neu.edu.cn 或 @stu.neuq.edu.cn 校园邮箱:",showInput:!0,inputPlaceholder:"请输入校园邮箱",confirmText:"确认",cancelText:"取消",cancel:!0}).then((({value:t})=>{t?t.endsWith("@stu.neu.edu.cn")||t.endsWith("@stu.neuq.edu.cn")?this.sendCampusVerificationEmail(t,e):ae.A.alert("请输入有效的 @stu.neu.edu.cn 或 @stu.neuq.edu.cn 校园邮箱!","提示"):ae.A.alert("邮箱不能为空","提示")})).catch((()=>{}))},sendCampusVerificationEmail(e,t){te.A.post("https://userlogin.xn--xhq44jb2fzpc.com/send-campus-verify",{campus_email:e},{headers:{Authorization:t,"Content-Type":"application/json"}}).then((t=>{ae.A.alert(`验证邮件已发送至 ${e},请检查您的邮箱完成验证。`,"提示")})).catch((e=>{e.response&&e.response.data?ae.A.alert(`发送验证邮件失败:${e.response.data.message}`,"提示"):ae.A.alert("发送验证邮件失败,请稍后重试","提示")}))},handleMessages(){this.isDropdownActive=!1,this.showMessageModal=!0,this.loadMessages(1)},closeMessageModal(){this.showMessageModal=!1,this.checkLoginStatus()},loadMessages(e){this.loading=!0,this.currentPage=e,te.A.get("https://newfront.xn--xhq44jb2fzpc.com/message/get",{headers:{Authorization:ee.A.get("token")},params:{page:e}}).then((e=>{this.messages=e.data.messages,this.totalPages=e.data.totalPages,this.pageSize=e.data.pageSize,this.loading=!1})).catch((e=>{console.error("获取消息失败:",e),this.loading=!1,ae.A.alert("获取消息失败,请稍后再试。","错误")}))},formatDate(e){const t=new Date(e);return t.toLocaleDateString()+" "+t.toLocaleTimeString()},encodeBase64(e){return window.btoa(e)}}},oe=a(1241);const ie=(0,oe.A)(ne,[["render",Y],["__scopeId","data-v-7bfadd42"]]);var re=ie},4876:function(e,t,a){a.d(t,{A:function(){return f}});var s=a(6768),n=a(5130),o=a(4232);const i={class:"message-box"},r={key:0,class:"message-header"},c={class:"message-content"},l={key:0,class:"input-wrapper"},d=["type","placeholder"],u={class:"message-footer"};function h(e,t,a,h,p,g){return(0,s.uX)(),(0,s.Wv)(n.eB,{name:"message-fade"},{default:(0,s.k6)((()=>[a.visible?((0,s.uX)(),(0,s.CE)("div",{key:0,class:"message-overlay",onClick:t[4]||(t[4]=(0,n.D$)(((...e)=>g.handleOverlayClick&&g.handleOverlayClick(...e)),["self"]))},[(0,s.Lk)("div",i,[a.title?((0,s.uX)(),(0,s.CE)("div",r,[(0,s.Lk)("h3",null,(0,o.v_)(a.title),1)])):(0,s.Q3)("",!0),(0,s.Lk)("div",c,[(0,s.Lk)("p",null,(0,o.v_)(a.message),1),a.showInput?((0,s.uX)(),(0,s.CE)("div",l,[(0,s.bo)((0,s.Lk)("input",{"onUpdate:modelValue":t[0]||(t[0]=e=>p.localInputValue=e),type:a.inputType,placeholder:a.inputPlaceholder,class:"message-input",onKeyup:t[1]||(t[1]=(0,n.jR)(((...e)=>g.handleConfirm&&g.handleConfirm(...e)),["enter"]))},null,40,d),[[n.hp,p.localInputValue]])])):(0,s.Q3)("",!0)]),(0,s.Lk)("div",u,[g.cancelVisible?((0,s.uX)(),(0,s.CE)("button",{key:0,class:"btn btn-cancel",onClick:t[2]||(t[2]=(...e)=>g.handleCancel&&g.handleCancel(...e))},(0,o.v_)(a.cancelText),1)):(0,s.Q3)("",!0),g.confirmVisible?((0,s.uX)(),(0,s.CE)("button",{key:1,class:"btn btn-confirm",onClick:t[3]||(t[3]=(...e)=>g.handleConfirm&&g.handleConfirm(...e))},(0,o.v_)(a.confirmText),1)):(0,s.Q3)("",!0)])])])):(0,s.Q3)("",!0)])),_:1})}var p={name:"MessageBox",props:{visible:{type:Boolean,default:!1},title:{type:String,default:""},message:{type:String,required:!0},confirm:{type:Boolean,default:!0},cancel:{type:Boolean,default:!1},confirmText:{type:String,default:"确定"},cancelText:{type:String,default:"取消"},closeOnClickOverlay:{type:Boolean,default:!1},showInput:{type:Boolean,default:!1},inputType:{type:String,default:"text"},inputValue:{type:String,default:""},inputPlaceholder:{type:String,default:"请输入"}},data(){return{localInputValue:""}},watch:{inputValue:{immediate:!0,handler(e){this.localInputValue=e}}},computed:{confirmVisible(){return this.confirm},cancelVisible(){return this.cancel}},methods:{handleConfirm(){this.$emit("confirm",this.localInputValue)},handleCancel(){this.$emit("cancel")},handleOverlayClick(){this.closeOnClickOverlay&&this.$emit("cancel")}}},g=a(1241);const m=(0,g.A)(p,[["render",h],["__scopeId","data-v-076938bc"]]);var f=m},6253:function(e,t,a){var s=a(5130),n=a(4876);const o=(e={})=>new Promise(((t,a)=>{const o=document.createElement("div");document.body.appendChild(o);const i=(0,s.Ef)(n.A,{...e,visible:!0,confirm:!1!==e.confirm,cancel:!0===e.cancel,onConfirm:e=>{i.unmount(),document.body.removeChild(o),t({value:e,action:"confirm"})},onCancel:()=>{i.unmount(),document.body.removeChild(o),a({action:"cancel"})}});i.mount(o)}));o.alert=(e,t="",a={})=>o({title:t,message:e,confirm:!0,cancel:!1,...a}),o.confirm=(e,t="",a={})=>o({title:t,message:e,confirm:!0,cancel:!0,...a}),o.prompt=(e,t="",a={})=>o({title:t,message:e,showInput:!0,confirm:!0,cancel:!0,...a}),t.A=o},6597:function(e,t,a){var s=a(5130),n=a(6768);const o={id:"app"},i={class:"beian-footer"},r={class:"container"},c={class:"copyright"};function l(e,t){const a=(0,n.g2)("router-view"),s=(0,n.g2)("router-link");return(0,n.uX)(),(0,n.CE)("div",o,[(0,n.bF)(a),(0,n.Lk)("footer",i,[(0,n.Lk)("div",r,[t[2]||(t[2]=(0,n.Lk)("span",{style:{"white-space":"nowrap"}},[(0,n.Lk)("img",{src:"https://beian.mps.gov.cn/web/assets/logo01.6189a29f.png",alt:"公安标识",style:{"vertical-align":"middle",height:"16px",display:"inline-block"}}),(0,n.Lk)("a",{href:"https://beian.mps.gov.cn/",target:"_blank"}," 赣公网安备36090202000259号"),(0,n.eW)(" | "),(0,n.Lk)("a",{href:"https://beian.miit.gov.cn/",target:"_blank"},"赣ICP备2024039267号-1")],-1)),(0,n.Lk)("div",c,[t[1]||(t[1]=(0,n.eW)(" © 2025 ")),(0,n.bF)(s,{to:"/about"},{default:(0,n.k6)((()=>t[0]||(t[0]=[(0,n.eW)("NEU小站")]))),_:1})])])])])}var d=a(1241);const u={},h=(0,d.A)(u,[["render",l]]);var p=h,g=a(1387);const m={class:"home"};function f(e,t,a,s,o,i){const r=(0,n.g2)("Navbar");return(0,n.uX)(),(0,n.CE)("div",m,[(0,n.bF)(r),t[0]||(t[0]=(0,n.Fv)('
NEUer的实用工具站
“哈哈,恭喜你发现了宝藏,让我在接下来的日子里陪你一起成长吧”
——NEU小站