diff --git a/src/components/ServerlessAPIServices.jsx b/src/components/ServerlessAPIServices.jsx
index e6714a8a129b9c7f022f325b0ad2714c4ae2eead..5a3c6a360641c9d0ae421fc19f747659b0e9ea52 100644
--- a/src/components/ServerlessAPIServices.jsx
+++ b/src/components/ServerlessAPIServices.jsx
@@ -205,37 +205,37 @@ function FilterControls({
}}
>
{/* 厂商筛选器 */}
-
(
-
-
- {operation?.vendor_info?.label || '未知厂商'}
- {' '}
+ |
+ {/**/}
+ {/* {operation?.vendor_info?.label || '未知厂商'}*/}
+ {/*{' '}*/}
{operation.name}
{' '}
-
- {new Date(operation.created_at || createdAt).toLocaleDateString(
- 'zh-CN',
- )}
-
+ {/**/}
+ {/* {new Date(operation.created_at || createdAt).toLocaleDateString(*/}
+ {/* 'zh-CN',*/}
+ {/* )}*/}
+ {/**/}
|
);
@@ -356,7 +356,7 @@ function ServicesTable({ services, showOperations, hostUrl }) {
分类 |
简介 |
{showOperations && (
-
接口(上线时间) |
+
接口 |
)}
@@ -413,19 +413,28 @@ function ServicesTable({ services, showOperations, hostUrl }) {
/**
* URL 参数管理 Hook
*/
-function useURLParams() {
- const [selectedVendor, setSelectedVendor] = useState(FILTER_DEFAULTS.ALL);
- const [selectedTag, setSelectedTag] = useState(FILTER_DEFAULTS.ALL);
+function useURLParams(defaultVendor = FILTER_DEFAULTS.ALL, defaultTag = FILTER_DEFAULTS.ALL) {
+ const [selectedVendor, setSelectedVendor] = useState(defaultVendor);
+ const [selectedTag, setSelectedTag] = useState(defaultTag);
- // 初始化:从 URL 读取参数
+ // 初始化:从 URL 读取参数,如果没有则使用默认值
useEffect(() => {
const urlParams = new URLSearchParams(window.location.search);
const vendorParam = urlParams.get(URL_PARAMS.VENDOR);
const tagParam = urlParams.get(URL_PARAMS.TAG);
- if (vendorParam) setSelectedVendor(vendorParam);
- if (tagParam) setSelectedTag(tagParam);
- }, []);
+ if (vendorParam) {
+ setSelectedVendor(vendorParam);
+ } else if (defaultVendor !== FILTER_DEFAULTS.ALL) {
+ setSelectedVendor(defaultVendor);
+ }
+
+ if (tagParam) {
+ setSelectedTag(tagParam);
+ } else if (defaultTag !== FILTER_DEFAULTS.ALL) {
+ setSelectedTag(defaultTag);
+ }
+ }, [defaultVendor, defaultTag]);
// 同步:更新 URL 参数
useEffect(() => {
@@ -639,14 +648,17 @@ function useFilteredServices(services, selectedVendor, selectedTag) {
/**
* ServerlessAPIServices 主组件
+ * @param {Object} props - 组件属性
+ * @param {string} [props.defaultVendor] - 默认厂商筛选值
+ * @param {string} [props.defaultTag] - 默认分类筛选值
*/
-export default function ServerlessAPIServices() {
+export default function ServerlessAPIServices({ defaultVendor, defaultTag } = {}) {
const { siteConfig } = useDocusaurusContext();
const hostUrl = siteConfig.url;
// 状态管理
const { selectedVendor, selectedTag, setSelectedVendor, setSelectedTag } =
- useURLParams();
+ useURLParams(defaultVendor, defaultTag);
const { loading, services, vendors, tags, showOperations, error } =
useServicesData(hostUrl);
const { filteredServices, filteredOpsCount } = useFilteredServices(