posts.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. /**
  2. * 文章管理
  3. * @see https://api.halo.run/admin-api.html#tag/post-controller
  4. */
  5. import HttpHandler from '@/common/http/request.js'
  6. /**
  7. * 新建和编辑文章字段
  8. */
  9. const createOrEditModel = {
  10. "categoryIds": [
  11. 0
  12. ],
  13. "content": "string",
  14. "createTime": "2019-08-24T14:15:22Z",
  15. "disallowComment": true,
  16. "editorType": "MARKDOWN",
  17. "keepRaw": true,
  18. "metaDescription": "string",
  19. "metaKeywords": "string",
  20. "metas": [{
  21. "key": "string",
  22. "postId": 0,
  23. "value": "string"
  24. }],
  25. "originalContent": "string",
  26. "password": "string",
  27. "slug": "string",
  28. "status": "DRAFT",
  29. "summary": "string",
  30. "tagIds": [
  31. 0
  32. ],
  33. "template": "string",
  34. "thumbnail": "string",
  35. "title": "string",
  36. "topPriority": 0
  37. }
  38. export default {
  39. /**
  40. * 查询文章列表
  41. * @param {Object} params {
  42. * categoryId,keyword,page,size,sort,
  43. * status:"DRAFT" "INTIMATE" "PUBLISHED" "RECYCLE",statuses,more
  44. * }
  45. */
  46. getPostsByPage: (params) => {
  47. return HttpHandler.Get('/api/admin/posts', params)
  48. },
  49. /**
  50. * 查询最近的文章列表
  51. * @param {Object} params {top:Number}
  52. */
  53. getLatestPosts: (params) => {
  54. return HttpHandler.Get('/api/admin/posts/latest', params)
  55. },
  56. /**
  57. * 根据状态查询文章列表
  58. * @param {String} status:"DRAFT" "INTIMATE" "PUBLISHED" "RECYCLE"
  59. * @param {Object} params:{ page,size,sort,more }
  60. */
  61. getPostsPageByStatus: (status, params) => {
  62. return HttpHandler.Get(`/api/admin/posts/status/${status}`, params)
  63. },
  64. /**
  65. * 根据文章id获取文章
  66. * @param {Number} postsId 文章id
  67. */
  68. getPostsById: (postsId) => {
  69. return HttpHandler.Get(`/api/admin/posts/${postsId}`)
  70. },
  71. /**
  72. * 新增文章
  73. * @param {Object} data 同新增
  74. * @param {Boolean} isAutoSave 是否来源于自动保存
  75. */
  76. createPosts: (data, isAutoSave = false) => {
  77. return HttpHandler.Post(`/api/admin/posts?autoSave=${isAutoSave}`, data)
  78. },
  79. /**
  80. * 修改文章
  81. * @param {Number} postsId id
  82. * @param {Object} data 同新增
  83. * @param {Boolean} isAutoSave 是否来源于自动保存
  84. */
  85. updatePostsById: (postsId, data, isAutoSave = false) => {
  86. return HttpHandler.Put(`/api/admin/posts/${postsId}?autoSave=${isAutoSave}`, data)
  87. },
  88. /**
  89. * 修改文章(草稿)
  90. * @param {Number} postsId id
  91. * @param {Object} data { content,keepRaw,originalContent }
  92. */
  93. updatePostsDraftById: (postsId, data) => {
  94. return HttpHandler.Put(`/api/admin/posts/${postsId}/status/draft/content`, data)
  95. },
  96. /**
  97. * 修改文章状态
  98. * @param {Number} postsId id
  99. * @param {String} status "DRAFT" "INTIMATE" "PUBLISHED" "RECYCLE"
  100. */
  101. updatePostsDraftById: (postsId, status) => {
  102. return HttpHandler.Put(`/api/admin/posts/${postsId}/status/${status}`)
  103. },
  104. /**
  105. * 删除文章(批量)
  106. * @param {Array} postsIds ids
  107. */
  108. deletePostsByIds: (postsIds) => {
  109. return HttpHandler.Delete(`/api/admin/posts`, postsIds)
  110. },
  111. }