galaxy-uniapp-mcp-server
Version:
Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成
90 lines • 10.2 kB
JSON
{
"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"
}