Enums.swift 51 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003
  1. //
  2. // public enum s.swift
  3. // PQSpeed
  4. //
  5. // Created by lieyunye on 2020/5/29.
  6. // Copyright © 2020 BytesFlow. All rights reserved.
  7. //
  8. import Foundation
  9. // MARK: - 视频播放页面类型
  10. /// 视频播放页面类型
  11. public enum PQVIDEOPAGETYPE {
  12. case PQVIDEOPAGETYPE_Normal // 默认-单个视频详情
  13. case PQVIDEOPAGETYPE_RECOMM // 默认-推荐
  14. case PQVIDEOPAGETYPE_ATTEN // 关注
  15. case PQVIDEOPAGETYPE_DETAIL // 用户发布视频详情
  16. case PQVIDEOPAGETYPE_LIKEDETAIL // 我的喜欢视频详情
  17. case PQVIDEOPAGETYPE_ATTUSERDETAIL // 关注用户详情
  18. case PQVIDEOPAGETYPE_SEARCHDETAIL // 搜索详情
  19. case PQVIDEOPAGETYPE_HOTVIDEODETAIL // 热门视频详情
  20. case PQVIDEOPAGETYPE_GUIDEVIDEODETAIL // 引导视频详情
  21. case PQVIDEOPAGETYPE_SINGLEVIDEODETAIL // 单个视频详情
  22. case PQVIDEOPAGETYPE_RECREATDETAIL // 再创作详情页
  23. case PQVIDEOPAGETYPE_HOTBOARD // 热榜详情页
  24. }
  25. // MARK: - 视频播放状态
  26. /// 视频播放状态
  27. public enum PQVIDEO_PLAY_STATUS {
  28. case PQVIDEO_PLAY_STATUS_LOADING // 加载中
  29. case PQVIDEO_PLAY_STATUS_BEGIN // 开始播放
  30. case PQVIDEO_PLAY_STATUS_END // 播放结束
  31. case PQVIDEO_PLAY_STATUS_DISCONNECT // 重连失败
  32. case PQVIDEO_PLAY_STATUS_NOT_FOUND // 播放文件不存在
  33. case PQVIDEO_PLAY_STATUS_RECONNECT // 重连连接
  34. case PQVIDEO_PLAY_STATUS_FAUILE // 播放失败
  35. }
  36. // MARK: - 页面场景
  37. /// 页面场景
  38. public enum PAGESOURCE: String {
  39. /*************** 视频相关pageSource ***************/
  40. case sp_category = "speedApp-category" // 首页-单列
  41. case sp_hotList = "speedApp_hotList" // 首页-热榜
  42. case sp_hotList_detail = "speedApp_videoDetail_hotList" // 由热榜进入的视频详情页面
  43. case sp_category_recommend = "speedApp-category_recommend" // 由首页单列右划
  44. case sp_categoryDouble = "speedApp-categoryDouble" // 首页-双列
  45. case sp_videoDetail = "speedApp-videoDetail" // 视频详情页
  46. case sp_videoDetail_search = "speedApp-videoDetail_search" // 由搜索结果列表进入
  47. case sp_videoDetail_search_recommend = "speedApp-videoDetail_search_recommend" // 由搜索结果列表进入
  48. case sp_videoDetail_upload = "speedApp-videoDetail_upload" // 由我的tab中“作品”列表进入
  49. case sp_videoDetail_upload_recommend = "speedApp-videoDetail_upload_recommend" // 、由我的tab中“作品”列表进入
  50. case sp_mine_favorite = "speedApp_mine_favorite" // 我的喜欢列表
  51. case sp_videoDetail_favorite = "speedApp-videoDetail_favorite" // 由我的喜欢列表进入
  52. case sp_videoDetail_share = "speedApp-videoDetail_share" // 由我的分享列表进入
  53. case sp_videoDetail_favorite_recommend = "speedApp-videoDetail_favorite_recommend" // 由我的喜欢列表推荐
  54. case sp_userHomePage = "speedApp-userHomePage" // 用户个人主页
  55. case sp_videoDetail_userHomePage = "speedApp-videoDetail_userHomePage" // 由用户个人主页进入
  56. case sp_videoDetail_userHomePage_recommend = "speedApp-videoDetail_userHomePage_recommend" // 由用户个人主页进入
  57. case sp_recommendBottom = "speedApp-recommendBottom" // 底部展示的3个相关推荐视频
  58. case sp_follow = "speedApp-follow" // 关注tab
  59. case sp_follow_recommend = "speedApp-follow_recommend" // 由关注列表右划
  60. case sp_followSingle = "speedApp-followSingle" // 关注tab点击顶部个人头像进入某个人的关注
  61. case sp_followSingle_recommend = "speedApp-followSingle_recommend" // 关注tab点击顶部个人头像进入某个人的关注
  62. case sp_mine = "speedApp-mine" // 我的tab
  63. case sp_search = "speedApp-search" // 搜索页
  64. case sp_uploadVideo = "speedApp-uploadVideo" // 视频制作入口
  65. /*************** 活动相关pageSource ***************/
  66. case sp_activity_entranceButton = "speedApp_playActivity_entranceButton" // 活动活动入口按键
  67. case sp_activity_invite = "speedApp_playActivity_invite" // H5页面内邀请好友按键
  68. case sp_activity_threeDot = "speedApp_playActivity_threeDot" // APP右上角…按键
  69. case sp_activity_shareFriend = "speedApp_playActivity_shareFriend" // 进一步点击分享好友
  70. case sp_activity_shareMoment = "speedApp_playActivity_shareMoment" // 进一步点击分享朋友圈
  71. case sp_activity_openH5 = "speedApp_playActivity_completeOpenH5" // 当天完成活动的弹窗->去查看
  72. case sp_activity_openH5AndPayment = "speedApp_playActivity_completeOpenH5AndPayment" // 当天完成活动的弹窗->报名明日
  73. case sp_activity_failOpenH5 = "speedApp_playActivity_missionFailWindowOpenH5" // 未成功弹窗->继续活动
  74. case sp_activity_success_share = "speedApp_playActivity_missionSuccessWindow_share" // 成功弹窗->分享给好友炫耀下
  75. case sp_activity_entrance_close = "speedApp_playActivity_entrance_close" // 活动入口弹窗->关闭按钮
  76. case sp_activity_entranceWindow = "speedApp_playActivity_entranceWindow" // 活动入口弹窗
  77. case sp_activity_successWindow = "speedApp_playActivity_missionSuccessWindow" // 成功弹窗
  78. case sp_activity_failWindow = "speedApp_playActivity_missionFailWindow" // 未成功弹窗
  79. case sp_activity_completeWindow = "speedApp_playActivity_missionCompleteWindow" // 当天完成活动的弹窗
  80. /*************** 上传相关pageSource ***************/
  81. case sp_upload_videoSelect = "speedApp-upload_videoSelect" // 选视频-进入页面事件
  82. case sp_upload_coverSelect = "speedApp-upload_coverSelect" // 选封面-进入页面事件
  83. case sp_upload_videoPublish = "speedApp-upload_videoPublish" // 发布-进入页面事件
  84. /*************** tab点击相关pageSource ***************/
  85. case sp_categoryTabButton = "speedApp-categoryTabButton" // 首页tab
  86. case sp_followTabButton = "speedApp-followTabButton" // 关注tab
  87. case sp_uploadTabButton = "speedApp-uploadTabButton" // 上传tab
  88. case sp_mineTabButton = "speedApp-mineTabButton" // 我的tab
  89. case sp_msg_tabBtn = "speedApp_msgTabButton" // 消息tab
  90. /*************** 发布pageSource ***************/
  91. case sp_videoMaking = "speedApp-videoMaking" // 视频创作
  92. case sp_videoCompose_guid = "speedApp-videoCompose_guid" // 预览页面
  93. case sp_videoCompose_edit = "speedApp-videoCompose_edit" // 编辑页面
  94. case sp_videoCompose_overview = "speedApp-videoCompose_overview" // 总览页面
  95. case sp_videoCompose_composition = "speedApp-videoCompose_composition" // 合成页面
  96. case sp_material_search = "vlog-pages/user-videos-share" // 素材搜索上报
  97. /*************** 消息pageSource ***************/
  98. case sp_msg_shareSpace = "speedApp-message" // 分享空间
  99. case sp_msg_shareSpace_detail = "speedApp-message_shareSpace" // 分享空间详情
  100. case sp_msg_share = "speedApp-message_share" // 分享
  101. case sp_msg_like = "speedApp-message_like" // 喜欢
  102. case sp_msg_fans = "speedApp-message_fans" // 粉丝
  103. case sp_msg_push = "speedApp-message_push" // 通知
  104. case sp_msg_detail = "speedApp-videoDetail_message" // 消息详情
  105. /*************** 草稿箱相关pageSource ***************/
  106. case sp_draft_projectList = "speedApp-projectList" // 草稿箱列表
  107. case sp_reproduce_childList = "speedApp-reproduceCollection_child" // 再制作子列表页面
  108. case sp_reproduce_fatherList = "speedApp-reproduceCollection_father" // 再制作父列表页面
  109. case sp_reproduce_chilDetailList = "speedApp-videoDetail_reproduceCollection_child" // 再制作子列表页面
  110. case sp_reproduce_fatherDetailList = "speedApp-videoDetail_reproduceCollection_father" // 再制作父列表页面
  111. // add by ak
  112. case sp_shanyinApp_upload2Compose = "speedApp-upload2Compose" // 上传转创作
  113. /*************** 卡点视频相关pageSource ***************/
  114. case sp_stuck_selectMaterial = "speedApp-selectSyncedUpMaterial" // 卡点视频素材选择页
  115. case sp_stuck_selectSynceedUpMusic = "speedApp-selectSynceedUpMusic" // 卡点视频音乐选择页
  116. case sp_stuck_previewSyncedUp = "speedApp_previewSyncedUp" // 预览页面曝光上报
  117. case sp_stuck_searchSyncedUpMusic = "speedApp_searchSyncedUpMusic" // 音乐素材搜索页
  118. case sp_stuck_publishSyncedUp = "speedApp_publishSyncedUp" // 合成发布页
  119. /*************** 话题相关pageSource ***************/
  120. case sp_cmunit_collect = "collectAgeGenderPage" // 年龄 / 话题收集页
  121. case sp_cmunit_recommend = "recommendPage" // 推荐页(P0)
  122. case sp_cmunit_follow = "followPage" // 关注页
  123. case sp_cmunit_moreFollow = "moreFollowPage" // 我关注的人(查看更多页)
  124. case sp_cmunit_joinTopic = "joinedTopicPage" // 加入的话题页
  125. case sp_cmunit_moreJoinTopic = "moreJoinedTopicPage" // 我加入的话题(查看更多页)
  126. case sp_cmunit_hotTopic = "hotTopicPage" // 热门话题页
  127. case sp_cmunit_videoDetail = "videoDetailPage" // 内容详情页
  128. case sp_cmunit_topicDetail = "topicDetailPage" // 话题详情页
  129. case sp_cmunit_newTopicDetail = "newTopicDetailPage" // 最新话题详情页
  130. case sp_cmunit_hotTopicDetail = "hotTopicDetailPage" // 最热话题详情页
  131. case sp_cmunit_message = "messagePage" // 消息页
  132. case sp_cmunit_create = "creationToolWindow" // 发布面板
  133. case sp_cmunit_publish = "publishPage" // 内容发布页
  134. case sp_cmunit_loginPage = "loginPage" // 登陆页
  135. case sp_cmunit_interestedTopic = "hotTopicRecommendWindow" // 热门话题推荐页
  136. case sp_cmunit_cmtMsgPage = "commentMessagePage" // 评论消息页
  137. case sp_cmunit_mePage = "mePage" // 我的页
  138. case sp_homePage = "homePage" // 个人主页 -- 由sp_cmunit_userPage修改为sp_homePage
  139. // 点击上报:首页点击底部“我的”页面入口
  140. case sp_shanyinApp_main = "speedApp-main"
  141. // 页面曝光上报:“我的”页面曝光
  142. case sp_shanyinApp_mine = "shanyinApp-mine"
  143. case sp_speekPage = "speekPage" // 视说App-视频预览页
  144. case sp_composePage = "composePage" // 视说App-合成页
  145. public func realRawValue(prefix: String? = nil) -> String {
  146. if prefix != nil, (prefix?.count ?? 0) > 0 {
  147. if prefix == "shanyinApp", rawValue.hasPrefix("speedApp") {
  148. return rawValue.replacingOccurrences(of: "speedApp", with: prefix ?? "")
  149. } else if prefix == "speedApp", rawValue.hasPrefix("shanyinApp") {
  150. return rawValue.replacingOccurrences(of: "shanyinApp", with: prefix ?? "")
  151. }
  152. return rawValue
  153. }
  154. return rawValue
  155. }
  156. }
  157. // MARK: - objectType
  158. /// objectType
  159. public enum objectType: String {
  160. /*************** tab点击相关pageSource ***************/
  161. case ot_home_tabBtn = "speedApp-categoryTabButton" // 首页tab
  162. case ot_follow_tabBtn = "speedApp-followTabButton" // 关注tab
  163. case ot_up_tabBtn = "speedApp-uploadTabButton" // 上传tab
  164. case ot_mine_tabBtn = "speedApp-mineTabButton" // 我的tab
  165. case ot_public_tabBtn = "speedApp-publicTabButton" // 发布tab
  166. case ot_msg_tabBtn = "speedApp_msgTabButton" // 消息tab
  167. /*************** 上传相关objectType ***************/
  168. case ot_up_backBtn = "speedApp-uploadBackButton" // 点击左下角叉子
  169. case ot_up_nextBtn = "speedApp-uploadNextButton" // 点击右下角下一步
  170. case ot_up_coverBtn = "speedApp-uploadCoverButton" // 点击上传封面
  171. case ot_up_pickCoverBtn = "speedApp-pickCoverButton" // 点击截取封面
  172. case ot_up_publishBtn = "speedApp-videoPublishButton" // 点击发布
  173. case ot_up_changeCoverBtn = "speedApp-changeCoverButton" // 点击选封面返回
  174. case ot_up_start = "speedApp-uploadStart" // 上传开始事件
  175. case ot_up_fail = "speedApp-uploadFail" // 上传中断/失败事件
  176. case ot_up_restart = "speedApp-uploadRestart" // 上传重试事件
  177. case ot_up_success = "speedApp-uploadSuccess" // 上传完成
  178. case ot_up_publishSuccess = "speedApp-videoPublishSuccess" // 发布完成
  179. case ot_up_viewPopup_guideUsersToShare = "speedApp_viewPopup_guideUsersToShare_pubishVideo" // 发布成功弹出分享界面
  180. case ot_up_clickWechatMoments_guideUsersToShare = "speedApp_clickWechatMoments_guideUsersToShare_pubishVideo" // 分享介面点击微信朋友圈
  181. case ot_up_clickWechat_guideUsersToShare = "speedApp_clickWechat_guideUsersToShare_pubishVideo"
  182. case ot_selectVideoProductionMode = "speedApp_viewWindow_selectVideoProductionMode"
  183. // 分享界面点击微信好友
  184. /*************** 创作工具相关objectType ***************/
  185. case ot_video = "video" // 视频-由ot_makevideo_video转为
  186. case ot_image = "image" // 图片
  187. case ot_addMaterialSuccess = "addMaterialSuccess" // 添加素材成功
  188. case ot_makevideo_gif = "gif" // 动态图
  189. case ot_makevideo_jpg = "jpg" // 图片
  190. case ot_enterComposeToolButton = "speedApp_enterComposeToolButton" // 点击上传tab后-点击发布视频 add by ak & 视频合成入口
  191. case ot_enterVideoUploadButton = "speedApp_enterVideoUploadButton" // 点击上传tab后-点击上传视频
  192. case ot_videoCompose_overviewButton = "speedApp_videoCompose_overviewButton" // 点击总览
  193. case ot_videoCompose_videoCompositeButton = "speedApp_videoCompose_videoCompositeButton" // 点击去发布
  194. case ot_videoCompose_videoPublish = "speedApp_videoPublishButton" // 发布视频
  195. case ot_shanyinApp_searchButton = "speedApp_searchButton" // 发布视频
  196. case ot_pageView = "pageView" // 页面访问
  197. //
  198. // 图文入口
  199. case ot_shanyinApp_clickButton_imageAndTextGenerateVideo = "speedApp_clickButton_imageAndTextGenerateVideo"
  200. // 电子相册
  201. case ot_shanyinApp_clickButton_electronicAlbum = "speedApp_clickButton_electronicAlbum"
  202. /*************** 消息相关objectType ***************/
  203. case ot_msg_fansMsgButton = "speedApp_msgTab_fansMsgButton" // 粉丝消息入口
  204. case ot_msg_likeMsgButton = "speedApp_msgTab_likeMsgButton" // 喜欢消息入口
  205. case ot_msg_shareMsgButton = "speedApp_msgTab_shareMsgButton" // 分享消息入口
  206. case ot_msg_commentMsgButton = "speedApp_msgTab_commentMsgButton" // 评论消息入口
  207. case ot_msg_systemMsgButton = "speedApp_msgTab_systemMsgButton" // 通知消息入口
  208. /*************** 消息详情相关objectType ***************/
  209. case ot_msg_shareSpaceViewTab = "speedApp_message_shareSpace_viewTab" // 分享空间详情页观看
  210. case ot_msg_shareSpaceLikeTab = "speedApp_message_shareSpace_likeTab" // 分享空间详情页喜欢
  211. case ot_msg_shareSpaceCommentTab = "speedApp_message_shareSpace_commentTab" // 分享空间详情页评论
  212. case ot_msg_shareSpaceShareTab = "speedApp_message_shareSpace_shareTab" // 分享空间详情页分享
  213. /*************** 草稿箱相关objectType ***************/
  214. case ot_draft_clicktButton = "speedApp_clickOpenProjectListButton" // 草稿箱点击入口
  215. case ot_draft_editProject = "speedApp_editProject" // - 点击 Project Item(草稿箱中的每个项目)
  216. case ot_draft_viewProject = "speedApp_viewProject" // - 看到 Project Item(草稿箱中的每个项目)
  217. case ot_draft_clickEditProject = "speedApp_clickEditProject" // - 点击 Project Item 弹出菜单的「编辑」按钮
  218. case ot_draft_clickPublishProject = "speedApp_clickPublishProject" // - 点击 Project Item 弹出菜单的「去发布」按钮
  219. case ot_draft_clickRenameProject = "speedApp_clickRenameProject" // - 点击 Project Item 弹出菜单的「重命名」按钮
  220. case ot_draft_clickCopyProject = "speedApp_clickCopyProject" // - 点击 Project Item 弹出菜单的「复制」按钮
  221. case ot_draft_clickDeleteProject = "speedApp_clickDeleteProject" // - 点击 Project Item 弹出菜单的「删除」按钮
  222. case ot_draft_uploadMaterial = "speedApp_uploadMaterial" // - 素材开始上传事件
  223. case ot_draft_uploadMatrialSuccess = "speedApp_uploadMatrialSuccess" // - 素材上传成功事件
  224. case ot_draft_downloadMaterial = "speedApp_downloadMaterial" // - 素材开始下载事件
  225. case ot_draft_downloadMaterialSuccess = "speedApp_downloadMaterialSuccess" // - 素材下载成功事件
  226. case ot_videoCompose_mux_complete = "speedApp_videoCompose_mux_complete" // 创作工具「合成成功」添加上报参数
  227. case ot_reproduce_collectionClicButton = "speedApp_clickReproduceButton_collection" // - 再创作集合页的「再创作按钮」
  228. case ot_reproduce_clickButton = "speedApp_clickReProduceButton" // 再创作按钮(右上角)点击上报
  229. case ot_reproduce_collectionBar = "speedApp_clickReproduceCollectionBar" // 再创作按钮(左下角)点击上报
  230. case ot_reproduce_collectionVideo = "speedApp_clickReproduceCollectionVideo" // 再创作集合页的「视频」点击上报
  231. case ot_reproduce_sameSourceButton = "speedApp_viewSameSourceButton" // 再创作查看同款来源按钮
  232. case ot_reproduce_saveProjectToDraftBox = "speedApp-saveProjectToDraftBox" // 创作工具「保存项目成功」添加上报参数
  233. // add by ak
  234. case speedApp_viewWindow_upload2Compose // 「上传转创作」:窗口曝光
  235. case speedApp_clickButton_upload2Compose_addMusic // 「上传转创作」:加音乐 - 按钮点击
  236. case speedApp_clickButton_upload2Compose_addText // 「上传转创作」:加语音 - 按钮点击
  237. case speedApp_clickButton_upload2Compose_addVoice // 「上传转创作」:加语音 - 按钮点击
  238. case speedApp_clickButton_upload2Compose_addCompose // 上传转创作」:加多段拼接 - 按钮点击
  239. case speedApp_clickButton_upload2Compose_processingVideo // 「上传转创作」:加工视频 - 按钮点击
  240. case speedApp_clickButton_upload2Compose_publish // 「上传转创作」:直接发布 - 按钮点击
  241. case speedApp_viewButton_uploadCoverButton // 「发布页」:修改封面 - 按钮曝光
  242. case speedApp_viewButton_uploadCoverTipButton // 修改封面提示 - 按钮曝光
  243. case speedApp_clickButton_uploadCoverButton // 「发布页」:修改封面 - 按钮点击
  244. case speedApp_clickButton_uploadCoverTipButton
  245. case speedApp_viewButton_addMusic // 「创作工具页」:添加音乐 - 按钮曝光
  246. case speedApp_clickButton_addMusic // 「创作工具页」:添加音乐 - 按钮点击
  247. case speedApp_viewButton_addMusicTip // 创作工具页」:添加音乐提示 - 按钮曝光
  248. case speedApp_clickButton_addMusicTip // 「创作工具页」:添加音乐提示 - 按钮点击
  249. /*************** 卡点视频相关objectType ***************/
  250. case ot_click_syncedUpMusic = "speedApp_clickButton_syncedUpMusic" // 弹出面板中点击「卡点视频」按键
  251. case ot_view_selectSyncedUpMaterial = "speedApp_viewWindow_selectSyncedUpMaterial" // 曝光上报:卡点视频素材选择页
  252. case ot_click_confirmMaterial = "speedApp_clickButton_confirmSyncedUpMaterial" // 点击上报:卡点视频素材确认按钮
  253. case ot_click_back = "speedApp_clickButton_back" // 点击上报:返回按钮
  254. case ot_view_selectSyncedUpMusic = "speedApp_viewWindow_selectSyncedUpMusic" // 曝光上报:卡点视频音乐选择页
  255. case ot_view_syncedUpMusic = "speedApp_viewButton_syncedUpMusic" // 曝光上报:音乐素材曝光
  256. case ot_click_auditionMusic = "speedApp_clickButton_auditionMusic" // 点击上报:音乐素材试听
  257. case ot_click_chooseMusic = "speedApp_clickButton_chooseMusic" // 点击上报:选择音乐素材
  258. case ot_click_chooseMusicCategory = "speedApp_clickButton_chooseMusicCategory" // 点击上报:选择音乐分类
  259. case ot_click_chooseMusicCategoryTag = "speedApp_clickButton_chooseMusicCategoryTag" // 点击上报:选择音乐分类下的 TAG
  260. case ot_view_previewSyncedUp = "speedApp_viewWindow_previewSyncedUp" // 曝光上报:预览页面曝光上报
  261. case ot_click_selectMusic = "speedApp_clickButton_selectMusic" // 点击上报:重新选择音乐
  262. case ot_click_selectRhythm = "speedApp_clickButton_selectRhythm" // 点击上报:选择节奏
  263. case ot_click_dragFront = "speedApp_clickButton_dragFront" // 点击上报:拖动拖拽条(左部分)
  264. case ot_click_dragBehind = "speedApp_clickButton_dragBehind" // 点击上报:拖动拖拽条(右部分)
  265. case ot_click_commit = "sppedApp_clickButton_commit" // 点击上报:去合成
  266. case ot_view_searchSyncedUpMusic = "speedApp_viewWindow_searchSyncedUpMusic" // 曝光上报:音乐素材搜索页
  267. case ot_click_searchSyncedUpMusic = "speedApp_clickButton_searchSyncedUpMusic" // 点击上报:用户在搜索框输入文字然后按回车
  268. case ot_view_searchMusic = "speedApp_viewButton_searchMusic" // 曝光上报:搜索结果音乐素材曝光
  269. case ot_click_auditionSearchMusic = "speedApp_clickButton_auditionSearchMusic" // 点击上报:试听音乐素材
  270. case ot_click_chooseSearchMusic = "speedApp_clickButton_chooseSearchMusic" // 点击上报:选择音乐素材
  271. case ot_view_publishSyncedUp = "speedApp_viewWindow_publishSyncedUp" // 曝光上报:窗口曝光
  272. case ot_click_shareWechat = "speedApp_clickButton_shareWechat" // 点击上报:分享微信
  273. case ot_shareFriendBtn = "shareFriendButton" // 分享微信
  274. case ot_shareMomentBtn = "shareMomentButton" // 分享朋友圈
  275. case ot_click_shareWechatMoment = "speedApp_clickButton_shareWechatMoment" // 点击上报:分享朋友圈
  276. case ot_click_finished = "speedApp_clickButton_finished" // 点击上报:完成
  277. // 闪音点击上报:首页点击底部+
  278. case ot_shanyinApp_clickButton_syncedUpMusic = "shanyinApp_clickButton_syncedUpMusic"
  279. // 视频播放点击
  280. case ot_shanyinApp_clickButton_syncedUpMusicRecreate = "speedApp_clickButton_syncedUpMusicRecreate"
  281. case ot_shanyinApp_viewButton_syncedUpMusicRecreate = "speedApp_viewButton_syncedUpMusicRecreate"
  282. // 点击上报:首页点击底部“我的”页面入口
  283. case ot_shanyinApp_clickButton_mineTab = "speedApp_clickButton_mineTab"
  284. // 页面曝光上报:“我的”页面曝光
  285. case ot_shanyinApp_viewPage_mineTab = "speedApp_viewPage_mineTab"
  286. // 编辑标题和封面
  287. case ot_shanyinApp_clickButton_changeTitle = "speedApp_clickButton_changeTitle"
  288. case ot_shanyinApp_clickButton_changeCover = "speedApp_clickButton_changeCover"
  289. // 1.2.0版本快慢速
  290. // 点击快慢速
  291. case ot_shanyinApp_musicVideoPreview_selectPatternSpeed = "speedApp_musicVideoPreview_selectPatternSpeed"
  292. // 点击跳跃卡点
  293. case ot_shanyinApp_musicVideoPreview_selectPatternMusicVideo = "speedApp_musicVideoPreview_selectPatternMusicVideo"
  294. // 点击仅音乐
  295. case ot_shanyinApp_musicVideoPreview_selectPatternBgm = "speedApp_musicVideoPreview_selectPatternBgm"
  296. // 音乐库相统计
  297. // - 音乐tab点击数
  298. case ot_shanyinApp_musicVideoPreview_musicTab = "speedApp_musicVideoPreview_musicTab"
  299. // - 剪辑tab点击
  300. case ot_shanyinApp_musicVideoPreview_videoTab = "speedApp_musicVideoPreview_videoTab"
  301. // - 音乐素材曝光数
  302. case ot_shanyinApp_musicVideoPreview_musicView = "speedApp_musicVideoPreview_musicView"
  303. // - 音乐试听数
  304. case ot_shanyinApp_musicVideoPreview_musicCategorySelect = "speedApp_musicVideoPreview_musicCategorySelect"
  305. // - 音乐使用数
  306. case ot_shanyinApp_musicVideoPreview_musicSelect = "speedApp_musicVideoPreview_musicSelect"
  307. // - 音乐选框移动数(与原推荐位置不一致)
  308. case ot_shanyinApp_musicVideoPreview_musicPeriodSelect = "speedApp_musicVideoPreview_musicPeriodSelect"
  309. // - 搜索页面曝光
  310. case ot_shanyinApp_musicVideoPreview_musicSearch = "speedApp_musicVideoPreview_musicSearch"
  311. // - 音乐试听数
  312. case ot_shanyinApp_musicVideoPreview_musicSearchAudition = "speedApp_musicVideoPreview_musicSearchAudition"
  313. // - 音乐使用数
  314. case ot_shanyinApp_musicVideoPreview_musicSearchSelect = "speedApp_musicVideoPreview_musicSearchSelect"
  315. // 快慢速模式
  316. // - 抛留比例按钮切换点击数
  317. case ot_shanyinApp_musicVideoPreview_selectSpeed = "speedApp_musicVideoPreview_selectSpeed"
  318. // - 自定义抛留比按钮点击数
  319. case ot_shanyinApp_musicVideoPreview_customizeSpeed = "speedApp_musicVideoPreview_customizeSpeed"
  320. // - 选择节奏
  321. case ot_shanyinApp_musicVideoPreview_selectSpeedRhythm = "speedApp_musicVideoPreview_selectSpeedRhythm"
  322. // 跳跃卡点模式
  323. // - 抛留比例按钮切换点击数
  324. case ot_shanyinApp_musicVideoPreview_selectRatio = "speedApp_musicVideoPreview_selectRatio"
  325. // - 自定义抛留比按钮点击数
  326. case ot_shanyinApp_musicVideoPreview_customizeRatio = "speedApp_musicVideoPreview_customizeRatio"
  327. // - 选择节奏
  328. case ot_shanyinApp_musicVideoPreview_selectMusicVideoRhythm = "speedApp_musicVideoPreview_selectMusicVideoRhythm"
  329. // 仅配乐模式
  330. // 循环比例按钮切换点击数
  331. case ot_shanyinApp_musicVideoPreview_selectRepeatTimes = "speedApp_musicVideoPreview_selectRepeatTimes"
  332. // - 自定义抛留比按钮点击数
  333. case ot_shanyinApp_musicVideoPreview_customizeRepeatTimes = "speedApp_musicVideoPreview_customizeRepeatTimes"
  334. // - 选择节奏
  335. case ot_shanyinApp_musicVideoPreview_selectMusicVideoRepeatRhythm = "speedApp_musicVideoPreview_selectMusicVideoRepeatRhythm"
  336. /*************** 话题相关objectType ***************/
  337. case ot_cmunit_syncedBtn = "syncedUpMusicButton" // 音乐视频
  338. case ot_cmunit_createBtn = "videoIdeaButton" // 视频想法
  339. case ot_cmunit_uploadBtn = "uploadVideoButton" // 上传视频
  340. case ot_cmunit_draftBtn = "draftBoxButton" // 我的视频想法
  341. case ot_cmunit_pubDraftBtn = "draftButton" // 内容发布页-草稿箱
  342. case ot_cmunit_pubBtn = "publishButton" // 内容发布页-发表作品
  343. case ot_cmunit_topicCreate = "createVideoButton" // 话题详情页
  344. case ot_cmunit_topicClose = "closeButton" // 话题详情页
  345. case ot_cmunit_joinBtn = "joinTopicButton" // 内容发布页-参与话题
  346. case ot_cmunit_joinAllBtn = "joinAllButton" // 点击「一键加入」按钮
  347. case ot_cmunit_listTopicBtn = "topicButton" // 话题列表-话题按钮曝光
  348. case ot_cmunit_cacelBtn = "cancelJoinTopicButton" // 话题列表-点击「取消加入话题」按钮
  349. case ot_cmunit_recoItem = "recommendTopicItem" // 内容发布页-推荐话题 Item
  350. case ot_cmunit_likeMsg = "likeMessageButton" // 点赞消息按钮
  351. case ot_cmunit_followMsg = "followMessageButton" // 关注消息按钮
  352. case ot_cmunit_commendMsg = "commentMessageButton" // 关注消息按钮
  353. case ot_cmunit_shareMsg = "shareMessageButton" // 分享消息按钮
  354. case ot_cmunit_notiMsg = "notificationMessageButton" // 通知消息按钮
  355. case ot_cmunit_nextStepBtn = "nextStepButton" // 点击「下一步」按钮
  356. case ot_cmunit_skipBtn = "skipButton" // 点击「跳过」按钮
  357. case ot_cmunit_loginButton = "loginButton" // 点击「登录」按钮
  358. case ot_cmunit_cmtMsgItem = "commentMessageItem" // 评论消息item
  359. /*************** 活动相关businessType ***************/
  360. case ot_actity_incentive = "weapp_sharer_incentivePlanWindow" // 分享者激励计划活动弹窗的曝光
  361. case ot_actity_share = "weapp_share_plan" // 分享者激励计划活动弹窗按钮的点击
  362. case ot_hotListTabButton = "speedApp_hotListTabButton" // 热榜tab按键点击
  363. case ot_hotList = "speedApp_hotList" // 热榜页面曝光
  364. case ot_videoShareButton = "videoShareButton" // 分享按键点击
  365. case ot_videoShareFriend = "videoShareFriend" // 用户点击分享好友
  366. case ot_videoShareH5 = "videoShareH5" // 视频被用户点击分享朋友圈
  367. case ot_notificationButton = "notificationButton" // 活动通知入口点击
  368. case ot_videoShareFriend_fullScreen = "videoShareFriend_fullScreen" // 视频全屏状态-分享好友
  369. case ot_hotBoard_videoButton = "videoButton" // 热榜视频曝光
  370. case ot_speekButton = "speekButton" // 视说App-录音完成
  371. case ot_exportButton = "exportButton" // 视说App-点击导出按钮
  372. case ot_startCompose = "startCompose" // 视说App-开始合成
  373. case ot_composeSuccess = "composeSuccess" // 视说App-合成成功
  374. case ot_saveToAblum = "saveToAblum" // 视说App-点击保存至相册
  375. case ot_captionsButton = "captionsButton" // 视说App-点击字幕
  376. case ot_shootVideoButton = "shootVideo"
  377. case ot_addVideoButton = "addVideo"
  378. case ot_voiceChangerButton = "voiceChangerButton"
  379. case ot_musicChangerButton = "musicChangerButton" // 页面访问
  380. public func realRawValue(prefix: String? = nil) -> String {
  381. if prefix != nil, (prefix?.count ?? 0) > 0 {
  382. if prefix == "shanyinApp", rawValue.hasPrefix("speedApp") {
  383. return rawValue.replacingOccurrences(of: "speedApp", with: prefix ?? "")
  384. } else if prefix == "speedApp", rawValue.hasPrefix("shanyinApp") {
  385. return rawValue.replacingOccurrences(of: "shanyinApp", with: prefix ?? "")
  386. }
  387. return rawValue
  388. }
  389. return rawValue
  390. }
  391. }
  392. // MARK: - 视频上报类型
  393. /// 视频上报类型
  394. public enum businessType: String {
  395. /*************** 视频相关businessType ***************/
  396. case bt_videoView = "videoView" // 视频展示到屏幕,在此APP中 首页中:视频展示但未播放时,用于后端算法相关逻辑 相关推荐:在播放中下部展示出相关推荐的3个视频时,上报这3个视频的videoView。同一次播放下不重复上报3个推荐视频的videoView
  397. case bt_videoPreView = "videoPreView"
  398. case bt_videoPlaySlow = "videoPlaySlow"
  399. case bt_videoClick = "videoClick"
  400. case bt_videoPlayError = "videoPlayError" // 播放失败
  401. case bt_aliasBindingError = "aliasBindingError" // 绑定别名失败
  402. case bt_videoPlaySuccessTime = "videoPlaySuccessTime" // 加载时长
  403. case bt_videoPlayException = "videoPlayException"
  404. case bt_videoPlay_normal = "videoPlay"
  405. case bt_videoAutoPlay = "videoAutoPlay"
  406. case bt_uploadVideo = "uploadVideo" // 视说-上传视频
  407. case bt_uploadVideoSuccess = "uploadVideo Success" // 视说-上传视频成功
  408. public enum bt_videoPlay: String {
  409. case bt_videoPlay_userSlideSingle = "userSlideSingle" // 用户在沉浸态下滑动切换视频(极速版、爱电影)
  410. case bt_videoPlay_userClickCover = "userClickCover" // 用户点击封面播放
  411. case bt_videoPlay_userSlideList = "userSlideList" // 用户在列表中滑动停止导致的播放
  412. case bt_videoPlay_autoNext = "autoNext" // 自动播放下一个视频
  413. case bt_videoPlay_autoStart = "autoStart" // 1、启动后自动播第一个视频 2、播放器出问题导致重新播放 3、别的页面返回之前的页面播放
  414. }
  415. case bt_videoShareH5 = "videoShareH5" // 点击分享朋友圈按键
  416. case bt_videoShareFriend = "videoShareFriend" // 点击分享好友按键
  417. case bt_videoSemiRealPlay = "videoSemiRealPlay" // 视频播放到10s时上报
  418. case bt_videoRealPlay = "videoRealPlay" // 视频播放到20s或播放到总时长30%,哪个先到为准
  419. case bt_videoPlaySuccess = "videoPlaySuccess" // 视频缓冲完成开始播放
  420. case bt_videoPlayEnd = "videoPlayEnd" // 视频播放到总时长100%
  421. case bt_videoPlayDuration = "playDuration" // 视频播放时长ms - 有暂停动作时上报并重新计算
  422. case bt_videoPlayCancel = "videoPlayCancel" // 视频播放取消
  423. case bt_videoPlayDecoder = "videoPlayDecoder" // 视频解码器启动
  424. case bt_videoPlayDecoderError = "videoPlayDecoderError" // 视频解码失败
  425. case bt_videoPlayReconnect = "videoPlayReconnect" // 断线重连
  426. case bt_videoPlayDisconnect = "videoPlayDisconnect" // 重连失败,重新请求视频信息
  427. case bt_videoPlayReloadError = "videoPlayReloadError" // 重新请求视频信息失败
  428. case bt_videoPlayReloadSuccess = "videoPlayReloadSuccess" // 重新请求视频信息成功
  429. case bt_videoFavorite = "videoFavorite" // 视频喜欢的上报
  430. case bt_videoUnFavorite = "videoUnFavorite" // 视频不喜欢的上报
  431. case bt_videoHated = "videoHated" // 不感兴趣
  432. case bt_videoFollow = "videoFollow" // 关注
  433. case bt_videoUnFollow = "videoUnFollow" // 取消关注
  434. case bt_videoEnterUser = "videoEnterUserHomepage" // 在视频页点击 Up 主头像进入个人主页
  435. case bt_videoSwipeRight = "videoSwipeRight" // 右滑查看视频的相关推荐
  436. case bt_videoEnterRecom = "videoEnterRecomendation" // 点击视频的相关推荐
  437. /*************** 活动相关businessType ***************/
  438. case bt_buttonClick = "buttonClick" // 按键点击
  439. case bt_buttonView = "buttonView" // 按键曝光
  440. case bt_windowView = "windowView" // 弹窗曝光
  441. case bt_autoJump = "autoJump" // 自动跳转
  442. case bt_pageView = "pageView" // 页面访问
  443. /*************** 供给稳定性相关businessType ***************/
  444. case bt_fetchSlow = "FetchSlow" // 拉取卡顿率
  445. case bt_fetchFail = "FetchFail" // 拉取失败率
  446. case bt_fetchDuration = "FetchDuration" // 拉取时长
  447. case bt_dnsParseCostTime = "dnsParseCostTime" // DNS上报 "speed.piaoquantv.com", "rescdn.yishihui.com"
  448. /*************** 上传相关businessType ***************/
  449. case bt_up_process = "videoUploadProcess" // 上传开始事件
  450. case bt_publish_error = "publishError" // 发布失败
  451. case bt_publish_success = "publishSuccess" // 发布成功
  452. /*************** 创作工具相关businessType ***************/
  453. case bt_makeVideos = "makeVideos" // 创作视频
  454. case bt_materialView = "materialView" // 素材曝光
  455. case bt_materialUse = "materialUse" // 用户选取
  456. case bt_materialCompose = "materialCompose" // 素材合成
  457. /*************** 消息相关businessType ***************/
  458. case bt_draft_downloadMaterialSuccess = "downloadMaterialSuccess" // 素材下载成功事件
  459. case bt_draft_downloadMaterial = "downloadMaterial" // - 素材开始下载事件
  460. case bt_draft_uploadMaterialSuccess = "uploadMaterialSuccess" // - 素材上传成功事件
  461. case bt_draft_uploadMaterial = "uploadMaterial" // - 素材开始上传事件
  462. case bt_videoCompose_muxAction = "muxAction" // 创作工具「合成成功」添加上报参数
  463. /*************** 广告相关businessType ***************/
  464. case bt_ad_request = "adRequest" // 客户端请求广告
  465. case bt_ad_loaded = "adLoaded" // 客户端广告加载成功
  466. case bt_ad_view = "adView" // 广告展示到屏幕
  467. case bt_ad_click = "adClick" // 广告被点击
  468. case bt_ad_loadedError = "adLoadedError" // 客户端广告加载失败-非需求
  469. case bt_ad_close = "adClose" // 广告被关闭-非需求
  470. case bt_ad_configRequest = "adConfigRequest" // 客户端请求广告配置
  471. case bt_ad_configLoaded = "adConfigLoaded" // 客户端请求广告配置成功
  472. /*************** 话题相关businessType ***************/
  473. case bt_cmunit_clickTopic = "videoClickTopic" // 增加首页话题点击上报
  474. case bt_cmunit_videoReport = "videoReport" // 举报视频
  475. case bt_cmunit_comment = "videoComment" // 视频被用户评论
  476. case bt_cmunit_likeComment = "videoLikeComent" // 视频中的评论被点赞
  477. case bt_clickWechatMoments_guideUsersToShare = "speedApp_clickWechatMoments_guideUsersToShare_pubishVideo" // 发布成功分享介面点击微信朋友圈
  478. case bt_clickWechat_guideUsersToShare = "speedApp_clickWechat_guideUsersToShare_pubishVideo" // 发布成功分享介面点击微信好友
  479. public func realRawValue(prefix: String? = nil) -> String {
  480. if prefix != nil, (prefix?.count ?? 0) > 0 {
  481. if prefix == "shanyinApp", rawValue.hasPrefix("speedApp") {
  482. return rawValue.replacingOccurrences(of: "speedApp", with: prefix ?? "")
  483. } else if prefix == "speedApp", rawValue.hasPrefix("shanyinApp") {
  484. return rawValue.replacingOccurrences(of: "shanyinApp", with: prefix ?? "")
  485. }
  486. return rawValue
  487. }
  488. return rawValue
  489. }
  490. }
  491. // MARK: - autoType 自动动作的类型
  492. /// autoType 自动动作的类型
  493. public enum autoType: Int {
  494. case AUTO_TYPE_SCROLL_VERTICAL_DOWN = 11 // 用户手动下划触发播放(播上一个视频)
  495. case AUTO_TYPE_SCROLL_VERTICAL_UP = 12 // 用户手动上划触发播放(播下一个视频)
  496. case AUTO_TYPE_SCROLL_HORIZON_RIGHT = 13 // 用户手动右划触发播放
  497. case AUTO_TYPE_SCROLL_HORIZON_LEFT = 14 // 用户手动左划触发播放
  498. case AUTO_TYPE_ENTER_DETAIL = 15 // 用户手动点击(进详情页)触发播放
  499. case AUTO_TYPE_ENTER_APP = 21 // 打开APP自动播放的第一个
  500. case AUTO_TYPE_NEXT_AFTER_COMPLETE = 22 // 用户播放完一个视频后自动触发播放相关推荐视频
  501. case AUTO_TYPE_BACKEND_RESUME = 23 // 后台唤醒app,如果播放器挂了,重新播放、在别的页面播放过视频再回来之前的页面播放
  502. case AUTO_TYPE_REFRESH_LIST = 24 // 首页下拉刷新,自动播的第一个
  503. case AUTO_TYPE_CLICK_RECOMMEND = 25 // 点击推荐视频播放
  504. case AUTO_TYPE_CLICK_DOUBLE = 26 // 双列点击视频进入单列播放
  505. }
  506. // MARK: - 消息动作:表示该条日志属于某条消息生命周期的哪个漏斗环节
  507. /// 消息动作:表示该条日志属于某条消息生命周期的哪个漏斗环节
  508. public enum actionType: String {
  509. case at_msg_backendReturn = "backendReturn" // 后端将消息返回给客户端
  510. case at_msg_frontendPull = "frontendPull" // 客户端获取到
  511. case at_msg_view = "view" // 在客户端消息被滑动展示在屏幕上
  512. case at_msg_click = "click" // 用户点击消息
  513. }
  514. // MARK: - 消息类型
  515. /// 消息类型
  516. public enum messageType: Int {
  517. case mt_nomal = 0 // 未知消息
  518. case mt_fans = 1 // 粉丝消息
  519. case mt_like = 2 // 喜欢/赞
  520. case mt_share = 3 // 分享消息
  521. case mt_comment = 4 // 评论消息
  522. case mt_notification = 5 // 通知消息
  523. case mt_share_dynamics = 6 // 分享动态消息
  524. /*** 自定义添加不涉及正式消息类型 ***/
  525. case mt_badgeNumber = 1001 // 显示消息个数cell
  526. }
  527. /// 分享空间二级界面数据请求类型 1,观看 2,分享,3,喜欢 4, 评论
  528. public enum sharePageType: Int {
  529. case share_page_play = 1 // 分享空间-播放列表
  530. case share_page_share = 2 // 分享空间-分享列表
  531. case share_page_favorite = 3 // 分享空间-收藏列表
  532. case share_page_commnet = 4 // 分享空间-评论列表
  533. }
  534. // MARK: - 消息子类型
  535. /// 消息子类型
  536. public enum messageSubType: Int {
  537. case mtsub_nomal = 0 // 未知消息
  538. case mtsub_fansAtt = 101 // 粉丝-关注
  539. case mtsub_fansSbs = 102 // 粉丝-订阅
  540. case mtsub_likeColl = 201 // 喜欢-收藏视频
  541. case mtsube_likePrai = 202 // 喜欢-评论点赞
  542. case mtsub_shareWechat = 301 // 分享-微信会话
  543. case mtsub_shareFriend = 302 // 分享-微信朋友圈
  544. case mtsub_comment = 401 // 评论一级评论
  545. case mtsub_commentSub = 402 // 评论二级评论
  546. case mtsub_pushSucc = 501 // 通知-发布成功
  547. case mtsub_pushNoPass = 502 // 通知-审核不通过
  548. case mtsub_pushFixing = 503 // 通知-审核待修改
  549. case mtsub_pushTransFail = 504 // 通知-转码失败
  550. case mtsub_pushVideoRecom = 505 // 通知视频推荐
  551. case mtsub_pushAccForbi = 506 // 通知-账号封禁
  552. case mtsub_pushAccUnban = 507 // 通知-账号解封
  553. case mtsub_pushIncStart = 508 // 通知-激励开始
  554. case mtsub_pushIncEnd = 509 // 通知-激励结束
  555. case mtsub_pushIncRupt = 510 // 通知-激励中断
  556. case mtsub_homeRecommend = 512 // 通知-激励中断
  557. case mtsub_pushVideoFlowRecom = 513 // 通知-流量扶持
  558. case mtsub_shareSpace = 601 // 分享空间-分享
  559. case mtsub_shareSpLike = 602 // 分享空间-喜欢
  560. case mtsub_shareSpComm = 603 // 分享空间-评论
  561. case mtsub_shareSpPlay = 604 // 分享空间-播放
  562. case mtsub_shareSpMerge = 605 // 分享空间-外层合并消息(与业务逻辑无关,埋点上报使用)
  563. }
  564. // MARK: - 埋点上报消息类型(暂未统一)
  565. /// 埋点上报消息类型(暂未统一)
  566. public enum messagePointType: Int {
  567. case mt_point_nomal = 0 // 未知消息
  568. case mt_point_fans = 1 // 粉丝消息
  569. case mt_point_praise = 2 // 赞
  570. case mt_point_barrage = 3 // 弹幕消息
  571. case mt_point_comment = 4 // 评论消息
  572. case mt_point_share = 5 // 分享消息
  573. case mt_point_collect = 6 // 收藏消息
  574. case mt_point_notification = 7 // 通知消息
  575. case mt_point_operative = 8 // 运营消息
  576. case mt_point_dynamics = 1000 // 分享动态消息
  577. }
  578. // MARK: - 日志库类型
  579. /// 日志库类型
  580. public enum statisticsLogType: Int {
  581. case st_log_type_abtestinfo = 10 // abtestinfo-Log ABTEST的 dlog Store
  582. case st_log_type_operation = 20 // operation-Log 漏斗模型的相关上报
  583. case st_log_type_simpleevent = 30 // simpleevent-Log 独立事件的相关上报
  584. case st_log_type_frontend = 40 // frontend-Log 前端调试日志
  585. case st_log_type_pLayaction = 50 // pLayaction-Log 播放行为日志上报
  586. case st_log_type_useractive = 60 // useractive-Log 用户活跃日志上报
  587. case st_log_type_videoPlayTracking = 70 // video-play-tracking 视频播放行为跟踪
  588. case st_log_type_proauceSearch = 80 // proauce-search-log 素材搜索日志上报
  589. case st_log_type_videoCompose = 90 // video-compose-log 创作工具素材搜索日志上报
  590. case st_log_type_location = 100 // user-location-log 位置信息日志上报
  591. case st_log_type_videoProduction = 110 // video-production-log 创作工具埋点日志上报
  592. case st_log_type_adAction = 120 // ad-action-log 广告埋点日志上报
  593. }
  594. // MARK: - 冷启动方式
  595. /// coldLaunchType // 冷启动方式。若为热启动,则不用上报该字段
  596. public enum coldLaunchType: String {
  597. case coldLaunchType_userActiveOpen = "userActiveOpen" // 用户主动打开
  598. case coldLaunchType_appRecall = "appRecall" // 其它APP唤起,包括H5应用宝唤起
  599. case coldLaunchType_pushRecall = "pushRecall" // 推送唤起
  600. }
  601. // MARK: - 上报日志类型
  602. /// 上报日志类型
  603. public enum reportLogType {
  604. case reportLogType_view // 显示页面
  605. case reportLogType_realPlay // 真实播放 视频播放到20s或播放到总时长30%,哪个先到为准
  606. case reportLogType_play // 记录播放的视频
  607. case reportLogType_Action // 上报视频动作记录
  608. case reportLogType_Frontend // 通用上报
  609. }
  610. // MARK: - 底部tab
  611. /// 底部tab
  612. public enum TAB_PAGETYPE: String {
  613. case TAB_PAGETYPE_NORMAL = "nomalTab" // 默认
  614. case TAB_PAGETYPE_RECOMM = "categoryTab" // 推荐
  615. case TAB_PAGETYPE_ATTEN = "followTab" // 关注
  616. case TAB_PAGETYPE_PUBLISH = "publishTab" // 发布
  617. case TAB_PAGETYPE_MESSAGE = "messageTab" // 消息
  618. case TAB_PAGETYPE_MINE = "mineTab" // 我的
  619. }
  620. // MARK: - 关注跟粉丝cell类型
  621. /// 关注跟粉丝cell类型
  622. public enum atttendAndFansCellType {
  623. case cellType_attend // 关注
  624. case cellType_fans // 粉丝
  625. case cellType_banned // 黑名单
  626. }
  627. // MARK: - 视频全屏播放操作类型
  628. /// 视频全屏播放操作类型
  629. public enum fullScreenActionType {
  630. case volume // 声音
  631. case brightness // 亮度
  632. case progress // 进度
  633. }
  634. // MARK: - 活动提示页类型
  635. /// 活动提示页类型
  636. public enum activityRemindType {
  637. case nomal //
  638. case newUser // 新用户专享
  639. case yesterDay_finish // 昨日已完成
  640. case yesterDay_unfinish // 昨日未完成
  641. case today_finish // 今日任务已完成
  642. }
  643. // MARK: - 制作工具素材搜索msgType
  644. /// 制作工具素材搜索msgType
  645. public enum material_msgType: String {
  646. case all = "ALL_SEARCH_EVENT" // 所有
  647. case image = "IMAGE_SEARCH_EVENT" // 图片
  648. case video = "VIDEO_SEARCH_EVENT" // 视频
  649. case gif = "GIF_SEARCH_EVENT" // 动图
  650. case recommend_image = "IMAGE_RECOMMEND_EVENT" // 图片推荐
  651. case recommend_video = "VIDEO_RECOMMEND_EVENT" // 视频推荐
  652. case recommend_gif = "GIF_RECOMMEND_EVENT" // 动图推荐
  653. }
  654. // 画布类型
  655. public enum videoCanvasType: Int {
  656. case origin = 1 // 原始
  657. case nineToSixteen = 2 // 9:16
  658. case oneToOne = 3 // 1:1
  659. case sixteenToNine = 4 // 16:9
  660. }
  661. /// 贴纸类型
  662. public enum StickerType: String {
  663. case UNKONW = "unknow"
  664. case IMAGE = "image" // 图片
  665. case VIDEO = "video" // 视频
  666. case GIF = "gif" // gif动图
  667. case VOICE = "voice" // 声音
  668. case FILE = "file" // 文件
  669. case SUBTITLE = "subtitle" // 字幕
  670. /// 获取index
  671. /// - Returns: description
  672. public func index() -> Int {
  673. var fileType: Int = 0
  674. switch self {
  675. case .IMAGE:
  676. fileType = 1
  677. case .VIDEO:
  678. fileType = 2
  679. case .VOICE:
  680. fileType = 3
  681. case .FILE:
  682. fileType = 4
  683. case .GIF:
  684. fileType = 5
  685. case .SUBTITLE:
  686. fileType = 6
  687. default:
  688. fileType = 0
  689. }
  690. return fileType
  691. }
  692. /// 媒体类型
  693. /// - Returns: <#description#>
  694. public func mimeType() -> String {
  695. var mimeType: String = "application/octet-stream"
  696. switch self {
  697. case .IMAGE:
  698. mimeType = "image/jpeg"
  699. case .VIDEO:
  700. mimeType = "video/mpeg"
  701. case .VOICE:
  702. mimeType = "audio/mpeg"
  703. case .FILE:
  704. mimeType = "application/octet-stream"
  705. case .GIF:
  706. mimeType = "image/gif"
  707. default:
  708. mimeType = "application/octet-stream"
  709. }
  710. return mimeType
  711. }
  712. public func pathExtension() -> String {
  713. var pathExtension: String = ""
  714. switch self {
  715. case .IMAGE:
  716. pathExtension = "png"
  717. case .VIDEO:
  718. pathExtension = "mp4"
  719. case .VOICE:
  720. pathExtension = "mp3"
  721. case .FILE:
  722. pathExtension = ""
  723. case .GIF:
  724. pathExtension = "gif"
  725. default:
  726. break
  727. }
  728. return pathExtension
  729. }
  730. }
  731. // MARK: - 贴纸裁剪方式
  732. /// 贴纸裁剪方式
  733. public enum stickerContentModeDef: Int {
  734. case aspectFit = 0 // 自适应
  735. case aspectFill = 1 // 铺满
  736. }
  737. /// 贴纸裁剪方式 add by ak v2
  738. public enum stickerContentMode: String {
  739. case aspectFitStr = "complete" // 完整显示(有黑边)
  740. case aspectFillStr = "full" // 铺满
  741. }
  742. // MARK: - 适配模式
  743. /// 适配模式
  744. public enum adapterModeDef: Int {
  745. case speedyAuto = 0 // 快速自适应
  746. case loopAuto = 1 // 自动循环
  747. case crop = 2 // 定帧/裁剪
  748. }
  749. /// 适配模式 add by ak v2
  750. public enum adapterMode: String {
  751. case multiple // 快速自适应
  752. case loopAuto = "loop" // 自动循环
  753. case staticFrame // 定帧/裁剪
  754. }
  755. // MARK: - 上传视频类型
  756. /// 上传视频类型
  757. public enum videoUploadSourceType: String {
  758. case videoUpload // 上传
  759. case videoCompose // 合成制作
  760. case videoUploadToCompose // 上传转合成制作
  761. }
  762. // MARK: - 进入创作工具入口
  763. /// 素材上传、保存、收藏相关
  764. public enum videoMakeEntranceType: String {
  765. case entranceMineTabDraft = "draft_metab" // 我的Tab -> 草稿箱列表 -> 创作工具
  766. case entrancePublicTabDraft = "draft_uploadpopup" // 发布Tab -> 草稿箱列表 -> 创作工具
  767. case entrancePublicTabCompose = "composeVideo" // 发布Tab -> 视频合成 -> 创作工具
  768. case entrancePublicTabImageText = "imageTextGenerate" // 发布Tab -> 图文生成视频 -> 创作工具
  769. case entrancePublicTabAlbum = "electronicAlbum" // 发布Tab -> 电子相册 -> 创作工具
  770. case entranceReproduction = "reproduction" // 视频详情 -> 做同款 -> 创作工具
  771. case entrancePublicTabUpload = "upload" // 发布Tab -> 上传视频 -> 直接发布
  772. // add by ak
  773. case entranceUpload2compose = "upload2compose" // 发布Tab -> 上传视频 -> 加工视频 -> 创作工具
  774. case entranceStuckPointPublic = "syncedUpVideo" // 卡点视频发布
  775. // * 新添加-自定义
  776. case entrancePublicTabAddMusic = "addMusic" // 发布Tab -> 上传视频 -> 加音乐 -> 创作工具
  777. case entrancePublicTabAddSubtitle = "addSubtitle" // 发布Tab -> 上传视频 -> 加字幕 -> 创作工具
  778. case entrancePublicTabAddVoice = "addVoice" // 发布Tab -> 上传视频 -> 加语音 -> 创作工具
  779. case entrancePublicTabAddSection = "addSection" // 发布Tab -> 上传视频 -> 多段拼接 -> 创作工具
  780. }
  781. // MARK: - 段落类型
  782. /// 段落类型
  783. public enum sectionType: String {
  784. case normal // 普通段
  785. case global // 全局段
  786. }
  787. // MARK: - 音乐类型
  788. /// 音乐类型
  789. public enum VOICETYPT: String {
  790. case PRODUCE = "produce" // 合成语音
  791. case BGM = "bgm" // 背景音乐
  792. case SPEECH = "speech" // 录音
  793. case LOCAL = "local" // 导入文件
  794. case None = "none" // 空白无音
  795. }
  796. // MARK: - 输入框状态B
  797. /// 输入框状态
  798. public enum inputStatus {
  799. case normal // 写故事,可智能配音,自动生成字幕
  800. case inputing // 输入中
  801. case recording // 语音识别成文字中…
  802. case recordEmpty // 录音未识别到文字,点此输入
  803. case recordError // 获取录音文字失败,请重试
  804. case recordSuccess // 获取录音文字成功
  805. }
  806. // MARK: - 画面比例
  807. /// 画面比例
  808. public enum aspectRatio {
  809. case origin(width: CGFloat, height: CGFloat) // 原始
  810. case oneToOne // 1:1
  811. case sixteenToNine // 16:9
  812. case nineToSixteen // 9:16
  813. }
  814. // MARK: - 卡点视频音乐页面类型
  815. /// 卡点视频音乐页面类型
  816. public enum stuckPointMusicContentType {
  817. case catagery
  818. case serach
  819. case page
  820. }
  821. // 视频发布来源场景 1:普通上传 2:创作工具,3:普通上传转创作工具,4:后台转换加工,5:卡点视频制作
  822. public enum videoFromScene: Int {
  823. case UploadNormal = 1 // 普通上传
  824. case UploadMakeVideo = 2 // 创作工具
  825. case UploadNormalToMakeVideo = 3 // 普通上传转创作工具
  826. case server = 4 // 后台转换加工
  827. case stuckPoint = 5 // 卡点视频制作
  828. }
  829. // MARK: - 广告来源渠道
  830. /// 广告来源渠道
  831. public enum adChannel: String {
  832. case wechat // 微信广告
  833. case byteDouce = "pangle" // 穿山甲广告(字节跳动)
  834. case pdd // 多多进宝广告(拼多多)
  835. case gdt = "qq" // 腾讯优量汇
  836. }
  837. // MARK: - 广告类型
  838. /// 广告类型
  839. public enum adType: Int {
  840. case banner = 1 // Banner 广告(即:固定位展示广告)
  841. case drawVideo = 2 // 信息流视频广告
  842. case preMovie = 3 // 贴片广告(场景举例:暂停贴片广告)
  843. case tableScreen = 4 // 插屏广告(场景举例:退出全屏,弹出的插屏广告)
  844. case splash = 5 // 开屏广告
  845. }
  846. // MARK: - 广告投放人群
  847. /// 广告投放人群
  848. public enum adCrowd: Int {
  849. case highCrowd = 1 // 高分享人群
  850. case mediumCrowd = 2 // 中分享人群
  851. case lowCrowd = 3 // 低分享人群
  852. }
  853. // MARK: - 广告内部位置值
  854. /// 广告内部位置值
  855. public enum adPosition: String {
  856. case splashAd // 票圈视频 App 闪屏页广告位
  857. case videoFlowAd // 票圈视频 App 视频流广告位
  858. }
  859. // MARK: - 风格
  860. /// 风格
  861. public enum styleColor: String {
  862. case nomal = "#F1034D" // 票圈红
  863. case green = "#3DC1C1" // 闪音蓝
  864. case red = "#EE0051" // 乐活红
  865. case intrBlue = "#389AFF" // 讲解蓝
  866. }
  867. // MARK: - statusBar
  868. /// statusBar
  869. public enum statusBarStyle {
  870. case light
  871. case dark
  872. }
  873. // 创建不同玩法的类型 (1:跳跃卡点,2:快慢速,3:仅配乐)
  874. public enum createStickersModel: Int {
  875. case createStickersModelPoint = 1 // 跳跃卡点
  876. case createStickersModelSpeed = 2 // 快慢速
  877. case createStickersModelOnlyMusic = 3 // 仅配乐
  878. }
  879. // MARK: - 下载状态
  880. /// 下载状态
  881. public enum downloadState: Int {
  882. case downloading = 0 // 下载中
  883. case compelte = 1 // 下载完成
  884. case error = 2 // 下载失败
  885. case pause = 3 // 暂停下载
  886. case cancel = 4 // 取消下载
  887. }