posts.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  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. "formatContent": "",
  27. "password": "string",
  28. "slug": "string",
  29. "status": "DRAFT",
  30. "summary": "string",
  31. "tagIds": [
  32. 0
  33. ],
  34. "template": "string",
  35. "thumbnail": "string",
  36. "title": "string",
  37. "topPriority": 0
  38. }
  39. export default {
  40. /**
  41. * 查询文章列表
  42. * @param {Object} params {
  43. * categoryId,keyword,page,size,sort,
  44. * status:"DRAFT" "INTIMATE" "PUBLISHED" "RECYCLE",statuses,more
  45. * }
  46. */
  47. getPostsByPage: (params) => {
  48. return HttpHandler.Get('/api/admin/posts', params)
  49. },
  50. /**
  51. * 查询最近的文章列表
  52. * @param {Object} params {top:Number}
  53. */
  54. getLatestPosts: (params) => {
  55. return HttpHandler.Get('/api/admin/posts/latest', params)
  56. },
  57. /**
  58. * 根据状态查询文章列表
  59. * @param {String} status:"DRAFT" "INTIMATE" "PUBLISHED" "RECYCLE"
  60. * @param {Object} params:{ page,size,sort,more }
  61. */
  62. getPostsPageByStatus: (status, params) => {
  63. return HttpHandler.Get(`/api/admin/posts/status/${status}`, params)
  64. },
  65. /**
  66. * 根据文章id获取文章
  67. * @param {Number} postsId 文章id
  68. */
  69. getPostsById: (postsId) => {
  70. return HttpHandler.Get(`/api/admin/posts/${postsId}`)
  71. },
  72. /**
  73. * 新增文章
  74. * @param {Object} data 同新增
  75. * @param {Boolean} isAutoSave 是否来源于自动保存
  76. */
  77. createPosts: (data, isAutoSave = false) => {
  78. return HttpHandler.Post(`/api/admin/posts?autoSave=${isAutoSave}`, data)
  79. },
  80. /**
  81. * 修改文章
  82. * @param {Number} postsId id
  83. * @param {Object} data 同新增
  84. * @param {Boolean} isAutoSave 是否来源于自动保存
  85. */
  86. updatePostsById: (postsId, data, isAutoSave = false) => {
  87. return HttpHandler.Put(`/api/admin/posts/${postsId}?autoSave=${isAutoSave}`, data)
  88. },
  89. /**
  90. * 修改文章(草稿)
  91. * @param {Number} postsId id
  92. * @param {Object} data { content,keepRaw,originalContent }
  93. */
  94. updatePostsDraftById: (postsId, data) => {
  95. return HttpHandler.Put(`/api/admin/posts/${postsId}/status/draft/content`, data)
  96. },
  97. /**
  98. * 修改文章状态
  99. * @param {Number} postsId id
  100. * @param {String} status "DRAFT" "INTIMATE" "PUBLISHED" "RECYCLE"
  101. */
  102. updatePostsDraftById: (postsId, status) => {
  103. return HttpHandler.Put(`/api/admin/posts/${postsId}/status/${status}`)
  104. },
  105. /**
  106. * 删除文章(批量)
  107. * @param {Array} postsIds ids
  108. */
  109. deletePostsByIds: (postsIds) => {
  110. return HttpHandler.Delete(`/api/admin/posts`, postsIds)
  111. },
  112. }