diff --git a/src/api/componentMarket.ts b/src/api/componentMarket.ts
index 423374a..f6a089c 100644
--- a/src/api/componentMarket.ts
+++ b/src/api/componentMarket.ts
@@ -11,5 +11,5 @@ export function getReviewGroupByNew(params: ReviewGroup) {
// 复制组件设计
export function copyDesign(params) {
- return axios.post(`${urlPrefix}/componentMarket/copyDesign`, params);
+ return axios.post(`${urlPrefix}/componentBase/copyDesign`, params);
}
\ No newline at end of file
diff --git a/src/pages/componentDevelopment/componentList/addComponentModal.tsx b/src/pages/componentDevelopment/componentList/addComponentModal.tsx
index d89fe48..8d6cf50 100644
--- a/src/pages/componentDevelopment/componentList/addComponentModal.tsx
+++ b/src/pages/componentDevelopment/componentList/addComponentModal.tsx
@@ -18,6 +18,7 @@ import { IconPlus, IconEdit } from '@arco-design/web-react/icon';
import styles from './style/addComponentModal.module.less';
import EditorSection from '@/components/EditorSection';
import AddApiModal from '@/pages/componentDevelopment/componentList/addApiModal';
+import CompReview from '@/pages/componentDevelopment/componentList/compReview';
import { getComponentClassify } from '@/api/componentClassify';
import { compProjectValidate, compSubmit, getTagList, copyAll } from '@/api/componentBase';
import { copyDesign } from '@/api/componentMarket';
@@ -500,11 +501,10 @@ const AddComponentModal = ({ visible, baseInfo, setVisible, onReFresh, mode = 'c
组件外壳
+ >
+
diff --git a/src/pages/componentDevelopment/componentList/compReview.tsx b/src/pages/componentDevelopment/componentList/compReview.tsx
new file mode 100644
index 0000000..77953c4
--- /dev/null
+++ b/src/pages/componentDevelopment/componentList/compReview.tsx
@@ -0,0 +1,91 @@
+import React from 'react';
+import styles from './style/compReview.module.less';
+
+const CompReview = ({ componentDesignData }) => {
+ console.log('componentDesignData:', componentDesignData);
+
+ // 确保数据是数组格式
+ const dataArray = Array.isArray(componentDesignData) ? componentDesignData :
+ componentDesignData ? [componentDesignData] : [];
+
+ return (
+
+
+
+
+ {/* 上方内容 - 根据数组长度渲染 */}
+
+ {dataArray.map((data, index) => (
+
+ ))}
+
+
+ {/* 输入输出部分 - 根据数组长度渲染 */}
+
+ {/* 输入部分 */}
+
+
input
+
+ {dataArray.map((data, index) => {
+ // 确保参数始终是数组格式
+ const parameters = Array.isArray(data.parameters) ? data.parameters :
+ (data.parameters ? [data.parameters] : []);
+
+ return (
+
+ {parameters.length > 0 ? (
+ parameters.map((param, paramIndex) => (
+
+ {param.ident} {param.type}
+
+ ))
+ ) : (
+
+ 无输入参数
+
+ )}
+
+ );
+ })}
+
+
+
+ {/* 输出部分 */}
+
+
output
+
+ {dataArray.map((data, index) => {
+ // 确保响应始终是数组格式
+ const responses = Array.isArray(data.responses) ? data.responses :
+ (data.responses ? [data.responses] : []);
+
+ return (
+
+ {responses.length > 0 ? (
+ responses.map((response, responseIndex) => (
+
+ {response.type} {response.ident}
+
+ ))
+ ) : (
+
+ 无输出参数
+
+ )}
+
+ );
+ })}
+
+
+
+
+
+
+ );
+};
+
+export default CompReview;
\ No newline at end of file
diff --git a/src/pages/componentDevelopment/componentList/style/compReview.module.less b/src/pages/componentDevelopment/componentList/style/compReview.module.less
new file mode 100644
index 0000000..3a95b2f
--- /dev/null
+++ b/src/pages/componentDevelopment/componentList/style/compReview.module.less
@@ -0,0 +1,94 @@
+.comp-review-container {
+ width: 300px;
+ border-radius: 8px;
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
+ overflow: hidden;
+}
+
+.comp-review-header {
+ background-color: #FFA500;
+ color: white;
+ padding: 8px 12px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 14px;
+}
+
+.comp-review-icon {
+ font-size: 16px;
+ margin-right: 8px;
+}
+
+.comp-review-title {
+ font-weight: bold;
+}
+
+.comp-review-actions {
+ font-size: 12px;
+ cursor: pointer;
+}
+
+.comp-review-body {
+ background-color: white;
+ padding: 12px;
+}
+
+.comp-review-content {
+ border-radius: 4px;
+ padding: 8px;
+ min-height: 120px;
+}
+
+.comp-review-top {
+ margin-bottom: 12px;
+ border-bottom: 1px solid #ebeef5;
+}
+
+.comp-review-name {
+ font-weight: bold;
+ margin-bottom: 4px;
+}
+
+.comp-review-desc {
+ color: #666;
+ font-size: 12px;
+}
+
+.comp-review-io {
+ height: 100%;
+}
+
+.comp-review-input,
+.comp-review-output {
+ flex: 1;
+ padding: 8px;
+}
+
+.comp-review-output {
+ border-right: none;
+ text-align: right;
+}
+
+.comp-review-io-label {
+ font-weight: bold;
+ margin-bottom: 4px;
+ font-size: 12px;
+}
+
+.comp-review-io-items {
+ margin-top: 4px;
+}
+
+.comp-review-io-item {
+ margin-bottom: 4px;
+ position: relative;
+}
+
+
+.comp-review-io-placeholder {
+ color: #999;
+ font-size: 12px;
+ text-align: center;
+ padding: 8px 0;
+}
\ No newline at end of file