Commit fc1c0286 authored by 俞嘉婷's avatar 俞嘉婷

feat: 神策埋点

parent 9b3b1dff
......@@ -70,7 +70,7 @@
return search.length ? matched && matched[2] : null;
}
// CFG.activityName = "寻找剧中人活动";
CFG.activityName = "官微-25年活动图鉴";
CFG.channel = getUrlParam("sourceFrom") || sessionStorage.getItem("channel");
CFG.channel && sessionStorage.setItem("channel", CFG.channel);
......
......@@ -77,7 +77,7 @@
return search.length ? matched && matched[2] : null;
}
// CFG.activityName = "寻找剧中人活动";
CFG.activityName = "官微-25年活动图鉴";
CFG.channel = getUrlParam("sourceFrom") || sessionStorage.getItem("channel");
CFG.channel && sessionStorage.setItem("channel", CFG.channel);
......
......@@ -142,5 +142,36 @@ export const homeJs = [
}
}
}
},
{
url: '/dbcpic-nj-api/app/activity/userInfo', //请求地址
response: () => {
return {
"ok": true,
"code": 200,
"msg": 'nodano',
"timestamp": +new Date(),
"data": {
"empNp": "empNp",
"nickname": "nickname",
"customLevel": "customLevel",
"memberAttribution": "memberAttribution",
"programLogin": "programLogin",
"subscribeFlg": "subscribeFlg",
"officerOrEmp": "officerOrEmp",
"phone": "phone",
"miniOpenid": "miniOpenid",
"unionid": "unionid",
"province": "province",
"sex": "sex",
"age": "age",
"userLevel": "userLevel",
"avatar": "avatar",
"shareEmpno": "shareEmpno",
"empNo": "empNo",
"customId": "customId"
}
}
}
}
]
\ No newline at end of file
......@@ -43,4 +43,13 @@ export const prizeRecordsApi = (data) => {
url: '/dbcpic-api/app/activity/prizeRecords',
data
})
}
// 埋点通用信息
export const userInfoApi = (data) => {
return request({
method: 'get',
url: '/dbcpic-nj-api/app/activity/userInfo',
data
})
}
\ No newline at end of file
......@@ -11,13 +11,19 @@ class LightEndPop extends Component {
}
componentDidMount() {
sensorMdExpouse("xcxPopupExpouse", { pageName: `点亮勋章弹窗` })
sensorMdExpouse("PopupExpouse", { pageName: `活动展区活动结束弹窗` })
}
handleClose() {
sensorMdClick("xcxPopupClick", { pageName: `点亮勋章弹窗`, buttonName: '继续评估' })
sensorMdClick("PopupClick", { pageName: `活动展区活动结束弹窗`, buttonName: '关闭' })
modalStore.closePop("LightEndPop")
}
handleKnow = _asyncThrottle(() => {
sensorMdClick("PopupClick", { pageName: `活动展区活动结束弹窗`, buttonName: '我知道了' })
modalStore.closePop("LightEndPop")
})
render() {
const { lightEndPop, common } = skinStore
const { bg, know_btn } = lightEndPop
......@@ -28,7 +34,7 @@ class LightEndPop extends Component {
<div className="title">该展品活动已经结束啦</div>
<div className="desc">快去看看其他展品进行点亮吧!</div>
<span className="close" onClick={this.handleClose} style={{ backgroundImage: `url(${close})` }} />
<span className="know_btn" onClick={this.handleClose} style={{ backgroundImage: `url(${know_btn})` }} />
<span className="know_btn" onClick={this.handleKnow} style={{ backgroundImage: `url(${know_btn})` }} />
</div>
}
}
......
......@@ -3,7 +3,6 @@ import './lightGreyPop.less';
import { observer } from 'mobx-react';
import store from '../../store';
import modalStore from '../../store/modal';
import { sensorMdClick, sensorMdExpouse } from '../../utils/sensorMd';
import skinStore from '../../store/newSkin';
import { SvgaPlayer } from '../SvgaPlayer';
import { _asyncThrottle } from '../../utils/utils';
......@@ -14,16 +13,13 @@ class LightGreyPop extends Component {
}
componentDidMount() {
sensorMdExpouse("xcxPopupExpouse", { pageName: `点亮勋章弹窗` })
}
handleClose() {
sensorMdClick("xcxPopupClick", { pageName: `点亮勋章弹窗`, buttonName: '继续评估' })
modalStore.closePop("LightGreyPop")
}
handleJoin = _asyncThrottle(() => {
sensorMdClick("xcxPopupClick", { pageName: `点亮勋章弹窗`, buttonName: '立即点亮' })
modalStore.closePop("LightGreyPop")
const { jumpUrl } = this.props.popData || {}
......
......@@ -14,15 +14,28 @@ class LightNewPop extends Component {
}
componentDidMount() {
sensorMdExpouse("xcxPopupExpouse", { pageName: `点亮勋章弹窗` })
const { newGetMedalInfoList } = this.props.popData || {}
// 是否一个勋章
const isOne = newGetMedalInfoList.length === 1
sensorMdExpouse("PopupExpouse", { pageName: isOne ? `点亮1次勋章弹窗` : `点亮2次及以上勋章弹窗` })
}
handleClose() {
sensorMdClick("xcxPopupClick", { pageName: `点亮勋章弹窗`, buttonName: '继续评估' })
handleClose = _asyncThrottle(() => {
const { newGetMedalInfoList } = this.props.popData || {}
// 是否一个勋章
const isOne = newGetMedalInfoList.length === 1
sensorMdClick("PopupClick", { pageName: isOne ? `点亮1次勋章弹窗` : `点亮2次及以上勋章弹窗`, buttonName: '关闭' })
modalStore.closePop("LightNewPop")
}
})
handleDraw = _asyncThrottle(() => {
const { newGetMedalInfoList } = this.props.popData || {}
// 是否一个勋章
const isOne = newGetMedalInfoList.length === 1
sensorMdClick("PopupClick", { pageName: isOne ? `点亮1次勋章弹窗` : `点亮2次及以上勋章弹窗`, buttonName: '立即抽奖' })
modalStore.closePop("LightNewPop")
// 点击后跳转至【官微大转盘】
store.jumpDraw()
......
......@@ -3,7 +3,6 @@ import './lightedPop.less';
import { observer } from 'mobx-react';
import store from '../../store';
import modalStore from '../../store/modal';
import { sensorMdClick, sensorMdExpouse } from '../../utils/sensorMd';
import skinStore from '../../store/newSkin';
import { SvgaPlayer } from '../SvgaPlayer';
@observer
......@@ -13,11 +12,9 @@ class LightedPop extends Component {
}
componentDidMount() {
sensorMdExpouse("xcxPopupExpouse", { pageName: `点亮勋章弹窗` })
}
handleClose() {
sensorMdClick("xcxPopupClick", { pageName: `点亮勋章弹窗`, buttonName: '继续评估' })
modalStore.closePop("LightedPop")
}
render() {
......
......@@ -4,6 +4,7 @@ import { _asyncThrottle, _throttle } from '../../utils/utils';
import skinStore from '../../store/newSkin';
import { observer } from 'mobx-react';
import modalStore from '../../store/modal';
import { sensorMdExpouse } from '../../utils/sensorMd';
@observer
class LongImgPop extends Component {
constructor(props) {
......@@ -14,6 +15,10 @@ class LongImgPop extends Component {
}
}
componentDidMount() {
sensorMdExpouse("activityPage", { pageName: `${this.props.popData.name}活动预告页` })
}
// 返回
backHandle = _asyncThrottle(() => {
modalStore.closePop();
......
......@@ -13,11 +13,11 @@ class RulePop extends Component {
}
componentDidMount() {
sensorMdExpouse("xcxPopupExpouse", { pageName: `退出挽留弹窗` })
sensorMdExpouse("PopupExpouse", { pageName: `规则弹窗` })
}
handleClose() {
sensorMdClick("xcxPopupClick", { pageName: `退出挽留弹窗`, buttonName: '继续评估' })
sensorMdClick("PopupClick", { pageName: `规则弹窗`, buttonName: '关闭' })
modalStore.closePop("RulePop")
}
render() {
......
......@@ -20,7 +20,7 @@ class FuturePage extends Component {
}
async componentDidMount() {
sensorMdExpouse("xcxPage", { pageName: `未来展品` })
sensorMdExpouse("activityPage", { pageName: `未来展品页` })
const res = await futureActivityApi({
channel: CFG.channel
});
......@@ -31,17 +31,13 @@ class FuturePage extends Component {
// 显示长图弹窗
showLongImgPop = _asyncThrottle((item) => {
modalStore.pushPop("LongImgPop", { img: item.previewPage })
})
// 切换tab
toggleTab = _asyncThrottle((index) => {
this.setState({ curTab: index })
sensorMdClick("activityClick", { pageName: `未来展品页`, buttonName: item.name })
modalStore.pushPop("LongImgPop", { img: item.previewPage, name: item.name })
})
// 返回
backHandle = _asyncThrottle(() => {
sensorMdClick("xcxClick", { pageName: `未来展品`, buttonName: '返回' })
sensorMdClick("activityClick", { pageName: `未来展品页`, buttonName: '返回' })
store.changePage(PAGE_MAP.HOME_PAGE)
})
......
......@@ -19,13 +19,14 @@ class HomePage extends Component {
}
async componentDidMount() {
sensorMdExpouse("xcxPage", { pageName: `首页` })
sensorMdExpouse("activityPage", { pageName: `年鉴活动首页` })
await store.getIndexInfo();
await store.initSensorsMd();
}
// 保贝值抽奖
drawHandle = _asyncThrottle(() => {
sensorMdClick("xcxClick", { pageName: `首页`, buttonName: '开始测试' })
sensorMdClick("activityClick", { pageName: `年鉴活动首页`, buttonName: '保贝值抽奖' })
const flag = store.checkActivityStatus();
if (!flag) return;
store.jumpDraw()
......@@ -33,13 +34,13 @@ class HomePage extends Component {
// 规则
ruleHandle = _asyncThrottle(() => {
sensorMdClick("xcxClick", { pageName: `首页`, buttonName: '规则' })
sensorMdClick("activityClick", { pageName: `年鉴活动首页`, buttonName: '规则' })
modalStore.pushPop("RulePop")
})
// 时光宝箱
prizeHandle = _asyncThrottle(() => {
sensorMdClick("xcxClick", { pageName: `首页`, buttonName: '时光宝箱' })
sensorMdClick("activityClick", { pageName: `年鉴活动首页`, buttonName: '时光宝藏' })
const flag = store.checkActivityStatus(true, false);
if (!flag) return;
store.changePage(PAGE_MAP.PRIZE_PAGE)
......@@ -47,14 +48,26 @@ class HomePage extends Component {
// 未来展品
futureHandle = _asyncThrottle(() => {
sensorMdClick("xcxClick", { pageName: `首页`, buttonName: '未来展品' })
sensorMdClick("activityClick", { pageName: `年鉴活动首页`, buttonName: '未来展品' })
const flag = store.checkActivityStatus();
if (!flag) return;
store.changePage(PAGE_MAP.FUTURE_PAGE)
})
// 分享
shareHandle = _asyncThrottle(() => {
// TODO 海报
sensorMdClick("activityClick", { pageName: `年鉴活动首页`, buttonName: '分享' })
})
// 切换tab
tabHandle = (tab) => {
this.setState({ curTab: tab })
sensorMdClick("activityClick", { pageName: `年鉴活动首页`, buttonName: tab === MEDAL_TYPE.ACTIVITY ? '活动展区' : '荣誉展区' })
}
// 勋章点击
medalHandle = (item) => {
sensorMdClick("activityClick", { pageName: `年鉴活动首页`, buttonName: item.name })
const { boolGet, endTime, medalType } = item;
// 勋章活动时间已过 此弹窗只在活动展区逻辑下会出现
if (medalType === MEDAL_TYPE.ACTIVITY && endTime < +new Date()) {
......@@ -91,11 +104,13 @@ class HomePage extends Component {
{/* 规则 */}
<div className="btn_rule" onClick={this.ruleHandle} style={{ 'backgroundImage': `url(${btn_rule})` }}></div>
{/* 分享 */}
<div className="btn_share" style={{ 'backgroundImage': `url(${btn_share})` }}></div>
<div className="btn_share" onClick={this.shareHandle} style={{ 'backgroundImage': `url(${btn_share})` }}></div>
{/* tab-活动展区 */}
{curTab === MEDAL_TYPE.ACTIVITY && <div className="tab1" onClick={() => this.setState({ curTab: MEDAL_TYPE.HONOR })} style={{ 'backgroundImage': `url(${tab1})` }}></div>}
{curTab === MEDAL_TYPE.ACTIVITY && <div className="tab1" style={{ 'backgroundImage': `url(${tab1})` }}></div>}
{/* tab-荣耀展区 */}
{curTab === MEDAL_TYPE.HONOR && <div className="tab2" onClick={() => this.setState({ curTab: MEDAL_TYPE.ACTIVITY })} style={{ 'backgroundImage': `url(${tab2})` }}></div>}
{curTab === MEDAL_TYPE.HONOR && <div className="tab2" style={{ 'backgroundImage': `url(${tab2})` }}></div>}
<div className="tab1_click_area1" onClick={() => this.tabHandle(MEDAL_TYPE.ACTIVITY)}></div>
<div className="tab1_click_area2" onClick={() => this.tabHandle(MEDAL_TYPE.HONOR)}></div>
{/* 勋章列表 */}
<div className="medal_list_box">
<div className="medal_list line1">
......
......@@ -67,6 +67,22 @@
.formatBg();
}
.tab1_click_area1 {
position: absolute;
left: 221px;
top: 312px;
width: 160px;
height: 67px;
}
.tab1_click_area2 {
position: absolute;
left: 381px;
top: 312px;
width: 160px;
height: 67px;
}
.medal_list_box {
position: absolute;
left: 0px;
......
......@@ -21,7 +21,7 @@ class PrizePage extends Component {
}
async componentDidMount() {
sensorMdExpouse("xcxPage", { pageName: `奖品页` })
sensorMdExpouse("activityPage", { pageName: `时光宝藏页` })
const res = await tabQueryApi({
channel: CFG.channel
......@@ -39,8 +39,9 @@ class PrizePage extends Component {
// 切换tab
toggleTab = _asyncThrottle(async (index) => {
this.setState({ curTab: index, prizeList: [] })
const { tabList } = this.state;
sensorMdClick("activityClick", { pageName: `时光宝藏页`, buttonName: tabList[index].name })
const res = await prizeRecordsApi({
channel: CFG.channel,
id: tabList[index].id
......@@ -58,7 +59,7 @@ class PrizePage extends Component {
// 返回
backHandle = _asyncThrottle(() => {
sensorMdClick("xcxClick", { pageName: `奖品页`, buttonName: '返回' })
sensorMdClick("activityClick", { pageName: `时光宝藏页`, buttonName: '返回' })
store.changePage(PAGE_MAP.HOME_PAGE)
})
......
import {
makeAutoObservable
} from 'mobx';
import {
} from '../api/api';
import { userInfoApi } from '../api/api';
import {
delUrlParam,
getUrlParam,
......@@ -16,6 +14,7 @@ import modalStore from './modal';
import { GetCurrSkinId, getCustomShareId } from "../utils/utils";
import { PAGE_MAP } from '../utils/constants';
import { indexApi } from "../api/api.js";
import { initSensors } from '../utils/sensorMd.js';
export const skinId = GetCurrSkinId() || getCustomShareId();
const store = makeAutoObservable({
......@@ -83,7 +82,23 @@ const store = makeAutoObservable({
wx.miniProgram.navigateTo({
url: ' /packageTbzy/pages/lottery/lottery?activityCode=DRAWFARM&source_channel=nianjianhuodong'
})
}
},
userInfo: {},
setUserInfo(userInfo) {
this.userInfo = userInfo;
},
/** 初始化神策埋点 */
async initSensorsMd() {
const res = await userInfoApi();
if (res.ok) {
store.setUserInfo(res.data || {});
const { unionid, openId, friendEmpNo, friendOpenId, empNo } = res.data || {};
// initSensors(unionId, openId, friendEmpNo, friendOpenId);
initSensors(unionid, empNo, res.data);
}
},
});
export default store;
......
......@@ -17,39 +17,116 @@ export const MEDAL_TYPE = {
HONOR: 2,
}
/**
* 本次投放:
* 1、官微菜单栏
* 2、官微权益中心
* 3、寿险小程序
* 4、官微推文
* 5、太好钉
* 6、海报
*/
/**
* 渠道参数
* 1.个险app gxapp
* 2.个险企微 gxqw
* 1.官微菜单栏 guanwei
* 2.官微权益中心 quanyizhongxin
* 3.寿险小程序 shouxian
* 4.官微推文 tuiwen
* 5.长航加油站 dingdong
* 6.太好钉 taihaoding
* 7.海报 haibao
* 8.太好店小程序
* 9.官微服务大厅
* 10.集团app
* 11.订阅号
*/
export const CHANNEL_PARAMS = {
/** 个险app */
GXAPP: "gxapp",
/** 个险企微 */
GXQW: "gxqw",
/** 官微菜单栏 */
GW_MENU: 'guanwei',
/** 官微权益中心 */
GW_EQUITY: 'quanyizhongxin',
/** 寿险小程序 */
SHOUXIAN_MINI: "shouxian",
SHOUXIAN_MINI: 'shouxian',
/** 官微推文 */
GW_TWEET: 'tuiwen',
/** 长航加油站(公众号) */
CHANG_HANG: 'dingdong',
/** 太好钉 */
THD: 'taihaoding',
/** 海报 */
POSTER: 'haibao',
/** 太好店小程序 */
THD_MINI: 'taihaodian',
/** 官微服务大厅 */
FUWU: 'fuwu',
/** 集团app */
APP: 'app',
/** 心意商城小程序 */
XINYI: 'xinyi',
/** 年报活动 */
NIANBAO: 'nianbao',
/** 订阅号 */
DINGYUE: 'dingyue',
}
/** 神策 sysSourceName渠道参数 */
export const SYS_SOURCE_CHANNEL = {
/** 个险app */
[CHANNEL_PARAMS.GXAPP]: "个险",
/** 个险企微 */
[CHANNEL_PARAMS.GXQW]: "个险",
/** 寿险小程序 */
[CHANNEL_PARAMS.SHOUXIAN_MINI]: "官微",
/** 官微菜单栏 */
[CHANNEL_PARAMS.GW_MENU]: '官微',
/** 官微权益中心 */
[CHANNEL_PARAMS.GW_EQUITY]: '官微',
/** 寿险小程序 */
[CHANNEL_PARAMS.SHOUXIAN_MINI]: '官微',
/** 官微推文 */
[CHANNEL_PARAMS.GW_TWEET]: '官微',
/** 长航加油站(公众号) */
[CHANNEL_PARAMS.CHANG_HANG]: '个险',
/** 太好钉 */
[CHANNEL_PARAMS.THD]: '官微',
/** 海报 */
[CHANNEL_PARAMS.POSTER]: '官微',
/** 太好店小程序 */
[CHANNEL_PARAMS.THD_MINI]: '个险',
/** 官微服务大厅 */
[CHANNEL_PARAMS.FUWU]: '官微',
/** 集团app */
[CHANNEL_PARAMS.APP]: '官微',
/** 心意商城小程序 */
[CHANNEL_PARAMS.XINYI]: '官微',
/** 年报活动 */
[CHANNEL_PARAMS.NIANBAO]: '官微',
/** 订阅号 */
[CHANNEL_PARAMS.DINGYUE]: '官微'
}
/** 神策 activitySource渠道参数 */
export const ACTIVITY_SOURCE_CHANNEL = {
/** 个险app */
[CHANNEL_PARAMS.GXAPP]: "个险app",
/** 个险企微 */
[CHANNEL_PARAMS.GXQW]: "个险企微",
/** 寿险小程序 */
[CHANNEL_PARAMS.SHOUXIAN_MINI]: "寿险小程序",
/** 官微菜单栏 */
[CHANNEL_PARAMS.GW_MENU]: '官微菜单栏',
/** 官微权益中心 */
[CHANNEL_PARAMS.GW_EQUITY]: '官微权益中心',
/** 寿险小程序 */
[CHANNEL_PARAMS.SHOUXIAN_MINI]: '寿险小程序',
/** 官微推文 */
[CHANNEL_PARAMS.GW_TWEET]: '官微推文',
/** 长航加油站(公众号) */
[CHANNEL_PARAMS.CHANG_HANG]: '长航加油站',
/** 太好钉 */
[CHANNEL_PARAMS.THD]: '太好钉',
/** 海报 */
[CHANNEL_PARAMS.POSTER]: '海报',
/** 太好店小程序 */
[CHANNEL_PARAMS.THD_MINI]: '太好店小程序',
/** 官微服务大厅 */
[CHANNEL_PARAMS.FUWU]: '官微服务大厅',
/** 集团app */
[CHANNEL_PARAMS.APP]: '集团app',
/** 心意商城小程序 */
[CHANNEL_PARAMS.XINYI]: '心意商城小程序',
/** 年报活动 */
[CHANNEL_PARAMS.NIANBAO]: '年报活动',
/** 订阅号 */
[CHANNEL_PARAMS.NIANBAO]: '订阅号'
}
export const EVENT_TYPE = {
......
......@@ -2,10 +2,8 @@
import sensors from 'sa-sdk-javascript';
import { ACTIVITY_SOURCE_CHANNEL, SYS_SOURCE_CHANNEL } from './constants';
import pageleave from './pageleave';
// import { getUrlParam } from './utils';
export const initSensors = (info) => {
export const initSensors = (unionid, empNo, userInfo) => {
sensors.init({
server_url: CFG.sensorUrl,
is_track_single_page: true,
......@@ -19,7 +17,7 @@ export const initSensors = (info) => {
},
});
sensors.login(info?.unionid);
sensors.login(unionid);
const shareTypeMap = {
1: "客户邀请",
......@@ -32,38 +30,40 @@ export const initSensors = (info) => {
const publicObjec = Object.assign({
currentUrl: location.href,
referrer: document.referrer,
unionid: info?.unionId,
openid: info?.openId,
miniOpenid: info?.miniOpenid,
officerOrEmp: info?.officerOrEmp,
subscribeFlg: info?.subscribeFlg,
programLogin: info?.programLogin,
userLevel: info?.userLevel,
unionid: unionid,
// openid: userInfo.openId, // 取不到
source: CFG.channel,
source_channel: CFG.channel,
userAccount: '太平洋寿险小程序',
systemName: '寿险2013版微信公众平台',
// activityName: CFG.activityName,
functionalpartition: "增值服务",
service_name: 'TODO',
// activityId: '25Searchcharacters',
// c_date: "2025/06/16-2099/12/31",
userSource: null,
userAccount: CFG.channel == 'taihaodian' ? '太好店小程序' : '太平洋寿险小程序',
activityName: CFG.activityName,
functionalpartition: "活动版块",
activityId: '25HDtujian',
c_date: "2025/07/12起长期",
activitySource: ACTIVITY_SOURCE_CHANNEL[CFG.channel] || "",
sysSourceName: SYS_SOURCE_CHANNEL[CFG.channel] || "",
friendDistinctId: getUrlParam("uid") || "",
shareMark: !!getUrlParam("uid") ? "是" : "否",
shareType: shareType,
empNp: info?.empNp,
friendOpenId: info?.friendOpenId,
empno: info?.newEmpNo,
friendEmpNp: info?.friendEmpNp,
friendEmpNo: info?.friendEmpNo,
wxNickName: info?.nickname,
sex: info?.sex,
age: info?.age,
province: info?.province,
memberAttribution: info?.memberAttribution,
memberLevel: info?.customLevel
empNp: empNo, // 用户实际绑定业务员工号(与转发无关)
friendOpenId: getUrlParam("shareOpenId"), // 邀请人的openId
friendEmpNo: getUrlParam("shareNewEmpNo"), // 邀请人的业务员工号(A转发给B,传A的业务员工号)
empno: CFG.empno,
miniopenid: userInfo?.miniopenid || '',
phone: userInfo?.phone || '',
wxNickName: userInfo?.nickname || '',
sex: userInfo?.sex || '',
age: userInfo?.age || '',
userLevel: userInfo?.userLevel || '',
subscribeFlg: userInfo?.subscribeFlg || false,
subscribeFlg2: userInfo?.subscribeFlg2 || false,
officerOrEmp: userInfo?.officerOrEmp || '',
programLogin: userInfo?.programLogin || '',
province: userInfo?.province || '',
memberAttribution: userInfo?.memberAttribution || '',
memberType: userInfo?.memberType || '',
memberLevel: userInfo?.customLevel || '',
}, window['__tbSensorsObj__']);
sensors.registerPage(publicObjec);
sensors.quick('autoTrack');
......@@ -88,7 +88,7 @@ export const pageLeave = (pagaName, duration) => {
* @param {{pageName:string,activityName:string,prize:string}} option
*/
export const sensorMdExpouse = (eventName, option) => {
console.log('神策曝光', eventName, option);
// console.log('神策曝光', eventName, option);
sensors.track(eventName, option);
};
......@@ -98,6 +98,6 @@ export const sensorMdExpouse = (eventName, option) => {
* @param {{pageName:string,activityName:string,buttonName:string,prize:string}} option
*/
export const sensorMdClick = (eventName, option) => {
console.log('神策点击', eventName, option);
// console.log('神策点击', eventName, option);
sensors.track(eventName, option);
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment