diff --git a/JN/dr_py/js/番茄小说[书].js b/JN/dr_py/js/番茄小说[书].js index 85acd90b..f2730465 100644 --- a/JN/dr_py/js/番茄小说[书].js +++ b/JN/dr_py/js/番茄小说[书].js @@ -1 +1,278 @@ -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 \ No newline at end of file +globalThis.decodeText = function (text, _type) { + _type = _type || 0;//0 一级 1 搜索 2正文 + const CODE_ST = 58344; + const CODE_ED = 58715; + let charset = []; + if (_type === 0) { + charset = ['体', 'y', '十', '现', '快', '便', '话', '却', '月', '物', '水', '的', '放', '知', '爱', '万', '', '表', '风', '理', 'O', '老', '也', 'p', '常', '克', '平', '几', '最', '主', '她', 's', '将', '法', '情', 'o', '光', 'a', '我', '呢', 'J', '员', '太', '每', '望', '受', '教', 'w', '利', '军', '已', 'U', '人', '如', '变', '得', '要', '少', '斯', '门', '电', 'm', '男', '没', 'A', 'K', '国', '时', '中', '走', '么', '何', '口', '小', '向', '问', '轻', 'T', 'd', '神', '下', '间', '车', 'f', 'G', '度', 'D', '又', '大', '面', '远', '就', '写', 'j', '给', '通', '起', '实', 'E', '', '它', '去', 'S', '到', '道', '数', '吃', '们', '加', 'P', '是', '无', '把', '事', '西', '多', '界', '', '发', '新', '外', '活', '解', '孩', '只', '作', '前', 'Y', '尔', '经', '', 'u', '心', '告', '父', '等', 'Q', '民', '全', '这', '9', '果', '安', '', 'i', '母', '8', 'r', '说', '任', '先', '和', '地', 'C', '张', '战', '场', 'g', '像', 'c', 'q', '你', '使', '', '样', '总', '目', 'x', '性', '处', '音', '头', '', '应', '乐', '关', '能', '花', 'l', '当', '名', '手', '4', '重', '字', '声', '力', '友', '然', '生', '代', '内', '里', '本', '回', '真', '入', '师', '象', '', '0', '点', 'R', '亲', 'V', '种', '动', '英', '命', 'Z', 'h', 'X', '做', '特', '边', '高', '有', 'B', '为', '期', '自', '年', '马', '认', '出', '接', '至', 'H', '正', '方', '感', '所', '明', '者', '稜', 'F', '住', '学', '还', '分', '意', '更', '其', 'n', '但', '比', '觉', '以', '由', '死', '家', '让', '失', '士', 'L', '2', 'I', '金', '叫', '身', '报', '听', 'W', '再', '原', '山', '海', '白', '很', '见', '5', '直', '位', '第', '工', '个', '开', '岁', '好', '用', '都', '于', '可', '同', '3', '次', '四', '', '日', '信', '与', '女', '笑', '满', '并', '部', '什', '不', '从', '或', '机', '此', '', '了', '记', '三', 'e', '些', 'b', 'N', '夫', '会', '才', '儿', '眼', '两', '美', '被', '一', '公', '来', '立', 'z', '长', '对', '己', '看', 'k', '许', '因', '相', '色', '后', '往', '打', '结', '格', '过', '世', '气', '7', '子', '条', '在', '书', '之', '定', 'v', '拉', '成', '进', '带', '着', '东', '上', '想', '天', '他', '妈', '1', '文', '而', '路', '那', '别', '德', '6', 'M', 't', '行', '候', '难']; + + } else if (_type === 1) { + charset = ['', 's', '', '作', '口', '在', '他', '能', '并', 'B', '士', '4', 'U', '克', '才', '正', '们', '字', '声', '高', '全', '尔', '活', '者', '动', '其', '主', '报', '多', '望', '放', 'h', 'w', '次', '年', '', '中', '3', '特', '于', '十', '入', '要', '男', '同', 'G', '面', '分', '方', 'K', '什', '再', '教', '本', '己', '结', '1', '等', '世', 'N', '', '说', 'g', 'u', '期', 'Z', '外', '美', 'M', '行', '给', '9', '文', '将', '两', '许', '张', '友', '0', '英', '应', '向', '像', '此', '白', '安', '少', '何', '打', '气', '常', '定', '间', '花', '见', '孩', '它', '直', '风', '数', '使', '道', '第', '水', '已', '女', '山', '解', 'd', 'P', '的', '通', '关', '性', '叫', '儿', 'L', '妈', '问', '回', '神', '来', 'S', '', '四', '里', '前', '国', '些', 'O', 'v', 'l', 'A', '心', '平', '自', '无', '军', '光', '代', '是', '好', '却', 'c', '得', '种', '就', '意', '先', '立', 'z', '子', '过', 'Y', 'j', '表', '', '么', '所', '接', '了', '名', '金', '受', 'J', '满', '眼', '没', '部', '那', 'm', '每', '车', '度', '可', 'R', '斯', '经', '现', '门', '明', 'V', '如', '走', '命', 'y', '6', 'E', '战', '很', '上', 'f', '月', '西', '7', '长', '夫', '想', '话', '变', '海', '机', 'x', '到', 'W', '一', '成', '生', '信', '笑', '但', '父', '开', '内', '东', '马', '日', '小', '而', '后', '带', '以', '三', '几', '为', '认', 'X', '死', '员', '目', '位', '之', '学', '远', '人', '音', '呢', '我', 'q', '乐', '象', '重', '对', '个', '被', '别', 'F', '也', '书', '稜', 'D', '写', '还', '因', '家', '发', '时', 'i', '或', '住', '德', '当', 'o', 'I', '比', '觉', '然', '吃', '去', '公', 'a', '老', '亲', '情', '体', '太', 'b', '万', 'C', '电', '理', '', '失', '力', '更', '拉', '物', '着', '原', '她', '工', '实', '色', '感', '记', '看', '出', '相', '路', '大', '你', '候', '2', '和', '', '与', 'p', '样', '新', '只', '便', '最', '不', '进', 'T', 'r', '做', '格', '母', '总', '爱', '身', '师', '轻', '知', '往', '加', '从', '', '天', 'e', 'H', '', '听', '场', '由', '快', '边', '让', '把', '任', '8', '条', '头', '事', '至', '起', '点', '真', '手', '这', '难', '都', '界', '用', '法', 'n', '处', '下', '又', 'Q', '告', '地', '5', 'k', 't', '岁', '有', '会', '果', '利', '民'] + } else if (_type === 2) { + charset = ['D', '在', '主', '特', '家', '军', '然', '表', '场', '4', '要', '只', 'v', '和', '?', '6', '别', '还', 'g', '现', '儿', '岁', '?', '?', '此', '象', '月', '3', '出', '战', '工', '相', 'o', '男', '首', '失', '世', 'F', '都', '平', '文', '什', 'V', 'O', '将', '真', 'T', '那', '当', '?', '会', '立', '些', 'u', '是', '十', '张', '学', '气', '大', '爱', '两', '命', '全', '后', '东', '性', '通', '被', '1', '它', '乐', '接', '而', '感', '车', '山', '公', '了', '常', '以', '何', '可', '话', '先', 'p', 'i', '叫', '轻', 'M', '士', 'w', '着', '变', '尔', '快', 'l', '个', '说', '少', '色', '里', '安', '花', '远', '7', '难', '师', '放', 't', '报', '认', '面', '道', 'S', '?', '克', '地', '度', 'I', '好', '机', 'U', '民', '写', '把', '万', '同', '水', '新', '没', '书', '电', '吃', '像', '斯', '5', '为', 'y', '白', '几', '日', '教', '看', '但', '第', '加', '候', '作', '上', '拉', '住', '有', '法', 'r', '事', '应', '位', '利', '你', '声', '身', '国', '问', '马', '女', '他', 'Y', '比', '父', 'x', 'A', 'H', 'N', 's', 'X', '边', '美', '对', '所', '金', '活', '回', '意', '到', 'z', '从', 'j', '知', '又', '内', '因', '点', 'Q', '三', '定', '8', 'R', 'b', '正', '或', '夫', '向', '德', '听', '更', '?', '得', '告', '并', '本', 'q', '过', '记', 'L', '让', '打', 'f', '人', '就', '者', '去', '原', '满', '体', '做', '经', 'K', '走', '如', '孩', 'c', 'G', '给', '使', '物', '?', '最', '笑', '部', '?', '员', '等', '受', 'k', '行', '一', '条', '果', '动', '光', '门', '头', '见', '往', '自', '解', '成', '处', '天', '能', '于', '名', '其', '发', '总', '母', '的', '死', '手', '入', '路', '进', '心', '来', 'h', '时', '力', '多', '开', '己', '许', 'd', '至', '由', '很', '界', 'n', '小', '与', 'Z', '想', '代', '么', '分', '生', '口', '再', '妈', '望', '次', '西', '风', '种', '带', 'J', '?', '实', '情', '才', '这', '?', 'E', '我', '神', '格', '长', '觉', '间', '年', '眼', '无', '不', '亲', '关', '结', '0', '友', '信', '下', '却', '重', '己', '老', '2', '音', '字', 'm', '呢', '明', '之', '前', '高', 'P', 'B', '目', '太', 'e', '9', '起', '稜', '她', '也', 'W', '用', '方', '子', '英', '每', '理', '便', '西', '数', '期', '中', 'C', '外', '样', 'a', '海', '们', '任']; + } + + function interpreter(cc) { + let bias = cc - CODE_ST; + if (charset[bias] === '?') { + return String.fromCharCode(cc); + } + return charset[bias]; + } + + function _decodeText(text) { + let len = text.length; + let decode = ''; + for (var ind = 0; ind < len; ind++) { + let cc = text.charCodeAt(ind); + var ch = text.charAt(ind); + if (cc >= CODE_ST && cc <= CODE_ED) { + ch = interpreter(cc); + } + decode += ch; + } + return decode + } + + function _decodeText2(text) { + text = escape(text); + /* 不够高效 + for (let i = 0; i < z.length; i++) { + let I = '\\%u' + (i + 58344).toString(16); + text = result + .replace(new RegExp(I, 'gi'), z[i]); + } + */ + let reg = new RegExp('%uE([0-9a-fA-F]{3})', 'gi'); + let z = charset; + text = text.replace(reg, ($0, $1) => z[('0x' + $1) - 1000]); + return unescape(text); + } + + // return _decodeText(text); + return _decodeText2(text); +}; + +function getRandomFromList(list) { + // 将列表转换为数组 + const array = Array.isArray(list) ? list : Array.from(list); + // 获取随机索引 + const randomIndex = Math.floor(Math.random() * array.length); + // 返回随机选取的元素 + return array[randomIndex]; +} + +globalThis.getFqCookie = function () { + let cookies = [ + 'novel_web_id=0000000000004011402', + 'novel_web_id=0000000303614711402', + 'novel_web_id=0144211303614711401', + 'novel_web_id=0144211303614711402', + 'novel_web_id=0144211303614711403', + 'novel_web_id=0144211303614711406', + 'novel_web_id=7357767624615331361', + 'novel_web_id=7357767624615331362', + 'novel_web_id=7357767624615331365', + ]; + return getRandomFromList(cookies) +} +var rule = { + 类型: '小说',//影视|听书|漫画|小说 + title: '番茄小说[书]', + host: 'https://fanqienovel.com', + homeUrl: 'https://fanqienovel.com/api/author/book/category_list/v0/', + url: '/api/author/library/book_list/v0/?page_count=18&page_index=(fypage-1)&gender=-1&category_id=fyclass&creation_status=-1&word_count=-1&sort=0#fyfilter', + searchUrl: '/api/author/search/search_book/v1/?filter=127,127,127,127&page_count=10&page_index=(fypage-1)&query_type=0&query_word=**', + searchable: 2, + quickSearch: 0, + filterable: 1, + filter: '', + filter_url: '{{fl.筛选}}', + filter_def: { + //全部: {筛选: '-1'}, + 主分类: {筛选: '1016'},//男频衍生 + 主题: {筛选: '516'},//都市异能 + 角色: {筛选: '29'},//如懿衍生 + 情节: {筛选: '1034'},//如懿衍生 + }, + headers: { + 'User-Agent': 'MOBILE_UA', + }, + config: { + api: 'https://novel.snssdk.com/api', + 封面域名: 'http://p6-novel.byteimg.com/large/', + }, + timeout: 5000, + //class_name:'全部&都市生活&现代言情&古代言情&玄幻&科幻&悬疑&历史&体育&武侠&文学小说&游戏动漫&【校园】&鉴宝&系统&神豪&种田&快穿&重生&穿越&二次元&海岛&娱乐圈&空间&推理&洪荒&三国&末世&直播&无限流&诸天万界&兽世&大唐&宠物&外卖&清穿&星际&美食&年代&剑道&盗墓&虐文&甜宠&灵异&【赘婿】&神医&战神&萌宝&豪门总裁&宠妻&奶爸&学霸&公主&皇后&王妃&女强&皇叔&嫡女&精灵&天才&腹黑&扮猪吃虎&团宠', + //class_url:'-1&2&3&5&7&8&10&12&15&16&47&57&4&17&19&20&23&24&36&37&39&40&43&44&61&66&67&68&69&70&71&72&73&74&75&76&77&78&79&80&81&95&96&100&25&26&27&28&29&30&42&82&83&84&85&86&87&88&89&90&92&93&94', + play_parse: true, + double: true, + class_parse: $js.toString(() => { + let html = request(rule.homeUrl); + let json = JSON.parse(html); + let datas = json.data; + let ret = {}; + for (let data of datas) { + if (!ret[data.label]) { + ret[data.label] = { + title: [], + url: [] + } + } + ret[data.label].title.push(data.name); + ret[data.label].url.push(data.category_id); + } + // log(ret); + let classes = []; + let filters = {}; + // let keys = Object.keys(ret).slice(1); + let keys = Object.keys(ret); + for (let key of keys) { + let _titles = ret[key].title; + let _urls = ret[key].url; + //ret[key].title = _titles.join('&'); + // ret[key].url = _urls.join('&'); + classes.push({ + type_name: key, + type_id: key, + }); + filters[key] = [{ + key: '筛选', + name: '筛选', + value: _titles.map((it, index) => { + return { + n: it, + v: _urls[index] + } + }) + }]; + } + classes.unshift({ + type_name: '全部', + type_id: '-1', + }); + homeObj.filter = filters; + input = classes; + }), + 推荐: '', + 一级: $js.toString(() => { + if (MY_CATE !== '-1') { + let category_id = input.split('#')[1]; + input = input.split('#')[0].replace(/category_id=.*?&/, 'category_id=' + category_id + '&'); + } else { + input = input.split('#')[0] + } + //log(MY_CATE); + //log(MY_FL); + log(input); + let d = []; + let html = request(input); + let json = JSON.parse(html); + for (let it of json.data.book_list) { + d.push({ + title: decodeText(it.book_name), + url: "https://fanqienovel.com/page/" + it.book_id, + desc: decodeText(it.author), + pic_url: rule.config.封面域名 + it.thumb_uri + }); + } + setResult(d); + }), + 二级: $js.toString(() => { + let html = request(input,{ + headers:{ + 'User-Agent': 'PC_UA', + } + }); + let json=cut(html,'window.__INITIAL_STATE__=','};') + .replace(/;$/,"").parseX.page; + //log(json) + + //let json = JSON.parse(html); + let book_info = json; + //log(book_info) + let list = json.chapterListWithVolume.flat(); + //log(list) + let urls = []; + // for (let i = 0; i < list.length; i++) { + // let index = Math.floor(i / 100); + // if (urls.length <= index) { + // urls.push([]); + // } + // urls[index].push(list[i]); + // } + // let ul = [] + // for (let it of urls) { + // ul.push({ + // url: rule.config.api + "/novel/book/directory/detail/v1/?item_ids=" + it.join(","), + // options: { + // header: { + // "User-Agent": MOBILE_UA + // } + // } + // }); + // } + /*list.forEach((it, index) => { + urls.push('第' + (index + 1) + '章$' + it); + });*/ + list.forEach((it, index) => { + //log(it) + urls.push(it.title + '$' + it.itemId); + }); + + log(book_info.abstract) + + VOD = {}; + VOD.vod_id = input; + VOD.vod_name = book_info.bookName; + VOD.vod_pic = book_info.thumbUri; + VOD.vod_content = book_info.abstract; + VOD.vod_remarks = book_info.lastChapterTitle; + VOD.vod_director = book_info.author; + //VOD.type_name = book_info.complete_category; + VOD.vod_play_from = "番茄小说"; + VOD.vod_play_url = urls.join('#'); + }), + 搜索: $js.toString(() => { + let d = []; + let html = request(input); + let json = JSON.parse(html); + for (let it of json.data.search_book_data_list) { + d.push({ + title: decodeText(it.book_name, 1), + url: rule.config.api + "/novel/book/directory/list/v1?book_id=" + it.book_id, + desc: decodeText(it.author, 1), + content: decodeText(it.book_abstract, 1), + pic_url: it.thumb_url + }); + } + setResult(d); + }), + lazy: $js.toString(() => { + let title = '小说标题'; + let content = '小说内容'; + let content_url = ''; // 正文获取接口 + + // let detail_url = rule.config.api + "/novel/book/directory/detail/v1/?item_ids=" + input; + // let detail_json = JSON.parse(request(detail_url)); + // title = detail_json.data[0].title; + //log(title); + + // content_url = 'https://fqnovel.pages.dev/content?item_id=' + input; + // content = request(content_url); + + + // https://fanqienovel.com/api/reader/full?itemId=7377032009723413016 + // content_url = config.api + "/novel/book/reader/full/v1/?device_platform=android&parent_enterfrom=novel_channel_search.tab.&aid=2329&platform_id=1&item_id=" + c.item_id; + content_url = 'https://fanqienovel.com/api/reader/full?itemId=' + input; + let json = JSON.parse(request(content_url, {headers: {Cookie: getFqCookie()}})); + title = json.data.chapterData.title; + content = decodeText(json.data.chapterData.content, 2); + content = content.replace(/<\/p>/g, '\n').replace(/<\w+>/g, '').replace(/<[^>]*>/g, ''); + let ret = JSON.stringify({ + title, + content + }); + input = {parse: 0, url: 'novel://' + ret, js: ''}; + }), +} \ No newline at end of file diff --git a/JN/dr_py/js/神马影院[自动].js b/JN/dr_py/js/神马影院[自动].js index e9c4d430..cb3f127a 100644 --- a/JN/dr_py/js/神马影院[自动].js +++ b/JN/dr_py/js/神马影院[自动].js @@ -1,9 +1,34 @@ -var rule = { - 模板: '自动', - title: '神马影院[自动]', - host: 'http://biso.cc', - url: '/show/fyclass--------fypage---.html', - class_parse: '.grid-items&&li:lt(7);a&&Text;a&&href;.*/(.*?).html', - searchUrl: '/search/**----------fypage---.html', - 搜索: '.module-items .module-search-item;h3&&a&&Text;img&&data-src;.video-serial&&Text;h3&&a&&href', +var rule={ + title: "神马影院", + 模板:"mxpro", + host: "http://biso.cc", + url: "/show/fyfilter.html", + searchUrl: "/search/**----------fypage---.html", + filterable: 1, + filter: "H4sIAAAAAAAAA+1ZW08bRxj9L35OpV0TkpC33O/3e6o8RBVSo7ap1KSVqigSNxObJBgQsUMxEBrAhGAwhBBYx/jPeGbtf5G157tNWlZWIVWV7pvPOf5m5/vmdnb2UcyNHfz2UeyHzt9jB2P+SklNPo3tid2/+1OnxL/d/fHXzuYf7we0SszXe+cbdADc2OM9QA/MV8s5P/UElH2sZHIqlWdlPyl+ckX3Jlg5wEp+WG2WWOkgRXcP6a4MK67DD0rlreZc7p1Ovqx6KSHF+VHegiq/YCkuctpa8kffq/IKSkHUnYZoCmaexwUjHFKwz6oCLAC7LqABsPMHDYA9BtimAXZFsU0D7MJhnAF25fB5BqBWK8ypZwugAaDnDSz7ZdQAiH76oyXuZwOQNvuE+wmA+lKYq269wr4YQHH9I/WxNxhnAMVNLgQ9xzgDWqmn7ln0M8OoGUBa74Du+QM1Ayj3UlolNjB3A1CrT4zol7OgAaA2M09qKQ/bNGC7uciY/pGeqb2mUTSAtMF+lV5FzQAaxcpQMAY4igZwVXN6Ypiq2gSk9VX8t5gJAKpAedgv5awOW5S1jHJF9cwTywhxS8toJl8f68dOGEClnhvTG8tYagO4WEW9uUXFagLq/NagGi9jtw2gIXr3gjUAVMinK6wBoLjsrM4tYpwB1M+pNxwHgIf9A2sAuC9F2ZeiFfe8qLw5jDOA4vrSQaVUElcLY8pktuKnC35qDJMhzEv4lX5aCcJoFSPGf1QrfX45qzM4AIypjcR6tYRLD4CcGLXlQm2+iycG4ZYmxng5+D82boAYKNYA0OCvzrAGgAYqW1bPsywzFkMpZAPEFGANgJhWQjNATAGRiQGihGqpl0vYANba2lyrlspibSFupYRxJ74XT77GT8G3Md8m+Tjzccm7zLuSd5h3BO92EO92SP4A8wckv5/5/ZLfx/w+ybcz3y55zteV+bqcryvzdTlfV+brcr6uzNflfF2Zr8P5OjJfh/N1ZL4O5+XIvBzOy5F5OZxX8NOaIIWsXn4uJgjizyYI0XKCHALiEDGHgTlMzBFgjhBzFJijxBwD5hgxx4E5TswJYE4QcxKYk8ScAuYUMaeBOU3MGWDOEHMWmLPEnAPmHDHngTlPzAVgLhBzEZiLxFwC5hIxl4G5TMwVYK4QcxWYq8RcA+YaMdeBuU7MDWBuEHMTmJvE3ALmFjG3gblNjPMNzkXHmih6cER5aZ4ohO2JorPr9ewaiwH18F4QQKeC5+niqKV/f+/hA96al/tUst/SH3z38y+djb7c2ROL7/B9Rdj+qQL77zZe1MFRUfXyLIn1HviHwCkIibeIYDtvHNws8erTi/mGh2CJF6x+/0HNZFiKO7v4fhHiBsM8vbGkqntd9eIAWFQr7y9qaV15dGIZ0OJ7wbbvL2HvBWHvL2HON8ynVzen2fkCYO+f0GPoawDQ817087sGAOGKuWYAWjVDO3PJ/Yng/2Tjm6AV9/lPHXSY2w1319s72lB3nSkGBlRNTGMo4chr/sVrRp4xFnnGyDNGnvF/4hnbdugZLW8YHJ5+6SPf0omtzHhAWxUOsWkebVU4waZJtNX23TOD9a6Un+/Co8IAaWb6poSZCQBVdqlSKybx8DKA4kYKegCv/wBwKRJ6A40VAD623lU3h+jYagLhDeqvsS8ASPMW1NIkagbQ88ZXxcWpARQ3OqXX6OLbAB6UDZ1MV70RvgC1KKrD2p+BPcQ6GEBtrPTUup9htAH/inEzM4q63QT2XOTzvwHsuYaaAZEViqwQ/oysUGSFIiv0VVqhvTu0QryojRUKzkj98S0uDt46zCu/rfICNButrXbsntkJMzRhX8H93kJtGk0SAGpzcN4fws+MAEgbmvQX6SuxAXx+b/9VujY0URvEWzgA1OaraTVOh5YB1GbILZnOeeJLtwH0vJDvvGE3gqoYlGkNn2eA1GbfCS0AVM+ZrepH/EIOgOIGp1RyHOMM4Dm+qgpoEAFQm+MDegyNHgCuy4qqZKkuTSCm3Be8XWteGbPnaQB7JbD7kDdhf2vEWuxwZNIikxaZtMikxSKT9rWZtHZh0na6t0V7VbRXRXtVtFd9sbv1+C5uVpERiza3aHOLNrf/xub2+BM11/9eHjMAAA==", + filter_url: "{{fl.类型}}-{{fl.地区}}-{{fl.排序}}-{{fl.剧情}}-{{fl.语言}}-{{fl.字母}}---fypage---{{fl.年份}}", + filter_def: { + 1: { + 类型: "1" + }, + 2: { + 类型: "2" + }, + 3: { + 类型: "3" + }, + 4: { + 类型: "4" + }, + 5: { + 类型: "5" + }, + 32: { + 类型: "32" + } + }, + class_parse: ".navbar-items&&li;a&&Text;a&&href;(\\d+)", + cate_exclude: "资讯|明星", + tab_exclude: "排序", + 搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-card-item-info&&Text', } \ No newline at end of file