cmSysMixins.js 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // 统计数据
  2. import Vue from 'vue'
  3. const defaultParams = {
  4. pagePath: '', //页面路径
  5. accessDuration: 0, //浏览时长初始值为 0
  6. pageType: '', //页面类型
  7. pageLabel: '', //页面标签
  8. userId: 0, //用户Id
  9. productId: 0 //商品Id
  10. }
  11. const cmSysMixins = {
  12. data() {
  13. return {
  14. cmSysParams:Object.assign({}, defaultParams),
  15. clearTimeSet: null,
  16. enterTime:null,
  17. outTime:null
  18. }
  19. },
  20. onLoad() {
  21. let that = this
  22. // this.cmSysVitaSetTime() // 页面加载完成后开始计时
  23. // uni.addInterceptor('navigateTo', { //监听跳转
  24. // success(e) {
  25. // console.log('navigateTo============')
  26. // that.cmSysVitaMixins()
  27. // }
  28. // })
  29. // uni.addInterceptor('redirectTo', { //监听关闭本页面跳转
  30. // success(e) {
  31. // console.log('redirectTo============')
  32. // that.cmSysVitaMixins()
  33. // }
  34. // })
  35. // uni.addInterceptor('switchTab', { //监听tabBar跳转
  36. // success(e) {
  37. // console.log('switchTab============')
  38. // that.cmSysVitaMixins()
  39. // }
  40. // })
  41. // uni.addInterceptor('navigateBack', { //监听tabBar跳转
  42. // success(e) {
  43. // console.log('navigateBack============')
  44. // that.cmSysVitaMixins()
  45. // }
  46. // })
  47. },
  48. methods: {
  49. async cmSysVitaSetTime() {
  50. //设置定时器
  51. const userInfo = await this.$api.getStorage()
  52. const pages = getCurrentPages()
  53. const currentPage = pages[pages.length - 1]
  54. this.cmSysParams.pagePath = `/${currentPage.route}`
  55. this.cmSysParams.userId = userInfo ? userInfo.userId : 0
  56. this.clearTimeSet = setInterval(() => {
  57. this.cmSysParams.accessDuration++
  58. }, 1000)
  59. },
  60. cmSysVitaMixins() { // 上送后台接口,将浏览时长等信息传到后台,离开当前路由后调用
  61. console.log(`页面路径:${this.cmSysParams.pagePath}`, `停留:${this.cmSysParams.accessDuration}s`,
  62. `标签:${this.cmSysParams.pageLabel}`)
  63. console.log('上送用户参数', this.cmSysParams)
  64. // this.userRecordStatistics(this.cmSysParams)
  65. this.cmSysParams = Object.assign({}, defaultParams)
  66. clearInterval(this.clearTimeSet) // 离开页面后清除定时器
  67. },
  68. userRecordStatistics(cmSysParams){// 上送用户行为记录接口
  69. this.UserService.userRecordStatistics(cmSysParams)
  70. .then(response => {
  71. console.log('<-------上送用户行为记录成功------>')
  72. })
  73. .catch(error => {
  74. console.log('<-------上送用户行为记录异常------>')
  75. })
  76. },
  77. // onHide(){
  78. // this.cmSysVitaMixins()
  79. // },
  80. // onUnload(){
  81. // this.cmSysVitaMixins()
  82. // }
  83. }
  84. }
  85. export default cmSysMixins