瑶都万能墙
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

127 lines
3.2 KiB

  1. /**
  2. * 浏览记录配置文件
  3. * 统一管理浏览记录相关的API参数和配置
  4. */
  5. // 浏览记录类型枚举
  6. export const BROWSE_RECORD_TYPE = {
  7. DYNAMIC: 0, // 帖子/动态
  8. RENTAL: 1, // 租房
  9. JOB: 2, // 工作
  10. SCENIC_SPOT: 3, // 景点
  11. GOURMET: 4, // 美食
  12. ACTIVITY: 5, // 活动
  13. CAR_FIND_PERSON: 6, // 人找车
  14. PERSON_FIND_CAR: 7, // 车找人
  15. ARTICLE: 8 // 文章
  16. }
  17. // 浏览记录分类枚举
  18. export const BROWSE_RECORD_CATEGORY = {
  19. BROWSE: 0, // 浏览
  20. LIKE: 1, // 点赞
  21. FORWARD: 2, // 转发
  22. REWARDED_VIDEO: 3, // 激励视频
  23. COVER_AD: 4 // 封面广告
  24. }
  25. // 可视区域检测配置
  26. export const VIEWPORT_CONFIG = {
  27. // 触发阈值(元素可见比例)
  28. THRESHOLD: 0.8,
  29. // 停留时间(毫秒)- 确保用户真正浏览了内容
  30. DWELL_TIME: 1000,
  31. // 参照区域边距
  32. VIEWPORT_MARGINS: {
  33. top: 0,
  34. bottom: 0,
  35. left: 0,
  36. right: 0
  37. }
  38. }
  39. // 浏览记录API参数配置
  40. export const BROWSE_RECORD_CONFIG = {
  41. // 动态列表项浏览记录
  42. DYNAMIC_ITEM: {
  43. type: BROWSE_RECORD_TYPE.DYNAMIC,
  44. category: BROWSE_RECORD_CATEGORY.BROWSE
  45. },
  46. // 租房列表项浏览记录
  47. RENTAL_ITEM: {
  48. type: BROWSE_RECORD_TYPE.RENTAL,
  49. category: BROWSE_RECORD_CATEGORY.BROWSE
  50. },
  51. // 工作列表项浏览记录
  52. JOB_ITEM: {
  53. type: BROWSE_RECORD_TYPE.JOB,
  54. category: BROWSE_RECORD_CATEGORY.BROWSE
  55. },
  56. // 景点列表项浏览记录
  57. SCENIC_SPOT_ITEM: {
  58. type: BROWSE_RECORD_TYPE.SCENIC_SPOT,
  59. category: BROWSE_RECORD_CATEGORY.BROWSE
  60. },
  61. // 美食列表项浏览记录
  62. GOURMET_ITEM: {
  63. type: BROWSE_RECORD_TYPE.GOURMET,
  64. category: BROWSE_RECORD_CATEGORY.BROWSE
  65. },
  66. // 活动列表项浏览记录
  67. ACTIVITY_ITEM: {
  68. type: BROWSE_RECORD_TYPE.ACTIVITY,
  69. category: BROWSE_RECORD_CATEGORY.BROWSE
  70. },
  71. // 人找车列表项浏览记录
  72. CAR_FIND_PERSON_ITEM: {
  73. type: BROWSE_RECORD_TYPE.CAR_FIND_PERSON,
  74. category: BROWSE_RECORD_CATEGORY.BROWSE
  75. },
  76. // 车找人列表项浏览记录
  77. PERSON_FIND_CAR_ITEM: {
  78. type: BROWSE_RECORD_TYPE.PERSON_FIND_CAR,
  79. category: BROWSE_RECORD_CATEGORY.BROWSE
  80. },
  81. // 文章列表项浏览记录
  82. ARTICLE_ITEM: {
  83. type: BROWSE_RECORD_TYPE.ARTICLE,
  84. category: BROWSE_RECORD_CATEGORY.BROWSE
  85. }
  86. }
  87. // 获取浏览记录配置的工具函数
  88. export function getBrowseRecordConfig(itemType) {
  89. const configMap = {
  90. 'dynamic': BROWSE_RECORD_CONFIG.DYNAMIC_ITEM,
  91. 'rental': BROWSE_RECORD_CONFIG.RENTAL_ITEM,
  92. 'job': BROWSE_RECORD_CONFIG.JOB_ITEM,
  93. 'scenicSpot': BROWSE_RECORD_CONFIG.SCENIC_SPOT_ITEM,
  94. 'gourmet': BROWSE_RECORD_CONFIG.GOURMET_ITEM,
  95. 'activity': BROWSE_RECORD_CONFIG.ACTIVITY_ITEM,
  96. 'carFindPerson': BROWSE_RECORD_CONFIG.CAR_FIND_PERSON_ITEM,
  97. 'personFindCar': BROWSE_RECORD_CONFIG.PERSON_FIND_CAR_ITEM,
  98. 'article': BROWSE_RECORD_CONFIG.ARTICLE_ITEM
  99. }
  100. return configMap[itemType] || BROWSE_RECORD_CONFIG.DYNAMIC_ITEM
  101. }
  102. // 创建浏览记录参数的工具函数
  103. export function createBrowseRecordParams(orderId, itemType = 'dynamic') {
  104. const config = getBrowseRecordConfig(itemType)
  105. return {
  106. orderId: orderId,
  107. type: config.type,
  108. category: config.category
  109. }
  110. }