mirror of https://github.com/rocboss/paopao-ce
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
26 KiB
2 lines
26 KiB
import{d as Q,r as c,a2 as me,o,c as u,a as d,U as e,a0 as n,e as z,L as U,P,N as i,Z as a,a1 as B,n as ae,a6 as Pe,F as le,a3 as ie,j as ve,V as ye,W as ke,w as Re}from"./@vue-d002002f.js";import{u as ee}from"./vuex-4d2f7b35.js";import{f as ue}from"./formatTime-000dbebb.js";import{t as Se,d as Le,e as Ae,_ as te,f as De,h as qe,i as Me,j as Oe,g as Ne,k as Be,l as Ee,m as je,n as Ve,o as He,s as Fe,v as Ye,p as Ke,q as Je,r as Ge,u as ge}from"./index-0f3021a1.js";import{Y as ce,V as Z}from"./IEnum-a180d93e.js";import{T as we,e as re,f as be,g as _e,h as $e,I as Qe,i as We,j as Ze,k as Xe,l as et,m as tt,n as st,o as ot}from"./@vicons-4022100b.js";import{j as se,e as oe,J as Ce,b as nt,K as at,o as fe,L as xe,v as lt,w as it,x as ut,y as ct,z as rt,B as _t,M as pt,O as dt,i as mt,P as vt,a as Ie,F as ft,I as ht,k as gt,H as yt,f as kt,g as wt}from"./naive-ui-88b48034.js";import{p as he,_ as Te,a as bt,b as $t,c as Ct}from"./content-b5ab8047.js";import{u as ze,b as xt}from"./vue-router-29e6667f.js";import{_ as It}from"./post-skeleton-8710588f.js";import{l as Tt}from"./lodash-94eb5868.js";import{a as zt}from"./copy-to-clipboard-1dd3075d.js";import{_ as Ut}from"./main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js";import{K as Pt}from"./v3-infinite-loading-58f64a4e.js";import"./moment-b7869f98.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-0232e3b9.js";import"./evtd-b614532e.js";import"./@css-render-6b6cdab1.js";import"./vooks-77bdadbd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-d47e9bf6.js";import"./toggle-selection-93f4ad84.js";const Rt={class:"reply-item"},St={class:"header-wrap"},Lt={class:"username"},At={class:"reply-name"},Dt={class:"timestamp"},qt={class:"base-wrap"},Mt={class:"content"},Ot={class:"reply-switch"},Nt={class:"time-item"},Bt={class:"actions"},Et={class:"upvote-count"},jt=["onClick"],Vt={class:"upvote-count"},Ht={key:2,class:"action-item"},Ft=["onClick"],Yt=Q({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(A,{emit:M}){const l=A,r=ee(),g=c(l.reply.is_thumbs_up==ce.YES),y=c(l.reply.is_thumbs_down==ce.YES),w=c(l.reply.thumbs_up_count),L=()=>{Se({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(m=>{g.value=!g.value,g.value?(w.value++,y.value=!1):w.value--}).catch(m=>{console.log(m)})},_=()=>{Le({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(m=>{y.value=!y.value,y.value&&g.value&&(w.value--,g.value=!1)}).catch(m=>{console.log(m)})},b=()=>{M("focusReply",l.reply)},C=()=>{Ae({id:l.reply.id}).then(m=>{window.$message.success("删除成功"),setTimeout(()=>{M("reload")},50)}).catch(m=>{console.log(m)})};return(m,T)=>{const t=me("router-link"),v=se,$=oe,k=Ce;return o(),u("div",Rt,[d("div",St,[d("div",Lt,[e(t,{class:"user-link",to:{name:"user",query:{username:l.reply.user.username}}},{default:n(()=>[z(U(l.reply.user.username),1)]),_:1},8,["to"]),d("span",At,U(l.reply.at_user_id>0?"回复":":"),1),l.reply.at_user_id>0?(o(),P(t,{key:0,class:"user-link",to:{name:"user",query:{username:l.reply.at_user.username}}},{default:n(()=>[z(U(l.reply.at_user.username),1)]),_:1},8,["to"])):i("",!0)]),d("div",Dt,[z(U(l.reply.ip_loc)+" ",1),a(r).state.userInfo.is_admin||a(r).state.userInfo.id===l.reply.user.id?(o(),P(k,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:C},{trigger:n(()=>[e($,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[e(v,null,{default:n(()=>[e(a(we))]),_:1})]),_:1})]),default:n(()=>[z(" 是否确认删除? ")]),_:1})):i("",!0)])]),d("div",qt,[d("div",Mt,U(l.reply.content),1),d("div",Ot,[d("span",Nt,U(a(ue)(l.reply.created_on)),1),d("div",Bt,[a(r).state.userLogined?i("",!0):(o(),u("div",{key:0,class:"action-item",onClick:T[0]||(T[0]=B(()=>{},["stop"]))},[e(v,{size:"medium"},{default:n(()=>[e(a(re))]),_:1}),d("span",Et,U(w.value),1)])),a(r).state.userLogined?(o(),u("div",{key:1,class:"action-item hover",onClick:B(L,["stop"])},[e(v,{size:"medium"},{default:n(()=>[g.value?i("",!0):(o(),P(a(re),{key:0})),g.value?(o(),P(a(be),{key:1,class:"show"})):i("",!0)]),_:1}),d("span",Vt,U(w.value),1)],8,jt)):i("",!0),a(r).state.userLogined?i("",!0):(o(),u("div",Ht,[e(v,{size:"medium"},{default:n(()=>[e(a(_e))]),_:1})])),a(r).state.userLogined?(o(),u("div",{key:3,class:"action-item hover",onClick:B(_,["stop"])},[e(v,{size:"medium"},{default:n(()=>[y.value?i("",!0):(o(),P(a(_e),{key:0})),y.value?(o(),P(a($e),{key:1,class:"show"})):i("",!0)]),_:1})],8,Ft)):i("",!0),a(r).state.userLogined?(o(),u("span",{key:4,class:"show opacity-item reply-btn",onClick:b}," 回复 ")):i("",!0)])])])])}}});const Kt=te(Yt,[["__scopeId","data-v-783f5693"]]),Jt={class:"reply-compose-wrap"},Gt={class:"reply-switch"},Qt={class:"time-item"},Wt={class:"actions"},Zt={key:0,class:"action-item"},Xt={class:"upvote-count"},es=["onClick"],ts={class:"upvote-count"},ss={key:2,class:"action-item"},os=["onClick"],ns={key:0,class:"reply-input-wrap"},as=Q({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(A,{expose:M,emit:l}){const r=A,g=ee(),y=c(),w=c(!1),L=c(""),_=c(!1),b=c(r.comment.is_thumbs_up==ce.YES),C=c(r.comment.is_thumbs_down==ce.YES),m=c(r.comment.thumbs_up_count),T=()=>{De({tweet_id:r.comment.post_id,comment_id:r.comment.id}).then(k=>{b.value=!b.value,b.value?(m.value++,C.value=!1):m.value--}).catch(k=>{console.log(k)})},t=()=>{qe({tweet_id:r.comment.post_id,comment_id:r.comment.id}).then(k=>{C.value=!C.value,C.value&&b.value&&(m.value--,b.value=!1)}).catch(k=>{console.log(k)})},v=k=>{w.value=k,k?setTimeout(()=>{var x;(x=y.value)==null||x.focus()},10):(_.value=!1,L.value="",l("reset"))},$=()=>{_.value=!0,Me({comment_id:r.comment.id,at_user_id:r.atUserid,content:L.value}).then(k=>{v(!1),window.$message.success("评论成功"),l("reload")}).catch(k=>{_.value=!1})};return M({switchReply:v}),(k,x)=>{const q=se,F=nt,N=oe,V=at;return o(),u("div",Jt,[d("div",Gt,[d("span",Qt,U(a(ue)(k.comment.created_on)),1),d("div",Wt,[a(g).state.userLogined?i("",!0):(o(),u("div",Zt,[e(q,{size:"medium"},{default:n(()=>[e(a(re))]),_:1}),d("span",Xt,U(m.value),1)])),a(g).state.userLogined?(o(),u("div",{key:1,class:"action-item hover",onClick:B(T,["stop"])},[e(q,{size:"medium"},{default:n(()=>[b.value?i("",!0):(o(),P(a(re),{key:0})),b.value?(o(),P(a(be),{key:1,class:"show"})):i("",!0)]),_:1}),d("span",ts,U(m.value),1)],8,es)):i("",!0),a(g).state.userLogined?i("",!0):(o(),u("div",ss,[e(q,{size:"medium"},{default:n(()=>[e(a(_e))]),_:1})])),a(g).state.userLogined?(o(),u("div",{key:3,class:"action-item hover",onClick:B(t,["stop"])},[e(q,{size:"medium"},{default:n(()=>[C.value?i("",!0):(o(),P(a(_e),{key:0})),C.value?(o(),P(a($e),{key:1,class:"show"})):i("",!0)]),_:1})],8,os)):i("",!0),a(g).state.userLogined&&!w.value?(o(),u("span",{key:4,class:"show reply-btn",onClick:x[0]||(x[0]=I=>v(!0))}," 回复 ")):i("",!0),a(g).state.userLogined&&w.value?(o(),u("span",{key:5,class:"hide reply-btn",onClick:x[1]||(x[1]=I=>v(!1))}," 取消 ")):i("",!0)])]),w.value?(o(),u("div",ns,[e(V,null,{default:n(()=>[e(F,{ref_key:"inputInstRef",ref:y,size:"small",placeholder:r.atUsername?"@"+r.atUsername:"请输入回复内容..",maxlength:"100",value:L.value,"onUpdate:value":x[2]||(x[2]=I=>L.value=I),"show-count":"",clearable:""},null,8,["placeholder","value"]),e(N,{type:"primary",size:"small",ghost:"",loading:_.value,onClick:$},{default:n(()=>[z(" 回复 ")]),_:1},8,["loading"])]),_:1})])):i("",!0)])}}});const ls=te(as,[["__scopeId","data-v-0f1721e2"]]),is={class:"comment-item"},us={class:"nickname-wrap"},cs={class:"username-wrap"},rs={class:"opt-wrap"},_s={class:"timestamp"},ps=["innerHTML"],ds={class:"reply-wrap"},ms=Q({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(A,{emit:M}){const l=A,r=ee(),g=ze(),y=c(0),w=c(""),L=c(),_=ae(()=>{let v=Object.assign({texts:[],imgs:[]},l.comment);return v.contents.map($=>{(+$.type==1||+$.type==2)&&v.texts.push($),+$.type==3&&v.imgs.push($)}),v}),b=(v,$)=>{let k=v.target;if(k.dataset.detail){const x=k.dataset.detail.split(":");x.length===2&&(r.commit("refresh"),x[0]==="tag"?window.$message.warning("评论内的无效话题"):g.push({name:"user",query:{username:x[1]}}))}},C=v=>{var $,k;y.value=v.user_id,w.value=(($=v.user)==null?void 0:$.username)||"",(k=L.value)==null||k.switchReply(!0)},m=()=>{M("reload")},T=()=>{y.value=0,w.value=""},t=()=>{Oe({id:_.value.id}).then(v=>{window.$message.success("删除成功"),setTimeout(()=>{m()},50)}).catch(v=>{})};return(v,$)=>{const k=fe,x=me("router-link"),q=se,F=oe,N=Ce,V=Te,I=ls,D=Kt,K=xe;return o(),u("div",is,[e(K,{"content-indented":""},Pe({avatar:n(()=>[e(k,{round:"",size:30,src:_.value.user.avatar},null,8,["src"])]),header:n(()=>[d("span",us,[e(x,{onClick:$[0]||($[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:_.value.user.username}}},{default:n(()=>[z(U(_.value.user.nickname),1)]),_:1},8,["to"])]),d("span",cs," @"+U(_.value.user.username),1)]),"header-extra":n(()=>[d("div",rs,[d("span",_s,U(_.value.ip_loc),1),a(r).state.userInfo.is_admin||a(r).state.userInfo.id===_.value.user.id?(o(),P(N,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:t},{trigger:n(()=>[e(F,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[e(q,null,{default:n(()=>[e(a(we))]),_:1})]),_:1})]),default:n(()=>[z(" 是否确认删除? ")]),_:1})):i("",!0)])]),footer:n(()=>[_.value.imgs.length>0?(o(),P(V,{key:0,imgs:_.value.imgs},null,8,["imgs"])):i("",!0),e(I,{ref_key:"replyComposeRef",ref:L,comment:_.value,"at-userid":y.value,"at-username":w.value,onReload:m,onReset:T},null,8,["comment","at-userid","at-username"]),d("div",ds,[(o(!0),u(le,null,ie(_.value.replies,s=>(o(),P(D,{key:s.id,reply:s,"tweet-id":_.value.post_id,onFocusReply:C,onReload:m},null,8,["reply","tweet-id"]))),128))])]),_:2},[_.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),u(le,null,ie(_.value.texts,s=>(o(),u("span",{key:s.id,class:"comment-text",onClick:$[1]||($[1]=B(p=>b(p,_.value.id),["stop"])),innerHTML:a(he)(s.content).content},null,8,ps))),128))]),key:"0"}:void 0]),1024)])}}});const vs=te(ms,[["__scopeId","data-v-f206d4d8"]]),fs=A=>(ye("data-v-ca3e6071"),A=A(),ke(),A),hs={key:0,class:"compose-wrap"},gs={class:"compose-line"},ys={class:"compose-user"},ks={class:"compose-line compose-options"},ws={class:"attachment"},bs={class:"submit-wrap"},$s={class:"attachment-list-wrap"},Cs={key:1,class:"compose-wrap"},xs=fs(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Is={key:0,class:"login-only-wrap"},Ts={key:1,class:"login-wrap"},zs=Q({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(A,{emit:M}){const l=A,r=ee(),g=c([]),y=c(!1),w=c(!1),L=c(!1),_=c(""),b=c(),C=c("public/image"),m=c([]),T=c([]),t=c("true".toLowerCase()==="true"),v="/v1/attachment",$=c(),k=Tt.debounce(f=>{Ne({k:f}).then(h=>{let R=[];h.suggest.map(S=>{R.push({label:S,value:S})}),g.value=R,w.value=!1}).catch(h=>{w.value=!1})},200),x=(f,h)=>{w.value||(w.value=!0,h==="@"&&k(f))},q=f=>{f.length>200||(_.value=f)},F=f=>{C.value=f},N=f=>{m.value=f},V=async f=>{var h,R;return C.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((h=f.file.file)==null?void 0:h.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):C.value==="image"&&((R=f.file.file)==null?void 0:R.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},I=({file:f,event:h})=>{var R;try{let S=JSON.parse((R=h.target)==null?void 0:R.response);S.code===0&&C.value==="public/image"&&T.value.push({id:f.id,content:S.data.content})}catch{window.$message.error("上传失败")}},D=({file:f,event:h})=>{var R;try{let S=JSON.parse((R=h.target)==null?void 0:R.response);if(S.code!==0){let E=S.msg||"上传失败";S.details&&S.details.length>0&&S.details.map(O=>{E+=":"+O}),window.$message.error(E)}}catch{window.$message.error("上传失败")}},K=({file:f})=>{let h=T.value.findIndex(R=>R.id===f.id);h>-1&&T.value.splice(h,1)},s=()=>{y.value=!0},p=()=>{var f;y.value=!1,(f=b.value)==null||f.clear(),m.value=[],_.value="",T.value=[]},H=()=>{if(_.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:f}=he(_.value);const h=[];let R=100;h.push({content:_.value,type:2,sort:R}),T.value.map(S=>{R++,h.push({content:S.content,type:3,sort:R})}),L.value=!0,Be({contents:h,post_id:l.postId,users:Array.from(new Set(f))}).then(S=>{window.$message.success("发布成功"),L.value=!1,M("post-success"),p()}).catch(S=>{L.value=!1})},Y=f=>{r.commit("triggerAuth",!0),r.commit("triggerAuthKey",f)};return ve(()=>{$.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(f,h)=>{const R=fe,S=lt,E=se,O=oe,W=it,J=ut,pe=ct,ne=rt,de=_t;return o(),u("div",null,[a(r).state.userInfo.id>0?(o(),u("div",hs,[d("div",gs,[d("div",ys,[e(R,{round:"",size:30,src:a(r).state.userInfo.avatar},null,8,["src"])]),e(S,{type:"textarea",size:"large",autosize:"",bordered:!1,options:g.value,prefix:["@"],loading:w.value,value:_.value,disabled:l.lock===1,"onUpdate:value":q,onSearch:x,onFocus:s,placeholder:l.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),y.value?(o(),P(de,{key:0,ref_key:"uploadRef",ref:b,abstract:"","list-type":"image",multiple:!0,max:9,action:v,headers:{Authorization:$.value},data:{type:C.value},onBeforeUpload:V,onFinish:I,onError:D,onRemove:K,"onUpdate:fileList":N},{default:n(()=>[d("div",ks,[d("div",ws,[e(W,{abstract:""},{default:n(({handleClick:G})=>[e(O,{disabled:m.value.length>0&&C.value==="public/video"||m.value.length===9,onClick:()=>{F("public/image"),G()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[e(E,{size:"20",color:"var(--primary-color)"},{default:n(()=>[e(a(Qe))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),e(pe,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[e(J,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:_.value.length/200*100},null,8,["percentage"])]),default:n(()=>[z(" "+U(_.value.length)+" / 200 ",1)]),_:1})]),d("div",bs,[e(O,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:p},{default:n(()=>[z(" 取消 ")]),_:1}),e(O,{loading:L.value,onClick:H,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[z(" 发布 ")]),_:1},8,["loading"])])]),d("div",$s,[e(ne)])]),_:1},8,["headers","data"])):i("",!0)])):(o(),u("div",Cs,[xs,t.value?i("",!0):(o(),u("div",Is,[e(O,{strong:"",secondary:"",round:"",type:"primary",onClick:h[0]||(h[0]=G=>Y("signin"))},{default:n(()=>[z(" 登录 ")]),_:1})])),t.value?(o(),u("div",Ts,[e(O,{strong:"",secondary:"",round:"",type:"primary",onClick:h[1]||(h[1]=G=>Y("signin"))},{default:n(()=>[z(" 登录 ")]),_:1}),e(O,{strong:"",secondary:"",round:"",type:"info",onClick:h[2]||(h[2]=G=>Y("signup"))},{default:n(()=>[z(" 注册 ")]),_:1})])):i("",!0)]))])}}});const Us=te(zs,[["__scopeId","data-v-ca3e6071"]]),Ps={class:"username-wrap"},Rs={key:0,class:"options"},Ss={key:0},Ls=["innerHTML"],As={class:"timestamp"},Ds={key:0},qs={key:1},Ms={class:"opts-wrap"},Os=["onClick"],Ns={class:"opt-item"},Bs=["onClick"],Es=["onClick"],js=Q({__name:"post-detail",props:{post:{}},emits:["reload"],setup(A,{emit:M}){const l=A,r=ee(),g=ze(),y=c(!1),w=c(!1),L=c(!1),_=c(!1),b=c(!1),C=c(!1),m=c(!1),T=c(Z.PUBLIC),t=ae({get:()=>{let s=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},l.post);return s.contents.map(p=>{(+p.type==1||+p.type==2)&&s.texts.push(p),+p.type==3&&s.imgs.push(p),+p.type==4&&s.videos.push(p),+p.type==6&&s.links.push(p),+p.type==7&&s.attachments.push(p),+p.type==8&&s.charge_attachments.push(p)}),s},set:s=>{l.post.upvote_count=s.upvote_count,l.post.comment_count=s.comment_count,l.post.collection_count=s.collection_count}}),v=ae(()=>{let s=[{label:"删除",key:"delete"}];return t.value.is_lock===0?s.push({label:"锁定",key:"lock"}):s.push({label:"解锁",key:"unlock"}),r.state.userInfo.is_admin&&(t.value.is_top===0?s.push({label:"置顶",key:"stick"}):s.push({label:"取消置顶",key:"unstick"})),t.value.visibility===Z.PUBLIC?s.push({label:"公开",key:"vpublic",children:[{label:"私密",key:"vprivate"},{label:"好友可见",key:"vfriend"}]}):t.value.visibility===Z.PRIVATE?s.push({label:"私密",key:"vprivate",children:[{label:"公开",key:"vpublic"},{label:"好友可见",key:"vfriend"}]}):s.push({label:"好友可见",key:"vfriend",children:[{label:"公开",key:"vpublic"},{label:"私密",key:"vprivate"}]}),s}),$=s=>{g.push({name:"post",query:{id:s}})},k=(s,p)=>{if(s.target.dataset.detail){const H=s.target.dataset.detail.split(":");if(H.length===2){r.commit("refresh"),H[0]==="tag"?g.push({name:"home",query:{q:H[1],t:"tag"}}):g.push({name:"user",query:{username:H[1]}});return}}$(p)},x=s=>{switch(s){case"delete":L.value=!0;break;case"lock":case"unlock":_.value=!0;break;case"stick":case"unstick":b.value=!0;break;case"vpublic":T.value=0,C.value=!0;break;case"vprivate":T.value=1,C.value=!0;break;case"vfriend":T.value=2,C.value=!0;break}},q=()=>{Ve({id:t.value.id}).then(s=>{window.$message.success("删除成功"),g.replace("/"),setTimeout(()=>{r.commit("refresh")},50)}).catch(s=>{m.value=!1})},F=()=>{He({id:t.value.id}).then(s=>{M("reload"),s.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(s=>{m.value=!1})},N=()=>{Fe({id:t.value.id}).then(s=>{M("reload"),s.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(s=>{m.value=!1})},V=()=>{Ye({id:t.value.id,visibility:T.value}).then(s=>{M("reload"),window.$message.success("修改可见性成功")}).catch(s=>{m.value=!1})},I=()=>{Ke({id:t.value.id}).then(s=>{y.value=s.status,s.status?t.value={...t.value,upvote_count:t.value.upvote_count+1}:t.value={...t.value,upvote_count:t.value.upvote_count-1}}).catch(s=>{console.log(s)})},D=()=>{Je({id:t.value.id}).then(s=>{w.value=s.status,s.status?t.value={...t.value,collection_count:t.value.collection_count+1}:t.value={...t.value,collection_count:t.value.collection_count-1}}).catch(s=>{console.log(s)})},K=()=>{zt(`${window.location.origin}/#/post?id=${t.value.id}`),window.$message.success("链接已复制到剪贴板")};return ve(()=>{r.state.userInfo.id>0&&(Ee({id:t.value.id}).then(s=>{y.value=s.status}).catch(s=>{console.log(s)}),je({id:t.value.id}).then(s=>{w.value=s.status}).catch(s=>{console.log(s)}))}),(s,p)=>{const H=fe,Y=me("router-link"),f=pt,h=se,R=oe,S=dt,E=mt,O=bt,W=Te,J=$t,pe=Ct,ne=vt,de=Ie,G=xe;return o(),u("div",{class:"detail-item",onClick:p[6]||(p[6]=j=>$(t.value.id))},[e(G,null,{avatar:n(()=>[e(H,{round:"",size:30,src:t.value.user.avatar},null,8,["src"])]),header:n(()=>[e(Y,{onClick:p[0]||(p[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t.value.user.username}}},{default:n(()=>[z(U(t.value.user.nickname),1)]),_:1},8,["to"]),d("span",Ps," @"+U(t.value.user.username),1),t.value.is_top?(o(),P(f,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[z(" 置顶 ")]),_:1})):i("",!0),t.value.visibility==a(Z).PRIVATE?(o(),P(f,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[z(" 私密 ")]),_:1})):i("",!0),t.value.visibility==a(Z).FRIEND?(o(),P(f,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[z(" 好友可见 ")]),_:1})):i("",!0)]),"header-extra":n(()=>[a(r).state.userInfo.is_admin||a(r).state.userInfo.id===t.value.user.id?(o(),u("div",Rs,[e(S,{placement:"bottom-end",trigger:"click",size:"small",options:v.value,onSelect:x},{default:n(()=>[e(R,{quaternary:"",circle:""},{icon:n(()=>[e(h,null,{default:n(()=>[e(a(We))]),_:1})]),_:1})]),_:1},8,["options"])])):i("",!0),e(E,{show:L.value,"onUpdate:show":p[1]||(p[1]=j=>L.value=j),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:q},null,8,["show"]),e(E,{show:_.value,"onUpdate:show":p[2]||(p[2]=j=>_.value=j),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(t.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:F},null,8,["show","content"]),e(E,{show:b.value,"onUpdate:show":p[3]||(p[3]=j=>b.value=j),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(t.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:N},null,8,["show","content"]),e(E,{show:C.value,"onUpdate:show":p[4]||(p[4]=j=>C.value=j),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(T.value==0?"公开":T.value==1?"私密":"好友可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:V},null,8,["show","content"])]),footer:n(()=>[e(O,{attachments:t.value.attachments},null,8,["attachments"]),e(O,{attachments:t.value.charge_attachments,price:t.value.attachment_price},null,8,["attachments","price"]),e(W,{imgs:t.value.imgs},null,8,["imgs"]),e(J,{videos:t.value.videos,full:!0},null,8,["videos"]),e(pe,{links:t.value.links},null,8,["links"]),d("div",As,[z(" 发布于 "+U(a(ue)(t.value.created_on))+" ",1),t.value.ip_loc?(o(),u("span",Ds,[e(ne,{vertical:""}),z(" "+U(t.value.ip_loc),1)])):i("",!0),!a(r).state.collapsedLeft&&t.value.created_on!=t.value.latest_replied_on?(o(),u("span",qs,[e(ne,{vertical:""}),z(" 最后回复 "+U(a(ue)(t.value.latest_replied_on)),1)])):i("",!0)])]),action:n(()=>[d("div",Ms,[e(de,{justify:"space-between"},{default:n(()=>[d("div",{class:"opt-item hover",onClick:B(I,["stop"])},[e(h,{size:"20",class:"opt-item-icon"},{default:n(()=>[y.value?i("",!0):(o(),P(a(Ze),{key:0})),y.value?(o(),P(a(Xe),{key:1,color:"red"})):i("",!0)]),_:1}),z(" "+U(t.value.upvote_count),1)],8,Os),d("div",Ns,[e(h,{size:"20",class:"opt-item-icon"},{default:n(()=>[e(a(et))]),_:1}),z(" "+U(t.value.comment_count),1)]),d("div",{class:"opt-item hover",onClick:B(D,["stop"])},[e(h,{size:"20",class:"opt-item-icon"},{default:n(()=>[w.value?i("",!0):(o(),P(a(tt),{key:0})),w.value?(o(),P(a(st),{key:1,color:"#ff7600"})):i("",!0)]),_:1}),z(" "+U(t.value.collection_count),1)],8,Bs),d("div",{class:"opt-item hover",onClick:B(K,["stop"])},[e(h,{size:"20",class:"opt-item-icon"},{default:n(()=>[e(a(ot))]),_:1}),z(" "+U(t.value.share_count),1)],8,Es)]),_:1})])]),default:n(()=>[t.value.texts.length>0?(o(),u("div",Ss,[(o(!0),u(le,null,ie(t.value.texts,j=>(o(),u("span",{key:j.id,class:"post-text",onClick:p[5]||(p[5]=B(Ue=>k(Ue,t.value.id),["stop"])),innerHTML:a(he)(j.content).content},null,8,Ls))),128))])):i("",!0)]),_:1})])}}});const Vs=A=>(ye("data-v-0d01659f"),A=A(),ke(),A),Hs={key:0,class:"detail-wrap"},Fs={key:1,class:"empty-wrap"},Ys={key:0,class:"comment-opts-wrap"},Ks=Vs(()=>d("span",{class:"comment-title-item"},"评论",-1)),Js={key:2},Gs={key:0,class:"skeleton-wrap"},Qs={key:1},Ws={key:0,class:"empty-wrap"},Zs={key:0,class:"load-more-spinner"},Xs={key:1,class:"load-more-spinner"},eo={key:2,class:"load-more-spinner"},to={key:3,class:"load-more-spinner"},X=20,so=Q({__name:"Post",setup(A){const M=xt(),l=c({}),r=c(!1),g=c(!1),y=c([]),w=ae(()=>+M.query.id),L=c("default"),_=c(!0);let b={loading(){},loaded(){},complete(){},error(){}};const C=I=>{L.value=I,I==="default"&&(_.value=!0),N(b)},m=()=>{l.value={id:0},r.value=!0,Ge({id:w.value}).then(I=>{r.value=!1,l.value=I,N(b)}).catch(I=>{r.value=!1})};let T=1;const t=c(!1),v=c([]),$=I=>{t.value||ge({id:l.value.id,sort_strategy:"default",page:T,page_size:X}).then(D=>{I!==null&&(b=I),D.list.length<X?t.value=!0:T++,D.list.length>0&&(T===1?v.value=D.list:v.value.push(...D.list),y.value=v.value),b.loaded(),g.value=!1}).catch(D=>{g.value=!1,b.error()})};let k=1,x=c(!1);const q=c([]),F=I=>{x.value||ge({id:l.value.id,sort_strategy:"newest",page:k,page_size:X}).then(D=>{I!==null&&(b=I),D.list.length<X?x.value=!0:k++,D.list.length>0&&(k===1?q.value=D.list:q.value.push(...D.list),y.value=q.value),b.loaded(),g.value=!1}).catch(D=>{g.value=!1,b.error()})},N=I=>{w.value<1||(y.value.length===0&&(g.value=!0),L.value==="default"?(y.value=v.value,$(I)):(y.value=q.value,F(I)),g.value=!1)},V=()=>{T=1,t.value=!1,v.value=[],k=1,x.value=!1,q.value=[],N(b)};return ve(()=>{m()}),Re(w,()=>{w.value>0&&M.name==="post"&&m()}),(I,D)=>{const K=Ut,s=js,p=ht,H=gt,Y=yt,f=kt,h=wt,R=Us,S=It,E=vs,O=Ie,W=ft;return o(),u("div",null,[e(K,{title:"泡泡详情",back:!0}),e(W,{class:"main-content-wrap",bordered:""},{default:n(()=>[e(Y,null,{default:n(()=>[e(H,{show:r.value},{default:n(()=>[l.value.id>1?(o(),u("div",Hs,[e(s,{post:l.value,onReload:m},null,8,["post"])])):(o(),u("div",Fs,[e(p,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),l.value.id>0?(o(),u("div",Ys,[e(h,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":C},{prefix:n(()=>[Ks]),default:n(()=>[e(f,{name:"default",tab:"默认"}),e(f,{name:"newest",tab:"最新"})]),_:1})])):i("",!0),l.value.id>0?(o(),P(Y,{key:1},{default:n(()=>[e(R,{lock:l.value.is_lock,"post-id":l.value.id,onPostSuccess:V},null,8,["lock","post-id"])]),_:1})):i("",!0),l.value.id>0?(o(),u("div",Js,[g.value?(o(),u("div",Gs,[e(S,{num:5})])):(o(),u("div",Qs,[y.value.length===0?(o(),u("div",Ws,[e(p,{size:"large",description:"暂无评论,快来抢沙发"})])):i("",!0),(o(!0),u(le,null,ie(y.value,J=>(o(),P(Y,{key:J.id},{default:n(()=>[e(E,{comment:J,onReload:V},null,8,["comment"])]),_:2},1024))),128))]))])):i("",!0),y.value.length>=X?(o(),P(O,{key:3,justify:"center"},{default:n(()=>[e(a(Pt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:N},{spinner:n(()=>[_.value&&t.value?(o(),u("span",Zs)):i("",!0),!_.value&&a(x)?(o(),u("span",Xs)):i("",!0),_.value&&!t.value?(o(),u("span",eo,"加载评论")):i("",!0),!_.value&&!a(x)?(o(),u("span",to,"加载评论")):i("",!0)]),_:1})]),_:1})):i("",!0)]),_:1})])}}});const qo=te(so,[["__scopeId","data-v-0d01659f"]]);export{qo as default};
|