Enums.swift 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814
  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. }
  24. // MARK: - 视频播放状态
  25. /// 视频播放状态
  26. public enum PQVIDEO_PLAY_STATUS {
  27. case PQVIDEO_PLAY_STATUS_LOADING // 加载中
  28. case PQVIDEO_PLAY_STATUS_BEGIN // 开始播放
  29. case PQVIDEO_PLAY_STATUS_END // 播放结束
  30. case PQVIDEO_PLAY_STATUS_DISCONNECT // 重连失败
  31. case PQVIDEO_PLAY_STATUS_NOT_FOUND // 播放文件不存在
  32. case PQVIDEO_PLAY_STATUS_RECONNECT // 重连连接
  33. }
  34. // MARK: - 页面场景
  35. /// 页面场景
  36. public enum PAGESOURCE: String {
  37. /*************** 视频相关pageSource ***************/
  38. case sp_category = "speedApp-category" // 首页-单列
  39. case sp_category_recommend = "speedApp-category_recommend" // 由首页单列右划
  40. case sp_categoryDouble = "speedApp-categoryDouble" // 首页-双列
  41. case sp_videoDetail = "speedApp-videoDetail" // 视频详情页
  42. case sp_videoDetail_search = "speedApp-videoDetail_search" // 由搜索结果列表进入
  43. case sp_videoDetail_search_recommend = "speedApp-videoDetail_search_recommend" // 由搜索结果列表进入
  44. case sp_videoDetail_upload = "speedApp-videoDetail_upload" // 由我的tab中“作品”列表进入
  45. case sp_videoDetail_upload_recommend = "speedApp-videoDetail_upload_recommend" // 、由我的tab中“作品”列表进入
  46. case sp_videoDetail_favorite = "speedApp-videoDetail_favorite" // 由我的喜欢列表进入
  47. case sp_videoDetail_share = "speedApp-videoDetail_share" // 由我的分享列表进入
  48. case sp_videoDetail_favorite_recommend = "speedApp-videoDetail_favorite_recommend" // 由我的喜欢列表推荐
  49. case sp_userHomePage = "speedApp-userHomePage" // 用户个人主页
  50. case sp_videoDetail_userHomePage = "speedApp-videoDetail_userHomePage" // 由用户个人主页进入
  51. case sp_videoDetail_userHomePage_recommend = "speedApp-videoDetail_userHomePage_recommend" // 由用户个人主页进入
  52. case sp_recommendBottom = "speedApp-recommendBottom" // 底部展示的3个相关推荐视频
  53. case sp_follow = "speedApp-follow" // 关注tab
  54. case sp_follow_recommend = "speedApp-follow_recommend" // 由关注列表右划
  55. case sp_followSingle = "speedApp-followSingle" // 关注tab点击顶部个人头像进入某个人的关注
  56. case sp_followSingle_recommend = "speedApp-followSingle_recommend" // 关注tab点击顶部个人头像进入某个人的关注
  57. case sp_mine = "speedApp-mine" // 我的tab
  58. case sp_search = "speedApp-search" // 搜索页
  59. case sp_uploadVideo = "speedApp-uploadVideo" // 视频制作入口
  60. /*************** 活动相关pageSource ***************/
  61. case sp_activity_entranceButton = "speedApp_playActivity_entranceButton" // 活动活动入口按键
  62. case sp_activity_invite = "speedApp_playActivity_invite" // H5页面内邀请好友按键
  63. case sp_activity_threeDot = "speedApp_playActivity_threeDot" // APP右上角…按键
  64. case sp_activity_shareFriend = "speedApp_playActivity_shareFriend" // 进一步点击分享好友
  65. case sp_activity_shareMoment = "speedApp_playActivity_shareMoment" // 进一步点击分享朋友圈
  66. case sp_activity_openH5 = "speedApp_playActivity_completeOpenH5" // 当天完成活动的弹窗->去查看
  67. case sp_activity_openH5AndPayment = "speedApp_playActivity_completeOpenH5AndPayment" // 当天完成活动的弹窗->报名明日
  68. case sp_activity_failOpenH5 = "speedApp_playActivity_missionFailWindowOpenH5" // 未成功弹窗->继续活动
  69. case sp_activity_success_share = "speedApp_playActivity_missionSuccessWindow_share" // 成功弹窗->分享给好友炫耀下
  70. case sp_activity_entrance_close = "speedApp_playActivity_entrance_close" // 活动入口弹窗->关闭按钮
  71. case sp_activity_entranceWindow = "speedApp_playActivity_entranceWindow" // 活动入口弹窗
  72. case sp_activity_successWindow = "speedApp_playActivity_missionSuccessWindow" // 成功弹窗
  73. case sp_activity_failWindow = "speedApp_playActivity_missionFailWindow" // 未成功弹窗
  74. case sp_activity_completeWindow = "speedApp_playActivity_missionCompleteWindow" // 当天完成活动的弹窗
  75. /*************** 上传相关pageSource ***************/
  76. case sp_upload_videoSelect = "speedApp-upload_videoSelect" // 选视频-进入页面事件
  77. case sp_upload_coverSelect = "speedApp-upload_coverSelect" // 选封面-进入页面事件
  78. case sp_upload_videoPublish = "speedApp-upload_videoPublish" // 发布-进入页面事件
  79. /*************** tab点击相关pageSource ***************/
  80. case sp_categoryTabButton = "speedApp-categoryTabButton" // 首页tab
  81. case sp_followTabButton = "speedApp-followTabButton" // 关注tab
  82. case sp_uploadTabButton = "speedApp-uploadTabButton" // 上传tab
  83. case sp_mineTabButton = "speedApp-mineTabButton" // 我的tab
  84. case sp_msg_tabBtn = "speedApp_msgTabButton" // 消息tab
  85. /*************** 发布pageSource ***************/
  86. case sp_videoMaking = "speedApp-videoMaking" // 视频创作
  87. case sp_videoCompose_guid = "speedApp-videoCompose_guid" // 预览页面
  88. case sp_videoCompose_edit = "speedApp-videoCompose_edit" // 编辑页面
  89. case sp_videoCompose_overview = "speedApp-videoCompose_overview" // 总览页面
  90. case sp_videoCompose_composition = "speedApp-videoCompose_composition" // 合成页面
  91. case sp_material_search = "vlog-pages/user-videos-share" // 素材搜索上报
  92. /*************** 消息pageSource ***************/
  93. case sp_msg_shareSpace = "speedApp-message" // 分享空间
  94. case sp_msg_shareSpace_detail = "speedApp-message_shareSpace" // 分享空间详情
  95. case sp_msg_share = "speedApp-message_share" // 分享
  96. case sp_msg_like = "speedApp-message_like" // 喜欢
  97. case sp_msg_fans = "speedApp-message_fans" // 粉丝
  98. case sp_msg_push = "speedApp-message_push" // 通知
  99. /*************** 草稿箱相关pageSource ***************/
  100. case sp_draft_projectList = "speedApp-projectList" // 草稿箱列表
  101. case sp_reproduce_childList = "speedApp-reproduceCollection_child" // 再制作子列表页面
  102. case sp_reproduce_fatherList = "speedApp-reproduceCollection_father" // 再制作父列表页面
  103. case sp_reproduce_chilDetailList = "speedApp-videoDetail_reproduceCollection_child" // 再制作子列表页面
  104. case sp_reproduce_fatherDetailList = "speedApp-videoDetail_reproduceCollection_father" // 再制作父列表页面
  105. // add by ak
  106. case sp_speedApp_upload2Compose = "speedApp-upload2Compose" // 上传转创作
  107. /*************** 卡点视频相关pageSource ***************/
  108. case sp_stuck_selectMaterial = "speedApp-selectSyncedUpMaterial" // 卡点视频素材选择页
  109. case sp_stuck_selectSynceedUpMusic = "speedApp-selectSynceedUpMusic" // 卡点视频音乐选择页
  110. case sp_stuck_previewSyncedUp = "speedApp_previewSyncedUp" // 预览页面曝光上报
  111. case sp_stuck_searchSyncedUpMusic = "speedApp_searchSyncedUpMusic" // 音乐素材搜索页
  112. case sp_stuck_publishSyncedUp = "speedApp_publishSyncedUp" // 合成发布页
  113. //点击上报:首页点击底部“我的”页面入口
  114. case sp_shanyinApp_main = "shanyinApp-main"
  115. //页面曝光上报:“我的”页面曝光
  116. case sp_shanyinApp_mine = "shanyinApp-mine"
  117. }
  118. // MARK: - objectType
  119. /// objectType
  120. public enum objectType: String {
  121. /*************** tab点击相关pageSource ***************/
  122. case ot_home_tabBtn = "speedApp-categoryTabButton" // 首页tab
  123. case ot_follow_tabBtn = "speedApp-followTabButton" // 关注tab
  124. case ot_up_tabBtn = "speedApp-uploadTabButton" // 上传tab
  125. case ot_mine_tabBtn = "speedApp-mineTabButton" // 我的tab
  126. case ot_public_tabBtn = "speedApp-publicTabButton" // 发布tab
  127. case ot_msg_tabBtn = "speedApp_msgTabButton" // 消息tab
  128. /*************** 上传相关objectType ***************/
  129. case ot_up_backBtn = "speedApp-uploadBackButton" // 点击左下角叉子
  130. case ot_up_nextBtn = "speedApp-uploadNextButton" // 点击右下角下一步
  131. case ot_up_coverBtn = "speedApp-uploadCoverButton" // 点击上传封面
  132. case ot_up_pickCoverBtn = "speedApp-pickCoverButton" // 点击截取封面
  133. case ot_up_publishBtn = "speedApp-videoPublishButton" // 点击发布
  134. case ot_up_changeCoverBtn = "speedApp-changeCoverButton" // 点击选封面返回
  135. case ot_up_start = "speedApp-uploadStart" // 上传开始事件
  136. case ot_up_fail = "speedApp-uploadFail" // 上传中断/失败事件
  137. case ot_up_restart = "speedApp-uploadRestart" // 上传重试事件
  138. case ot_up_success = "speedApp-uploadSuccess" // 上传完成
  139. case ot_up_publishSuccess = "speedApp-videoPublishSuccess" // 发布完成
  140. case ot_up_viewPopup_guideUsersToShare = "speedApp_viewPopup_guideUsersToShare_pubishVideo" // 发布成功弹出分享界面
  141. case ot_up_clickWechatMoments_guideUsersToShare = "speedApp_clickWechatMoments_guideUsersToShare_pubishVideo" // 分享介面点击微信朋友圈
  142. case ot_up_clickWechat_guideUsersToShare = "speedApp_clickWechat_guideUsersToShare_pubishVideo"
  143. case ot_selectVideoProductionMode = "speedApp_viewWindow_selectVideoProductionMode"
  144. // 分享界面点击微信好友
  145. /*************** 创作工具相关objectType ***************/
  146. case ot_makevideo_video = "video" // 视频
  147. case ot_makevideo_gif = "gif" // 动态图
  148. case ot_makevideo_jpg = "jpg" // 图片
  149. case ot_enterComposeToolButton = "speedApp_enterComposeToolButton" // 点击上传tab后-点击发布视频 add by ak & 视频合成入口
  150. case ot_enterVideoUploadButton = "speedApp_enterVideoUploadButton" // 点击上传tab后-点击上传视频
  151. case ot_videoCompose_overviewButton = "speedApp_videoCompose_overviewButton" // 点击总览
  152. case ot_videoCompose_videoCompositeButton = "speedApp_videoCompose_videoCompositeButton" // 点击去发布
  153. case ot_videoCompose_videoPublish = "speedApp_videoPublishButton" // 发布视频
  154. case ot_speedApp_searchButton = "speedApp_searchButton" // 发布视频
  155. case ot_pageView = "pageView" // 页面访问
  156. //
  157. // 图文入口
  158. case ot_speedApp_clickButton_imageAndTextGenerateVideo = "speedApp_clickButton_imageAndTextGenerateVideo"
  159. // 电子相册
  160. case ot_speedApp_clickButton_electronicAlbum = "speedApp_clickButton_electronicAlbum"
  161. /*************** 消息相关objectType ***************/
  162. case ot_msg_fansMsgButton = "speedApp_msgTab_fansMsgButton" // 粉丝消息入口
  163. case ot_msg_likeMsgButton = "speedApp_msgTab_likeMsgButton" // 喜欢消息入口
  164. case ot_msg_shareMsgButton = "speedApp_msgTab_shareMsgButton" // 分享消息入口
  165. case ot_msg_commentMsgButton = "speedApp_msgTab_commentMsgButton" // 评论消息入口
  166. case ot_msg_systemMsgButton = "speedApp_msgTab_systemMsgButton" // 通知消息入口
  167. /*************** 消息详情相关objectType ***************/
  168. case ot_msg_shareSpaceViewTab = "speedApp_message_shareSpace_viewTab" // 分享空间详情页观看
  169. case ot_msg_shareSpaceLikeTab = "speedApp_message_shareSpace_likeTab" // 分享空间详情页喜欢
  170. case ot_msg_shareSpaceCommentTab = "speedApp_message_shareSpace_commentTab" // 分享空间详情页评论
  171. case ot_msg_shareSpaceShareTab = "speedApp_message_shareSpace_shareTab" // 分享空间详情页分享
  172. /*************** 草稿箱相关objectType ***************/
  173. case ot_draft_clicktButton = "speedApp_clickOpenProjectListButton" // 草稿箱点击入口
  174. case ot_draft_editProject = "speedApp_editProject" // - 点击 Project Item(草稿箱中的每个项目)
  175. case ot_draft_viewProject = "speedApp_viewProject" // - 看到 Project Item(草稿箱中的每个项目)
  176. case ot_draft_clickEditProject = "speedApp_clickEditProject" // - 点击 Project Item 弹出菜单的「编辑」按钮
  177. case ot_draft_clickPublishProject = "speedApp_clickPublishProject" // - 点击 Project Item 弹出菜单的「去发布」按钮
  178. case ot_draft_clickRenameProject = "speedApp_clickRenameProject" // - 点击 Project Item 弹出菜单的「重命名」按钮
  179. case ot_draft_clickCopyProject = "speedApp_clickCopyProject" // - 点击 Project Item 弹出菜单的「复制」按钮
  180. case ot_draft_clickDeleteProject = "speedApp_clickDeleteProject" // - 点击 Project Item 弹出菜单的「删除」按钮
  181. case ot_draft_uploadMaterial = "speedApp_uploadMaterial" // - 素材开始上传事件
  182. case ot_draft_uploadMatrialSuccess = "speedApp_uploadMatrialSuccess" // - 素材上传成功事件
  183. case ot_draft_downloadMaterial = "speedApp_downloadMaterial" // - 素材开始下载事件
  184. case ot_draft_downloadMaterialSuccess = "speedApp_downloadMaterialSuccess" // - 素材下载成功事件
  185. case ot_videoCompose_mux_complete = "speedApp_videoCompose_mux_complete" // 创作工具「合成成功」添加上报参数
  186. case ot_reproduce_collectionClicButton = "speedApp_clickReproduceButton_collection" // - 再创作集合页的「再创作按钮」
  187. case ot_reproduce_clickButton = "speedApp_clickReProduceButton" // 再创作按钮(右上角)点击上报
  188. case ot_reproduce_collectionBar = "speedApp_clickReproduceCollectionBar" // 再创作按钮(左下角)点击上报
  189. case ot_reproduce_collectionVideo = "speedApp_clickReproduceCollectionVideo" // 再创作集合页的「视频」点击上报
  190. case ot_reproduce_sameSourceButton = "speedApp_viewSameSourceButton" // 再创作查看同款来源按钮
  191. case ot_reproduce_saveProjectToDraftBox = "speedApp-saveProjectToDraftBox" // 创作工具「保存项目成功」添加上报参数
  192. // add by ak
  193. case speedApp_viewWindow_upload2Compose // 「上传转创作」:窗口曝光
  194. case speedApp_clickButton_upload2Compose_addMusic // 「上传转创作」:加音乐 - 按钮点击
  195. case speedApp_clickButton_upload2Compose_addText // 「上传转创作」:加语音 - 按钮点击
  196. case speedApp_clickButton_upload2Compose_addVoice // 「上传转创作」:加语音 - 按钮点击
  197. case speedApp_clickButton_upload2Compose_addCompose // 上传转创作」:加多段拼接 - 按钮点击
  198. case speedApp_clickButton_upload2Compose_processingVideo // 「上传转创作」:加工视频 - 按钮点击
  199. case speedApp_clickButton_upload2Compose_publish // 「上传转创作」:直接发布 - 按钮点击
  200. case speedApp_viewButton_uploadCoverButton // 「发布页」:修改封面 - 按钮曝光
  201. case speedApp_viewButton_uploadCoverTipButton // 修改封面提示 - 按钮曝光
  202. case speedApp_clickButton_uploadCoverButton // 「发布页」:修改封面 - 按钮点击
  203. case speedApp_clickButton_uploadCoverTipButton
  204. case speedApp_viewButton_addMusic // 「创作工具页」:添加音乐 - 按钮曝光
  205. case speedApp_clickButton_addMusic // 「创作工具页」:添加音乐 - 按钮点击
  206. case speedApp_viewButton_addMusicTip // 创作工具页」:添加音乐提示 - 按钮曝光
  207. case speedApp_clickButton_addMusicTip // 「创作工具页」:添加音乐提示 - 按钮点击
  208. /*************** 卡点视频相关objectType ***************/
  209. case ot_click_syncedUpMusic = "speedApp_clickButton_syncedUpMusic" // 弹出面板中点击「卡点视频」按键
  210. case ot_view_selectSyncedUpMaterial = "speedApp_viewWindow_selectSyncedUpMaterial" // 曝光上报:卡点视频素材选择页
  211. case ot_click_confirmMaterial = "speedApp_clickButton_confirmSyncedUpMaterial" // 点击上报:卡点视频素材确认按钮
  212. case ot_click_back = "speedApp_clickButton_back" // 点击上报:返回按钮
  213. case ot_view_selectSyncedUpMusic = "speedApp_viewWindow_selectSyncedUpMusic" // 曝光上报:卡点视频音乐选择页
  214. case ot_view_syncedUpMusic = "speedApp_viewButton_syncedUpMusic" // 曝光上报:音乐素材曝光
  215. case ot_click_auditionMusic = "speedApp_clickButton_auditionMusic" // 点击上报:音乐素材试听
  216. case ot_click_chooseMusic = "speedApp_clickButton_chooseMusic" // 点击上报:选择音乐素材
  217. case ot_click_chooseMusicCategory = "speedApp_clickButton_chooseMusicCategory" // 点击上报:选择音乐分类
  218. case ot_click_chooseMusicCategoryTag = "speedApp_clickButton_chooseMusicCategoryTag" // 点击上报:选择音乐分类下的 TAG
  219. case ot_view_previewSyncedUp = "speedApp_viewWindow_previewSyncedUp" // 曝光上报:预览页面曝光上报
  220. case ot_click_selectMusic = "speedApp_clickButton_selectMusic" // 点击上报:重新选择音乐
  221. case ot_click_selectRhythm = "speedApp_clickButton_selectRhythm" // 点击上报:选择节奏
  222. case ot_click_dragFront = "speedApp_clickButton_dragFront" // 点击上报:拖动拖拽条(左部分)
  223. case ot_click_dragBehind = "speedApp_clickButton_dragBehind" // 点击上报:拖动拖拽条(右部分)
  224. case ot_click_commit = "sppedApp_clickButton_commit" // 点击上报:去合成
  225. case ot_view_searchSyncedUpMusic = "speedApp_viewWindow_searchSyncedUpMusic" // 曝光上报:音乐素材搜索页
  226. case ot_click_searchSyncedUpMusic = "speedApp_clickButton_searchSyncedUpMusic" // 点击上报:用户在搜索框输入文字然后按回车
  227. case ot_view_searchMusic = "speedApp_viewButton_searchMusic" // 曝光上报:搜索结果音乐素材曝光
  228. case ot_click_auditionSearchMusic = "speedApp_clickButton_auditionSearchMusic" // 点击上报:试听音乐素材
  229. case ot_click_chooseSearchMusic = "speedApp_clickButton_chooseSearchMusic" // 点击上报:选择音乐素材
  230. case ot_view_publishSyncedUp = "speedApp_viewWindow_publishSyncedUp" // 曝光上报:窗口曝光
  231. case ot_click_shareWechat = "speedApp_clickButton_shareWechat" // 点击上报:分享微信
  232. case ot_click_shareWechatMoment = "speedApp_clickButton_shareWechatMoment" // 点击上报:分享朋友圈
  233. case ot_click_finished = "speedApp_clickButton_finished" // 点击上报:完成
  234. //闪音点击上报:首页点击底部+
  235. case ot_shanyinApp_clickButton_syncedUpMusic = "shanyinApp_clickButton_syncedUpMusic"
  236. //点击上报:首页点击底部+
  237. //视频播放点击
  238. case ot_shanyinApp_clickButton_syncedUpMusicRecreate = "shanyinApp_clickButton_syncedUpMusicRecreate"
  239. //点击上报:首页点击底部“我的”页面入口
  240. case ot_shanyinApp_clickButton_mineTab = "shanyinApp_clickButton_mineTab"
  241. //页面曝光上报:“我的”页面曝光
  242. case ot_shanyinApp_viewPage_mineTab = "shanyinApp_viewPage_mineTab"
  243. }
  244. // MARK: - 视频上报类型
  245. /// 视频上报类型
  246. public enum businessType: String {
  247. /*************** 视频相关businessType ***************/
  248. case bt_videoView = "videoView" // 视频展示到屏幕,在此APP中 首页中:视频展示但未播放时,用于后端算法相关逻辑 相关推荐:在播放中下部展示出相关推荐的3个视频时,上报这3个视频的videoView。同一次播放下不重复上报3个推荐视频的videoView
  249. case bt_videoPreView = "videoPreView"
  250. case bt_videoPlaySlow = "videoPlaySlow"
  251. case bt_videoPlayError = "videoPlayError" // 播放失败
  252. case bt_aliasBindingError = "aliasBindingError" // 绑定别名失败
  253. case bt_videoPlaySuccessTime = "videoPlaySuccessTime" // 加载时长
  254. case bt_videoPlayException = "videoPlayException"
  255. case bt_videoPlay_normal = "videoPlay"
  256. public enum bt_videoPlay: String {
  257. case bt_videoPlay_userSlideSingle = "userSlideSingle" // 用户在沉浸态下滑动切换视频(极速版、爱电影)
  258. case bt_videoPlay_userClickCover = "userClickCover" // 用户点击封面播放
  259. case bt_videoPlay_userSlideList = "userSlideList" // 用户在列表中滑动停止导致的播放
  260. case bt_videoPlay_autoNext = "autoNext" // 自动播放下一个视频
  261. case bt_videoPlay_autoStart = "autoStart" // 1、启动后自动播第一个视频 2、播放器出问题导致重新播放 3、别的页面返回之前的页面播放
  262. }
  263. case bt_videoShareH5 = "videoShareH5" // 点击分享朋友圈按键
  264. case bt_videoShareFriend = "videoShareFriend" // 点击分享好友按键
  265. case bt_videoSemiRealPlay = "videoSemiRealPlay" // 视频播放到10s时上报
  266. case bt_videoRealPlay = "videoRealPlay" // 视频播放到20s或播放到总时长30%,哪个先到为准
  267. case bt_videoPlaySuccess = "videoPlaySuccess" // 视频缓冲完成开始播放
  268. case bt_videoPlayEnd = "videoPlayEnd" // 视频播放到总时长100%
  269. case bt_videoFavorite = "videoFavorite" // 视频喜欢的上报
  270. case bt_videoEnterUser = "videoEnterUserHomepage" // 在视频页点击 Up 主头像进入个人主页
  271. case bt_videoSwipeRight = "videoSwipeRight" // 右滑查看视频的相关推荐
  272. case bt_videoEnterRecom = "videoEnterRecomendation" // 点击视频的相关推荐
  273. /*************** 活动相关businessType ***************/
  274. case bt_buttonClick = "buttonClick" // 按键点击
  275. case bt_buttonView = "buttonView" // 按键曝光
  276. case bt_windowView = "windowView" // 弹窗曝光
  277. case bt_autoJump = "autoJump" // 自动跳转
  278. case bt_pageView = "pageView" // 页面访问
  279. /*************** 供给稳定性相关businessType ***************/
  280. case bt_fetchSlow = "FetchSlow" // 拉取卡顿率
  281. case bt_fetchFail = "FetchFail" // 拉取失败率
  282. case bt_fetchDuration = "FetchDuration" // 拉取时长
  283. case bt_dnsParseCostTime = "dnsParseCostTime" // DNS上报 "speed.piaoquantv.com", "rescdn.yishihui.com"
  284. /*************** 上传相关businessType ***************/
  285. case bt_up_process = "videoUploadProcess" // 上传开始事件
  286. case bt_publish_error = "publishError" // 发布失败
  287. case bt_publish_success = "publishSuccess" // 发布成功
  288. /*************** 创作工具相关businessType ***************/
  289. case bt_makeVideos = "makeVideos" // 创作视频
  290. case bt_materialView = "materialView" // 素材曝光
  291. case bt_materialUse = "materialUse" // 用户选取
  292. case bt_materialCompose = "materialCompose" // 素材合成
  293. /*************** 消息相关businessType ***************/
  294. case bt_draft_downloadMaterialSuccess = "downloadMaterialSuccess" // 素材下载成功事件
  295. case bt_draft_downloadMaterial = "downloadMaterial" // - 素材开始下载事件
  296. case bt_draft_uploadMaterialSuccess = "uploadMaterialSuccess" // - 素材上传成功事件
  297. case bt_draft_uploadMaterial = "uploadMaterial" // - 素材开始上传事件
  298. case bt_videoCompose_muxAction = "muxAction" // 创作工具「合成成功」添加上报参数
  299. /*************** 广告相关businessType ***************/
  300. case bt_ad_request = "adRequest" // 客户端请求广告
  301. case bt_ad_loaded = "adLoaded" // 客户端广告加载成功
  302. case bt_ad_view = "adView" // 广告展示到屏幕
  303. case bt_ad_click = "adClick" // 广告被点击
  304. case bt_ad_loadedError = "adLoadedError" // 客户端广告加载失败-非需求
  305. case bt_ad_close = "adClose" // 广告被关闭-非需求
  306. case bt_ad_configRequest = "adConfigRequest" // 客户端请求广告配置
  307. case bt_ad_configLoaded = "adConfigLoaded" // 客户端请求广告配置成功
  308. }
  309. // MARK: - autoType 自动动作的类型
  310. /// autoType 自动动作的类型
  311. public enum autoType: Int {
  312. case AUTO_TYPE_SCROLL_VERTICAL_DOWN = 11 // 用户手动下划触发播放(播上一个视频)
  313. case AUTO_TYPE_SCROLL_VERTICAL_UP = 12 // 用户手动上划触发播放(播下一个视频)
  314. case AUTO_TYPE_SCROLL_HORIZON_RIGHT = 13 // 用户手动右划触发播放
  315. case AUTO_TYPE_SCROLL_HORIZON_LEFT = 14 // 用户手动左划触发播放
  316. case AUTO_TYPE_ENTER_DETAIL = 15 // 用户手动点击(进详情页)触发播放
  317. case AUTO_TYPE_ENTER_APP = 21 // 打开APP自动播放的第一个
  318. case AUTO_TYPE_NEXT_AFTER_COMPLETE = 22 // 用户播放完一个视频后自动触发播放相关推荐视频
  319. case AUTO_TYPE_BACKEND_RESUME = 23 // 后台唤醒app,如果播放器挂了,重新播放、在别的页面播放过视频再回来之前的页面播放
  320. case AUTO_TYPE_REFRESH_LIST = 24 // 首页下拉刷新,自动播的第一个
  321. case AUTO_TYPE_CLICK_RECOMMEND = 25 // 点击推荐视频播放
  322. case AUTO_TYPE_CLICK_DOUBLE = 26 // 双列点击视频进入单列播放
  323. }
  324. // MARK: - 消息动作:表示该条日志属于某条消息生命周期的哪个漏斗环节
  325. /// 消息动作:表示该条日志属于某条消息生命周期的哪个漏斗环节
  326. public enum actionType: String {
  327. case at_msg_backendReturn = "backendReturn" // 后端将消息返回给客户端
  328. case at_msg_frontendPull = "frontendPull" // 客户端获取到
  329. case at_msg_view = "view" // 在客户端消息被滑动展示在屏幕上
  330. case at_msg_click = "click" // 用户点击消息
  331. }
  332. // MARK: - 消息类型
  333. /// 消息类型
  334. public enum messageType: Int {
  335. case mt_nomal = 0 // 未知消息
  336. case mt_fans = 1 // 粉丝消息
  337. case mt_like = 2 // 喜欢/赞
  338. case mt_share = 3 // 分享消息
  339. case mt_comment = 4 // 评论消息
  340. case mt_notification = 5 // 通知消息
  341. case mt_share_dynamics = 6 // 分享动态消息
  342. /*** 自定义添加不涉及正式消息类型 ***/
  343. case mt_badgeNumber = 1001 // 显示消息个数cell
  344. }
  345. /// 分享空间二级界面数据请求类型 1,观看 2,分享,3,喜欢 4, 评论
  346. public enum sharePageType: Int {
  347. case share_page_play = 1 // 分享空间-播放列表
  348. case share_page_share = 2 // 分享空间-分享列表
  349. case share_page_favorite = 3 // 分享空间-收藏列表
  350. case share_page_commnet = 4 // 分享空间-评论列表
  351. }
  352. // MARK: - 消息子类型
  353. /// 消息子类型
  354. public enum messageSubType: Int {
  355. case mtsub_nomal = 0 // 未知消息
  356. case mtsub_fansAtt = 101 // 粉丝-关注
  357. case mtsub_fansSbs = 102 // 粉丝-订阅
  358. case mtsub_likeColl = 201 // 喜欢-收藏视频
  359. case mtsube_likePrai = 202 // 喜欢-评论点赞
  360. case mtsub_shareWechat = 301 // 分享-微信会话
  361. case mtsub_shareFriend = 302 // 分享-微信朋友圈
  362. case mtsub_comment = 401 // 评论一级评论
  363. case mtsub_commentSub = 402 // 评论二级评论
  364. case mtsub_pushSucc = 501 // 通知-发布成功
  365. case mtsub_pushNoPass = 502 // 通知-审核不通过
  366. case mtsub_pushFixing = 503 // 通知-审核待修改
  367. case mtsub_pushTransFail = 504 // 通知-转码失败
  368. case mtsub_pushVideoRecom = 505 // 通知视频推荐
  369. case mtsub_pushAccForbi = 506 // 通知-账号封禁
  370. case mtsub_pushAccUnban = 507 // 通知-账号解封
  371. case mtsub_pushIncStart = 508 // 通知-激励开始
  372. case mtsub_pushIncEnd = 509 // 通知-激励结束
  373. case mtsub_pushIncRupt = 510 // 通知-激励中断
  374. case mtsub_shareSpace = 601 // 分享空间-分享
  375. case mtsub_shareSpLike = 602 // 分享空间-喜欢
  376. case mtsub_shareSpComm = 603 // 分享空间-评论
  377. case mtsub_shareSpPlay = 604 // 分享空间-播放
  378. case mtsub_shareSpMerge = 605 // 分享空间-外层合并消息(与业务逻辑无关,埋点上报使用)
  379. }
  380. // MARK: - 埋点上报消息类型(暂未统一)
  381. /// 埋点上报消息类型(暂未统一)
  382. public enum messagePointType: Int {
  383. case mt_point_nomal = 0 // 未知消息
  384. case mt_point_fans = 1 // 粉丝消息
  385. case mt_point_praise = 2 // 赞
  386. case mt_point_barrage = 3 // 弹幕消息
  387. case mt_point_comment = 4 // 评论消息
  388. case mt_point_share = 5 // 分享消息
  389. case mt_point_collect = 6 // 收藏消息
  390. case mt_point_notification = 7 // 通知消息
  391. case mt_point_operative = 8 // 运营消息
  392. case mt_point_dynamics = 1000 // 分享动态消息
  393. }
  394. // MARK: - 日志库类型
  395. /// 日志库类型
  396. public enum statisticsLogType: Int {
  397. case st_log_type_abtestinfo = 10 // abtestinfo-Log ABTEST的 dlog Store
  398. case st_log_type_operation = 20 // operation-Log 漏斗模型的相关上报
  399. case st_log_type_simpleevent = 30 // simpleevent-Log 独立事件的相关上报
  400. case st_log_type_frontend = 40 // frontend-Log 前端调试日志
  401. case st_log_type_pLayaction = 50 // pLayaction-Log 播放行为日志上报
  402. case st_log_type_useractive = 60 // useractive-Log 用户活跃日志上报
  403. case st_log_type_videoPlayTracking = 70 // video-play-tracking 视频播放行为跟踪
  404. case st_log_type_proauceSearch = 80 // proauce-search-log 素材搜索日志上报
  405. case st_log_type_videoCompose = 90 // video-compose-log 创作工具素材搜索日志上报
  406. case st_log_type_location = 100 // user-location-log 位置信息日志上报
  407. case st_log_type_videoProduction = 110 // video-production-log 创作工具埋点日志上报
  408. case st_log_type_adAction = 120 // ad-action-log 广告埋点日志上报
  409. }
  410. // MARK: - 冷启动方式
  411. /// coldLaunchType // 冷启动方式。若为热启动,则不用上报该字段
  412. public enum coldLaunchType: String {
  413. case coldLaunchType_userActiveOpen = "userActiveOpen" // 用户主动打开
  414. case coldLaunchType_appRecall = "appRecall" // 其它APP唤起,包括H5应用宝唤起
  415. case coldLaunchType_pushRecall = "pushRecall" // 推送唤起
  416. }
  417. // MARK: - 上报日志类型
  418. /// 上报日志类型
  419. public enum reportLogType {
  420. case reportLogType_view // 显示页面
  421. case reportLogType_realPlay // 真实播放 视频播放到20s或播放到总时长30%,哪个先到为准
  422. case reportLogType_play // 记录播放的视频
  423. case reportLogType_Action // 上报视频动作记录
  424. case reportLogType_Frontend // 通用上报
  425. }
  426. // MARK: - 底部tab
  427. /// 底部tab
  428. public enum TAB_PAGETYPE: String {
  429. case TAB_PAGETYPE_NORMAL = "nomalTab" // 默认
  430. case TAB_PAGETYPE_RECOMM = "categoryTab" // 推荐
  431. case TAB_PAGETYPE_ATTEN = "followTab" // 关注
  432. case TAB_PAGETYPE_PUBLISH = "publishTab" // 发布
  433. case TAB_PAGETYPE_MESSAGE = "messageTab" // 消息
  434. case TAB_PAGETYPE_MINE = "mineTab" // 我的
  435. }
  436. // MARK: - 刷新控件类型
  437. /// 刷新控件类型
  438. public enum REFRESH_TYPE {
  439. case REFRESH_TYPE_ALL // 推荐
  440. case REFRESH_TYPE_HEADER // 头部
  441. case REFRESH_TYPE_FOOTER // 尾部
  442. }
  443. // MARK: - 刷新控件类型
  444. /// 刷新控件类型
  445. public enum moveDirection {
  446. case moveDirectionNormal
  447. case moveDirectionUp
  448. case moveDirectionDown
  449. case moveDirectionRight
  450. case moveDirectionLeft
  451. }
  452. // MARK: - 关注跟粉丝cell类型
  453. /// 关注跟粉丝cell类型
  454. public enum atttendAndFansCellType {
  455. case cellType_attend // 关注
  456. case cellType_fans // 粉丝
  457. case cellType_banned // 黑名单
  458. }
  459. // MARK: - 视频全屏播放操作类型
  460. /// 视频全屏播放操作类型
  461. public enum fullScreenActionType {
  462. case volume // 声音
  463. case brightness // 亮度
  464. case progress // 进度
  465. }
  466. // MARK: - 活动提示页类型
  467. /// 活动提示页类型
  468. public enum activityRemindType {
  469. case nomal //
  470. case newUser // 新用户专享
  471. case yesterDay_finish // 昨日已完成
  472. case yesterDay_unfinish // 昨日未完成
  473. case today_finish // 今日任务已完成
  474. }
  475. // MARK: - 制作工具素材搜索msgType
  476. /// 制作工具素材搜索msgType
  477. public enum material_msgType: String {
  478. case all = "ALL_SEARCH_EVENT" // 搜索所有
  479. case image = "IMAGE_SEARCH_EVENT" // 图片搜索
  480. case video = "VIDEO_SEARCH_EVENT" // 视频搜索
  481. case gif = "GIF_SEARCH_EVENT" // 动图搜索
  482. case recommend_image = "IMAGE_RECOMMEND_EVENT" // 图片推荐搜索
  483. case recommend_video = "VIDEO_RECOMMEND_EVENT" // 视频推荐搜索
  484. case recommend_gif = "GIF_RECOMMEND_EVENT" // 动图推荐搜索
  485. }
  486. // 画布类型
  487. public enum videoCanvasType: Int {
  488. case origin = 1 // 原始
  489. case nineToSixteen = 2 // 9:16
  490. case oneToOne = 3 // 1:1
  491. case sixteenToNine = 4 // 16:9
  492. }
  493. /// 贴纸类型
  494. public enum StickerType: String {
  495. case UNKONW = "unknow"
  496. case IMAGE = "image" // 图片
  497. case VIDEO = "video" // 视频
  498. case GIF = "gif" // gif动图
  499. case VOICE = "voice" // 声音
  500. case FILE = "file" // 文件
  501. case SUBTITLE = "subtitle" // 字幕
  502. /// 获取index
  503. /// - Returns: description
  504. public func index() -> Int {
  505. var fileType: Int = 0
  506. switch self {
  507. case .IMAGE:
  508. fileType = 1
  509. case .VIDEO:
  510. fileType = 2
  511. case .VOICE:
  512. fileType = 3
  513. case .FILE:
  514. fileType = 4
  515. case .GIF:
  516. fileType = 5
  517. case .SUBTITLE:
  518. fileType = 6
  519. default:
  520. fileType = 0
  521. }
  522. return fileType
  523. }
  524. /// 媒体类型
  525. /// - Returns: <#description#>
  526. public func mimeType() -> String {
  527. var mimeType: String = "application/octet-stream"
  528. switch self {
  529. case .IMAGE:
  530. mimeType = "image/jpeg"
  531. case .VIDEO:
  532. mimeType = "video/mpeg"
  533. case .VOICE:
  534. mimeType = "audio/mpeg"
  535. case .FILE:
  536. mimeType = "application/octet-stream"
  537. case .GIF:
  538. mimeType = "image/gif"
  539. default:
  540. mimeType = "application/octet-stream"
  541. }
  542. return mimeType
  543. }
  544. public func pathExtension() -> String {
  545. var pathExtension: String = ""
  546. switch self {
  547. case .IMAGE:
  548. pathExtension = "png"
  549. case .VIDEO:
  550. pathExtension = "mp4"
  551. case .VOICE:
  552. pathExtension = "mp3"
  553. case .FILE:
  554. pathExtension = ""
  555. case .GIF:
  556. pathExtension = "gif"
  557. default:
  558. break
  559. }
  560. return pathExtension
  561. }
  562. }
  563. // MARK: - 贴纸裁剪方式
  564. /// 贴纸裁剪方式
  565. public enum stickerContentModeDef: Int {
  566. case aspectFit = 0 // 自适应
  567. case aspectFill = 1 // 铺满
  568. }
  569. /// 贴纸裁剪方式 add by ak v2
  570. public enum stickerContentMode: String {
  571. case aspectFitStr = "complete" // 完整显示(有黑边)
  572. case aspectFillStr = "full" // 铺满
  573. }
  574. // MARK: - 适配模式
  575. /// 适配模式
  576. public enum adapterModeDef: Int {
  577. case speedyAuto = 0 // 快速自适应
  578. case loopAuto = 1 // 自动循环
  579. case crop = 2 // 定帧/裁剪
  580. }
  581. /// 适配模式 add by ak v2
  582. public enum adapterMode: String {
  583. case multiple // 快速自适应
  584. case loopAuto = "loop" // 自动循环
  585. case staticFrame // 定帧/裁剪
  586. }
  587. // MARK: - 上传视频类型
  588. /// 上传视频类型
  589. public enum videoUploadSourceType: String {
  590. case videoUpload // 上传
  591. case videoCompose // 合成制作
  592. case videoUploadToCompose // 上传转合成制作
  593. }
  594. // MARK: - 进入创作工具入口
  595. /// 素材上传、保存、收藏相关
  596. public enum videoMakeEntranceType: String {
  597. case entranceMineTabDraft = "draft_metab" // 我的Tab -> 草稿箱列表 -> 创作工具
  598. case entrancePublicTabDraft = "draft_uploadpopup" // 发布Tab -> 草稿箱列表 -> 创作工具
  599. case entrancePublicTabCompose = "composeVideo" // 发布Tab -> 视频合成 -> 创作工具
  600. case entrancePublicTabImageText = "imageTextGenerate" // 发布Tab -> 图文生成视频 -> 创作工具
  601. case entrancePublicTabAlbum = "electronicAlbum" // 发布Tab -> 电子相册 -> 创作工具
  602. case entranceReproduction = "reproduction" // 视频详情 -> 做同款 -> 创作工具
  603. case entrancePublicTabUpload = "upload" // 发布Tab -> 上传视频 -> 直接发布
  604. // add by ak
  605. case entranceUpload2compose = "upload2compose" // 发布Tab -> 上传视频 -> 加工视频 -> 创作工具
  606. case entranceStuckPointPublic = "syncedUpVideo" // 卡点视频发布
  607. // * 新添加-自定义
  608. case entrancePublicTabAddMusic = "addMusic" // 发布Tab -> 上传视频 -> 加音乐 -> 创作工具
  609. case entrancePublicTabAddSubtitle = "addSubtitle" // 发布Tab -> 上传视频 -> 加字幕 -> 创作工具
  610. case entrancePublicTabAddVoice = "addVoice" // 发布Tab -> 上传视频 -> 加语音 -> 创作工具
  611. case entrancePublicTabAddSection = "addSection" // 发布Tab -> 上传视频 -> 多段拼接 -> 创作工具
  612. }
  613. // MARK: - 段落类型
  614. /// 段落类型
  615. public enum sectionType: String {
  616. case normal // 普通段
  617. case global // 全局段
  618. }
  619. // MARK: - 音乐类型
  620. /// 音乐类型
  621. public enum VOICETYPT: String {
  622. case PRODUCE = "produce" // 合成语音
  623. case BGM = "bgm" // 背景音乐
  624. case SPEECH = "speech" // 录音
  625. case LOCAL = "local" // 导入文件
  626. }
  627. // MARK: - 输入框状态B
  628. /// 输入框状态
  629. public enum inputStatus {
  630. case normal // 写故事,可智能配音,自动生成字幕
  631. case inputing // 输入中
  632. case recording // 语音识别成文字中…
  633. case recordEmpty // 录音未识别到文字,点此输入
  634. case recordError // 获取录音文字失败,请重试
  635. case recordSuccess // 获取录音文字成功
  636. }
  637. // MARK: - 画面比例
  638. /// 画面比例
  639. public enum aspectRatio {
  640. case origin(width: CGFloat, height: CGFloat) // 原始
  641. case oneToOne // 1:1
  642. case sixteenToNine // 16:9
  643. case nineToSixteen // 9:16
  644. }
  645. // MARK: - 卡点视频音乐页面类型
  646. /// 卡点视频音乐页面类型
  647. public enum stuckPointMusicContentType {
  648. case catagery
  649. case serach
  650. case page
  651. }
  652. // 视频发布来源场景 1:普通上传 2:创作工具,3:普通上传转创作工具,4:后台转换加工,5:卡点视频制作
  653. public enum videoFromScene: Int {
  654. case UploadNormal = 1 // 普通上传
  655. case UploadMakeVideo = 2 // 创作工具
  656. case UploadNormalToMakeVideo = 3 // 普通上传转创作工具
  657. case server = 4 // 后台转换加工
  658. case stuckPoint = 5 // 卡点视频制作
  659. }
  660. // MARK: - 广告来源渠道
  661. /// 广告来源渠道
  662. public enum adChannel: String {
  663. case wechat // 微信广告
  664. case byteDouce = "pangle" // 穿山甲广告(字节跳动)
  665. case pdd // 多多进宝广告(拼多多)
  666. case gdt = "qq" // 腾讯优量汇
  667. }
  668. // MARK: - 广告类型
  669. /// 广告类型
  670. public enum adType: Int {
  671. case banner = 1 // Banner 广告(即:固定位展示广告)
  672. case drawVideo = 2 // 信息流视频广告
  673. case preMovie = 3 // 贴片广告(场景举例:暂停贴片广告)
  674. case tableScreen = 4 // 插屏广告(场景举例:退出全屏,弹出的插屏广告)
  675. case splash = 5 // 开屏广告
  676. }
  677. // MARK: - 广告投放人群
  678. /// 广告投放人群
  679. public enum adCrowd: Int {
  680. case highCrowd = 1 // 高分享人群
  681. case mediumCrowd = 2 // 中分享人群
  682. case lowCrowd = 3 // 低分享人群
  683. }
  684. // MARK: - 广告内部位置值
  685. /// 广告内部位置值
  686. public enum adPosition: String {
  687. case splashAd // 票圈视频 App 闪屏页广告位
  688. case videoFlowAd // 票圈视频 App 视频流广告位
  689. }
  690. // MARK: - 风格
  691. /// 风格
  692. public enum styleColor: String {
  693. case nomal = "#F1034D"
  694. case green = "#3DC1C1"
  695. case red = "#EE0051"
  696. }
  697. // MARK: - statusBar
  698. /// statusBar
  699. public enum statusBarStyle {
  700. case light
  701. case dark
  702. }