feat(componentMarket): 新增取消发布组件功能

master
钟良源 2 months ago
parent fda715e656
commit 6b1316d1ab

@ -24,6 +24,11 @@ export function publishComponent(params: PublishComponentParams) {
return axios.post(`${urlPrefix}/componentMarket/componentSubmitNew`, params); return axios.post(`${urlPrefix}/componentMarket/componentSubmitNew`, params);
} }
// 删除市场组件/取消组件发布
export function deleteComponentMarket(id) {
return axios.delete(`${urlPrefix}/componentMarket/delete/${id}`);
}
// 多文件上传 // 多文件上传
export function uploadComponentFile(formData: FormData) { export function uploadComponentFile(formData: FormData) {
return axios.post(`${urlPrefix}/componentMarket/multiFileUpload`, formData, { return axios.post(`${urlPrefix}/componentMarket/multiFileUpload`, formData, {

@ -20,6 +20,7 @@ interface HandleButtonGroupProps {
onExportComponent: (row: ComponentItem) => void; onExportComponent: (row: ComponentItem) => void;
onStopComponentShow: (row: ComponentItem) => void; onStopComponentShow: (row: ComponentItem) => void;
onRowDel: (row: ComponentItem) => void; onRowDel: (row: ComponentItem) => void;
onCancelPublish?: (row: ComponentItem) => void;
} }
const HandleButtonGroup: React.FC<HandleButtonGroupProps> = ({ const HandleButtonGroup: React.FC<HandleButtonGroupProps> = ({
@ -34,7 +35,8 @@ const HandleButtonGroup: React.FC<HandleButtonGroupProps> = ({
onShareCollaboration, onShareCollaboration,
onExportComponent, onExportComponent,
onStopComponentShow, onStopComponentShow,
onRowDel onRowDel,
onCancelPublish
}) => { }) => {
// 检查组件状态是否符合条件 // 检查组件状态是否符合条件
@ -71,6 +73,15 @@ const HandleButtonGroup: React.FC<HandleButtonGroupProps> = ({
</Menu.Item> </Menu.Item>
); );
// 取消发布
if (row.publicStatus === publicStatus.PUBLISHED && onCancelPublish) {
items.push(
<Menu.Item key="cancelPublish">
<Button type="text" onClick={() => onCancelPublish(row)}></Button>
</Menu.Item>
);
}
// 下架组件 // 下架组件
if (isEligible([componentStatusConstant.DEPLOYED], row.componentStatus)) { if (isEligible([componentStatusConstant.DEPLOYED], row.componentStatus)) {
items.push( items.push(

@ -10,7 +10,7 @@ import {
getImportComponentInfo, getImportComponentInfo,
importComponent importComponent
} from '@/api/componentBase'; } from '@/api/componentBase';
import { getReviewGroupByNew } from '@/api/componentMarket'; import { getReviewGroupByNew, deleteComponentMarket } from '@/api/componentMarket';
import { componentRelease, componentRevoke } from '@/api/componentRelease'; import { componentRelease, componentRevoke } from '@/api/componentRelease';
import { ComponentItem } from '@/api/interface'; import { ComponentItem } from '@/api/interface';
import AddComponentModal from '@/pages/componentDevelopment/componentList/addComponentModal'; import AddComponentModal from '@/pages/componentDevelopment/componentList/addComponentModal';
@ -215,6 +215,7 @@ const GlobalVarContainer = () => {
setOffSaleComponent(row); setOffSaleComponent(row);
setShowOffSaleModal(true); setShowOffSaleModal(true);
}} }}
onCancelPublish={handleCancelPublish}
onRowDel={(row) => { onRowDel={(row) => {
// 显示确认框 // 显示确认框
Modal.confirm({ Modal.confirm({
@ -293,6 +294,30 @@ const GlobalVarContainer = () => {
} }
}; };
// 取消发布组件
const handleCancelPublish = async (row: ComponentItem) => {
Modal.confirm({
title: '确认取消发布',
content: `确定要取消发布组件 "${row.name}" 吗?取消后该组件将从组件市场下架。`,
okButtonProps: { status: 'warning' },
onOk: async () => {
try {
const res: any = await deleteComponentMarket(row.id);
if (res.code === 200) {
Message.success('取消发布成功');
// 重新获取数据以更新状态
fetchComponentData();
} else {
Message.error(res.message || '取消发布失败');
}
} catch (error) {
console.error('取消发布失败:', error);
Message.error('取消发布失败');
}
}
});
};
// 处理导入组件 - 文件选择后获取组件信息 // 处理导入组件 - 文件选择后获取组件信息
const handleImportFileSelect = async (file: File) => { const handleImportFileSelect = async (file: File) => {
try { try {

Loading…
Cancel
Save