UNPKG

galaxy-uniapp-mcp-server

Version:

Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成

90 lines 10.2 kB
{ "id": "mobinkakei_pink-deer-76", "name": "pink-deer-76", "category": "loaders", "author": "mobinkakei", "description": "pink-deer-76 组件 (loader, wifi, animation)", "tags": [ "loader", "wifi", "animation" ], "original": { "html": "<div id=\"wifi-loader\">\n <svg class=\"circle-outer\" viewBox=\"0 0 86 86\">\n <circle class=\"back\" cx=\"43\" cy=\"43\" r=\"40\"></circle>\n <circle class=\"front\" cx=\"43\" cy=\"43\" r=\"40\"></circle>\n <circle class=\"new\" cx=\"43\" cy=\"43\" r=\"40\"></circle>\n </svg>\n <svg class=\"circle-middle\" viewBox=\"0 0 60 60\">\n <circle class=\"back\" cx=\"30\" cy=\"30\" r=\"27\"></circle>\n <circle class=\"front\" cx=\"30\" cy=\"30\" r=\"27\"></circle>\n </svg>\n <svg class=\"circle-inner\" viewBox=\"0 0 34 34\">\n <circle class=\"back\" cx=\"17\" cy=\"17\" r=\"14\"></circle>\n <circle class=\"front\" cx=\"17\" cy=\"17\" r=\"14\"></circle>\n </svg>\n <div class=\"text\" data-text=\"Searching\"></div>\n</div>", "css": "/* From Uiverse.io by mobinkakei - Tags: loader, wifi */\n#wifi-loader {\n --background: #62abff;\n --front-color: #4f29f0;\n --back-color: #c3c8de;\n --text-color: #414856;\n width: 64px;\n height: 64px;\n border-radius: 50px;\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n#wifi-loader svg {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n#wifi-loader svg circle {\n position: absolute;\n fill: none;\n stroke-width: 6px;\n stroke-linecap: round;\n stroke-linejoin: round;\n transform: rotate(-100deg);\n transform-origin: center;\n}\n\n#wifi-loader svg circle.back {\n stroke: var(--back-color);\n}\n\n#wifi-loader svg circle.front {\n stroke: var(--front-color);\n}\n\n#wifi-loader svg.circle-outer {\n height: 86px;\n width: 86px;\n}\n\n#wifi-loader svg.circle-outer circle {\n stroke-dasharray: 62.75 188.25;\n}\n\n#wifi-loader svg.circle-outer circle.back {\n animation: circle-outer135 1.8s ease infinite 0.3s;\n}\n\n#wifi-loader svg.circle-outer circle.front {\n animation: circle-outer135 1.8s ease infinite 0.15s;\n}\n\n#wifi-loader svg.circle-middle {\n height: 60px;\n width: 60px;\n}\n\n#wifi-loader svg.circle-middle circle {\n stroke-dasharray: 42.5 127.5;\n}\n\n#wifi-loader svg.circle-middle circle.back {\n animation: circle-middle6123 1.8s ease infinite 0.25s;\n}\n\n#wifi-loader svg.circle-middle circle.front {\n animation: circle-middle6123 1.8s ease infinite 0.1s;\n}\n\n#wifi-loader svg.circle-inner {\n height: 34px;\n width: 34px;\n}\n\n#wifi-loader svg.circle-inner circle {\n stroke-dasharray: 22 66;\n}\n\n#wifi-loader svg.circle-inner circle.back {\n animation: circle-inner162 1.8s ease infinite 0.2s;\n}\n\n#wifi-loader svg.circle-inner circle.front {\n animation: circle-inner162 1.8s ease infinite 0.05s;\n}\n\n#wifi-loader .text {\n position: absolute;\n bottom: -40px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-transform: lowercase;\n font-weight: 500;\n font-size: 14px;\n letter-spacing: 0.2px;\n}\n\n#wifi-loader .text::before, #wifi-loader .text::after {\n content: attr(data-text);\n}\n\n#wifi-loader .text::before {\n color: var(--text-color);\n}\n\n#wifi-loader .text::after {\n color: var(--front-color);\n animation: text-animation76 3.6s ease infinite;\n position: absolute;\n left: 0;\n}\n\n@keyframes circle-outer135 {\n 0% {\n stroke-dashoffset: 25;\n }\n\n 25% {\n stroke-dashoffset: 0;\n }\n\n 65% {\n stroke-dashoffset: 301;\n }\n\n 80% {\n stroke-dashoffset: 276;\n }\n\n 100% {\n stroke-dashoffset: 276;\n }\n}\n\n@keyframes circle-middle6123 {\n 0% {\n stroke-dashoffset: 17;\n }\n\n 25% {\n stroke-dashoffset: 0;\n }\n\n 65% {\n stroke-dashoffset: 204;\n }\n\n 80% {\n stroke-dashoffset: 187;\n }\n\n 100% {\n stroke-dashoffset: 187;\n }\n}\n\n@keyframes circle-inner162 {\n 0% {\n stroke-dashoffset: 9;\n }\n\n 25% {\n stroke-dashoffset: 0;\n }\n\n 65% {\n stroke-dashoffset: 106;\n }\n\n 80% {\n stroke-dashoffset: 97;\n }\n\n 100% {\n stroke-dashoffset: 97;\n }\n}\n\n@keyframes text-animation76 {\n 0% {\n clip-path: inset(0 100% 0 0);\n }\n\n 50% {\n clip-path: inset(0);\n }\n\n 100% {\n clip-path: inset(0 0 0 100%);\n }\n}", "file_path": "/mnt/persist/workspace/loaders/mobinkakei_pink-deer-76.html" }, "uniapp": { "template": "<view id=\"wifi-loader\"></view>\n <view class=\"circle-outer\" viewBox=\"0 0 86 86\"></view>\n <circle class=\"back\" cx=\"43\" cy=\"43\" r=\"40\"></circle>\n <circle class=\"front\" cx=\"43\" cy=\"43\" r=\"40\"></circle>\n <circle class=\"new\" cx=\"43\" cy=\"43\" r=\"40\"></circle>\n </svg>\n <view class=\"circle-middle\" viewBox=\"0 0 60 60\"></view>\n <circle class=\"back\" cx=\"30\" cy=\"30\" r=\"27\"></circle>\n <circle class=\"front\" cx=\"30\" cy=\"30\" r=\"27\"></circle>\n </svg>\n <view class=\"circle-inner\" viewBox=\"0 0 34 34\"></view>\n <circle class=\"back\" cx=\"17\" cy=\"17\" r=\"14\"></circle>\n <circle class=\"front\" cx=\"17\" cy=\"17\" r=\"14\"></circle>\n </svg>\n <view class=\"text\" data-text=\"Searching\"></view>\n</div>", "script": "export default {\n name: 'GalaxyPinkDeer76',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}", "style": "\n/* From Uiverse.io by mobinkakei - Tags: loader, wifi */\n#wifi-loader {\n --background: #62abff;\n --front-color: #4f29f0;\n --back-color: #c3c8de;\n --text-color: #414856;\n width: 128rpx;\n height: 128rpx;\n border-radius: 100rpx;\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n#wifi-loader svg {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n#wifi-loader svg circle {\n position: absolute;\n fill: none;\n stroke-width: 12rpx;\n stroke-linecap: round;\n stroke-linejoin: round;\n transform: rotate(-100deg);\n transform-origin: center;\n}\n\n#wifi-loader svg circle.back {\n stroke: var(--back-color);\n}\n\n#wifi-loader svg circle.front {\n stroke: var(--front-color);\n}\n\n#wifi-loader svg.circle-outer {\n height: 172rpx;\n width: 172rpx;\n}\n\n#wifi-loader svg.circle-outer circle {\n stroke-dasharray: 62.75 188.25;\n}\n\n#wifi-loader svg.circle-outer circle.back {\n animation: circle-outer135 1.8s ease infinite 0.3s;\n}\n\n#wifi-loader svg.circle-outer circle.front {\n animation: circle-outer135 1.8s ease infinite 0.15s;\n}\n\n#wifi-loader svg.circle-middle {\n height: 120rpx;\n width: 120rpx;\n}\n\n#wifi-loader svg.circle-middle circle {\n stroke-dasharray: 42.5 127.5;\n}\n\n#wifi-loader svg.circle-middle circle.back {\n animation: circle-middle6123 1.8s ease infinite 0.25s;\n}\n\n#wifi-loader svg.circle-middle circle.front {\n animation: circle-middle6123 1.8s ease infinite 0.1s;\n}\n\n#wifi-loader svg.circle-inner {\n height: 68rpx;\n width: 68rpx;\n}\n\n#wifi-loader svg.circle-inner circle {\n stroke-dasharray: 22 66;\n}\n\n#wifi-loader svg.circle-inner circle.back {\n animation: circle-inner162 1.8s ease infinite 0.2s;\n}\n\n#wifi-loader svg.circle-inner circle.front {\n animation: circle-inner162 1.8s ease infinite 0.05s;\n}\n\n#wifi-loader .text {\n position: absolute;\n bottom: -80rpx;\n display: flex;\n justify-content: center;\n align-items: center;\n text-transform: lowercase;\n font-weight: 500;\n font-size: 28rpx;\n letter-spacing: 0.4rpx;\n}\n\n#wifi-loader .text::before, #wifi-loader .text::after {\n content: attr(data-text);\n}\n\n#wifi-loader .text::before {\n color: var(--text-color);\n}\n\n#wifi-loader .text::after {\n color: var(--front-color);\n animation: text-animation76 3.6s ease infinite;\n position: absolute;\n left: 0;\n}\n\n@keyframes circle-outer135 {\n 0% {\n stroke-dashoffset: 25;\n }\n\n 25% {\n stroke-dashoffset: 0;\n }\n\n 65% {\n stroke-dashoffset: 301;\n }\n\n 80% {\n stroke-dashoffset: 276;\n }\n\n 100% {\n stroke-dashoffset: 276;\n }\n}\n\n@keyframes circle-middle6123 {\n 0% {\n stroke-dashoffset: 17;\n }\n\n 25% {\n stroke-dashoffset: 0;\n }\n\n 65% {\n stroke-dashoffset: 204;\n }\n\n 80% {\n stroke-dashoffset: 187;\n }\n\n 100% {\n stroke-dashoffset: 187;\n }\n}\n\n@keyframes circle-inner162 {\n 0% {\n stroke-dashoffset: 9;\n }\n\n 25% {\n stroke-dashoffset: 0;\n }\n\n 65% {\n stroke-dashoffset: 106;\n }\n\n 80% {\n stroke-dashoffset: 97;\n }\n\n 100% {\n stroke-dashoffset: 97;\n }\n}\n\n@keyframes text-animation76 {\n 0% {\n \n }\n\n 50% {\n \n }\n\n 100% {\n \n }\n}\n \n", "component_name": "GalaxyPinkDeer76" }, "platforms": { "h5": true, "mp-weixin": true, "mp-alipay": true, "mp-baidu": true, "mp-toutiao": true, "app-plus": true }, "props": [ { "name": "disabled", "type": "Boolean", "default": false, "required": false, "description": "是否禁用" } ], "events": [], "slots": [ { "name": "", "description": "", "props": [] } ], "compatibility": { "h5": { "supported": true, "issues": [], "alternatives": [] }, "mp-weixin": { "supported": true, "issues": [ "不支持 clip-path 属性" ], "alternatives": [] }, "mp-alipay": { "supported": true, "issues": [ "不支持 clip-path 属性" ], "alternatives": [] }, "app-plus": { "supported": true, "issues": [], "alternatives": [] } }, "performance": { "complexity": "high", "bundle_size": 3872, "render_cost": "high", "memory_usage": "high" }, "dependencies": [], "examples": [ { "title": "", "description": "", "code": "" } ], "created_at": "2025-07-31T07:55:42.360Z", "updated_at": "2025-07-31T07:55:42.360Z" }