2 lines
2.0 KiB
JavaScript
2 lines
2.0 KiB
JavaScript
import{d as s,r as e,o as a,aP as t,b as l,e as r,f as n,j as i,v as o,g as c,w as d,I as m,J as u,h as v,T as h}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import{c as p}from"./dashboard-Csmn9wla.js";import{E as f}from"./index-ZsMdSUVI.js";import{E as x}from"./index-Cp4NEpJ7.js";const y={class:"art-card h-128 p-5 mb-5 max-sm:mb-4"},b={class:"art-card-header"},g={class:"title"},w={class:"text-success"},j={class:"h-9/10 mt-2 overflow-hidden"},k={class:"text-g-800 font-medium"},N={class:"text-theme"},I={key:0,class:"ml-2"},_=s({__name:"dynamic-stats",setup(s){const _=e([]),P=e(0);let z,E=null;const T=()=>{return s=this,e=null,a=function*(){try{const{list:s,sinceId:e}=yield p(z,50);if(s.length){z=e;const a=new Set(_.value.map(s=>s.id)),t=s.filter(s=>!a.has(s.id));t.length&&(_.value.unshift(...t),P.value=t.length,_.value.length>100&&_.value.splice(100))}}catch(s){h.error("获取抽奖动态失败")}},new Promise((t,l)=>{var r=s=>{try{i(a.next(s))}catch(e){l(e)}},n=s=>{try{i(a.throw(s))}catch(e){l(e)}},i=s=>s.done?t(s.value):Promise.resolve(s.value).then(r,n);i((a=a.apply(s,e)).next())});var s,e,a};return a(()=>{T(),E=window.setInterval(T,5e3)}),t(()=>{E&&window.clearInterval(E)}),(s,e)=>{const a=f,t=x;return r(),l("div",y,[n("div",b,[n("div",g,[e[1]||(e[1]=n("h4",null,"实时抽奖动态",-1)),n("p",null,[e[0]||(e[0]=i("新增",-1)),n("span",w,"+"+o(P.value),1)])])]),n("div",j,[c(t,null,{default:d(()=>[(r(!0),l(m,null,u(_.value,(s,t)=>(r(),l("div",{class:"h-17.5 leading-17.5 border-b border-g-300 text-sm overflow-hidden last:border-b-0",key:s.id},[n("span",k,o(s.nickname),1),e[3]||(e[3]=n("span",{class:"mx-2 text-g-600"},"在",-1)),n("span",N,o(s.activityName?`${s.activityName}-${s.issueNumber}`:s.issueName),1),s.isWinner?(r(),l("span",I,"中奖 "+o(s.prizeName||""),1)):(r(),v(a,{key:1,size:"small",type:"info",class:"ml-2"},{default:d(()=>[...e[2]||(e[2]=[i("参与",-1)])]),_:1}))]))),128))]),_:1})])])}}});export{_ as default};
|