| 
					
				 | 
			
			
				@@ -5,7 +5,7 @@ import style from '../index.less' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import New1Radio from "@/pages/launchSystemV3/components/New1Radio"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { useUpdateEffect } from "ahooks"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { QuestionCircleFilled } from "@ant-design/icons"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { txtLength } from "@/utils/utils"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { extractAndFilterBracketsContent, txtLength } from "@/utils/utils"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import TextAideInput from "@/pages/launchSystemV3/components/TextAideInput"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import styles from '../Material/index.less' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import SelectLabel from "./SelectLable" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -19,7 +19,8 @@ import SelectBarrage from "./SelectBarrage"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const CreativeConversionAssistant: React.FC<{ automaticSiteEnabled?: boolean, putInType?: 'NOVEL' | 'GAME' }> = ({ automaticSiteEnabled, putInType }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /**************************************/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const { creativeComponents, form, isUpdate, setIsUpdate } = useContext(DispatchDynamic)!; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const { creativeComponents, form, isUpdate, setIsUpdate, adgroups } = useContext(DispatchDynamic)!; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const { siteSet } = adgroups 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const textLinkShow = Form.useWatch('textLinkShow', form) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const actionButtonShow = Form.useWatch('actionButtonShow', form) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const showDataShow = Form.useWatch('showDataShow', form) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -31,6 +32,7 @@ const CreativeConversionAssistant: React.FC<{ automaticSiteEnabled?: boolean, pu 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const floatingZoneSwitch = Form.useWatch(['floatingZone', 'value', 'floatingZoneSwitch'], form) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const floatingZoneType = Form.useWatch(['floatingZone', 'value', 'floatingZoneType'], form) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const image = Form.useWatch(['floatingZone', 'value', 'image'], form) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const pageType = Form.useWatch(['jumpInfo', 'pageType'], form) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const creativeTemplateId = Form.useWatch('creativeTemplateId', form) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const cardType: string[] = Form.useWatch('cardType', form) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const [cardData, setCardData] = useState<{ label: string, value: string, disabled?: boolean }[]>([]) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -287,9 +289,9 @@ const CreativeConversionAssistant: React.FC<{ automaticSiteEnabled?: boolean, pu 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const barrageContent = useMemo(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let barrage = creativeComponents?.barrage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (barrage) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return <Form.Item  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                name={'creativeBarrageDTOS'}  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                style={{ marginTop: 16, marginBottom: 0 }}  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return <Form.Item 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name={'creativeBarrageDTOS'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                style={{ marginTop: 16, marginBottom: 0 }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 label={<strong>   弹幕{barrage.required ? '' : '(选填)'}</strong>} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 rules={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -569,6 +571,38 @@ const CreativeConversionAssistant: React.FC<{ automaticSiteEnabled?: boolean, pu 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, [creativeComponents?.floating_zone, floatingZoneSwitch, floatingZoneType, image]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 微信朋友首评论 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const socialSkillContent = useMemo(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ((automaticSiteEnabled || siteSet.includes('SITE_SET_MOMENTS')) && ![717, 727].includes(creativeTemplateId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const disabled = !["PAGE_TYPE_WECHAT_CHANNELS_PROFILE", "PAGE_TYPE_WECHAT_OFFICIAL_ACCOUNT_DETAIL"].includes(pageType) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return <Form.Item 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name={['creativeFirstReplyDTO', 'text']} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                label={<strong>   首评(选填)</strong>} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rules={[{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    required: false, validator: (rule, value) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (!value.match(RegExp("^[^\\<\\>\\&'\\\"\\x08\\x09\\x0A\\x0D\\\\]+$"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                return Promise.reject('请输入正确的首评') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } else if (txtLength(value) > 30) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                return Promise.reject('请输入正确的首评') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            const result = extractAndFilterBracketsContent(value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (result.extracted.length > 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                return Promise.reject('表情数量不得超出: 1 个') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return Promise.resolve() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                help={disabled ? <span style={{ color: 'red' }}>只有【品牌形象】是公众号和视频号支持</span> : null} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <TextAideInput placeholder={'请输入首评'} disabled={disabled} style={{ width: 750 }} isShowAjax={false} maxTextLength={30} putInType={putInType} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </Form.Item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, [automaticSiteEnabled, siteSet, creativeTemplateId, pageType]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     useEffect(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let data = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { label: '不使用', value: 'not', disabled: false }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -645,6 +679,7 @@ const CreativeConversionAssistant: React.FC<{ automaticSiteEnabled?: boolean, pu 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {barrageContent} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {showDataContent} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {floatingZoneContent} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {socialSkillContent} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {/* 选择视频素材 */} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {(selectVideoVisible && selectCloudData) && <SelectCloudNew 
			 |