导入

MURH

分享者: simple08 (159)发布时间: 4天前

该用户很懒,什么介绍也没有写!
二维码导入
{
    "articleStyle": 0,
    "cacheFirst": false,
    "customOrder": -10106456,
    "enableJs": true,
    "enabled": true,
    "enabledCookieJar": false,
    "lastUpdateTime": 1777867372098,
    "loadWithBaseUrl": false,
    "preload": false,
    "showWebLog": false,
    "singleUrl": false,
    "sourceIcon": "https:\/\/p0.ssl.qhimgs1.com\/bdr\/460__\/t03ed72f97d4b5560de.webp",
    "sourceName": "导入",
    "sourceUrl": "MURH",
    "startHtml": "<!DOCTYPE html>\n<html lang=\"zh\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\">\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=ZCOOL+KuaiLe&display=swap\" rel=\"stylesheet\">\n    <title>净化链接并导入<\/title>\n    <!-- Remix Icon 线条图标库 -->\n    <link href=\"https:\/\/cdn.jsdelivr.net\/npm\/remixicon@4.2.0\/fonts\/remixicon.css\" rel=\"stylesheet\">\n<\/head>\n<body>\n\n    <div class=\"card\">\n        <!-- 右上角提示容器 -->\n        <div id=\"cardToast\" class=\"card-toast\"><\/div>\n\n        <img\n            class=\"avatar\"\n            src=\"https:\/\/p0.ssl.qhimgs1.com\/bdr\/460__\/t04f435e3922f2b7a30.jpg\"\n            alt=\"头像\"\n            loading=\"lazy\"\n        >\n\n        <span class=\"title\">净化链接并导入<\/span>\n\n        <div class=\"input-group\">\n            <textarea id=\"copyt\" rows=\"2\" placeholder=\"粘贴链接...\"><\/textarea>\n            <textarea id=\"processedText\" rows=\"2\" placeholder=\"净化后的链接...\"><\/textarea>\n        <\/div>\n\n        <div class=\"btn-row\">\n            <button class=\"btn-icon\" id=\"btn2\" onclick=\"cleart()\" title=\"清空\">\n                <i class=\"ri-delete-back-2-line\"><\/i>\n            <\/button>\n            <button class=\"btn-icon\" id=\"btn3\" onclick=\"purify()\" title=\"净化\">\n                <i class=\"ri-magic-line\"><\/i>\n            <\/button>\n            <button class=\"btn-icon\" id=\"btnCopy\" onclick=\"copyProcessed()\" title=\"复制\">\n                <i class=\"ri-file-copy-line\"><\/i>\n            <\/button>\n            <button class=\"btn-icon\" id=\"btn1\" onclick=\"importContent()\" title=\"导入\">\n                <i class=\"ri-share-forward-line\"><\/i>\n            <\/button>\n        <\/div>\n\n        <hr class=\"divider\">\n\n        <div class=\"yanwen\">\n            (๑•̀ㅂ•́)و✧  Ciallo~☆  (∠・ω< )⌒★\n        <\/div>\n    <\/div>\n\n<\/body>\n<\/html>",
    "startJs": "    (function() {\n        const toast = document.getElementById('cardToast');\n\n        function showToast(msg, duration = 2000) {\n            if (!toast) return;\n            toast.textContent = msg;\n            toast.classList.add('show');\n            clearTimeout(toast._timeout);\n            toast._timeout = setTimeout(() => {\n                toast.classList.remove('show');\n            }, duration);\n        }\n\n        window.importContent = function() {\n            const processedText = document.getElementById(\"processedText\");\n            const originalText = document.getElementById(\"copyt\");\n            let url = processedText.value.trim();\n\n            if (!url) {\n                const originalUrl = originalText.value.trim();\n                if (!originalUrl) {\n                    showToast('请输入内容');\n                    return;\n                }\n                url = purifyUrl(originalUrl);\n                processedText.value = url;\n                if (!url) {\n                    showToast('无法提取有效链接');\n                    return;\n                }\n            }\n\n            const encodedUrl = encodeURIComponent(url);\n\n            try {\n                window.location.href = 'legado:\/\/import\/Source?src=' + encodedUrl;\n            } catch (error) {\n                showToast('导入失败: ' + error.message);\n            }\n        };\n\n        window.purify = function() {\n            const cpt = document.getElementById(\"copyt\");\n            const processedText = document.getElementById(\"processedText\");\n            let url = cpt.value;\n            if (!url.trim()) {\n                showToast('请输入内容');\n                return;\n            }\n            url = purifyUrl(url);\n            processedText.value = url;\n        };\n\n        function purifyUrl(input) {\n            let url = input;\n            if (url.startsWith('data:')) {\n                try { url = atob(url.match(\/^[^,]+,([^\\s,]+)\/)[1]); } catch (e) {}\n            }\n            if (\/^[\\da-z\\+\\\/]{2,}=*$\/i.test(url)) {\n                try { url = atob(url); } catch (e) {}\n            }\n            url = url.replace(\/\\[[\\w\\u4e00-\\u9fa5]+\\]|#\\([\\w\\u4e00-\\u9fa5]+\\)\/g, '');\n            const allowedChars = \/[\\w\\-._~:\\\/?#\\[\\]@!$&'()*+,;=%]\/g;\n            let purified = '';\n            let match;\n            while ((match = allowedChars.exec(url)) !== null) purified += match[0];\n            const urlMatch = purified.match(\/(https?:\\\/\\\/[^\\s]+)\/i);\n            if (urlMatch) purified = urlMatch[0];\n            return purified;\n        }\n\n        window.cleart = function() {\n            document.getElementById(\"copyt\").value = '';\n            document.getElementById(\"processedText\").value = '';\n            showToast('已清空');\n        };\n\n        window.copyProcessed = function() {\n            const processedText = document.getElementById(\"processedText\");\n            const text = processedText.value;\n            if (!text.trim()) {\n                showToast('没有可复制的内容');\n                return;\n            }\n            if (navigator.clipboard && navigator.clipboard.writeText) {\n                navigator.clipboard.writeText(text).then(() => {\n                    showToast('已复制');\n                }).catch(() => {\n                    fallbackCopy(text);\n                });\n            } else {\n                fallbackCopy(text);\n            }\n        };\n\n        function fallbackCopy(text) {\n            const ta = document.createElement('textarea');\n            ta.value = text;\n            ta.style.position = 'fixed';\n            ta.style.left = '-9999px';\n            document.body.appendChild(ta);\n            ta.select();\n            try {\n                document.execCommand('copy');\n                showToast('已复制');\n            } catch (err) {\n                showToast('复制失败');\n            }\n            document.body.removeChild(ta);\n        }\n    })();",
    "startStyle": "       :root {\n            --bg: #f0f2f5;\n            --card-bg: #ffffff;\n            --text: #2c3e50;\n            --sub: #7f8c8d;\n            --border: #d0d7de;\n            --accent: #5b7fff;\n            --shadow: 0 2px 16px rgba(0, 0, 0, 0.07);\n            --radius: 20px;\n            --radius-sm: 12px;\n            --transition: 0.2s ease;\n        }\n\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n\n        body {\n            background: var(--bg);\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            min-height: 100vh;\n            font-family: 'ZCOOL KuaiLe', 'PingFang SC', 'Microsoft YaHei', cursive;\n            padding: 20px;\n            -webkit-tap-highlight-color: transparent;\n        }\n\n        .card {\n            background: var(--card-bg);\n            border-radius: var(--radius);\n            box-shadow: var(--shadow);\n            padding: 24px 16px 16px;\n            width: 100%;\n            max-width: 420px;\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            gap: 16px;\n            transition: box-shadow 0.3s ease;\n            position: relative;          \/* 为提示容器提供定位上下文 *\/\n            overflow: visible;          \/* 确保提示不被裁剪 *\/\n        }\n        .card:hover {\n            box-shadow: 0 6px 28px rgba(0, 0, 0, 0.10);\n        }\n\n        .avatar {\n            width: 100%;\n            aspect-ratio: 1 \/ 1;\n            object-fit: cover;\n            border-radius: var(--radius-sm);\n            background: #eef1f5;\n            flex-shrink: 0;\n            transition: transform var(--transition), box-shadow var(--transition);\n        }\n        .avatar:hover {\n            transform: scale(1.02);\n            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);\n        }\n\n        .title {\n            font-size: 1.35rem;\n            font-weight: 700;\n            color: var(--text);\n            letter-spacing: 0.02em;\n            line-height: 1;\n            margin-top: 4px;\n        }\n\n        .input-group {\n            width: 100%;\n            display: flex;\n            flex-direction: column;\n            gap: 12px;\n        }\n\n        textarea {\n            width: 100%;\n            resize: none;\n            min-height: 48px;\n            max-height: 120px;\n            padding: 10px 0 8px;\n            font-size: 0.9rem;\n            font-family: 'ZCOOL KuaiLe', 'PingFang SC', 'Microsoft YaHei', cursive;\n            color: var(--text);\n            background: transparent;\n            border: none;\n            border-bottom: 2px solid #d0d7de;\n            border-radius: 0;\n            outline: none;\n            transition: border-color var(--transition), box-shadow var(--transition);\n            line-height: 1.5;\n        }\n        textarea:focus {\n            border-bottom-color: var(--accent);\n            box-shadow: 0 1px 0 0 var(--accent);\n        }\n        textarea::placeholder {\n            color: #b0b8c1;\n            font-family: inherit;\n            font-size: 0.85rem;\n        }\n\n        .btn-row {\n            display: flex;\n            gap: 52px;                  \/* 加大按钮左右间隔 *\/\n            width: 100%;\n            justify-content: center;\n            margin-top: 4px;\n            padding: 0 8px;            \/* 两侧留一点内边距,避免太靠边 *\/\n        }\n        .btn-icon {\n            width: 44px;\n            height: 44px;\n            border-radius: 50%;\n            border: none;\n            cursor: pointer;\n            font-size: 1.3rem;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            color: #2c3e50;\n            background: transparent;\n            flex-shrink: 0;\n            outline: none;\n            -webkit-tap-highlight-color: rgba(0, 0, 0, 0.08);\n        }\n        .btn-icon i {\n            font-size: 1.2rem;\n            line-height: 1;\n        }\n        .btn-icon:active {\n            transform: scale(0.93);\n        }\n        .btn-icon:hover {\n            color: #000;\n        }\n\n        .divider {\n            width: 100%;\n            border: none;\n            border-top: 1px solid #e0e4e8;\n            margin: 4px 0 2px;\n        }\n\n        .yanwen {\n            font-size: 0.9rem;\n            color: #7f8c8d;\n            text-align: center;\n            letter-spacing: 0.03em;\n            line-height: 1.4;\n            user-select: none;\n            padding-bottom: 4px;\n        }\n\n        \/* ========== 卡片右上角轻提示(无背景,深色文字)========== *\/\n        .card-toast {\n            position: absolute;\n            top: 12px;\n            right: 12px;\n            color: #2c3e50;            \/* 深色文字 *\/\n            background: transparent;    \/* 无背景 *\/\n            font-size: 0.85rem;\n            opacity: 0;\n            transition: opacity 0.3s ease;\n            pointer-events: none;\n            z-index: 10;\n            line-height: 1.4;\n            max-width: 60%;\n            text-align: right;\n            white-space: normal;        \/* 允许换行 *\/\n            word-break: break-word;\n        }\n        .card-toast.show {\n            opacity: 1;\n        }\n\n        \/* 移动端微调 *\/\n        @media (max-width: 400px) {\n            .card {\n                padding: 18px 12px 14px;\n                gap: 14px;\n            }\n            .btn-icon {\n                width: 40px;\n                height: 40px;\n            }\n            .btn-icon i {\n                font-size: 1.15rem;\n            }\n            .btn-row {\n                gap: 18px;\n            }\n            .title {\n                font-size: 1.2rem;\n            }\n            .avatar {\n                border-radius: 10px;\n            }\n            .card-toast {\n                top: 8px;\n                right: 8px;\n                font-size: 0.8rem;\n                max-width: 70%;\n            }\n        }",
    "type": 0
}
广告