Files
ijmuv-blog-release/frontend/assets/post-C2MqO86O.js
2026-05-08 13:39:01 +08:00

1 line
1.5 KiB
JavaScript

import{Gt as e,X as t}from"./editor-DJ72UhpY.js";import{ta as n}from"./vendor-BqxQPPIo.js";import{a as r,i,o as a,s as o}from"./index-BsmF42t4.js";var s={getPosts(e){return r(`/posts`,{params:e})},getPost(e){return r(`/posts/${e}`)},getAdminPosts(e){return r(`/admin/posts`,{params:e})},getAdminPost(e){return r(`/admin/posts/${e}`)},createPost(e){return a(`/posts`,e)},updatePost(e,t){return o(`/posts/${e}`,t)},deletePost(e){return i(`/posts/${e}`)}},c=n(`post`,()=>{let n=e([]),r=e(null),i=e(!1),a=e({total:0,page:1,size:10}),o=t(()=>Math.ceil(a.value.total/a.value.size));async function c(e){i.value=!0;try{let t=await s.getPosts(e);return n.value=t.list||[],a.value={total:t.total,page:t.page,size:t.size},t}finally{i.value=!1}}async function l(e){i.value=!0;try{let t=await s.getPost(e);return r.value=t,t}finally{i.value=!1}}async function u(e){i.value=!0;try{let t=await s.getAdminPosts(e);return n.value=t.list||[],a.value={total:t.total,page:t.page,size:t.size},t}finally{i.value=!1}}async function d(e){i.value=!0;try{let t=await s.getAdminPost(e);return r.value=t,t}finally{i.value=!1}}async function f(e){return await s.createPost(e)}async function p(e,t){let n=await s.updatePost(e,t);return r.value?.id===e&&(r.value=n),n}async function m(e){await s.deletePost(e),n.value=n.value.filter(t=>t.id!==e)}function h(){r.value=null}return{posts:n,currentPost:r,loading:i,pagination:a,totalPages:o,fetchPosts:c,fetchPost:l,fetchAdminPosts:u,fetchAdminPost:d,createPost:f,updatePost:p,deletePost:m,resetCurrentPost:h}});export{c as t};