diff --git a/app/api/v1/apis/apis.py b/app/api/v1/apis/apis.py
index 9cdca28b..ef26f1d6 100644
--- a/app/api/v1/apis/apis.py
+++ b/app/api/v1/apis/apis.py
@@ -15,6 +15,7 @@ async def list_api(
path: str = Query(None, description="API路径"),
summary: str = Query(None, description="API简介"),
tags: str = Query(None, description="API模块"),
+ method: str = Query(None, description="请求方式"),
):
q = Q()
if path:
@@ -23,6 +24,8 @@ async def list_api(
q &= Q(summary__contains=summary)
if tags:
q &= Q(tags__contains=tags)
+ if method:
+ q &= Q(method=method)
total, api_objs = await api_controller.list(page=page, page_size=page_size, search=q, order=["tags", "id"])
data = [await obj.to_dict() for obj in api_objs]
return SuccessExtra(data=data, total=total, page=page, page_size=page_size)
diff --git a/web/src/components/table/CrudTable.vue b/web/src/components/table/CrudTable.vue
index e8ca0369..f796c631 100644
--- a/web/src/components/table/CrudTable.vue
+++ b/web/src/components/table/CrudTable.vue
@@ -12,13 +12,17 @@
:scroll-x="scrollX"
:row-key="(row) => row[rowKey]"
:pagination="isPagination ? pagination : false"
+ :default-sort="props.defaultSort"
+ :sorter="sorterState"
@update:checked-row-keys="onChecked"
@update:page="onPageChange"
+ @update:sorter="onSorterChange"
/>
diff --git a/web/src/utils/constants.js b/web/src/utils/constants.js
new file mode 100644
index 00000000..b703c728
--- /dev/null
+++ b/web/src/utils/constants.js
@@ -0,0 +1,16 @@
+// HTTP请求方法枚举
+export const HTTP_METHODS = {
+ GET: 'GET',
+ POST: 'POST',
+ PUT: 'PUT',
+ DELETE: 'DELETE',
+ PATCH: 'PATCH'
+}
+
+export const HTTP_METHOD_OPTIONS = [
+ { label: 'GET', value: 'GET' },
+ { label: 'POST', value: 'POST' },
+ { label: 'PUT', value: 'PUT' },
+ { label: 'DELETE', value: 'DELETE' },
+ { label: 'PATCH', value: 'PATCH' }
+]
\ No newline at end of file
diff --git a/web/src/views/system/api/index.vue b/web/src/views/system/api/index.vue
index 3f3f48e4..5246033e 100644
--- a/web/src/views/system/api/index.vue
+++ b/web/src/views/system/api/index.vue
@@ -1,6 +1,6 @@