mirror of
https://gitee.com/270580156/weiyu.git
synced 2026-05-15 11:47:54 +00:00
2 lines
1.3 KiB
JavaScript
2 lines
1.3 KiB
JavaScript
import{r as m,u as o,a as S,b as T}from"./index-z9GL58Cw.js";async function y(t){return m("/api/v1/thread/query",{method:"GET",params:{...t}})}const f={async loadThreads(t=3){const{setLoading:a,setError:n,setThreads:d,searchText:c,pagination:r,setPagination:h}=o.getState(),{memberInfo:i}=T.getState(),u=async g=>{try{a(!0),n(null);const s={pageNumber:r.pageNumber,pageSize:r.pageSize,ticketorUids:[i==null?void 0:i.uid],mergeByTopic:!0};c&&(s.searchText=c);const e=await y(s);if(console.log("queryThreads response",s,e.data),e.data.code===200){if(h({...r,total:e.data.data.totalElements,pageNumber:e.data.data.last?r.pageNumber:r.pageNumber+1}),r.pageNumber===0)d(e.data.data.content);else{const{threads:p}=o.getState();d([...p,...e.data.data.content])}const{setThreadResult:l}=o.getState();l(e.data)}else throw new Error(e.data.message)}catch(s){if(g<t)return await new Promise(e=>setTimeout(e,1e3)),u(g+1);n(s instanceof Error?s.message:"Failed to load threads")}finally{a(!1)}};return u(1)},async resetAndLoad(){const{setPagination:t}=o.getState(),a=S.getState().currentOrg;return t({pageNumber:0,pageSize:100,total:0}),this.loadThreads(a.uid)},async loadThreadsWithFilters(t){const{setFilter:a}=o.getState();return Object.entries(t).forEach(([n,d])=>{a(n,d)}),this.resetAndLoad()}};export{f as threadService};
|