galaxy-uniapp-mcp-server
Version:
Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成
122 lines • 16.2 kB
JSON
{
"id": "Lucaasbre_happy-elephant-36",
"name": "happy-elephant-36",
"category": "buttons",
"author": "Lucaasbre",
"description": "happy-elephant-36 组件 (button, animated, gradients, svg, css effect, multicolor, button hover effect, 2d button, animation, gradient, interactive)",
"tags": [
"button",
"animated",
"gradients",
"svg",
"css effect",
"multicolor",
"button hover effect",
"2d button",
"animation",
"gradient",
"interactive"
],
"original": {
"html": "<div class=\"container\">\n <span class=\"span-text\">\n <svg height=\"20pt\" width=\"20pt\" viewBox=\"0 0 20 20\" style=\"isolation:isolate\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns=\"http://www.w3.org/2000/svg\">\n <defs>\n <clipPath id=\"_clipPath_bC9TwUVn0M3ipVC8aHmmX7RNkfzJwdgL\">\n <rect height=\"20\" width=\"20\"></rect>\n </clipPath>\n </defs>\n <g clip-path=\"url(#_clipPath_bC9TwUVn0M3ipVC8aHmmX7RNkfzJwdgL)\">\n <rect fill-opacity=\"0\" style=\"fill:rgb(1,0,1)\" height=\"20\" width=\"20\"></rect>\n <path stroke-miterlimit=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke=\"rgb(0,0,0)\" stroke-width=\"1\" fill=\"rgb(0,0,0)\" d=\"M 10 1 L 10 9 L 15 9 L 10 19 L 10 12 L 5 12 L 10 1 Z\"></path>\n </g>\n </svg>\n Join now\n </span>\n <button class=\"button\">\n <span class=\"span-outside\"> </span>\n <div class=\"circles\">\n <span class=\"circle\"> </span>\n <span class=\"circle\"> </span>\n <span class=\"circle\"> </span>\n <span class=\"circle\"> </span>\n <span class=\"circle\"> </span>\n <span class=\"circle\"> </span>\n <span class=\"circle\"> </span>\n <span class=\"circle\"> </span>\n <span class=\"circle\"> </span>\n <span class=\"circle\"> </span>\n <span class=\"circle\"> </span>\n <span class=\"circle\"> </span>\n <span class=\"circle\"> </span>\n <span class=\"circle\"> </span>\n <span class=\"circle\"> </span>\n </div>\n </button>\n</div>",
"css": "/* From Uiverse.io by Lucaasbre - Tags: button, animated, gradients, svg, css effect, multicolor, button hover effect , 2d button */\n.container {\n position: relative;\n width: 300px;\n height: 100px;\n border-radius: 30px;\n overflow: hidden;\n cursor: pointer;\n}\n\n.button {\n border: none;\n width: 200%;\n height: 100%;\n background: linear-gradient(\n 75deg,\n rgb(170, 55, 200) 10%,\n rgb(235, 100, 130) 20%,\n rgb(245, 95, 90) 40%,\n rgb(245, 110, 30) 60%,\n rgb(235, 100, 130) 80%,\n rgb(170, 55, 200) 90%\n ),\n linear-gradient(\n 75deg,\n rgb(170, 55, 200) 0%,\n rgb(235, 100, 130) 20%,\n rgb(245, 95, 90) 40%,\n rgb(245, 110, 30) 60%,\n rgb(235, 100, 130) 80%,\n rgb(170, 55, 200) 100%\n );\n background-size: 50% 100%;\n animation: moveGradient 3s linear infinite paused;\n}\n\n.container:hover .button {\n animation-play-state: running;\n}\n\n.container:active {\n scale: 0.95;\n}\n\n@keyframes moveGradient {\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 100% 0;\n }\n}\n\n.span-text {\n position: absolute;\n z-index: 3;\n width: 100%;\n height: 100%;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.span-outside {\n width: 300px;\n height: 95px;\n justify-content: center;\n align-items: center;\n display: flex;\n border-radius: 30px;\n border: 2px solid rgba(255, 255, 255, 0.7);\n background-color: #ffffff10;\n filter: blur(1px);\n z-index: 3;\n}\n\n.span-text > svg {\n position: relative;\n width: 25px;\n height: 25px;\n margin-right: 5px;\n}\n\n.circles .circle {\n position: absolute;\n background-color: #fff;\n width: 200px;\n height: 200px;\n border-radius: 50%;\n}\n\n.circles .circle:nth-child(1) {\n position: absolute;\n background-color: rgba(255, 255, 255, 0.2);\n filter: blur(20px);\n top: -80px;\n left: 180px;\n}\n\n.circles .circle:nth-child(2) {\n position: absolute;\n background-color: rgba(255, 255, 255, 0.3);\n border-radius: 0;\n filter: blur(10px);\n top: -10px;\n left: -50px;\n}\n\n.circles .circle:nth-child(3) {\n position: absolute;\n background-color: rgba(255, 255, 255, 0.8);\n border-radius: 10px 80px 80px 40px;\n width: 60px;\n height: 40px;\n top: 30px;\n left: 35px;\n filter: blur(10px);\n}\n\n.circles .circle:nth-child(4) {\n position: absolute;\n background-color: #fff;\n rotate: 10deg;\n width: 40px;\n height: 40px;\n top: 60px;\n left: 130px;\n filter: blur(20px);\n}\n\n.circles .circle:nth-child(5) {\n position: absolute;\n background-color: #fff;\n width: 70px;\n height: 70px;\n top: 25px;\n left: 250px;\n filter: blur(18px);\n}\n\n.circles .circle:nth-child(6) {\n position: absolute;\n background-color: #fff;\n rotate: 10deg;\n width: 40px;\n height: 40px;\n top: 30px;\n left: 190px;\n filter: blur(10px);\n}\n\n.circles .circle:nth-child(7) {\n position: absolute;\n background-color: transparent;\n border-radius: 0 0 0 20px;\n border-left: 2px solid #fff;\n border-bottom: 2px solid #fff;\n width: 210px;\n height: 20px;\n top: 0px;\n left: 20px;\n filter: blur(2px);\n}\n\n.circles .circle:nth-child(8) {\n position: absolute;\n background-color: transparent;\n border-radius: 0;\n border-bottom: 6px solid #fff;\n width: 60px;\n height: 20px;\n top: 60px;\n left: 60px;\n filter: blur(5px);\n}\n\n.circles .circle:nth-child(9) {\n position: absolute;\n background-color: transparent;\n border-radius: 0 20px 0 0;\n border-right: 2px solid #fff;\n border-top: 2px solid #fff;\n width: 50px;\n height: 20px;\n top: 19px;\n right: 20px;\n filter: blur(2px);\n}\n\n.circles .circle:nth-child(10) {\n position: absolute;\n background-color: transparent;\n border-radius: 0 20px;\n border-left: 2px solid #fff;\n border-bottom: 2px solid #fff;\n width: 30px;\n height: 50px;\n bottom: 10px;\n right: -10px;\n filter: blur(2px);\n}\n\n.circles .circle:nth-child(11) {\n position: absolute;\n background-color: transparent;\n border-radius: 0 20px 0 0;\n border-right: 2px solid #fff;\n border-top: 2px solid #fff;\n width: 50px;\n height: 20px;\n bottom: 1px;\n right: 20px;\n filter: blur(2px);\n}\n\n.circles .circle:nth-child(12) {\n position: absolute;\n background-color: transparent;\n border-radius: 0 0 0 20px;\n border-left: 2px solid #fff;\n border-bottom: 2px solid #fff;\n width: 210px;\n height: 20px;\n bottom: 20px;\n left: 20px;\n filter: blur(2px);\n}\n\n.circles .circle:nth-child(13) {\n position: absolute;\n background-color: transparent;\n border-radius: 0 20px 0 0;\n border-right: 2px solid #fff;\n border-top: 2px solid #fff;\n width: 20px;\n height: 50px;\n top: 10px;\n left: 0px;\n filter: blur(2px);\n}\n\n.circles .circle:nth-child(14) {\n position: absolute;\n background-color: white;\n border-radius: 0 0 80px 40px;\n width: 90px;\n height: 20px;\n top: 0px;\n left: 20px;\n filter: blur(9px);\n}\n\n.circles .circle:nth-child(15) {\n position: absolute;\n background-color: transparent;\n border-radius: 0;\n border-bottom: 6px solid #fff;\n width: 60px;\n height: 20px;\n top: 0px;\n left: 30px;\n filter: blur(3px);\n}",
"file_path": "/mnt/persist/workspace/Buttons/Lucaasbre_happy-elephant-36.html"
},
"uniapp": {
"template": "<view class=\"container\"></view>\n <text class=\"span-text\"></text>\n <view height=\"20pt\" width=\"20pt\" viewBox=\"0 0 20 20\" style=\"isolation:isolate\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns=\"http://www.w3.org/2000/svg\"></view>\n <defs>\n <clipPath id=\"_clipPath_bC9TwUVn0M3ipVC8aHmmX7RNkfzJwdgL\">\n <rect height=\"20\" width=\"20\"></rect>\n </clipPath>\n </defs>\n <g clip-path=\"url(#_clipPath_bC9TwUVn0M3ipVC8aHmmX7RNkfzJwdgL)\">\n <rect fill-opacity=\"0\" style=\"fill:rgb(1,0,1)\" height=\"20\" width=\"20\"></rect>\n <path stroke-miterlimit=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke=\"rgb(0,0,0)\" stroke-width=\"1\" fill=\"rgb(0,0,0)\" d=\"M 10 1 L 10 9 L 15 9 L 10 19 L 10 12 L 5 12 L 10 1 Z\"></path>\n </g>\n </svg>\n Join now\n </span>\n <button class=\"button\"></button>\n <text class=\"span-outside\"> </text>\n <view class=\"circles\"></view>\n <text class=\"circle\"> </text>\n <text class=\"circle\"> </text>\n <text class=\"circle\"> </text>\n <text class=\"circle\"> </text>\n <text class=\"circle\"> </text>\n <text class=\"circle\"> </text>\n <text class=\"circle\"> </text>\n <text class=\"circle\"> </text>\n <text class=\"circle\"> </text>\n <text class=\"circle\"> </text>\n <text class=\"circle\"> </text>\n <text class=\"circle\"> </text>\n <text class=\"circle\"> </text>\n <text class=\"circle\"> </text>\n <text class=\"circle\"> </text>\n </div>\n </button>\n</div>",
"script": "export default {\n name: 'GalaxyHappyElephant36',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}",
"style": "\n/* From Uiverse.io by Lucaasbre - Tags: button, animated, gradients, svg, css effect, multicolor, button hover effect , 2d button */\n.container {\n position: relative;\n width: 600rpx;\n height: 200rpx;\n border-radius: 60rpx;\n overflow: hidden;\n /* #ifdef H5 */\n cursor: pointer;\n /* #endif */\n}\n\n.button {\n border: none;\n width: 200%;\n height: 100%;\n background: linear-gradient(\n 75deg,\n rgb(170, 55, 200) 10%,\n rgb(235, 100, 130) 20%,\n rgb(245, 95, 90) 40%,\n rgb(245, 110, 30) 60%,\n rgb(235, 100, 130) 80%,\n rgb(170, 55, 200) 90%\n ),\n linear-gradient(\n 75deg,\n rgb(170, 55, 200) 0%,\n rgb(235, 100, 130) 20%,\n rgb(245, 95, 90) 40%,\n rgb(245, 110, 30) 60%,\n rgb(235, 100, 130) 80%,\n rgb(170, 55, 200) 100%\n );\n background-size: 50% 100%;\n animation: moveGradient 3s linear infinite paused;\n}\n\n.container:hover .button {\n animation-play-state: running;\n}\n\n.container:active {\n scale: 0.95;\n}\n\n@keyframes moveGradient {\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 100% 0;\n }\n}\n\n.span-text {\n position: absolute;\n z-index: 3;\n width: 100%;\n height: 100%;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.span-outside {\n width: 600rpx;\n height: 190rpx;\n justify-content: center;\n align-items: center;\n display: flex;\n border-radius: 60rpx;\n border: 4rpx solid rgba(255, 255, 255, 0.7);\n background-color: #ffffff10;\n \n z-index: 3;\n}\n\n.span-text > svg {\n position: relative;\n width: 50rpx;\n height: 50rpx;\n margin-right: 10rpx;\n}\n\n.circles .circle {\n position: absolute;\n background-color: #fff;\n width: 400rpx;\n height: 400rpx;\n border-radius: 50%;\n}\n\n.circles .circle:nth-child(1) {\n position: absolute;\n background-color: rgba(255, 255, 255, 0.2);\n \n top: -160rpx;\n left: 360rpx;\n}\n\n.circles .circle:nth-child(2) {\n position: absolute;\n background-color: rgba(255, 255, 255, 0.3);\n border-radius: 0;\n \n top: -20rpx;\n left: -100rpx;\n}\n\n.circles .circle:nth-child(3) {\n position: absolute;\n background-color: rgba(255, 255, 255, 0.8);\n border-radius: 20rpx 160rpx 160rpx 80rpx;\n width: 120rpx;\n height: 80rpx;\n top: 60rpx;\n left: 70rpx;\n \n}\n\n.circles .circle:nth-child(4) {\n position: absolute;\n background-color: #fff;\n rotate: 10deg;\n width: 80rpx;\n height: 80rpx;\n top: 120rpx;\n left: 260rpx;\n \n}\n\n.circles .circle:nth-child(5) {\n position: absolute;\n background-color: #fff;\n width: 140rpx;\n height: 140rpx;\n top: 50rpx;\n left: 500rpx;\n \n}\n\n.circles .circle:nth-child(6) {\n position: absolute;\n background-color: #fff;\n rotate: 10deg;\n width: 80rpx;\n height: 80rpx;\n top: 60rpx;\n left: 380rpx;\n \n}\n\n.circles .circle:nth-child(7) {\n position: absolute;\n background-color: transparent;\n border-radius: 0 0 0 40rpx;\n border-left: 4rpx solid #fff;\n border-bottom: 4rpx solid #fff;\n width: 420rpx;\n height: 40rpx;\n top: 0rpx;\n left: 40rpx;\n \n}\n\n.circles .circle:nth-child(8) {\n position: absolute;\n background-color: transparent;\n border-radius: 0;\n border-bottom: 12rpx solid #fff;\n width: 120rpx;\n height: 40rpx;\n top: 120rpx;\n left: 120rpx;\n \n}\n\n.circles .circle:nth-child(9) {\n position: absolute;\n background-color: transparent;\n border-radius: 0 40rpx 0 0;\n border-right: 4rpx solid #fff;\n border-top: 4rpx solid #fff;\n width: 100rpx;\n height: 40rpx;\n top: 38rpx;\n right: 40rpx;\n \n}\n\n.circles .circle:nth-child(10) {\n position: absolute;\n background-color: transparent;\n border-radius: 0 40rpx;\n border-left: 4rpx solid #fff;\n border-bottom: 4rpx solid #fff;\n width: 60rpx;\n height: 100rpx;\n bottom: 20rpx;\n right: -20rpx;\n \n}\n\n.circles .circle:nth-child(11) {\n position: absolute;\n background-color: transparent;\n border-radius: 0 40rpx 0 0;\n border-right: 4rpx solid #fff;\n border-top: 4rpx solid #fff;\n width: 100rpx;\n height: 40rpx;\n bottom: 2rpx;\n right: 40rpx;\n \n}\n\n.circles .circle:nth-child(12) {\n position: absolute;\n background-color: transparent;\n border-radius: 0 0 0 40rpx;\n border-left: 4rpx solid #fff;\n border-bottom: 4rpx solid #fff;\n width: 420rpx;\n height: 40rpx;\n bottom: 40rpx;\n left: 40rpx;\n \n}\n\n.circles .circle:nth-child(13) {\n position: absolute;\n background-color: transparent;\n border-radius: 0 40rpx 0 0;\n border-right: 4rpx solid #fff;\n border-top: 4rpx solid #fff;\n width: 40rpx;\n height: 100rpx;\n top: 20rpx;\n left: 0rpx;\n \n}\n\n.circles .circle:nth-child(14) {\n position: absolute;\n background-color: white;\n border-radius: 0 0 160rpx 80rpx;\n width: 180rpx;\n height: 40rpx;\n top: 0rpx;\n left: 40rpx;\n \n}\n\n.circles .circle:nth-child(15) {\n position: absolute;\n background-color: transparent;\n border-radius: 0;\n border-bottom: 12rpx solid #fff;\n width: 120rpx;\n height: 40rpx;\n top: 0rpx;\n left: 60rpx;\n \n}\n\n",
"component_name": "GalaxyHappyElephant36"
},
"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": "是否禁用"
},
{
"name": "text",
"type": "String",
"default": "按钮",
"required": false,
"description": "按钮文字"
},
{
"name": "type",
"type": "String",
"default": "primary",
"required": false,
"description": "按钮类型"
}
],
"events": [
{
"name": "click",
"description": "点击事件",
"parameters": [
"event"
]
}
],
"slots": [
{
"name": "",
"description": "",
"props": []
}
],
"compatibility": {
"h5": {
"supported": true,
"issues": [],
"alternatives": []
},
"mp-weixin": {
"supported": true,
"issues": [
"不支持 filter 属性",
"不支持 cursor 属性"
],
"alternatives": []
},
"mp-alipay": {
"supported": true,
"issues": [
"不支持 filter 属性",
"不支持 cursor 属性"
],
"alternatives": []
},
"app-plus": {
"supported": true,
"issues": [],
"alternatives": []
}
},
"performance": {
"complexity": "high",
"bundle_size": 6451,
"render_cost": "high",
"memory_usage": "high"
},
"dependencies": [],
"examples": [
{
"title": "",
"description": "",
"code": ""
}
],
"created_at": "2025-07-31T07:55:33.856Z",
"updated_at": "2025-07-31T07:55:33.856Z"
}