123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- // 统计Ross 用户
- import Vue from 'vue'
- import { includeList , roosConfig } from './router.config.js' // 配置信息
- // 参数
- const defaultParams = {
- accessClient: 1, // 来源 0 网站 1 小程序
- pagePath: '', //页面路径
- accessDuration: 0, //浏览时长初始值为 0
- pageType: '', //页面类型
- pageLabel: '', //页面标签
- userId: 0, //用户Id
- productId: 0, //商品Id
- shopId: 0, //供应商Id
- behaviorType: 1 // 统计类型
- }
- const cmSrsMixins = {
- data() {
- return {
- handleProsId: 0,
- handleShopId: 0,
- handleProsKey: '',
- handleShopKey: '',
- showRossHtml: false,
- isDisabled: true
- }
- },
- methods: {
- checkedIsRossSet() {
- if (roosConfig.productIdList.includes(this.handleProsId * 1) ||
- roosConfig.shopIds.includes(this.handleShopId * 1) ||
- roosConfig.keyWords.includes(this.handleProsKey) ||
- roosConfig.shopKeyWords.includes(this.handleShopKey)
- ) {
- uni.setStorageSync('behaviorType', 2)
- this.setingSysParams()
- if (!this.hasLogin) {
- this.userInformationIsClick()
- }
- }else{
- this.setingSysParams()
- }
- },
- // 接口参数设置
- async setingSysParams(){
- const sysParams = Object.assign({}, defaultParams)
- const userSync = uni.getStorageSync('userInfo')
- const route = this.getPath()
- const pageData = this.isIncludeType(route.path)
- // 协销不记录
- if (userSync.userIdentity === 1) return
- // 参数设置
- sysParams.userId = userSync.userId ? userSync.userId : 0
- sysParams.pagePath = route.fullPath
- sysParams.pageType = pageData ? pageData.pageType : ''
- sysParams.behaviorType = uni.getStorageSync('behaviorType') ? uni.getStorageSync('behaviorType') : 1
- // 根据path获取不同的参数
- if (route.path === '/pages/supplier/user/my-shop') {
- sysParams.shopId = route.query.shopId ? route.query.shopId : 0
- }
- if (route.path === '/pages/goods/product') {
- sysParams.productId = route.query.id ? route.query.id : 0
- sysParams.pageLabel = uni.getStorageSync('productLabel')
- } else {
- sysParams.pageLabel = uni.getStorageSync('pageLabel') ? uni.getStorageSync('pageLabel') : pageData.pageLabel
- }
- console.log('记录路径:', sysParams.pagePath, '标签:', sysParams.pageLabel)
- // 统计接口调用
- this.userRecordStatistics(sysParams)
- console.log('---用户行为轨迹记录成功---')
- },
- userRecordStatistics(params){
- // 上送
- this.UserService.userRecordStatistics(params)
- .then(response => {
- console.log('---用户行为轨迹记录成功---')
- uni.removeStorageSync('pageLabel')
- uni.removeStorageSync('behaviorType')
- })
- .catch(error => {
- console.log('---用户行为轨迹记录失败---')
- })
- },
- userInformationIsClick() {
- // 查看用户是否有过弹框游客当天是否有过弹框
- this.UserService.userInformationIsClick()
- .then(response => {
- if (response.data) {
- setTimeout(() => {
- this.showRossHtml = true
- }, 5000)
- }
- })
- .catch(error => {
- console.log('查询失败~')
- })
- },
- isIncludeType(url){
- // 校验返回页面类型
- if (!url) return false
- return includeList.find(item => url === item.url)
- },
- getPath(){
- // 获取路径
- const pages = getCurrentPages()
- const len = pages.length
- const page = pages[len - 1]
- const route = { path: '/' + page.route, fullPath: page.$page.fullPath, query: page.options, meta: {} }
- return route
- }
- }
- }
- export default cmSrsMixins
|