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.
paopao-ce/web/dist/assets/Following-ec2610fe.js

2 lines
6.0 KiB

import{_ as K}from"./whisper-199068f9.js";import{d as N,c as Q,r as X,e as c,f,k as n,w as a,j as _,y as Z,A as U,x as g,q as b,Y as $,bf as w,h as C,H as i,b as ee,F as S,u as oe}from"./@vue-a481fc63.js";import{u as ne,b as te}from"./vue-router-e5a2430e.js";import{J as se,u as ae,f as le,_ as O,V as ce,W as ie}from"./index-76c13b81.js";import{k as _e,r as ue,s as re,t as pe}from"./@vicons-f0266f88.js";import{F as me,j as B,o as de,M as fe,e as ve,P as ge,O as we,G as he,a as ke,f as ye,g as be,J as $e,k as Fe,H as ze}from"./naive-ui-eecf2ec3.js";import{_ as Te}from"./post-skeleton-5a896692.js";import{_ as qe}from"./main-nav.vue_vue_type_style_index_0_lang-0af7a965.js";import{W as xe}from"./v3-infinite-loading-2c58ec2f.js";import"./vuex-44de225f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-7c8d4b48.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.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";const Ie={class:"follow-item"},Me={class:"nickname-wrap"},Pe={class:"username-wrap"},Ue={class:"user-info"},Ce={class:"info-item"},Se={class:"info-item"},Be={class:"item-header-extra"},Ne=N({__name:"follow-item",props:{contact:{}},emits:["send-whisper"],setup(I,{emit:m}){const o=I,u=me();ne();const t=e=>()=>C(B,null,{default:()=>C(e)}),F=()=>{u.success({title:"提示",content:"确定"+(o.contact.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{o.contact.is_following?ae({user_id:o.contact.user_id}).then(e=>{window.$message.success("取消关注成功"),o.contact.is_following=!1}).catch(e=>{console.log(e)}):le({user_id:o.contact.user_id}).then(e=>{window.$message.success("关注成功"),o.contact.is_following=!0}).catch(e=>{console.log(e)})}})},h=Q(()=>{let e=[{label:"私信",key:"whisper",icon:t(ue)}];return o.contact.is_following?e.push({label:"取消关注",key:"unfollow",icon:t(re)}):e.push({label:"关注",key:"follow",icon:t(pe)}),e}),d=e=>{switch(e){case"follow":case"unfollow":F();break;case"whisper":const l={id:o.contact.user_id,avatar:o.contact.avatar,username:o.contact.username,nickname:o.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};m("send-whisper",l);break}};return(e,l)=>{const p=de,v=X("router-link"),k=fe,z=ve,T=ge,q=we;return c(),f("div",Ie,[n(q,{"content-indented":""},{avatar:a(()=>[n(p,{size:54,src:e.contact.avatar},null,8,["src"])]),header:a(()=>[_("span",Me,[n(v,{onClick:l[0]||(l[0]=Z(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:a(()=>[U(g(e.contact.nickname),1)]),_:1},8,["to"])]),_("span",Pe," @"+g(e.contact.username),1),e.contact.is_following?(c(),b(k,{key:0,class:"top-tag",type:"success",size:"small",round:""},{default:a(()=>[U(" 已关注 ")]),_:1})):$("",!0),_("div",Ue,[_("span",Ce," UID. "+g(e.contact.user_id),1),_("span",Se,g(w(se)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":a(()=>[_("div",Be,[n(T,{placement:"bottom-end",trigger:"click",size:"small",options:h.value,onSelect:d},{default:a(()=>[n(z,{quaternary:"",circle:""},{icon:a(()=>[n(w(B),null,{default:a(()=>[n(w(_e))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const Oe=O(Ne,[["__scopeId","data-v-1fb7364a"]]),Ve={key:0,class:"skeleton-wrap"},We={key:1},De={key:0,class:"empty-wrap"},je={class:"load-more-wrap"},He={class:"load-more-spinner"},Re=N({__name:"Following",setup(I){const m=te(),o=i(!1),u=i(!1),t=i([]),F=m.query.n||"粉丝详情",h=m.query.s||"",d=i(m.query.t||"follows"),e=i(+m.query.p||1),l=i(20),p=i(0),v=i(!1),k=i({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),z=r=>{k.value=r,v.value=!0},T=()=>{v.value=!1},q=()=>{e.value<p.value||p.value==0?(u.value=!1,e.value++,x()):u.value=!0},V=r=>{d.value=r,x()},x=()=>{d.value==="follows"?W(h):d.value==="followings"&&D(h)},W=(r,y=!1)=>{t.value.length===0&&(o.value=!0),ce({username:r,page:e.value,page_size:l.value}).then(s=>{o.value=!1,s.list.length===0&&(u.value=!0),e.value>1?t.value=t.value.concat(s.list):(t.value=s.list,y&&setTimeout(()=>{window.scrollTo(0,99999)},50)),p.value=Math.ceil(s.pager.total_rows/l.value)}).catch(s=>{o.value=!1,e.value>1&&e.value--})},D=(r,y=!1)=>{t.value.length===0&&(o.value=!0),ie({username:r,page:e.value,page_size:l.value}).then(s=>{o.value=!1,s.list.length===0&&(u.value=!0),e.value>1?t.value=t.value.concat(s.list):(t.value=s.list,y&&setTimeout(()=>{window.scrollTo(0,99999)},50)),p.value=Math.ceil(s.pager.total_rows/l.value)}).catch(s=>{o.value=!1,e.value>1&&e.value--})};return ee(()=>{x()}),(r,y)=>{const s=qe,M=ye,j=be,H=Te,R=$e,A=Oe,J=ze,E=K,G=he,L=Fe,Y=ke;return c(),f(S,null,[_("div",null,[n(s,{title:w(F),back:!0},null,8,["title"]),n(G,{class:"main-content-wrap",bordered:""},{default:a(()=>[n(j,{type:"line",animated:"","default-value":d.value,"onUpdate:value":V},{default:a(()=>[n(M,{name:"follows",tab:"正在关注"}),n(M,{name:"followings",tab:"我的粉丝"})]),_:1},8,["default-value"]),o.value?(c(),f("div",Ve,[n(H,{num:l.value},null,8,["num"])])):(c(),f("div",We,[t.value.length===0?(c(),f("div",De,[n(R,{size:"large",description:"暂无数据"})])):$("",!0),(c(!0),f(S,null,oe(t.value,P=>(c(),b(J,{key:P.user_id},{default:a(()=>[n(A,{contact:P,onSendWhisper:z},null,8,["contact"])]),_:2},1024))),128))])),n(E,{show:v.value,user:k.value,onSuccess:T},null,8,["show","user"])]),_:1})]),p.value>0?(c(),b(Y,{key:0,justify:"center"},{default:a(()=>[n(w(xe),{class:"load-more",slots:{complete:"没有更多了",error:"加载出错"},onInfinite:q},{spinner:a(()=>[_("div",je,[u.value?$("",!0):(c(),b(L,{key:0,size:14})),_("span",He,g(u.value?"没有更多了":"加载更多"),1)])]),_:1})]),_:1})):$("",!0)],64)}}});const go=O(Re,[["__scopeId","data-v-6badd90c"]]);export{go as default};