UNPKG

galaxy-uniapp-mcp-server

Version:

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

85 lines 8.85 kB
{ "id": "fanishah_tender-bat-85", "name": "tender-bat-85", "category": "loaders", "author": "fanishah", "description": "tender-bat-85 组件 (loader, animation)", "tags": [ "loader", "animation" ], "original": { "html": "<div class=\"container\">\n <div class=\"top-left\"></div>\n <div class=\"top-right\"></div>\n <div class=\"bottom-left\"></div>\n <div class=\"bottom-right\"></div>\n</div>", "css": "/* From Uiverse.io by fanishah - Tags: loader */\n.container {\n width: 200px;\n height: 200px;\n top: 50%;\n left: 50%;\n transform: translate(-50%,-50%);\n position: absolute;\n}\n\n.container div {\n width: 100px;\n height: 100px;\n top: 50px;\n left: 50px;\n display: block;\n position: absolute;\n}\n\n.top-left {\n animation: tl 7.5s ease infinite\n}\n\n.top-right {\n animation: tr 7.5s ease infinite\n}\n\n.bottom-left {\n animation: bl 7.5s ease infinite\n}\n\n.bottom-right {\n animation: br 7.5s ease infinite\n}\n\n.container div:before,\n.container div:after {\n display: block;\n position: absolute;\n content: \"\"\n}\n\n.container div:before {\n width: 50px;\n height: 50px\n}\n\n.top-left:before {\n background: rgb(251, 189, 4);\n top: 0;\n left: 0;\n border-radius: 100% 0 0 0\n}\n\n.top-right:before {\n background: rgb(234, 67, 52);\n top: 0;\n right: 0;\n border-radius: 0 100% 0 0\n}\n\n.bottom-left:before {\n background: rgb(52, 168, 83);\n bottom: 0;\n left: 0;\n border-radius: 0 0 0 100%\n}\n\n.bottom-right:before {\n background: rgb(67, 135, 244);\n bottom: 0;\n right: 0;\n border-radius: 0 0 100% 0\n}\n\n.container div:after {\n background: rgb(33, 33, 33);\n width: 25px;\n height: 25px;\n z-index: 1\n}\n\n.top-left:after {\n top: 25px;\n left: 25px;\n border-radius: 100% 0 0 0\n}\n\n.top-right:after {\n top: 25px;\n right: 25px;\n border-radius: 0 100% 0 0\n}\n\n.bottom-left:after {\n bottom: 25px;\n left: 25px;\n border-radius: 0 0 0 100%\n}\n\n.bottom-right:after {\n bottom: 25px;\n right: 25px;\n border-radius: 0 0 100% 0\n}\n\n@keyframes tl {\n 0%,96%,100% {\n transform: rotate(0deg)\n }\n\n 12% {\n transform: rotate(-45deg)\n }\n\n 24% {\n transform: rotate(-90deg)\n }\n\n 36% {\n transform: rotate(-135deg)\n }\n\n 48% {\n left: 50px;\n transform: rotate(-180deg)\n }\n\n 60% {\n left: 125px;\n opacity: 1;\n transform: rotate(-135deg)\n }\n\n 61%,95% {\n opacity: 0\n }\n}\n\n@keyframes tr {\n 0% {\n transform: rotate(0deg)\n }\n\n 12% {\n transform: rotate(-45deg)\n }\n\n 24% {\n transform: rotate(-90deg)\n }\n\n 36% {\n transform: rotate(-135deg)\n }\n\n 48% {\n transform: rotate(-180deg)\n }\n\n 60% {\n transform: rotate(-225deg)\n }\n\n 72% {\n transform: rotate(-270deg)\n }\n\n 84% {\n transform: rotate(-315deg)\n }\n\n 96%,100% {\n transform: rotate(-360deg)\n }\n}\n\n@keyframes bl {\n 0%,100% {\n transform: rotate(0deg)\n }\n\n 12% {\n transform: rotate(-45deg)\n }\n\n 24% {\n left: 50px;\n transform: rotate(-90deg)\n }\n\n 36% {\n left: 125px;\n opacity: 1;\n transform: rotate(-45deg)\n }\n\n 37%,83% {\n opacity: 0\n }\n\n 84% {\n left: -25px;\n opacity: 1;\n transform: rotate(-45deg)\n }\n\n 96% {\n left: 50px;\n transform: rotate(0deg)\n }\n}\n\n@keyframes br {\n 0%,96%,100% {\n transform: rotate(0deg)\n }\n\n 12% {\n left: 125px;\n opacity: 1;\n transform: rotate(45deg)\n }\n\n 13%,59% {\n opacity: 0\n }\n\n 60% {\n left: -25px;\n opacity: 1;\n transform: rotate(45deg)\n }\n\n 72% {\n left: 50px;\n transform: rotate(90deg)\n }\n\n 84% {\n transform: rotate(45deg)\n }\n}", "file_path": "/mnt/persist/workspace/loaders/fanishah_tender-bat-85.html" }, "uniapp": { "template": "<view class=\"container\"></view>\n <view class=\"top-left\"></view>\n <view class=\"top-right\"></view>\n <view class=\"bottom-left\"></view>\n <view class=\"bottom-right\"></view>\n</div>", "script": "export default {\n name: 'GalaxyTenderBat85',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}", "style": "\n/* From Uiverse.io by fanishah - Tags: loader */\n.container {\n width: 400rpx;\n height: 400rpx;\n top: 50%;\n left: 50%;\n transform: translate(-50%,-50%);\n position: absolute;\n}\n\n.container div {\n width: 200rpx;\n height: 200rpx;\n top: 100rpx;\n left: 100rpx;\n display: block;\n position: absolute;\n}\n\n.top-left {\n animation: tl 7.5s ease infinite\n}\n\n.top-right {\n animation: tr 7.5s ease infinite\n}\n\n.bottom-left {\n animation: bl 7.5s ease infinite\n}\n\n.bottom-right {\n animation: br 7.5s ease infinite\n}\n\n.container div:before,\n.container div:after {\n display: block;\n position: absolute;\n content: \"\"\n}\n\n.container div:before {\n width: 100rpx;\n height: 100rpx\n}\n\n.top-left:before {\n background: rgb(251, 189, 4);\n top: 0;\n left: 0;\n border-radius: 100% 0 0 0\n}\n\n.top-right:before {\n background: rgb(234, 67, 52);\n top: 0;\n right: 0;\n border-radius: 0 100% 0 0\n}\n\n.bottom-left:before {\n background: rgb(52, 168, 83);\n bottom: 0;\n left: 0;\n border-radius: 0 0 0 100%\n}\n\n.bottom-right:before {\n background: rgb(67, 135, 244);\n bottom: 0;\n right: 0;\n border-radius: 0 0 100% 0\n}\n\n.container div:after {\n background: rgb(33, 33, 33);\n width: 50rpx;\n height: 50rpx;\n z-index: 1\n}\n\n.top-left:after {\n top: 50rpx;\n left: 50rpx;\n border-radius: 100% 0 0 0\n}\n\n.top-right:after {\n top: 50rpx;\n right: 50rpx;\n border-radius: 0 100% 0 0\n}\n\n.bottom-left:after {\n bottom: 50rpx;\n left: 50rpx;\n border-radius: 0 0 0 100%\n}\n\n.bottom-right:after {\n bottom: 50rpx;\n right: 50rpx;\n border-radius: 0 0 100% 0\n}\n\n@keyframes tl {\n 0%,96%,100% {\n transform: rotate(0deg)\n }\n\n 12% {\n transform: rotate(-45deg)\n }\n\n 24% {\n transform: rotate(-90deg)\n }\n\n 36% {\n transform: rotate(-135deg)\n }\n\n 48% {\n left: 100rpx;\n transform: rotate(-180deg)\n }\n\n 60% {\n left: 250rpx;\n opacity: 1;\n transform: rotate(-135deg)\n }\n\n 61%,95% {\n opacity: 0\n }\n}\n\n@keyframes tr {\n 0% {\n transform: rotate(0deg)\n }\n\n 12% {\n transform: rotate(-45deg)\n }\n\n 24% {\n transform: rotate(-90deg)\n }\n\n 36% {\n transform: rotate(-135deg)\n }\n\n 48% {\n transform: rotate(-180deg)\n }\n\n 60% {\n transform: rotate(-225deg)\n }\n\n 72% {\n transform: rotate(-270deg)\n }\n\n 84% {\n transform: rotate(-315deg)\n }\n\n 96%,100% {\n transform: rotate(-360deg)\n }\n}\n\n@keyframes bl {\n 0%,100% {\n transform: rotate(0deg)\n }\n\n 12% {\n transform: rotate(-45deg)\n }\n\n 24% {\n left: 100rpx;\n transform: rotate(-90deg)\n }\n\n 36% {\n left: 250rpx;\n opacity: 1;\n transform: rotate(-45deg)\n }\n\n 37%,83% {\n opacity: 0\n }\n\n 84% {\n left: -50rpx;\n opacity: 1;\n transform: rotate(-45deg)\n }\n\n 96% {\n left: 100rpx;\n transform: rotate(0deg)\n }\n}\n\n@keyframes br {\n 0%,96%,100% {\n transform: rotate(0deg)\n }\n\n 12% {\n left: 250rpx;\n opacity: 1;\n transform: rotate(45deg)\n }\n\n 13%,59% {\n opacity: 0\n }\n\n 60% {\n left: -50rpx;\n opacity: 1;\n transform: rotate(45deg)\n }\n\n 72% {\n left: 100rpx;\n transform: rotate(90deg)\n }\n\n 84% {\n transform: rotate(45deg)\n }\n}\n", "component_name": "GalaxyTenderBat85" }, "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": [], "alternatives": [] }, "mp-alipay": { "supported": true, "issues": [], "alternatives": [] }, "app-plus": { "supported": true, "issues": [], "alternatives": [] } }, "performance": { "complexity": "high", "bundle_size": 3224, "render_cost": "high", "memory_usage": "high" }, "dependencies": [], "examples": [ { "title": "", "description": "", "code": "" } ], "created_at": "2025-07-31T07:55:42.036Z", "updated_at": "2025-07-31T07:55:42.036Z" }