主要观点总结
该段代码主要用于微信小程序的文本内容渲染和关键词高亮。代码中定义了一个函数`__setDesc`,用于处理微信小程序的分享描述(分享给好友或朋友圈的文本)。该函数接收多个参数,包括待渲染的文本内容、是否进行编码处理、内容类型以及额外的数据。该函数会根据内容类型、是否允许渲染以及是否有关键词等条件,对文本内容进行相应的处理,并可能将关键词进行高亮显示。同时,该函数也处理了微信小程序的特定页面类型(如音频页面、图片页面)的文本内容展示。
关键观点总结
关键观点1: __setDesc函数
用于处理微信小程序的分享描述,接收多个参数,包括待渲染的文本内容、是否进行编码处理、内容类型以及额外的数据。根据内容类型、是否允许渲染以及是否有关键词等条件,对文本内容进行相应的处理,并可能将关键词进行高亮显示。
关键观点2: 内容类型处理
根据内容类型(如音频页面、图片页面等)的不同,__setDesc函数会进行不同的处理。例如,对于图片页面,会将描述内容添加到HTML中,并进行关键词高亮;对于音频页面,会将描述内容添加到相应的DOM元素中。
关键观点3: 关键词高亮
如果文本内容中存在关键词,__setDesc函数会将关键词进行高亮显示。高亮的方式是在关键词前后添加特定的标签,如`<i class="wx_search_keyword">`和`</i>`。
关键观点4: 编码处理
__setDesc函数可以根据需要选择是否对文本内容进行编码处理。如果选择了不编码,则文本内容中的特殊字符(如`<`和`>`)会被保留,否则会被替换为特定的替换字符。
文章预览
var __INLINE_SCRIPT__ = (function () {
'use strict';
function _arrayLikeToArray$2(arr, len) {
if (len == null || len > arr.length) len = arr.length;
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
return arr2;
}
function _arrayWithoutHoles(arr) {
if (Array.isArray(arr)) return _arrayLikeToArray$2(arr);
}
function _iterableToArray(iter) {
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
function _unsupportedIterableToArray$2(o, minLen) {
if (!o) return;
if (typeof o === "string") return _arrayLikeToArray$2(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor) n = o.constructor.name;
if (n === "Map" || n === "Set") return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen);
}
function
………………………………