主要观点总结
该代码主要实现了在微信小程序中,根据给定的关键词、页面类型、页面内容等信息,对页面进行特定的处理和渲染,包括对页面内容的处理、关键词高亮显示、错误报告等功能。
关键观点总结
关键观点1: 页面内容处理
根据页面类型(如文本、图片、音频等)和内容,调用__setDesc函数对页面内容进行处理,包括关键词高亮、链接处理、特定样式等。
关键观点2: 关键词高亮
使用renderKeyWord函数将关键词高亮显示在页面上,并根据需求调整样式。
关键观点3: 错误报告
通过JSAPI调用,将错误报告发送给微信服务器,包括页面加载错误、关键词匹配错误等。
关键观点4: 特定处理
根据页面类型,如音频页面,进行特定的处理,如音频描述的处理。
正文
";
i += 3;
continue;
}
} else if (valid) {
r += ' class="js_common_share_desc_link"';
var _itemShowType = getAttr(str[i], 'data-itemshowtype');
_itemShowType && (r += ' data-itemshowtype="' + _itemShowType + '"');
}
str[i] = valid ? r + '>' : '';
} else if (i % 4 === 3) {
!valid && (str[i] = '');
} else {
str[i] = str[i].replace(/<.*?>/g, '');
}
}
str = str.join('');
enableTagReg && (str = str.replace(ltReplaceCharReg, '<'));
enableTagReg && (str = str.replace(gtReplaceCharReg, '>'));
if (preserveS1SReg && s1sMatches.length > 0) {
str = str.replace(/__S1S_PLACEHOLDER_(\d+)__/g, function (_, index) {
return s1sMatches[parseInt(index, 10)];
});
}
return str;
}
if (isNoEncode) {
if (itemShowType * 1 === 8) {
desc = desc.html(false);
if (extData.searchKeywordsData && window.cgiData) {
window.cgiData.search_keywords = extData.searchKeywordsData;
}
if (window.cgiData && window.cgiData.search_keywords && isAllowRender) {
desc = addKeywordToHtml(desc, window.cgiData.search_keywords);
}
}
var searchKeywordsFilterReg;
if (window.cgiData && window.cgiData.search_keywords && isImagePage(itemShowType)) {
searchKeywordsFilterReg = window.cgiData.search_keywords.length > 0 ? /([\s\S]*?)<\/i><\/span>/g : undefined;
}
desc = filterContentWithLinkNWeapp(desc, isAudioPage(itemShowType) ? /<(span[^>]+?textstyle[^>]+?)>([\s\S]+?)<(\/span)>/g : undefined, searchKeywordsFilterReg);
desc = window.__emojiFormat(desc.replace(/\r/g, '').replace(/\n/g, '
'));
} else {
desc = desc.replace(/\r/g, '').replace(/\n/g, '
').replace(/\s/g, ' ');
}
if (itemShowType * 1 === 8) {
var descDom = document.getElementById('js_image_desc');
descDom && (descDom.innerHTML = desc);
if (location.href.indexOf('immerse_style=1') > -1 && descDom) {
var r = window.innerHeight - descDom.getBoundingClientRect().y - document.getElementById('wx_expand_bottom').offsetHeight;
var l = window.getComputedStyle(descDom).lineHeight;
window.__immersiveFullDesc = desc;
window.__immersiveOmited = 1;
textOverflow(descDom, {
value: {
lineClamp: Math.floor(r / parseFloat(l)),
html: '... 展开'
}
});
}
} else if (itemShowType * 1 === 10) {
var dom = document.querySelector('.js_share_notice_dom');
var _descDom = document.getElementById('js_text_desc');
_descDom && (_descDom.innerHTML = desc);
if (extData.superVoteId) dom && dom.classList.add('no_min_height');
var titleDom = document.getElementById('js_text_title');
var titleRect = titleDom ? titleDom.getBoundingClientRect() : undefined;
var descRect = _descDom ? _descDom.getBoundingClientRect() : undefined;
if (titleRect && titleRect.height > 17 * 1.4 + 2 || descRect && descRect.height > 17 * 1.6 + 2 || extData.superVoteId) {
dom && dom.classList.add('text_align_left');
}
} else if (isAudioPage(itemShowType)) {
document.querySelector('#js_audio_desc') && (document.querySelector('#js_audio_desc').innerHTML = desc);
} else {
var _descDom2 = document.getElementById('js_common_share_desc');
var descDomWrap = document.getElementById('js_common_share_desc_wrap');
if (!_descDom2 || !descDomWrap) {
return;
}
_descDom2.innerHTML = desc;
if (itemShowType * 1 !== 5) {
setTimeout(function () {
var folderSwitcher = document.getElementById('js_folder_text_switch');
if (_descDom2.offsetHeight - descDomWrap.offsetHeight > 1) {
descDomWrap.className += ' weui-ellipsis_multi';
folderSwitcher.style.display = 'block';
} else {
folderSwitcher.style.display = 'none';
}
}, 300);
}
}
};
if (!window.__second_open__) {
var videoContentNoEncode = window.a_value_which_never_exists || '';
var TextContentNoEncode = window.a_value_which_never_exists || '';
var ContentNoEncode = window.a_value_which_never_exists || '';
var itemShowType = window.a_value_which_never_exists || '5';
var content = window.a_value_which_never_exists || '';
var desc = window.a_value_which_never_exists || '';
var superVoteId = window.a_value_which_never_exists || '';
var extData = {
superVoteId: superVoteId
};
if (videoContentNoEncode) {
__setDesc(videoContentNoEncode, true, itemShowType, extData);
} else if (itemShowType * 1 === 10 && (ContentNoEncode || superVoteId) || isAudioPage(itemShowType) && ContentNoEncode) {
__setDesc(ContentNoEncode, true, itemShowType, extData);
} else if (TextContentNoEncode) {
__setDesc(TextContentNoEncode, true, itemShowType, extData);
} else if (itemShowType * 1 === 8) {
__setDesc(content || desc, true, itemShowType, extData);
} else {
__setDesc(desc, false, itemShowType, extData);
}
window.__setDesc = __setDesc;
}
return __setDesc;
})();