api.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import request from "/@/utils/request"
  2. /**
  3. * 根据分页查询参数获取列表数据。
  4. * @param {Object} [query] - 查询参数。
  5. * @returns {Promise} 请求的 Promise 分页对象。
  6. */
  7. export function fetchList(query?: Object) {
  8. return request({
  9. url: '/${moduleName}/${functionName}/page',
  10. method: 'get',
  11. params: query
  12. })
  13. }
  14. /**
  15. * 添加一个新对象。
  16. * @param {Object} [obj] - 要添加的对象。
  17. * @returns {Promise} 请求的 Promise 对象 (true/false)。
  18. */
  19. export function addObj(obj?: Object) {
  20. return request({
  21. url: '/${moduleName}/${functionName}',
  22. method: 'post',
  23. data: obj
  24. })
  25. }
  26. /**
  27. * 根据查询参数获取对象详情。
  28. * @param {Object} [obj] - 查询参数。
  29. * @returns {Promise} 请求的 Promise 对象数组。
  30. */
  31. export function getObj(obj?: Object) {
  32. return request({
  33. url: '/${moduleName}/${functionName}/details',
  34. method: 'get',
  35. params: obj
  36. })
  37. }
  38. /**
  39. * 根据 ID 删除对象。
  40. * @param {Object} [ids] - 要删除的对象 ID。
  41. * @returns {Promise} 请求的 Promise 对象。
  42. */
  43. export function delObjs(ids?: Object) {
  44. return request({
  45. url: '/${moduleName}/${functionName}',
  46. method: 'delete',
  47. data: ids
  48. })
  49. }
  50. /**
  51. * 更新一个已存在的对象。
  52. * @param {Object} [obj] - 要更新的对象。
  53. * @returns {Promise} 请求的 Promise 对象。
  54. */
  55. export function putObj(obj?: Object) {
  56. return request({
  57. url: '/${moduleName}/${functionName}',
  58. method: 'put',
  59. data: obj
  60. })
  61. }
  62. /**
  63. * 验证某个字段的值是否已经存在。
  64. * @param {Object} rule - 验证规则对象。
  65. * @param {*} value - 要验证的值。
  66. * @param {Function} callback - 验证完成后的回调函数。
  67. * @param {boolean} isEdit - 当前操作是否为编辑。
  68. *
  69. * 示例用法:
  70. * 字段名: [
  71. * {
  72. * validator: (rule, value, callback) => {
  73. * validateExist(rule, value, callback, form.id !== '');
  74. * },
  75. * trigger: 'blur',
  76. * },
  77. * ]
  78. */
  79. export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) {
  80. if (isEdit) {
  81. return callback();
  82. }
  83. getObj({ [rule.field]: value }).then((response) => {
  84. const result = response.data;
  85. if (result !== null) {
  86. callback(new Error('数据已经存在'));
  87. } else {
  88. callback();
  89. }
  90. });
  91. }
  92. #if($ChildClassName)
  93. /**
  94. * 删除子对象。
  95. * @param {Object} [ids] - 要删除的子对象 ID。
  96. * @returns {Promise} 请求的 Promise 对象。
  97. */
  98. export function delChildObj(ids?: Object) {
  99. return request({
  100. url: '/${moduleName}/${functionName}/child',
  101. method: 'delete',
  102. data: ids
  103. })
  104. }
  105. #end