hookehuyr

refactor(mixin): 重构埋点函数以支持对象参数并优化URL构建

重构 maEvent 函数,使其支持字符串和对象两种传参方式。当传入对象时,自动过滤空值并构建查询字符串,提升代码的灵活性与健壮性。
...@@ -81,9 +81,21 @@ export default { ...@@ -81,9 +81,21 @@ export default {
81 81
82 return false; 82 return false;
83 }, 83 },
84 - maEvent: throttle(function () { 84 + // 埋点支持两种传参方式:
85 - var p = Array.prototype.shift.call(arguments); 85 + // this.maEvent('h5_contact')
86 - return axios.post('/srv/?a=log&p=' + p) 86 + // this.maEvent({ p: 'h5_contact', event: 'document_preview' })
87 + maEvent: throttle(function (payload) {
88 + const eventData = typeof payload === 'string' ? { p: payload } : (payload || {});
89 + const query = new URLSearchParams();
90 +
91 + Object.entries(eventData).forEach(([key, value]) => {
92 + if (value !== undefined && value !== null && value !== '') {
93 + query.append(key, value);
94 + }
95 + });
96 +
97 + const url = query.toString() ? `/srv/?a=log&${query.toString()}` : '/srv/?a=log';
98 + return axios.post(url);
87 }, 1500) 99 }, 1500)
88 }, 100 },
89 directives: { 101 directives: {
......