// 统计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