hookehuyr

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

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