1import{B as t}from"./Breadcrumb-D19IZBWm.js";import{b as e,p as s}from"./vendor-x_n3Z6bY.js";import{n as a}from"./index-BnngR_Ko.js";import{S as r}from"./Sidebar-BHCPYnlj.js";import{B as i}from"./BackToTop-eQ_z45Yj.js";const l=a({name:"ForumTopic",components:{Breadcrumb:t,ReplyList:a({name:"ReplyList",components:{ReplyRow:a({name:"ReplyRow",components:{NestedReplyRow:a({name:"NestedReplyRow",components:{},data:()=>({showReportForm:!1,reason:"1",replyContent:"",isSending:!1}),props:{reply:{type:Object,required:!0},pageID:{type:Number,default:1},postID:{type:Number,required:!0},activeReplyId:{type:Number,default:null}},computed:{showReplyForm(){return this.activeReplyId===this.reply.reply_id},formattedContent(){let t=this.reply.content;return t=t.replace(/\n/g,"<br>"),t=t.replace(/(https?:\/\/[\w_.\/]+?)\/(\w+)\/(\w+\.(gif|jpg|bmp|png|webp))/g,'<div class="image-container"><a href="$1/large/$3" target="_blank" class="view-original">[æ¥çåå¾]</a><a href="$1/large/$3" target="_blank"><img src="$1/mw1024/$3" alt=""></a></div>'),t=t.replace(/https?:\/\/(\w+\.)sinaimg\.cn\/(\w+)\/(\w+\.(gif|jpg|bmp|png|webp))/g,'<div class="image-container"><a href="https://img.toto.im/large/$3" target="_blank" class="view-original">[æ¥çåå¾]</a><a href="https://img.toto.im/large/$3" target="_blank"><img src="https://img.toto.im/mw1024/$3" alt=""></a></div>'),t=s.sanitize(t,{ADD_ATTR:["target"]}),t}},methods:{toggleReplyForm(){this.$emit("toggle-reply-form",this.reply.reply_id),this.activeReplyId!==this.reply.reply_id&&(this.replyContent="",this.$nextTick(()=>{this.$refs.replyTextarea&&this.$refs.replyTextarea.focus()}))},cancelReply(){this.$emit("toggle-reply-form",null),this.replyContent=""},handleKeyUp(t){t.ctrlKey&&13===t.keyCode&&this.sendInlineReply()},sendInlineReply(){if(""===this.replyContent.trim())return void this.$toast.warning("åå¤å
容ä¸è½ä¸ºç©ºï¼");const t=this.reply.reply_level>=5,s={content:this.replyContent,post_id:parseInt(this.postID),page_id:parseInt(this.pageID),parent_reply_id:t?null:this.reply.reply_id};t&&(s.content=`#${this.reply.reply_id} å¼ç¨ ${this.reply.user_name} çåè¨:\n`+s.content),this.isSending=!0,e.post("/api/forum/replies",s).then(t=>{0===t.data.code?(this.$toast.success("åå¤å叿åï¼è¯·çå¾
管çåå®¡æ ¸ï¼"),this.replyContent="",this.$emit("toggle-reply-form",null),this.$emit("reply-created")):this.$toast.error(t.data.msg)}).catch(t=>{this.$toast.error("é¢ï¼åºé®é¢äºï¼è¯·ç¨ååè¯ï¼")}).finally(()=>{this.isSending=!1})},vote(t,s){e.post("/api/forum/replies/vote",{reply_id:parseInt(t),vote_type:parseInt(s)}).then(t=>{0===t.data.code?1===s?this.reply.oo++:this.reply.xx++:this.$toast.error(t.data.msg)}).catch(t=>{})},showReport(){this.showReportForm=!0},goReply(t,e){if(this.reply.reply_level>=5){const s=`#${t} å¼ç¨ ${e} çåè¨:\n`;this.$emit("reply-to",s,null)}else this.$emit("reply-to","",{replyId:t,userName:e})},handleChildReplyTo(t,e){this.$emit("reply-to",t,e)},handleReplyCreated(){this.$emit("reply-created")},handleToggleReplyForm(t){this.$emit("toggle-reply-form",t)},submitReport(){confirm("ç¡®å®è¦ä¸¾æ¥è¿æ¡ä¿¡æ¯åï¼")&&e.post("/api/forum/replies/report",{reply_id:parseInt(this.reply.reply_id),reason:parseInt(this.reason)}).then(t=>{this.$toast.success(t.data.msg),this.showReportForm=!1}).catch(t=>{})}}},function(){var t=this,e=t._self._c;return e("div",{staticClass:"nested-reply",class:{"has-children":t.reply.children&&t.reply.children.length>0}},[e("div",{staticClass:"reply-main",attrs:{id:"reply-"+t.reply.reply_id}},[e("div",{staticClass:"topic-avatar"},[e("img",{staticClass:"avatar-img",attrs:{src:t.reply.avatar_ref,alt:"avatar"}})]),e("div",{staticClass:"reply-content-container"},[e("div",{staticClass:"topic-author"},[e("b",{class:t.$getAuthorClass(t.reply.author_membership)},[t._v(t._s(t.reply.user_name))]),t.$showBadge(t.reply.author_badge_id)?e("span",{staticClass:"author-badge"},[e("a",{attrs:{href:"/member-system",target:"_blank",title:t.$getBadgeInfo(t.reply.author_badge_id).title}},[e("img",{attrs:{src:t.$getBadgeInfo(t.reply.author_badge_id).url}})])]):t._e(),t._v(" "+t._s(t.$timeFromNow(t.reply.create_time))+" / "+t._s(t.reply.location)+" ")]),e("div",{staticClass:"topic-content",domProps:{innerHTML:t._s(t.formattedContent)}}),e("div",{staticClass:"topic-function"},[e("span",[t._v("#"+t._s(t.reply.reply_id))]),t._v(" / "),e("span",{staticClass:"clickable",on:{click:t.toggleReplyForm}},[t._v("åå¤")]),t._v(" / "),t.showReportForm?e("span",[e("select",{directives:[{name:"model",rawName:"v-model",value:t.reason,expression:"reason"}],on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});t.reason=e.target.multiple?s:s[0]}}},[e("option",{attrs:{value:"1"}},[t._v("è¿æ³ä¿¡æ¯")]),e("option",{attrs:{value:"2"}},[t._v("è²æ
")]),e("option",{attrs:{value:"3"}},[t._v("弿/人身æ»å»")])]),e("button",{attrs:{type:"button"},on:{click:t.submitReport}},[t._v("æäº¤")])]):t._e(),t.showReportForm?t._e():e("span",{staticClass:"clickable report-link",on:{click:t.showReport}},[t._v("举æ¥")]),t._v(" / "),e("span",{staticClass:"oo",on:{click:function(e){return t.vote(t.reply.reply_id,1)}}},[t._v("OO ["+t._s(t.reply.oo)+"]")]),t._v(" / "),e("span",{staticClass:"xx",on:{click:function(e){return t.vote(t.reply.reply_id,0)}}},[t._v("XX ["+t._s(t.reply.xx)+"]")])]),t.showReplyForm?e("div",{staticClass:"inline-reply-form"},[e("div",{staticClass:"replying-to"},[e("span",[t._v("æ£å¨åå¤ "+t._s(t.reply.user_name)+" ç #"+t._s(t.reply.reply_id))]),e("button",{staticClass:"cancel-btn",attrs:{type:"button"},on:{click:t.cancelReply}},[t._v("åæ¶")])]),e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.replyContent,expression:"replyContent"}],ref:"replyTextarea",attrs:{placeholder:"åå¤ "+t.reply.user_name+"..."},domProps:{value:t.replyContent}
1,on:{keyup:t.handleKeyUp,input:function(e){e.target.composing||(t.replyContent=e.target.value)}}}),e("div",{staticClass:"reply-form-actions"},[e("img",{class:{"d-none":!t.isSending},attrs:{src:"https://cdn.jandan.net/wp-content/themes/jandan2025/images/loading.gif"}}),e("button",{staticClass:"submit-btn",attrs:{type:"button",disabled:t.isSending},on:{click:t.sendInlineReply}},[t._v(" åå¤ ")])])]):t._e()])]),t.reply.children&&t.reply.children.length>0?e("div",{staticClass:"children-replies"},[e("div",{staticClass:"children-line"}),e("div",{staticClass:"children-list"},t._l(t.reply.children,function(s){return e("nested-reply-row",{key:s.reply_id,attrs:{reply:s,"page-i-d":t.pageID,"post-i-d":t.postID,"active-reply-id":t.activeReplyId},on:{"reply-to":t.handleChildReplyTo,"reply-created":t.handleReplyCreated,"toggle-reply-form":t.handleToggleReplyForm}})}),1)]):t._e()])},[],!1,null,"41865a98").exports},data(){return{showReportForm:!1,reason:"1",currentIndex:this.index,replyContent:"",isSending:!1}},props:{reply:{type:Object,required:!0},order:{type:String,default:"asc"},index:{type:Number,required:!0},totalReplies:{type:Number,default:0},pageID:{type:Number,default:1},postID:{type:Number,required:!0},activeReplyId:{type:Number,default:null}},computed:{showReplyForm(){return this.activeReplyId===this.reply.reply_id},floorNumber(){return"desc"===this.order?this.totalReplies-this.currentIndex:this.currentIndex+1},formattedContent(){let t=this.reply.content;return t=t.replace(/\n/g,"<br>"),t=t.replace(/(https?:\/\/[\w_.\/]+?)\/(\w+)\/(\w+\.(gif|jpg|jpeg|bmp|png|webp))/g,'<div class="image-container"><a href="$1/large/$3" target="_blank" class="view-original">[æ¥çåå¾]</a><a href="$1/large/$3" target="_blank"><img src="$1/mw1024/$3" alt=""></a></div>'),t=t.replace(/https?:\/\/(\w+\.)sinaimg\.cn\/(\w+)\/(\w+\.(gif|jpg|jpeg|bmp|png|webp))/g,'<div class="image-container"><a href="https://img.toto.im/large/$3" target="_blank" class="view-original">[æ¥çåå¾]</a><a href="https://img.toto.im/large/$3" target="_blank"><img src="https://img.toto.im/mw1024/$3" alt=""></a></div>'),t=s.sanitize(t,{ADD_ATTR:["target"]}),t}},methods:{toggleReplyForm(){this.$emit("toggle-reply-form",this.reply.reply_id),this.activeReplyId!==this.reply.reply_id&&(this.replyContent="",this.$nextTick(()=>{this.$refs.replyTextarea&&this.$refs.replyTextarea.focus()}))},cancelReply(){this.$emit("toggle-reply-form",null),this.replyContent=""},handleKeyUp(t){t.ctrlKey&&13===t.keyCode&&this.sendInlineReply()},sendInlineReply(){if(""===this.replyContent.trim())return void this.$toast.warning("åå¤å
容ä¸è½ä¸ºç©ºï¼");const t=this.reply.reply_level>=5,s={content:this.replyContent,post_id:parseInt(this.postID),page_id:parseInt(this.pageID),parent_reply_id:t?null:this.reply.reply_id};t&&(s.content=`#${this.reply.reply_id} å¼ç¨ ${this.reply.user_name} çåè¨:\n`+s.content),this.isSending=!0,e.post("/api/forum/replies",s).then(t=>{0===t.data.code?(this.$toast.success("åå¤å叿åï¼è¯·çå¾
管çåå®¡æ ¸ï¼"),this.replyContent="",this.$emit("toggle-reply-form",null),this.$emit("reply-created")):this.$toast.error(t.data.msg)}).catch(t=>{this.$toast.error("é¢ï¼åºé®é¢äºï¼è¯·ç¨ååè¯ï¼")}).finally(()=>{this.isSending=!1})},vote(t,s){e.post("/api/forum/replies/vote",{reply_id:parseInt(t),vote_type:parseInt(s)}).then(t=>{0===t.data.code?1===s?this.reply.oo++:this.reply.xx++:this.$toast.error(t.data.msg)}).catch(t=>{})},showReport(){this.showReportForm=!0},goReply(t,e){if(this.reply.reply_level>=5){const s=`#${t} å¼ç¨ ${e} çåè¨:\n`;this.$emit("reply-to",s,null)}else this.$emit("reply-to","",{replyId:t,userName:e})},handleNestedReplyTo(t,e){this.$emit("reply-to",t,e)},handleReplyCreated(){this.$emit("reply-created")},handleToggleReplyForm(t){this.$emit("toggle-reply-form",t)},submitReport(){confirm("ç¡®å®è¦ä¸¾æ¥è¿æ¡ä¿¡æ¯åï¼")&&e.post("/api/forum/replies/report",{reply_id:parseInt(this.reply.reply_id),reason:parseInt(this.reason)}).then(t=>{this.$toast.success(t.data.msg),this.showReportForm=!1}).catch(t=>{})}}},function(){var t=this,e=t._self._c;return e("div",{staticClass:"reply-wrapper"},[e("div",{staticClass:"reply",attrs:{id:"reply-"+t.reply.reply_id}},[e("div",{staticClass:"topic-avatar"},[e("img",{staticClass:"avatar-img",attrs:{src:t.reply.avatar_ref,alt:"avatar"}})]),e("div",{staticClass:"reply-content-container"},[e("div",{staticClass:"topic-author"},[e("b",{class:t.$getAuthorClass(t.reply.author_membership)},[t._v(t._s(t.reply.user_name))]),t.$showBadge(t.reply.author_badge_id)?e("span",{staticClass:"author-badge"},[e("a",{attrs:{href:"/member-system",target:"_blank",title:t.$getBadgeInfo(t.reply.author_badge_id).title}},[e("img",{attrs:{src:t.$getBadgeInfo(t.reply.author_badge_id).url}})])]):t._e(),t._v(" "+t._s(t.$timeFromNow(t.reply.create_time))+" / "+t._s(t.reply.location)+" "),e("span",{staticClass:"floor-number"},[t._v("#"+t._s(t.reply.reply_id))])]),e("div",{staticClass:"topic-content",domProps:{innerHTML:t._s(t.formattedContent)}}),e("div",{staticClass:"topic-function"},[e("span",{staticClass:"clickable",on:{click:t.toggleReplyForm}},[t._v("åå¤")]),t._v(" / "),t.showReportForm?e("span",[e("select",{directives:[{name:"model",rawName:"v-model",value:t.reason,expression:"reason"}],on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});t.reason=e.target.multiple?s:s[0]}}},[e("option",{attrs:{value:"1"}},[t._v("è¿æ³ä¿¡æ¯")]),e("option",{attrs:{value:"2"}},[t._v("è²æ
")]),e("option",{attrs:{value:"3"}},[t._v("弿/人身æ»å»")])]),e("button",{attrs:{type:"button"},on:{click:t.submitReport}},[t._v("æäº¤")])]):t._e(),t.showReportForm?t._e():e("span",{staticClass:"clickable report-link",on:{click:t.showReport}},[t._v("举æ¥")]),t._v(" / "),e("span",{staticClass:"oo",on:{click:function(e){return t.vote(t.reply.reply_id,1)}}},[t._v("OO ["+t._s(t.reply.oo)+"]")]),t._v(" / "),e("span",{staticClass:"xx",on:{click:function(e){return t.vote(t.reply.reply_id,0)}}},[t._v("XX ["+t._s(t.reply.xx)+"]")]),t.reply.reply_count>0?e("span",{staticClass:"reply-count"},[t._v(" ("+t._s(t.reply.reply_count)+"æ¡åå¤) ")]):t._e()]),t.showReplyForm?e("div",{staticClass:"inline-reply-form"},[e("div",{staticClass:"replying-to"},[e("span",[t._v("æ£å¨åå¤ "+t._s(t.reply.user_name)+" ç #"+t._s(t.reply.reply_id))]),e("button",{staticClass:"cancel-btn",attrs:{type:"button"},on:{click:t.cancelReply}},[t._v("åæ¶")])]),e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.replyContent,expression:"replyContent"}],ref:"replyTextarea",attrs:{placeholder:"åå¤ "+t.reply.user_name+"..."},domProps:{value:t.replyContent}
1,on:{keyup:t.handleKeyUp,input:function(e){e.target.composing||(t.replyContent=e.target.value)}}}),e("div",{staticClass:"reply-form-actions"},[e("img",{class:{"d-none":!t.isSending},attrs:{src:"https://cdn.jandan.net/wp-content/themes/jandan2025/images/loading.gif"}}),e("button",{staticClass:"submit-btn",attrs:{type:"button",disabled:t.isSending},on:{click:t.sendInlineReply}},[t._v(" åå¤ ")])])]):t._e()])]),t.reply.children&&t.reply.children.length>0?e("div",{staticClass:"nested-replies"},t._l(t.reply.children,function(s){return e("nested-reply-row",{key:s.reply_id,attrs:{reply:s,"page-i-d":t.pageID,"post-i-d":t.postID,"active-reply-id":t.activeReplyId},on:{"reply-to":t.handleNestedReplyTo,"reply-created":t.handleReplyCreated,"toggle-reply-form":t.handleToggleReplyForm}})}),1):t._e()])},[],!1,null,"c61de3a0").exports},props:{replies:{type:Array,required:!0},order:{type:String,default:"asc"},totalReplies:{type:Number,default:0},pageID:{type:Number,default:1},postID:{type:Number,required:!0},activeReplyId:{type:Number,default:null}},methods:{handleReplyTo(t,e){this.$emit("reply-to",t,e)},handleReplyCreated(){this.$emit("reply-created")},handleToggleReplyForm(t){this.$emit("toggle-reply-form",t)}}},function(){var t=this,e=t._self._c;return e("div",{staticClass:"reply-container"},t._l(t.replies,function(s,a){return e("reply-row",{key:s.reply_id,attrs:{reply:s,index:a,order:t.order,"total-replies":t.totalReplies,"page-i-d":t.pageID,"post-i-d":t.postID,"active-reply-id":t.activeReplyId},on:{"reply-to":t.handleReplyTo,"reply-created":t.handleReplyCreated,"toggle-reply-form":t.handleToggleReplyForm}})}),1)},[],!1,null,"5e99843c").exports,ReplyForm:a({name:"ReplyForm",props:{replyID:{type:Number,required:!0},pageID:{type:Number,required:!0}},data:()=>({content:"",isSending:!1,replyingTo:null,isMobile:!1,uploadedFiles:[]}),computed:{characterCount(){return this.content.length}},created(){this.checkMobile()},mounted(){window.addEventListener("resize",this.checkMobile)},beforeDestroy(){window.removeEventListener("resize",this.checkMobile)},methods:{checkMobile(){this.isMobile=window.innerWidth<=768},triggerFileInput(){this.$refs.fileInput.click()},handleFileChange(t){const e=Array.from(t.target.files);this.uploadFiles(e)},handleDrop(t){t.preventDefault();const e=Array.from(t.dataTransfer.files);this.uploadFiles(e)},uploadFiles(t){0!==t.length&&(this.uploadedFiles.length+t.length>5?this.$toast.warning("æå¤åªè½ä¸ä¼ 5个æä»¶"):t.forEach(t=>{if(t.size>20971520)return void this.$toast.warning(`${t.name} æä»¶å¤§å°ä¸è½è¶
è¿20MB`);const e=t.type.toLowerCase();if(!["image/jpeg","image/png","image/gif","image/webp"].includes(e))return void this.$toast.warning(`${t.name} æä»¶ç±»å䏿¯æï¼åªæ¯æJPGãPNGãGIFãWebPæ ¼å¼`);const s={original_name:t.name,file_name:"",file_size:t.size,file_type:e,url:"",thumb_url:"",md5:"",urls:null,uploading:!0};this.uploadedFiles.push(s),this.performUpload(t,s)}))},async performUpload(t,s){const a=new FormData;a.append("files",t);try{const t=await e.post("/api/upload/files",a,{headers:{"Content-Type":"multipart/form-data"}});if(0!==t.data.code)throw new Error(t.data.msg);{const e=t.data.data.files[0];s.file_name=e.file_name,s.url=e.url,s.thumb_url=e.thumb_url,s.md5=e.md5,s.urls=e.urls,s.uploading=!1}}catch(r){this.$toast.error(`æä»¶ä¸ä¼ 失败: ${r.message}`),this.uploadedFiles=this.uploadedFiles.filter(t=>t!==s)}},formatFileSize(t){if(0===t)return"0 B";const e=Math.floor(Math.log(t)/Math.log(1024));return parseFloat((t/Math.pow(1024,e)).toFixed(2))+" "+["B","KB","MB","GB"][e]},insertToEditor(t){var e;if(t.uploading)return;const s=this.$refs.textarea,a=s.selectionStart,r=s.selectionEnd,i=(null==(e=t.urls)?void 0:e.mw600)||t.url;this.content=this.content.substring(0,a)+i+"\n"+this.content.substring(r),this.$nextTick(()=>{s.focus(),s.setSelectionRange(a+i.length+1,a+i.length+1)})},handleKeyUp(t){t.ctrlKey&&13===t.keyCode&&this.sendReply()},setContent(t,e=null){this.content=t,e&&(this.replyingTo=e),this.$nextTick(()=>{this.$refs.textarea&&this.$refs.textarea.focus()})},cancelReply(){this.replyingTo=null,this.content=""},sendReply(){if(""===this.content.trim())return void this.$toast.warning("åå¤å
容ä¸è½ä¸ºç©ºï¼");const t={content:this.content,post_id:parseInt(this.replyID),page_id:parseInt(this.pageID),parent_reply_id:this.replyingTo?this.replyingTo.replyId:null};this.isSending=!0,e.post("/api/forum/replies",t).then(t=>{0===t.data.code?(this.$toast.success("åå¤å叿åï¼è¯·çå¾
管çåå®¡æ ¸ï¼"),this.content="",this.replyingTo=null,this.uploadedFiles=[],this.$emit("reply-created")):this.$toast.error(t.data.msg)}
1).catch(t=>{this.$toast.error("é¢ï¼åºé®é¢äºï¼è¯·ç¨ååè¯ï¼")}).finally(()=>{this.isSending=!1})}}},function(){var t=this,e=t._self._c;return e("div",{staticClass:"thread-form"},[t.replyingTo?e("div",{staticClass:"replying-to"},[e("span",[t._v("æ£å¨åå¤ "+t._s(t.replyingTo.userName)+" ç #"+t._s(t.replyingTo.replyId)+" 楼")]),e("button",{staticClass:"cancel-btn",attrs:{type:"button"},on:{click:t.cancelReply}},[t._v("åæ¶")])]):t._e(),e("div",[e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.content,expression:"content"}],ref:"textarea",attrs:{placeholder:(t.replyingTo,"è¾å
¥åå¤å
容...")},domProps:{value:t.content},on:{keyup:t.handleKeyUp,input:function(e){e.target.composing||(t.content=e.target.value)}}}),e("div",{staticClass:"word-count"},[e("span",[t._v("åæ°ç»è®¡: "+t._s(t.characterCount))])])]),e("div",{staticClass:"form-row"},[e("label",[t._v("ä¸ä¼ å¾ç")]),e("div",{staticClass:"upload-container"},[e("div",{staticClass:"upload-zone",on:{click:t.triggerFileInput,dragover:function(t){t.preventDefault()},drop:t.handleDrop}},[e("i",{staticClass:"bi bi-cloud-upload"}),e("p",[t._v("ç¹å»éæ©æææ½æä»¶å°æ¤å¤")]),e("p",{staticClass:"upload-hint"},[t._v("æ¯æJPGãPNGãGIFãWebPæ ¼å¼ï¼åæä»¶æå¤§20MBï¼æå¤5个æä»¶")])]),e("input",{ref:"fileInput",staticStyle:{display:"none"},attrs:{type:"file",multiple:"",accept:".jpg,.jpeg,.png,.gif,.webp"},on:{change:t.handleFileChange}})])]),t.uploadedFiles.length>0?e("div",{staticClass:"form-row"},[t.uploadedFiles.some(t=>!t.uploading)?e("div",{staticClass:"upload-complete-hint"},[e("i",{staticClass:"bi bi-info-circle"}),e("span",[t._v("å¾çä¸ä¼ 宿åï¼éè¦ç¹å»æå
¥å°å
容æä¼æ¾ç¤ºå¦")])]):t._e(),e("label",[t._v("å·²ä¸ä¼ æä»¶")]),e("div",{staticClass:"file-list"},t._l(t.uploadedFiles,function(s){return e("div",{key:s.file_name,staticClass:"file-item",class:{uploading:s.uploading},on:{click:function(e){return t.insertToEditor(s)}}},[s.uploading?e("div",{staticClass:"uploading-indicator"},[e("i",{staticClass:"bi bi-arrow-clockwise"}),e("span",[t._v("ä¸ä¼ ä¸...")])]):e("img",{staticClass:"file-preview",attrs:{src:s.thumb_url,alt:s.original_name}}),e("div",{staticClass:"file-info"},[e("div",{staticClass:"file-name"},[t._v(t._s(s.original_name))]),e("div",{staticClass:"file-size"},[t._v(t._s(t.formatFileSize(s.file_size)))])]),s.uploading?t._e():e("div",{staticClass:"file-actions"},[e("i",{staticClass:"bi bi-plus-circle"}),e("span",[t._v("ç¹å»æå
¥")])])])}),0)]):t._e(),e("div",{staticClass:"text-center"},[e("img",{class:{"d-none":!t.isSending},attrs:{src:"https://cdn.jandan.net/wp-content/themes/jandan2025/images/loading.gif"}}),e("button",{attrs:{type:"button",disabled:t.isSending},on:{click:t.sendReply}},[t._v(" "+t._s(t.replyingTo?"åå¤ "+t.replyingTo.userName:"åå¤")+" ")])])])},[],!1,null,"5b2f8587").exports,Sidebar:r,BackToTop:i},data:()=>({breadcrumbData:[{name:"主页",url:"/"},{name:"é±¼å¡",url:"/new/forum"},{name:"å¸å详æ
"}],totalPages:0,currentPage:1,itemsPerPage:40,dataLoadError:"",pageID:1,postID:0,post:null,replies:null,totalReplies:0,backPageNumber:1,reason:"1",showReportForm:!1,order:"asc",authorOnly:!1,loading:!0,activeReplyId:null}),computed:{visiblePageNumbers(){const t=Math.max(this.currentPage-4,1),e=Math.min(this.currentPage+4,this.totalPages),s=[];for(let a=t;a<=e;a++)s.push(a);return s},showFirstItem(){return 1!==this.visiblePageNumbers[0]},showLastItem(){return this.visiblePageNumbers[this.visiblePageNumbers.length-1]!==this.totalPages},showPrevEllipsis(){return this.visiblePageNumbers[0]>2},showNextEllipsis(){return this.visiblePageNumbers[this.visiblePageNumbers.length-1]<this.totalPages-1},formattedPostContent(){if(!this.post)return"";let t=this.post.content;return t=t.replace(/\n/g,"<br>"),t=t.replace(/(https?:\/\/[\w_.\/]+?)\/(\w+)\/(\w+\.(gif|jpg|bmp|png|webp))/g,'<div class="image-container"><a href="$1/large/$3" target="_blank" class="view-original">[æ¥çåå¾]</a><a href="$1/large/$3" target="_blank"><img src="$1/mw1024/$3" alt=""></a></div>'),t=t.replace(/https?:\/\/(\w+\.)sinaimg\.cn\/(\w+)\/(\w+\.(gif|jpg|bmp|png|webp))/g,'<div class="image-container"><a href="https://img.toto.im/large/$3" target="_blank" class="view-original">[æ¥çåå¾]</a><a href="https://img.toto.im/large/$3" target="_blank"><img src="https://img.toto.im/mw1024/$3" alt=""></a></div>'),t=s.sanitize(t,{ADD_ATTR:["target"]}),t},canEdit(){if(!this.post)return!1;const t=this.$getUserInfo();if(!t)return!1;if(this.$hasMemberShip(t.membership,this.$MemberSiteAdmin))return!0;
1if(t.user_id===this.post.user_id){return(new Date-new Date(this.post.create_time))/36e5<=2}return!1}},mounted(){this.postID=this.$route.params.postID?parseInt(this.$route.params.postID):0,this.$route.params.pageNumber&&(this.currentPage=parseInt(this.$route.params.pageNumber)),this.syncBackPage(this.$route),this.postID&&(this.requestInfo(),this.requestList())},watch:{$route(t){t.params.postID?this.postID=parseInt(t.params.postID):this.postID=0,t.params.pageNumber?this.currentPage=parseInt(t.params.pageNumber):this.currentPage=1,this.syncBackPage(t),this.post=null,this.postID&&(this.requestInfo(),this.requestList())}},methods:{syncBackPage(t){const e=parseInt(t.query.list_page,10);this.backPageNumber=Number.isInteger(e)&&e>1?e:1},requestInfo(){if(!this.postID||isNaN(this.postID))return;const t="/api/forum/posts/info/"+this.postID;e.get(t).then(t=>{t.data.error>0?this.dataLoadError=t.data.msg:t.data.data&&!this.post&&(this.post=t.data.data,document.title=this.post.title+" - é±¼å¡ - ç
è")}).catch(t=>{})},requestList(){if(!this.postID||isNaN(this.postID))return void(this.loading=!1);this.loading=!0;const t=this.order,s=this.currentPage;this.authorOnly;let a="/api/forum/replies/"+this.postID+"?order="+t+"&page="+s;this.authorOnly&&(a+="&author_only=1"),e.get(a).then(t=>{t.data.data?(this.totalPages=Math.ceil(t.data.data.total/this.itemsPerPage),this.totalReplies=t.data.data.total,this.replies=t.data.data.list):(this.totalPages=0,this.totalReplies=0,this.replies=null)}).catch(t=>{}).finally(()=>{this.loading=!1})},setCurrentPage(t,e=!1){this.$router.push({name:"topic-page",params:{postID:this.postID,pageNumber:t},query:this.$route.query}),e&&this.$nextTick(()=>{const t=document.getElementById("replies");t&&t.scrollIntoView({behavior:"smooth"})})},changeOrder(t){this.order=t,this.requestList()},toggleAuthorOnly(){this.currentPage=1,this.requestList()},goBack(){const t=this.backPageNumber>1?{name:"home-page",params:{pageNumber:this.backPageNumber}}:{name:"home"},e=window.history.state&&window.history.state.back;e&&e===this.$router.resolve(t).route.fullPath?this.$router.back():this.$router.push(t)},goEdit(){this.$router.push({name:"edit-post",params:{postID:this.post.post_id}})},vote(t,s){e.post("/api/forum/posts/vote",{post_id:parseInt(t),vote_type:parseInt(s)}).then(t=>{0===t.data.code?1===s?this.post.oo++:this.post.xx++:this.$toast.error(t.data.msg)}).catch(t=>{})},showReport(){this.showReportForm=!0},submitReport(){confirm("ç¡®å®è¦ä¸¾æ¥è¿æ¡ä¿¡æ¯åï¼")&&e.post("/api/forum/posts/report",{post_id:parseInt(this.post.post_id),reason:parseInt(this.reason)}).then(t=>{this.$toast.success(t.data.msg),this.showReportForm=!1}).catch(t=>{})},handleReplyTo(t,e=null){this.$refs.replyForm.setContent(t,e)},handleToggleReplyForm(t){this.activeReplyId===t?this.activeReplyId=null:this.activeReplyId=t}}},function(){var t=this,e=t._self._c;return e("div",{staticClass:"container-fluid"},[e("div",{staticClass:"row"},[e("Breadcrumb",{attrs:{"breadcrumb-data":t.breadcrumbData}})],1),e("div",{staticClass:"row"},[e("main",{staticClass:"main col-md-8 col-12"},[e("div",{attrs:{id:"topic"}},[t.loading?e("div",{staticClass:"loading"},[t._v("å è½½ä¸...")]):t.dataLoadError?e("div",{staticClass:"error"},[t._v(t._s(t.dataLoadError))]):t.post?e("div",{staticClass:"topic-container"},[e("div",{staticClass:"goback-row"},[e("span",{staticClass:"goback-button",on:{click:t.goBack}},[t._v("<< è¿åå表")])]),e("div",{staticClass:"post-info position-relative"},[e("div",{staticClass:"post-avatar"},[e("img",{staticClass:"avatar-img",attrs:{src:t.post.avatar_ref,alt:"avatar"}})]),e("h1",{staticClass:"post-title"},[t._v(t._s(t.post.title))]),e("div",{staticClass:"post-meta"},[e("span",[t._v("#"+t._s(t.post.post_id))]),t._v(" / "),e("router-link",{staticClass:"author-link",attrs:{to:{name:"user",params:{userID:t.post.user_id}},target:"_blank"}},[t._v(" "+t._s(t.post.author_name)+" ")]),t._v(" / "+t._s(t.$timeFromNow(t.post.create_time))+" ")],1),e("div",{staticClass:"post-content",domProps:{innerHTML:t._s(t.formattedPostContent)}}),e("div",{staticClass:"topic-function"},[e("span",[t._v("#"+t._s(t.post.post_id))]),t._v(" / "),t.canEdit?e("span",{staticClass:"clickable",on:{click:t.goEdit}},[t._v("ç¼è¾")]):t._e(),t._v(" / "),t.showReportForm?e("span",[e("select",{directives:[{name:"model",rawName:"v-model",value:t.reason,expression:"reason"}],on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,function(t){return t.selected}).map(function(t){return"_value"in t?t._value:t.value});t.reason=e.target.multiple?s:s[0]}}},[e("option",{attrs:{value:"1"}},[t._v("è¿æ³ä¿¡æ¯")]),e("option",{attrs:{value:"2"}},[t._v("è²æ
")]),e("option",{attrs:{value:"3"}},[t._v("弿/人身æ»å»")])]),e("button",{attrs:{type:"button"},on:{click:t.submitReport}},[t._v("æäº¤")])]):t._e(),t.showReportForm?t._e():e("span",{staticClass:"clickable",on:{click:t.showReport}},[t._v("举æ¥")]),t._v(" / "),e("span",{staticClass:"oo",on:{click:function(e){return t.vote(t.post.post_id,1)}}},[t._v("OO ["+t._s(t.post.oo)+"]")]),t._v(" / "),e("span",{staticClass:"xx",on:{click:function(e){return t.vote(t.post.post_id,0)}}},[t._v("XX ["+t._s(t.post.xx)+"]")])])]),e("div",{staticClass:"order-row"}
1,[e("div",{staticClass:"order-controls"},[e("span",{staticClass:"order-label"},[t._v("æåºï¼")]),e("button",{staticClass:"order-btn",class:{active:"desc"===t.order},on:{click:function(e){return t.changeOrder("desc")}}},[t._v("ææ°åå¤")]),e("button",{staticClass:"order-btn",class:{active:"asc"===t.order},on:{click:function(e){return t.changeOrder("asc")}}},[t._v("åå¸é¡ºåº")]),e("label",{staticClass:"author-only-checkbox"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.authorOnly,expression:"authorOnly"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(t.authorOnly)?t._i(t.authorOnly,null)>-1:t.authorOnly},on:{change:[function(e){var s=t.authorOnly,a=e.target,r=!!a.checked;if(Array.isArray(s)){var i=t._i(s,null);a.checked?i<0&&(t.authorOnly=s.concat([null])):i>-1&&(t.authorOnly=s.slice(0,i).concat(s.slice(i+1)))}else t.authorOnly=r},t.toggleAuthorOnly]}}),e("span",[t._v("åªç楼主")])])])]),t.totalPages>0?e("div",{staticClass:"page-nav p-2 page-nav-top"},[e("ul",[e("li",[e("button",{staticClass:"prev-next-btn",attrs:{disabled:t.currentPage<=1},on:{click:function(e){return t.setCurrentPage(t.currentPage-1,!1)}}},[t._v("ä¸ä¸é¡µ")])]),t.showFirstItem?e("li",[e("button",{on:{click:function(e){return t.setCurrentPage(1,!1)}}},[t._v("1")])]):t._e(),t.showPrevEllipsis?e("li",[t._v("...")]):t._e(),t._l(t.visiblePageNumbers,function(s){return e("li",{key:"top-"+s},[e("button",{class:{active:s===t.currentPage},on:{click:function(e){return t.setCurrentPage(s,!1)}}},[t._v(" "+t._s(s)+" ")])])}),t.showNextEllipsis?e("li",[t._v("...")]):t._e(),t.showLastItem?e("li",[e("button",{on:{click:function(e){return t.setCurrentPage(t.totalPages,!1)}}},[t._v(t._s(t.totalPages))])]):t._e(),e("li",[e("button",{staticClass:"prev-next-btn",attrs:{disabled:t.currentPage>=t.totalPages},on:{click:function(e){return t.setCurrentPage(t.currentPage+1,!1)}}},[t._v("ä¸ä¸é¡µ")])]),e("li",{staticClass:"page-info"},[e("span",[t._v(t._s(t.currentPage)+"/"+t._s(t.totalPages))])])],2)]):t._e(),t.replies&&t.replies.length>0?e("div",{attrs:{id:"replies"}},[e("reply-list",{attrs:{replies:t.replies,order:t.order,"total-replies":t.totalReplies,"page-i-d":t.pageID,"post-i-d":t.postID,"active-reply-id":t.activeReplyId},on:{"reply-to":t.handleReplyTo,"toggle-reply-form":t.handleToggleReplyForm}})],1):e("div",{staticClass:"empty-replies"},[t._v("ææ åå¤")]),e("div",{staticClass:"goback-row"},[e("span",{staticClass:"goback-button",on:{click:t.goBack}},[t._v("<< è¿åå表")])]),t.totalPages>0?e("div",{staticClass:"page-nav p-2"},[e("ul",[e("li",[e("button",{staticClass:"prev-next-btn",attrs:{disabled:t.currentPage<=1},on:{click:function(e){return t.setCurrentPage(t.currentPage-1,!0)}}},[t._v("ä¸ä¸é¡µ")])]),t.showFirstItem?e("li",[e("button",{on:{click:function(e){return t.setCurrentPage(1,!0)}}},[t._v("1")])]):t._e(),t.showPrevEllipsis?e("li",[t._v("...")]):t._e(),t._l(t.visiblePageNumbers,function(s){return e("li",{key:"bottom-"+s},[e("button",{class:{active:s===t.currentPage},on:{click:function(e){return t.setCurrentPage(s,!0)}}},[t._v(" "+t._s(s)+" ")])])}),t.showNextEllipsis?e("li",[t._v("...")]):t._e(),t.showLastItem?e("li",[e("button",{on:{click:function(e){return t.setCurrentPage(t.totalPages,!0)}}},[t._v(t._s(t.totalPages))])]):t._e(),e("li",[e("button",{staticClass:"prev-next-btn",attrs:{disabled:t.currentPage>=t.totalPages},on:{click:function(e){return t.setCurrentPage(t.currentPage+1,!0)}}},[t._v("ä¸ä¸é¡µ")])]),e("li",{staticClass:"page-info"},[e("span",[t._v(t._s(t.currentPage)+"/"+t._s(t.totalPages))])])],2)]):t._e(),t.post?e("reply-form",{ref:"replyForm",attrs:{"reply-i-d":t.post.post_id,"page-i-d":t.pageID}}):t._e()],1):t._e()])]),e("sidebar")],1),e("BackToTop")],1)},[],!1,null,"4b462d5b").exports;export{l as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.