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