|  | @@ -116,220 +116,122 @@ public class PQVideoMakeEventTrackModel: NSObject {
 | 
	
		
			
				|  |  |      public var syncedUpOriginalMaterialDuration: Float64 = 0
 | 
	
		
			
				|  |  |      // 卡点视频 视频选用节奏名称(快节奏 1、适中 2、慢节奏 3))
 | 
	
		
			
				|  |  |      public var syncedUpRhythmNumber: Int = 2
 | 
	
		
			
				|  |  | -//    public var syncedUpVideoType:createStickersModel = .createStickersModelPoint
 | 
	
		
			
				|  |  | +    public var syncedUpVideoType:createStickersModel = .createStickersModelPoint
 | 
	
		
			
				|  |  |      public var syncedUpVideoSpeedMax:Float = 0.0
 | 
	
		
			
				|  |  |      public var syncedUpVideoSpeedMin:Float = 0.0
 | 
	
		
			
				|  |  | +    public var abInfoData:Dictionary<String,Any>?
 | 
	
		
			
				|  |  |      
 | 
	
		
			
				|  |  |      override public init() {
 | 
	
		
			
				|  |  |          super.init()
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    /// 初始化
 | 
	
		
			
				|  |  | -    /// - Parameter projectModel: <#projectModel description#>
 | 
	
		
			
				|  |  | -//   public init(projectModel: PQEditProjectModel?, reCreateData: PQReCreateModel?) {
 | 
	
		
			
				|  |  | -//        super.init()
 | 
	
		
			
				|  |  | -//        if projectModel != nil {
 | 
	
		
			
				|  |  | -//            draftId = projectModel?.draftboxId
 | 
	
		
			
				|  |  | -//            projectId = projectModel?.projectId
 | 
	
		
			
				|  |  | -//            sectionNum = projectModel?.sData?.sections.count ?? 1
 | 
	
		
			
				|  |  | -//            if projectModel?.sData?.sections != nil, (projectModel?.sData?.sections.count ?? 0) > 0 {
 | 
	
		
			
				|  |  | -//                for section in (projectModel?.sData?.sections)! {
 | 
	
		
			
				|  |  | -//                    if section.sectionType == "normal" {
 | 
	
		
			
				|  |  | -//                        // 段落中的文字长度信息
 | 
	
		
			
				|  |  | -//                        let voiceType: VOICETYPT? = VOICETYPT(rawValue: section.sectionTimeline?.audioTrack?.audioTrackMaterials.first?.voiceType ?? "")
 | 
	
		
			
				|  |  | -//                        if voiceType == .SPEECH || voiceType == .LOCAL {
 | 
	
		
			
				|  |  | -//                            secTextLength.append(section.getInputSubtitle().count)
 | 
	
		
			
				|  |  | -//                        } else {
 | 
	
		
			
				|  |  | -//                            secTextLength.append(section.sectionText.count)
 | 
	
		
			
				|  |  | -//                        }
 | 
	
		
			
				|  |  | -//                        // 段落中使用的语音素材名称
 | 
	
		
			
				|  |  | -//                        secTextToSpeechMaterial.append(section.sectionTimeline?.audioTrack?.audioTrackMaterials.first?.produceVoiceConfig?.voice ?? "")
 | 
	
		
			
				|  |  | -//                        // 段落中文字转语音的毫秒数
 | 
	
		
			
				|  |  | -//                        var duration: Float64 = 0
 | 
	
		
			
				|  |  | -//                        if voiceType != nil && section.audioFilePath.count > 0 {
 | 
	
		
			
				|  |  | -//                            let audioAsset = AVURLAsset(url: URL(fileURLWithPath: documensDirectory + section.audioFilePath), options: avAssertOptions)
 | 
	
		
			
				|  |  | -//                            duration = Float64(audioAsset.duration.seconds * 1000)
 | 
	
		
			
				|  |  | -//                        }
 | 
	
		
			
				|  |  | -//                        if voiceType == .SPEECH || voiceType == .LOCAL {
 | 
	
		
			
				|  |  | -//                            secSpeechToTextTime.append(Int64(duration))
 | 
	
		
			
				|  |  | -//                            secTextToSpeechTime.append(0)
 | 
	
		
			
				|  |  | -//                        } else {
 | 
	
		
			
				|  |  | -//                            secTextToSpeechTime.append(Int64(duration))
 | 
	
		
			
				|  |  | -//                            secSpeechToTextTime.append(0)
 | 
	
		
			
				|  |  | -//                        }
 | 
	
		
			
				|  |  | -//                        // 本地图片数量
 | 
	
		
			
				|  |  | -//                        var localImageCount: Int = 0
 | 
	
		
			
				|  |  | -//                        // 本地gif数量
 | 
	
		
			
				|  |  | -//                        var localGifCount: Int = 0
 | 
	
		
			
				|  |  | -//                        // 本地视频数量
 | 
	
		
			
				|  |  | -//                        var localVideoCount: Int = 0
 | 
	
		
			
				|  |  | -//                        // 网络图片数量
 | 
	
		
			
				|  |  | -//                        var netImageCount: Int = 0
 | 
	
		
			
				|  |  | -//                        // 网络gif数量
 | 
	
		
			
				|  |  | -//                        var netGifCount: Int = 0
 | 
	
		
			
				|  |  | -//                        // 网络视频数量
 | 
	
		
			
				|  |  | -//                        var netVideoCount: Int = 0
 | 
	
		
			
				|  |  | -//                        if section.sectionTimeline?.visionTrack?.visionTrackMaterials != nil, (section.sectionTimeline?.visionTrack?.visionTrackMaterials.count ?? 0) > 0 {
 | 
	
		
			
				|  |  | -//                            for visionMaterial in (section.sectionTimeline?.visionTrack?.visionTrackMaterials)! {
 | 
	
		
			
				|  |  | -//                                switch visionMaterial.type {
 | 
	
		
			
				|  |  | -//                                case "image":
 | 
	
		
			
				|  |  | -//                                    if visionMaterial.netResCoverImageURL != nil, (visionMaterial.netResCoverImageURL?.count ?? 0) > 0 {
 | 
	
		
			
				|  |  | -//                                        netImageCount += 1
 | 
	
		
			
				|  |  | -//                                    } else {
 | 
	
		
			
				|  |  | -//                                        localImageCount += 1
 | 
	
		
			
				|  |  | -//                                    }
 | 
	
		
			
				|  |  | -//                                case "gif":
 | 
	
		
			
				|  |  | -//                                    if visionMaterial.netResCoverImageURL != nil, (visionMaterial.netResCoverImageURL?.count ?? 0) > 0 {
 | 
	
		
			
				|  |  | -//                                        netGifCount += 1
 | 
	
		
			
				|  |  | -//                                    } else {
 | 
	
		
			
				|  |  | -//                                        localGifCount += 1
 | 
	
		
			
				|  |  | -//                                    }
 | 
	
		
			
				|  |  | -//                                case "video":
 | 
	
		
			
				|  |  | -//                                    if visionMaterial.netResUrl.count > 0 {
 | 
	
		
			
				|  |  | -//                                        netVideoCount += 1
 | 
	
		
			
				|  |  | -//                                    } else {
 | 
	
		
			
				|  |  | -//                                        localVideoCount += 1
 | 
	
		
			
				|  |  | -//                                    }
 | 
	
		
			
				|  |  | -//                                default:
 | 
	
		
			
				|  |  | -//                                    break
 | 
	
		
			
				|  |  | -//                                }
 | 
	
		
			
				|  |  | -//                            }
 | 
	
		
			
				|  |  | -//                        }
 | 
	
		
			
				|  |  | -//                        // 本地素材图片数量
 | 
	
		
			
				|  |  | -//                        secLocalImageNum.append(localImageCount)
 | 
	
		
			
				|  |  | -//                        // 本地素材动图数量
 | 
	
		
			
				|  |  | -//                        secLocalGifNum.append(localGifCount)
 | 
	
		
			
				|  |  | -//                        // 本地素材视频数量
 | 
	
		
			
				|  |  | -//                        secLocalVideoNum.append(localVideoCount)
 | 
	
		
			
				|  |  | -//                        // 网络素材图片数量
 | 
	
		
			
				|  |  | -//                        secCloudImageNum.append(netImageCount)
 | 
	
		
			
				|  |  | -//                        // 网络素材动图数量
 | 
	
		
			
				|  |  | -//                        secCloudGifNum.append(netGifCount)
 | 
	
		
			
				|  |  | -//                        // 网络素材视频数量
 | 
	
		
			
				|  |  | -//                        secCloudVideoNum.append(netVideoCount)
 | 
	
		
			
				|  |  | -//                    } else {
 | 
	
		
			
				|  |  | -//                        sectionNum = sectionNum - 1
 | 
	
		
			
				|  |  | -//                        if sectionNum <= 0 {
 | 
	
		
			
				|  |  | -//                            sectionNum = 1
 | 
	
		
			
				|  |  | -//                        }
 | 
	
		
			
				|  |  | -//                    }
 | 
	
		
			
				|  |  | -//                }
 | 
	
		
			
				|  |  | -//            }
 | 
	
		
			
				|  |  | -//        }
 | 
	
		
			
				|  |  | -//        if reCreateData != nil {
 | 
	
		
			
				|  |  | -//            fatherProjectId = reCreateData?.projectId
 | 
	
		
			
				|  |  | -//            rootProjectId = reCreateData?.rootProjectId ?? reCreateData?.projectId
 | 
	
		
			
				|  |  | -//            fatherDraftId = reCreateData?.draftboxId
 | 
	
		
			
				|  |  | -//        }
 | 
	
		
			
				|  |  | -//    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -//    /// 转换为字典
 | 
	
		
			
				|  |  | -//    /// - Returns: <#description#>
 | 
	
		
			
				|  |  | +    /// 转换为字典
 | 
	
		
			
				|  |  | +    /// - Returns: <#description#>
 | 
	
		
			
				|  |  |      public func toParams() -> [String: Any] {
 | 
	
		
			
				|  |  |          var eventTrackDic = Dictionary<String, Any>.init()
 | 
	
		
			
				|  |  | -//        // 进入创作工具的入口
 | 
	
		
			
				|  |  | -//        eventTrackDic["entrance"] = entrance.rawValue
 | 
	
		
			
				|  |  | -//        // 发布的视频 Id
 | 
	
		
			
				|  |  | -//        eventTrackDic["videoId"] = videoId ?? ""
 | 
	
		
			
				|  |  | -//        // 草稿 Id
 | 
	
		
			
				|  |  | -//        eventTrackDic["draftId"] = draftId ?? ""
 | 
	
		
			
				|  |  | -//        // 项目 Id
 | 
	
		
			
				|  |  | -//        eventTrackDic["projectId"] = projectId ?? ""
 | 
	
		
			
				|  |  | -//        // 再创作视频的父 projectId - 仅「再创作」视频存在
 | 
	
		
			
				|  |  | -//        eventTrackDic["fatherProjectId"] = fatherProjectId ?? ""
 | 
	
		
			
				|  |  | -//        // 再创作视频的根 projectId - 仅「再创作」视频存在
 | 
	
		
			
				|  |  | -//        eventTrackDic["rootProjectId"] = rootProjectId ?? ""
 | 
	
		
			
				|  |  | -//        // 再编辑视频的父 draftId - 仅「再编辑」视频存在
 | 
	
		
			
				|  |  | -//        eventTrackDic["fatherDraftId"] = fatherDraftId ?? ""
 | 
	
		
			
				|  |  | -//        // 发布标题
 | 
	
		
			
				|  |  | -//        eventTrackDic["title"] = title ?? ""
 | 
	
		
			
				|  |  | -//        // 发布描述
 | 
	
		
			
				|  |  | -//        eventTrackDic["description"] = videoDes ?? ""
 | 
	
		
			
				|  |  | -//        // 发布封面的 URL
 | 
	
		
			
				|  |  | -//        eventTrackDic["coverUrl"] = coverUrl ?? ""
 | 
	
		
			
				|  |  | -//        /**
 | 
	
		
			
				|  |  | -//          用户创作视频所用的时间成本,单位:毫秒(ms)
 | 
	
		
			
				|  |  | -//          (仅包含合成前的时间段,不包含合成后选择封面等时间消耗)
 | 
	
		
			
				|  |  | -//         如果是草稿箱项目,不包含之前累计的时间消耗,仅记录发布这一次的时间消耗
 | 
	
		
			
				|  |  | -//         如果是再创作项目,不包含别人创作的时间消耗,仅记录发布这一次的时间消耗
 | 
	
		
			
				|  |  | -//         如果是多次发布的项目,不包含之前累计的时间消耗,仅记录发布这一次的时间消耗
 | 
	
		
			
				|  |  | -//         */
 | 
	
		
			
				|  |  | -//        eventTrackDic["editTimeCost"] = Int64(editTimeCost)
 | 
	
		
			
				|  |  | -//        // 合成视频所用的时间成本,单位:毫秒(ms)
 | 
	
		
			
				|  |  | -//        eventTrackDic["composeTimeCost"] = Int64(composeTimeCost)
 | 
	
		
			
				|  |  | -//        // 上传视频所用的时间成本,单位:毫秒(ms)
 | 
	
		
			
				|  |  | -//        eventTrackDic["uploadTimeCost"] = Int64(uploadTimeCost)
 | 
	
		
			
				|  |  | -//        // 是否为纯上传视频 纯上传视频:true 加工工具视频:false
 | 
	
		
			
				|  |  | -//        eventTrackDic["isPureUploadVideo"] = isPureUploadVideo
 | 
	
		
			
				|  |  | -//        // 是否为再创作视频 再创作视频:true 非再创作视频:false
 | 
	
		
			
				|  |  | -//        eventTrackDic["isReproduction"] = isReproduction
 | 
	
		
			
				|  |  | -//        // 是否为再编辑视频 再编辑视频:true 非再编辑视频:false
 | 
	
		
			
				|  |  | -//        eventTrackDic["isCopyVideo"] = isCopyVideo
 | 
	
		
			
				|  |  | -//        // 段落相关-视频中存在的段落个数:number
 | 
	
		
			
				|  |  | -//        eventTrackDic["sectionNum"] = entrance == .entrancePublicTabUpload ? 0 : sectionNum
 | 
	
		
			
				|  |  | -//        // 文字相关 -段落中的文字长度信息
 | 
	
		
			
				|  |  | -//        eventTrackDic["secTextLength"] = secTextLength
 | 
	
		
			
				|  |  | -//        // 图片/视频素材相关 -段落中的(本地素材)图片数量
 | 
	
		
			
				|  |  | -//        eventTrackDic["secLocalImageNum"] = secLocalImageNum
 | 
	
		
			
				|  |  | -//        // 图片/视频素材相关 -段落中的(本地素材)动图数量
 | 
	
		
			
				|  |  | -//        eventTrackDic["secLocalGifNum"] = secLocalGifNum
 | 
	
		
			
				|  |  | -//        // 图片/视频素材相关 -段落中的(本地素材)视频数量
 | 
	
		
			
				|  |  | -//        eventTrackDic["secLocalVideoNum"] = secLocalVideoNum
 | 
	
		
			
				|  |  | -//        // 图片/视频素材相关 -段落中的(网络素材)图片数量
 | 
	
		
			
				|  |  | -//        eventTrackDic["secCloudImageNum"] = secCloudImageNum
 | 
	
		
			
				|  |  | -//        // 图片/视频素材相关 -段落中(网络素材)动图数量
 | 
	
		
			
				|  |  | -//        eventTrackDic["secCloudGifNum"] = secCloudGifNum
 | 
	
		
			
				|  |  | -//        // 图片/视频素材相关 -段落中(网络素材)视频数量
 | 
	
		
			
				|  |  | -//        eventTrackDic["secCloudVideoNum"] = secCloudVideoNum
 | 
	
		
			
				|  |  | -//        // 文字转语音相关 -段落中使用的语音素材名称,若段落中没有使用则报""
 | 
	
		
			
				|  |  | -//        eventTrackDic["secTextToSpeechMaterial"] = secTextToSpeechMaterial
 | 
	
		
			
				|  |  | -//        // 文字转语音相关 -段落中文字转语音的毫秒数
 | 
	
		
			
				|  |  | -//        eventTrackDic["secTextToSpeechTime"] = secTextToSpeechTime
 | 
	
		
			
				|  |  | -//        // 语音转文字相关 -每个段落中使用录音的毫秒数
 | 
	
		
			
				|  |  | -//        eventTrackDic["secSpeechToTextTime"] = secSpeechToTextTime
 | 
	
		
			
				|  |  | -//        // 实验数据abInfoData
 | 
	
		
			
				|  |  | -//        eventTrackDic["abInfoData"] = dictionaryToJsonString(bf_a) ?? ""
 | 
	
		
			
				|  |  | -//        // 使用音乐的名称(未使用音乐默认为 "")
 | 
	
		
			
				|  |  | -//        eventTrackDic["musicName"] = musicName
 | 
	
		
			
				|  |  | -//        // 使用音乐Id
 | 
	
		
			
				|  |  | -//        eventTrackDic["musicId"] = musicId
 | 
	
		
			
				|  |  | -//        // 使用音乐的地址(未使用音乐默认为 "")
 | 
	
		
			
				|  |  | -//        eventTrackDic["musicUrl"] = musicUrl
 | 
	
		
			
				|  |  | -//        // 音乐的类型(未使用音乐默认为 "") - original - 原唱 - accompaniment - 伴奏
 | 
	
		
			
				|  |  | -//        eventTrackDic["musicType"] = musicType
 | 
	
		
			
				|  |  | -//        // 音乐是否为片段(未使用音乐默认为 "")- true - 音乐片段 - false - 完整音乐
 | 
	
		
			
				|  |  | -//        if musicType.count > 0 {
 | 
	
		
			
				|  |  | -//            eventTrackDic["isMusicClip"] = isMusicClip
 | 
	
		
			
				|  |  | -//        } else {
 | 
	
		
			
				|  |  | -//            eventTrackDic["isMusicClip"] = ""
 | 
	
		
			
				|  |  | -//        }
 | 
	
		
			
				|  |  | -//        // 画布比例
 | 
	
		
			
				|  |  | -//        eventTrackDic["canvasRatio"] = canvasRatio
 | 
	
		
			
				|  |  | -//        // 卡点视频 使用视频素材数量
 | 
	
		
			
				|  |  | -//        eventTrackDic["syncedUpVideoNumber"] = syncedUpVideoNumber
 | 
	
		
			
				|  |  | -//        // 卡点视频 使用图片素材数量
 | 
	
		
			
				|  |  | -//        eventTrackDic["syncedUpImageNumber"] = syncedUpImageNumber
 | 
	
		
			
				|  |  | -//        // 卡点视频 使用音乐Id
 | 
	
		
			
				|  |  | -//        eventTrackDic["syncedUpMusicId"] = syncedUpMusicId
 | 
	
		
			
				|  |  | -//        // 卡点视频 使用音乐名称
 | 
	
		
			
				|  |  | -//        eventTrackDic["syncedUpMusicName"] = syncedUpMusicName
 | 
	
		
			
				|  |  | -//        // 卡点视频 合成后视频长度(单位:毫秒)
 | 
	
		
			
				|  |  | -//        eventTrackDic["syncedUpVideoDuration"] = syncedUpVideoDuration
 | 
	
		
			
				|  |  | -//        // 卡点视频 原素材总时长(单位:毫秒)视频:报视频时长 图片:一张图报 1000ms
 | 
	
		
			
				|  |  | -//        eventTrackDic["syncedUpOriginalMaterialDuration"] = syncedUpOriginalMaterialDuration
 | 
	
		
			
				|  |  | -//        // 卡点视频 视频选用节奏名称(快节奏 1、适中 2、慢节奏 3))
 | 
	
		
			
				|  |  | -//        eventTrackDic["syncedUpRhythmNumber"] = syncedUpRhythmNumber
 | 
	
		
			
				|  |  | -//
 | 
	
		
			
				|  |  | -//        //-     1:跳跃卡点,2:快慢速,3:仅配乐
 | 
	
		
			
				|  |  | -//        if(syncedUpVideoType == .createStickersModelOnlyMusic){
 | 
	
		
			
				|  |  | -//            eventTrackDic["syncedUpVideoType"] = "3"
 | 
	
		
			
				|  |  | -//        }else if(syncedUpVideoType == .createStickersModelPoint){
 | 
	
		
			
				|  |  | -//            eventTrackDic["syncedUpVideoType"] = "1"
 | 
	
		
			
				|  |  | -//        }else if(syncedUpVideoType == .createStickersModelSpeed){
 | 
	
		
			
				|  |  | -//            eventTrackDic["syncedUpVideoType"] = "2"
 | 
	
		
			
				|  |  | -//            eventTrackDic["syncedUpVideoSpeed"] = "[\(syncedUpVideoSpeedMax),\(syncedUpVideoSpeedMin)]"
 | 
	
		
			
				|  |  | -//        }
 | 
	
		
			
				|  |  | -//        NTLog(message: "创作工具埋点信息数据-\(eventTrackDic)")
 | 
	
		
			
				|  |  | +        // 进入创作工具的入口
 | 
	
		
			
				|  |  | +        eventTrackDic["entrance"] = entrance.rawValue
 | 
	
		
			
				|  |  | +        // 发布的视频 Id
 | 
	
		
			
				|  |  | +        eventTrackDic["videoId"] = videoId ?? ""
 | 
	
		
			
				|  |  | +        // 草稿 Id
 | 
	
		
			
				|  |  | +        eventTrackDic["draftId"] = draftId ?? ""
 | 
	
		
			
				|  |  | +        // 项目 Id
 | 
	
		
			
				|  |  | +        eventTrackDic["projectId"] = projectId ?? ""
 | 
	
		
			
				|  |  | +        // 再创作视频的父 projectId - 仅「再创作」视频存在
 | 
	
		
			
				|  |  | +        eventTrackDic["fatherProjectId"] = fatherProjectId ?? ""
 | 
	
		
			
				|  |  | +        // 再创作视频的根 projectId - 仅「再创作」视频存在
 | 
	
		
			
				|  |  | +        eventTrackDic["rootProjectId"] = rootProjectId ?? ""
 | 
	
		
			
				|  |  | +        // 再编辑视频的父 draftId - 仅「再编辑」视频存在
 | 
	
		
			
				|  |  | +        eventTrackDic["fatherDraftId"] = fatherDraftId ?? ""
 | 
	
		
			
				|  |  | +        // 发布标题
 | 
	
		
			
				|  |  | +        eventTrackDic["title"] = title ?? ""
 | 
	
		
			
				|  |  | +        // 发布描述
 | 
	
		
			
				|  |  | +        eventTrackDic["description"] = videoDes ?? ""
 | 
	
		
			
				|  |  | +        // 发布封面的 URL
 | 
	
		
			
				|  |  | +        eventTrackDic["coverUrl"] = coverUrl ?? ""
 | 
	
		
			
				|  |  | +        /**
 | 
	
		
			
				|  |  | +          用户创作视频所用的时间成本,单位:毫秒(ms)
 | 
	
		
			
				|  |  | +          (仅包含合成前的时间段,不包含合成后选择封面等时间消耗)
 | 
	
		
			
				|  |  | +         如果是草稿箱项目,不包含之前累计的时间消耗,仅记录发布这一次的时间消耗
 | 
	
		
			
				|  |  | +         如果是再创作项目,不包含别人创作的时间消耗,仅记录发布这一次的时间消耗
 | 
	
		
			
				|  |  | +         如果是多次发布的项目,不包含之前累计的时间消耗,仅记录发布这一次的时间消耗
 | 
	
		
			
				|  |  | +         */
 | 
	
		
			
				|  |  | +        eventTrackDic["editTimeCost"] = Int64(editTimeCost)
 | 
	
		
			
				|  |  | +        // 合成视频所用的时间成本,单位:毫秒(ms)
 | 
	
		
			
				|  |  | +        eventTrackDic["composeTimeCost"] = Int64(composeTimeCost)
 | 
	
		
			
				|  |  | +        // 上传视频所用的时间成本,单位:毫秒(ms)
 | 
	
		
			
				|  |  | +        eventTrackDic["uploadTimeCost"] = Int64(uploadTimeCost)
 | 
	
		
			
				|  |  | +        // 是否为纯上传视频 纯上传视频:true 加工工具视频:false
 | 
	
		
			
				|  |  | +        eventTrackDic["isPureUploadVideo"] = isPureUploadVideo
 | 
	
		
			
				|  |  | +        // 是否为再创作视频 再创作视频:true 非再创作视频:false
 | 
	
		
			
				|  |  | +        eventTrackDic["isReproduction"] = isReproduction
 | 
	
		
			
				|  |  | +        // 是否为再编辑视频 再编辑视频:true 非再编辑视频:false
 | 
	
		
			
				|  |  | +        eventTrackDic["isCopyVideo"] = isCopyVideo
 | 
	
		
			
				|  |  | +        // 段落相关-视频中存在的段落个数:number
 | 
	
		
			
				|  |  | +        eventTrackDic["sectionNum"] = entrance == .entrancePublicTabUpload ? 0 : sectionNum
 | 
	
		
			
				|  |  | +        // 文字相关 -段落中的文字长度信息
 | 
	
		
			
				|  |  | +        eventTrackDic["secTextLength"] = secTextLength
 | 
	
		
			
				|  |  | +        // 图片/视频素材相关 -段落中的(本地素材)图片数量
 | 
	
		
			
				|  |  | +        eventTrackDic["secLocalImageNum"] = secLocalImageNum
 | 
	
		
			
				|  |  | +        // 图片/视频素材相关 -段落中的(本地素材)动图数量
 | 
	
		
			
				|  |  | +        eventTrackDic["secLocalGifNum"] = secLocalGifNum
 | 
	
		
			
				|  |  | +        // 图片/视频素材相关 -段落中的(本地素材)视频数量
 | 
	
		
			
				|  |  | +        eventTrackDic["secLocalVideoNum"] = secLocalVideoNum
 | 
	
		
			
				|  |  | +        // 图片/视频素材相关 -段落中的(网络素材)图片数量
 | 
	
		
			
				|  |  | +        eventTrackDic["secCloudImageNum"] = secCloudImageNum
 | 
	
		
			
				|  |  | +        // 图片/视频素材相关 -段落中(网络素材)动图数量
 | 
	
		
			
				|  |  | +        eventTrackDic["secCloudGifNum"] = secCloudGifNum
 | 
	
		
			
				|  |  | +        // 图片/视频素材相关 -段落中(网络素材)视频数量
 | 
	
		
			
				|  |  | +        eventTrackDic["secCloudVideoNum"] = secCloudVideoNum
 | 
	
		
			
				|  |  | +        // 文字转语音相关 -段落中使用的语音素材名称,若段落中没有使用则报""
 | 
	
		
			
				|  |  | +        eventTrackDic["secTextToSpeechMaterial"] = secTextToSpeechMaterial
 | 
	
		
			
				|  |  | +        // 文字转语音相关 -段落中文字转语音的毫秒数
 | 
	
		
			
				|  |  | +        eventTrackDic["secTextToSpeechTime"] = secTextToSpeechTime
 | 
	
		
			
				|  |  | +        // 语音转文字相关 -每个段落中使用录音的毫秒数
 | 
	
		
			
				|  |  | +        eventTrackDic["secSpeechToTextTime"] = secSpeechToTextTime
 | 
	
		
			
				|  |  | +        // 实验数据abInfoData
 | 
	
		
			
				|  |  | +        if abInfoData != nil {
 | 
	
		
			
				|  |  | +            eventTrackDic["abInfoData"] = dictionaryToJsonString(abInfoData ?? [:]) ?? ""
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        // 使用音乐的名称(未使用音乐默认为 "")
 | 
	
		
			
				|  |  | +        eventTrackDic["musicName"] = musicName
 | 
	
		
			
				|  |  | +        // 使用音乐Id
 | 
	
		
			
				|  |  | +        eventTrackDic["musicId"] = musicId
 | 
	
		
			
				|  |  | +        // 使用音乐的地址(未使用音乐默认为 "")
 | 
	
		
			
				|  |  | +        eventTrackDic["musicUrl"] = musicUrl
 | 
	
		
			
				|  |  | +        // 音乐的类型(未使用音乐默认为 "") - original - 原唱 - accompaniment - 伴奏
 | 
	
		
			
				|  |  | +        eventTrackDic["musicType"] = musicType
 | 
	
		
			
				|  |  | +        // 音乐是否为片段(未使用音乐默认为 "")- true - 音乐片段 - false - 完整音乐
 | 
	
		
			
				|  |  | +        if musicType.count > 0 {
 | 
	
		
			
				|  |  | +            eventTrackDic["isMusicClip"] = isMusicClip
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            eventTrackDic["isMusicClip"] = ""
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        // 画布比例
 | 
	
		
			
				|  |  | +        eventTrackDic["canvasRatio"] = canvasRatio
 | 
	
		
			
				|  |  | +        // 卡点视频 使用视频素材数量
 | 
	
		
			
				|  |  | +        eventTrackDic["syncedUpVideoNumber"] = syncedUpVideoNumber
 | 
	
		
			
				|  |  | +        // 卡点视频 使用图片素材数量
 | 
	
		
			
				|  |  | +        eventTrackDic["syncedUpImageNumber"] = syncedUpImageNumber
 | 
	
		
			
				|  |  | +        // 卡点视频 使用音乐Id
 | 
	
		
			
				|  |  | +        eventTrackDic["syncedUpMusicId"] = syncedUpMusicId
 | 
	
		
			
				|  |  | +        // 卡点视频 使用音乐名称
 | 
	
		
			
				|  |  | +        eventTrackDic["syncedUpMusicName"] = syncedUpMusicName
 | 
	
		
			
				|  |  | +        // 卡点视频 合成后视频长度(单位:毫秒)
 | 
	
		
			
				|  |  | +        eventTrackDic["syncedUpVideoDuration"] = syncedUpVideoDuration
 | 
	
		
			
				|  |  | +        // 卡点视频 原素材总时长(单位:毫秒)视频:报视频时长 图片:一张图报 1000ms
 | 
	
		
			
				|  |  | +        eventTrackDic["syncedUpOriginalMaterialDuration"] = syncedUpOriginalMaterialDuration
 | 
	
		
			
				|  |  | +        // 卡点视频 视频选用节奏名称(快节奏 1、适中 2、慢节奏 3))
 | 
	
		
			
				|  |  | +        eventTrackDic["syncedUpRhythmNumber"] = syncedUpRhythmNumber
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //-     1:跳跃卡点,2:快慢速,3:仅配乐
 | 
	
		
			
				|  |  | +        if(syncedUpVideoType == .createStickersModelOnlyMusic){
 | 
	
		
			
				|  |  | +            eventTrackDic["syncedUpVideoType"] = "3"
 | 
	
		
			
				|  |  | +        }else if(syncedUpVideoType == .createStickersModelPoint){
 | 
	
		
			
				|  |  | +            eventTrackDic["syncedUpVideoType"] = "1"
 | 
	
		
			
				|  |  | +        }else if(syncedUpVideoType == .createStickersModelSpeed){
 | 
	
		
			
				|  |  | +            eventTrackDic["syncedUpVideoType"] = "2"
 | 
	
		
			
				|  |  | +            eventTrackDic["syncedUpVideoSpeed"] = "[\(syncedUpVideoSpeedMax),\(syncedUpVideoSpeedMin)]"
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          return eventTrackDic
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |