galaxy-uniapp-mcp-server
Version:
Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成
118 lines • 15.1 kB
JSON
{
"id": "escannord_smooth-bat-37",
"name": "smooth-bat-37",
"category": "buttons",
"author": "escannord",
"description": "smooth-bat-37 组件 (3d, button, danger, self-destruct, animation, gradient, interactive)",
"tags": [
"3d",
"button",
"danger",
"self-destruct",
"animation",
"gradient",
"interactive"
],
"original": {
"html": "<button class=\"button\">\n <div class=\"lid\">\n <span class=\"side top\"></span>\n <span class=\"side front\"></span>\n <span class=\"side back\"> </span>\n <span class=\"side left\"></span>\n <span class=\"side right\"></span>\n </div>\n <div class=\"panels\">\n <div class=\"panel-1\">\n <div class=\"panel-2\">\n <div class=\"btn-trigger\">\n <span class=\"btn-trigger-1\"></span>\n <span class=\"btn-trigger-2\"></span>\n </div>\n </div>\n </div>\n </div>\n</button>",
"css": "/* From Uiverse.io by escannord - Tags: 3d, button, danger, self-destruct */\n.button {\n cursor: pointer;\n position: relative;\n display: inline-block;\n transform-style: preserve-3d;\n transform: rotateX(-45deg) rotateY(25deg) rotateZ(0deg);\n background-color: transparent;\n border: none;\n}\n\n.lid {\n position: absolute;\n transform-style: preserve-3d;\n transition: all 1s ease-in-out;\n transform-origin: 0 80px -120px;\n height: 80px;\n width: 250px;\n background-color: rgba(0, 0, 0, 0);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.lid:hover,\n.button:hover .lid {\n transform: translate(-50%, -50%) rotateX(60deg);\n}\n\n.lid .side {\n display: inline-block;\n width: 250px;\n height: 250px;\n background-color: rgba(63, 112, 141, 0.308);\n position: absolute;\n top: 50%;\n left: 50%;\n border: solid 1px rgba(0, 132, 255, 0.226);\n}\n.front {\n transform: translate(-50%, -50%) translateZ(125px);\n height: 80px !important;\n}\n.top {\n transform: translate(-50%, -50%) rotateX(90deg) translateZ(40px);\n background-color: rgba(167, 47, 10, 0.438);\n}\n.left {\n transform: translate(-50%, -50%) rotateY(90deg) translateZ(125px);\n height: 80px !important;\n}\n\n.right {\n transform: translate(-50%, -50%) rotateY(-90deg) translateZ(125px);\n height: 80px !important;\n}\n\n.back {\n transform: translate(-50%, -50%) rotateY(180deg) translateZ(125px);\n background-color: rgba(250, 234, 18, 0.418);\n height: 80px !important;\n}\n\n.back::before {\n content: \"\";\n display: inline-block;\n position: absolute;\n width: 20px;\n height: 10px;\n background-color: black;\n bottom: 0;\n left: 10px;\n}\n\n.back::after {\n content: \"\";\n display: inline-block;\n position: absolute;\n width: 20px;\n height: 10px;\n background-color: black;\n bottom: 0;\n right: 10px;\n}\n\n.panels {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) rotateX(90deg) translateZ(-40px);\n}\n\n.panel-1 {\n display: inline-block;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n height: 250px;\n width: 250px;\n background-color: rgb(166, 255, 0);\n background: repeating-linear-gradient(\n 45deg,\n rgb(247, 243, 33) 0% 2%,\n black 2% 4%\n );\n box-shadow: 0px 0px 0px 20px red;\n}\n\n.panel-2 {\n display: inline-block;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n height: 200px;\n width: 200px;\n background-color: rgb(0, 0, 0);\n background: linear-gradient(-135deg, rgb(43, 42, 42), black);\n border: solid 5px rgb(247, 243, 33);\n}\n\n.panel-1::after {\n content: \"SELF-DESTRUCT\";\n display: inline-block;\n position: absolute;\n top: 50%;\n left: 50%;\n width: 290px;\n height: 25px;\n color: white;\n font-weight: bold;\n transform: translate(-50%, -50%) translateY(170px);\n font-size: larger;\n background-color: red;\n}\n\n.panel-1::before {\n content: \"WARNING: DANGER\";\n display: inline-block;\n position: absolute;\n top: 50%;\n left: 50%;\n width: 290px;\n height: 25px;\n color: white;\n font-weight: bold;\n transform: translate(-50%, -50%) rotateZ(90deg) translateY(170px);\n font-size: larger;\n background-color: red;\n}\n\n.btn-trigger {\n position: absolute;\n top: 50%;\n right: 50%;\n transform: translate(-50%, -50%);\n}\n\n.btn-trigger-1 {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 100px;\n height: 100px;\n background-color: rgb(207, 195, 195);\n box-shadow: -0px 1px 0 rgb(54, 54, 54), -0px 2px 0 rgb(54, 54, 54),\n -1px 3px 0 rgb(54, 54, 54), -1px 4px 0 rgb(54, 54, 54),\n -2px 5px 0 rgb(54, 54, 54), -2px 6px 0 rgb(54, 54, 54),\n -3px 7px 0 rgb(54, 54, 54), -3px 8px 0 rgb(54, 54, 54),\n -4px 9px 0 rgb(54, 54, 54), -4px 10px 0 rgb(54, 54, 54),\n -5px 11px 0 rgb(54, 54, 54), -5px 12px 0 rgb(54, 54, 54),\n -6px 13px 0 rgb(54, 54, 54), -6px 14px 0 rgb(54, 54, 54),\n -7px 15px 0 rgb(54, 54, 54), -7px 16px 0 rgb(54, 54, 54),\n -8px 17px 0 rgb(54, 54, 54), -8px 18px 0 rgb(54, 54, 54),\n -9px 19px 0 rgb(54, 54, 54), -9px 20px 0 rgb(54, 54, 54),\n -10px 21px 0 rgb(54, 54, 54), -10px 22px 0 rgb(54, 54, 54),\n -11px 23px 0 rgb(54, 54, 54), -11px 24px 0 rgb(54, 54, 54),\n -12px 25px 0 rgb(54, 54, 54), -12px 26px 0 rgb(54, 54, 54);\n border-radius: 50%;\n transform: translate(-50%, -50%) translateZ(50px);\n}\n\n.btn-trigger-2 {\n position: absolute;\n width: 80px;\n height: 80px;\n background-color: rgb(241, 17, 17);\n box-shadow: -0px 1px 0 rgb(128, 5, 5), -0px 2px 0 rgb(128, 5, 5),\n -1px 3px 0 rgb(128, 5, 5), -1px 4px 0 rgb(128, 5, 5),\n -2px 5px 0 rgb(128, 5, 5), -2px 6px 0 rgb(128, 5, 5),\n -3px 7px 0 rgb(128, 5, 5), -3px 8px 0 rgb(128, 5, 5),\n -4px 9px 0 rgb(128, 5, 5), -4px 10px 0 rgb(128, 5, 5),\n -5px 11px 0 rgb(128, 5, 5), -5px 12px 0 rgb(128, 5, 5),\n -6px 13px 0 rgb(128, 5, 5), -6px 14px 0 rgb(128, 5, 5),\n -7px 15px 0 rgb(128, 5, 5), -7px 16px 0 rgb(128, 5, 5);\n border-radius: 50%;\n transition: all 0.3s;\n transform: translate(-40%, -70%) translateZ(100px);\n}\n\n.btn-trigger-2:active {\n transform: translate(-50%, -50%) translateZ(100px);\n box-shadow: none;\n}\n\n@keyframes rotate {\n 100% {\n transform: rotateX(360deg);\n }\n}",
"file_path": "/mnt/persist/workspace/Buttons/escannord_smooth-bat-37.html"
},
"uniapp": {
"template": "<button class=\"button\"></button>\n <view class=\"lid\"></view>\n <text class=\"side top\"></text>\n <text class=\"side front\"></text>\n <text class=\"side back\"> </text>\n <text class=\"side left\"></text>\n <text class=\"side right\"></text>\n </div>\n <view class=\"panels\"></view>\n <view class=\"panel-1\"></view>\n <view class=\"panel-2\"></view>\n <view class=\"btn-trigger\"></view>\n <text class=\"btn-trigger-1\"></text>\n <text class=\"btn-trigger-2\"></text>\n </div>\n </div>\n </div>\n </div>\n</button>",
"script": "export default {\n name: 'GalaxySmoothBat37',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}",
"style": "\n/* From Uiverse.io by escannord - Tags: 3d, button, danger, self-destruct */\n.button {\n /* #ifdef H5 */\n cursor: pointer;\n /* #endif */\n position: relative;\n display: inline-block;\n transform-style: preserve-3d;\n transform: rotateX(-45deg) rotateY(25deg) rotateZ(0deg);\n background-color: transparent;\n border: none;\n}\n\n.lid {\n position: absolute;\n transform-style: preserve-3d;\n transition: all 1s ease-in-out;\n transform-origin: 0 160rpx -240rpx;\n height: 160rpx;\n width: 500rpx;\n background-color: rgba(0, 0, 0, 0);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.lid:hover,\n.button:hover .lid {\n transform: translate(-50%, -50%) rotateX(60deg);\n}\n\n.lid .side {\n display: inline-block;\n width: 500rpx;\n height: 500rpx;\n background-color: rgba(63, 112, 141, 0.308);\n position: absolute;\n top: 50%;\n left: 50%;\n border: solid 2rpx rgba(0, 132, 255, 0.226);\n}\n.front {\n transform: translate(-50%, -50%) translateZ(250rpx);\n height: 160rpx !important;\n}\n.top {\n transform: translate(-50%, -50%) rotateX(90deg) translateZ(80rpx);\n background-color: rgba(167, 47, 10, 0.438);\n}\n.left {\n transform: translate(-50%, -50%) rotateY(90deg) translateZ(250rpx);\n height: 160rpx !important;\n}\n\n.right {\n transform: translate(-50%, -50%) rotateY(-90deg) translateZ(250rpx);\n height: 160rpx !important;\n}\n\n.back {\n transform: translate(-50%, -50%) rotateY(180deg) translateZ(250rpx);\n background-color: rgba(250, 234, 18, 0.418);\n height: 160rpx !important;\n}\n\n.back::before {\n content: \"\";\n display: inline-block;\n position: absolute;\n width: 40rpx;\n height: 20rpx;\n background-color: black;\n bottom: 0;\n left: 20rpx;\n}\n\n.back::after {\n content: \"\";\n display: inline-block;\n position: absolute;\n width: 40rpx;\n height: 20rpx;\n background-color: black;\n bottom: 0;\n right: 20rpx;\n}\n\n.panels {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) rotateX(90deg) translateZ(-80rpx);\n}\n\n.panel-1 {\n display: inline-block;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n height: 500rpx;\n width: 500rpx;\n background-color: rgb(166, 255, 0);\n background: repeating-linear-gradient(\n 45deg,\n rgb(247, 243, 33) 0% 2%,\n black 2% 4%\n );\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0rpx 0rpx 0rpx 40rpx red;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.panel-2 {\n display: inline-block;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n height: 400rpx;\n width: 400rpx;\n background-color: rgb(0, 0, 0);\n background: linear-gradient(-135deg, rgb(43, 42, 42), black);\n border: solid 10rpx rgb(247, 243, 33);\n}\n\n.panel-1::after {\n content: \"SELF-DESTRUCT\";\n display: inline-block;\n position: absolute;\n top: 50%;\n left: 50%;\n width: 580rpx;\n height: 50rpx;\n color: white;\n font-weight: bold;\n transform: translate(-50%, -50%) translateY(340rpx);\n font-size: larger;\n background-color: red;\n}\n\n.panel-1::before {\n content: \"WARNING: DANGER\";\n display: inline-block;\n position: absolute;\n top: 50%;\n left: 50%;\n width: 580rpx;\n height: 50rpx;\n color: white;\n font-weight: bold;\n transform: translate(-50%, -50%) rotateZ(90deg) translateY(340rpx);\n font-size: larger;\n background-color: red;\n}\n\n.btn-trigger {\n position: absolute;\n top: 50%;\n right: 50%;\n transform: translate(-50%, -50%);\n}\n\n.btn-trigger-1 {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 200rpx;\n height: 200rpx;\n background-color: rgb(207, 195, 195);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: -0rpx 2rpx 0 rgb(54, 54, 54), -0rpx 4rpx 0 rgb(54, 54, 54),\n -2rpx 6rpx 0 rgb(54, 54, 54), -2rpx 8rpx 0 rgb(54, 54, 54),\n -4rpx 10rpx 0 rgb(54, 54, 54), -4rpx 12rpx 0 rgb(54, 54, 54),\n -6rpx 14rpx 0 rgb(54, 54, 54), -6rpx 16rpx 0 rgb(54, 54, 54),\n -8rpx 18rpx 0 rgb(54, 54, 54), -8rpx 20rpx 0 rgb(54, 54, 54),\n -10rpx 22rpx 0 rgb(54, 54, 54), -10rpx 24rpx 0 rgb(54, 54, 54),\n -12rpx 26rpx 0 rgb(54, 54, 54), -12rpx 28rpx 0 rgb(54, 54, 54),\n -14rpx 30rpx 0 rgb(54, 54, 54), -14rpx 32rpx 0 rgb(54, 54, 54),\n -16rpx 34rpx 0 rgb(54, 54, 54), -16rpx 36rpx 0 rgb(54, 54, 54),\n -18rpx 38rpx 0 rgb(54, 54, 54), -18rpx 40rpx 0 rgb(54, 54, 54),\n -20rpx 42rpx 0 rgb(54, 54, 54), -20rpx 44rpx 0 rgb(54, 54, 54),\n -22rpx 46rpx 0 rgb(54, 54, 54), -22rpx 48rpx 0 rgb(54, 54, 54),\n -24rpx 50rpx 0 rgb(54, 54, 54), -24rpx 52rpx 0 rgb(54, 54, 54);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n border-radius: 50%;\n transform: translate(-50%, -50%) translateZ(100rpx);\n}\n\n.btn-trigger-2 {\n position: absolute;\n width: 160rpx;\n height: 160rpx;\n background-color: rgb(241, 17, 17);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: -0rpx 2rpx 0 rgb(128, 5, 5), -0rpx 4rpx 0 rgb(128, 5, 5),\n -2rpx 6rpx 0 rgb(128, 5, 5), -2rpx 8rpx 0 rgb(128, 5, 5),\n -4rpx 10rpx 0 rgb(128, 5, 5), -4rpx 12rpx 0 rgb(128, 5, 5),\n -6rpx 14rpx 0 rgb(128, 5, 5), -6rpx 16rpx 0 rgb(128, 5, 5),\n -8rpx 18rpx 0 rgb(128, 5, 5), -8rpx 20rpx 0 rgb(128, 5, 5),\n -10rpx 22rpx 0 rgb(128, 5, 5), -10rpx 24rpx 0 rgb(128, 5, 5),\n -12rpx 26rpx 0 rgb(128, 5, 5), -12rpx 28rpx 0 rgb(128, 5, 5),\n -14rpx 30rpx 0 rgb(128, 5, 5), -14rpx 32rpx 0 rgb(128, 5, 5);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n border-radius: 50%;\n transition: all 0.3s;\n transform: translate(-40%, -70%) translateZ(200rpx);\n}\n\n.btn-trigger-2:active {\n transform: translate(-50%, -50%) translateZ(200rpx);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: none;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n@keyframes rotate {\n 100% {\n transform: rotateX(360deg);\n }\n}\n\n",
"component_name": "GalaxySmoothBat37"
},
"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": [
"不支持 box-shadow 属性",
"不支持 cursor 属性"
],
"alternatives": []
},
"mp-alipay": {
"supported": true,
"issues": [
"不支持 box-shadow 属性",
"不支持 cursor 属性"
],
"alternatives": []
},
"app-plus": {
"supported": true,
"issues": [],
"alternatives": []
}
},
"performance": {
"complexity": "high",
"bundle_size": 5623,
"render_cost": "high",
"memory_usage": "high"
},
"dependencies": [],
"examples": [
{
"title": "",
"description": "",
"code": ""
}
],
"created_at": "2025-07-31T07:55:36.641Z",
"updated_at": "2025-07-31T07:55:36.641Z"
}