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