Test shorurl (#4686)
* Short-chain burying (#4678) * TrackRegisterParams * 新增工作流导入功能,支持从URL获取工作流JSON数据并创建应用。实现了URL验证、CORS处理、剪贴板读取等功能,确保用户能够顺利导入工作流数据。 * 更新工作流导入功能,将导入逻辑从utils模块迁移至workflow模块,并修正相关导入路径。此更改有助于代码结构的清晰和模块化。 * 优化工作流导入组件,重构导入逻辑,增加从URL获取工作流数据的功能,并实现JSON配置导入窗口。修复了状态管理和错误处理,提升用户体验。 * 更新工作流导入功能,增加对UTM参数的支持,优化从URL获取工作流数据的逻辑,并重构相关API接口。修复了状态管理和错误处理,提升了用户体验。 * 更新创建应用的API接口,将UTM参数的字段名称从`shorUrlId`和`projectCode`修改为`shorUrlPlatform`和`shorUrlProjectCode`,以提高代码的可读性和一致性。 * impoter json * Optimize the logic * delete some console * fix * perf: sem code --------- Co-authored-by: dreamer6680 <1468683855@qq.com>
This commit is contained in:
@@ -16,6 +16,14 @@ import { postCreateApp } from '@/web/core/app/api';
|
||||
import { useRouter } from 'next/router';
|
||||
import { form2AppWorkflow } from '@/web/core/app/utils';
|
||||
import ImportAppConfigEditor from '@/pageComponents/app/ImportAppConfigEditor';
|
||||
import { useToast } from '@fastgpt/web/hooks/useToast';
|
||||
import { getFetchWorkflow } from '@/web/core/app/api/app';
|
||||
import {
|
||||
getUtmParams,
|
||||
getUtmWorkflow,
|
||||
removeUtmParams,
|
||||
removeUtmWorkflow
|
||||
} from '@/web/support/marketing/utils';
|
||||
|
||||
type FormType = {
|
||||
avatar: string;
|
||||
@@ -37,6 +45,24 @@ const JsonImportModal = ({ onClose }: { onClose: () => void }) => {
|
||||
});
|
||||
const workflowStr = watch('workflowStr');
|
||||
|
||||
const { loading: isFetching } = useRequest2(
|
||||
async () => {
|
||||
const url = getUtmWorkflow();
|
||||
if (!url) return;
|
||||
|
||||
const workflowData = await getFetchWorkflow({ url });
|
||||
|
||||
setValue('workflowStr', JSON.stringify(workflowData, null, 2));
|
||||
|
||||
const utmParams = getUtmParams();
|
||||
if (utmParams.shortUrlContent) setValue('name', utmParams.shortUrlContent);
|
||||
|
||||
removeUtmWorkflow();
|
||||
removeUtmParams();
|
||||
},
|
||||
{ manual: false }
|
||||
);
|
||||
|
||||
const avatar = watch('avatar');
|
||||
const {
|
||||
File,
|
||||
@@ -97,7 +123,8 @@ const JsonImportModal = ({ onClose }: { onClose: () => void }) => {
|
||||
type: appType,
|
||||
modules: workflow.nodes,
|
||||
edges: workflow.edges,
|
||||
chatConfig: workflow.chatConfig
|
||||
chatConfig: workflow.chatConfig,
|
||||
utmParams: getUtmParams()
|
||||
});
|
||||
},
|
||||
{
|
||||
@@ -116,7 +143,7 @@ const JsonImportModal = ({ onClose }: { onClose: () => void }) => {
|
||||
<MyModal
|
||||
isOpen
|
||||
onClose={onClose}
|
||||
isLoading={isCreating}
|
||||
isLoading={isCreating || isFetching}
|
||||
title={t('app:type.Import from json')}
|
||||
iconSrc="common/importLight"
|
||||
iconColor={'primary.600'}
|
||||
|
||||
Reference in New Issue
Block a user