galaxy-uniapp-mcp-server
Version:
Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成
117 lines • 12.2 kB
JSON
{
"id": "0xnihilism_helpless-rattlesnake-54",
"name": "helpless-rattlesnake-54",
"category": "buttons",
"author": "0xnihilism",
"description": "helpless-rattlesnake-54 组件 (button, microsoft, animated, brutalism, brutalist, glare effect, animation, interactive)",
"tags": [
"button",
"microsoft",
"animated",
"brutalism",
"brutalist",
"glare effect",
"animation",
"interactive"
],
"original": {
"html": "<a href=\"/\" class=\"brutalist-button\">\n <div class=\"content-wrapper\">\n <div class=\"claude-logo\">\n <span class=\"starburst\">✷</span>\n </div>\n <div class=\"button-text\">\n <span>Powered By</span>\n <span>Claude 3.5</span>\n </div>\n </div>\n</a>",
"css": "/* From Uiverse.io by 0xnihilism - Tags: button, microsoft, animated, brutalism, brutalist, glare effect */\n.brutalist-button {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #e3d19c;\n border: 3px solid #000000;\n border-radius: 8px;\n padding: 20px;\n text-decoration: none;\n color: #000000;\n font-weight: bold;\n position: relative;\n box-shadow: 4px 4px 0px #000000;\n overflow: hidden;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n width: 166px;\n height: 150px;\n}\n\n.brutalist-button:hover {\n transform: translate(-2px, -2px);\n box-shadow: 6px 6px 0px #000000;\n}\n\n.brutalist-button:active {\n transform: translate(2px, 2px);\n box-shadow: 2px 2px 0px #000000;\n}\n\n.content-wrapper {\n position: relative;\n z-index: 2;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n}\n\n.claude-logo {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 80px;\n height: 80px;\n border-radius: 50%;\n background-color: #eb6c22;\n transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),\n margin-bottom 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n transform: rotate(0deg) scale(1);\n}\n\n.starburst {\n font-size: 48px;\n color: #ffffff;\n line-height: 1;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n}\n\n.button-text {\n display: flex;\n flex-direction: column;\n align-items: center;\n line-height: 1.2;\n text-align: center;\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n}\n\n.button-text span:first-child {\n font-size: 14px;\n font-weight: normal;\n}\n\n.button-text span:last-child {\n font-size: 18px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.brutalist-button:hover .content-wrapper {\n transform: translateY(-10px);\n}\n\n@keyframes slow-spin {\n from {\n transform: rotate(0deg) scale(0.8);\n }\n to {\n transform: rotate(360deg) scale(0.8);\n }\n}\n\n.brutalist-button:hover .claude-logo {\n animation: slow-spin 12s linear infinite;\n margin-bottom: 5px;\n}\n\n.brutalist-button:not(:hover) .claude-logo {\n transform: rotate(0deg) scale(1);\n transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),\n margin-bottom 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);\n margin-bottom: 0;\n}\n\n.brutalist-button:hover .starburst {\n font-size: 38px;\n}\n\n.brutalist-button:hover .button-text {\n opacity: 1;\n max-height: 50px;\n margin-top: 2px;\n}\n\n.brutalist-button:not(:hover) .content-wrapper,\n.brutalist-button:not(:hover) .starburst,\n.brutalist-button:not(:hover) .button-text {\n transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0s;\n}\n\n.brutalist-button::before,\n.brutalist-button::after {\n content: \"\";\n position: absolute;\n top: 50%;\n width: 20px;\n height: 20px;\n background-color: rgba(200, 183, 128, 0.7);\n border-radius: 50%;\n transition: all 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);\n opacity: 0;\n z-index: 1;\n}\n\n.brutalist-button::before {\n left: -20px;\n transform: translate(-50%, -50%);\n}\n\n.brutalist-button::after {\n right: -20px;\n transform: translate(50%, -50%);\n}\n\n.brutalist-button:hover::before {\n animation: criss-cross-left 0.8s both;\n animation-direction: alternate;\n opacity: 1;\n}\n\n.brutalist-button:hover::after {\n animation: criss-cross-right 0.8s both;\n animation-direction: alternate;\n opacity: 1;\n}\n\n@keyframes criss-cross-left {\n 0% {\n left: -20px;\n }\n 50% {\n left: 50%;\n width: 20px;\n height: 20px;\n }\n 100% {\n left: 50%;\n width: 375px;\n height: 375px;\n }\n}\n\n@keyframes criss-cross-right {\n 0% {\n right: -20px;\n }\n 50% {\n right: 50%;\n width: 20px;\n height: 20px;\n }\n 100% {\n right: 50%;\n width: 375px;\n height: 375px;\n }\n}\n\n.brutalist-button:hover .button-text {\n color: #ffffff;\n}\n\n.brutalist-button:hover .button-text span:last-child {\n color: #4e432d;\n}",
"file_path": "/mnt/persist/workspace/Buttons/0xnihilism_helpless-rattlesnake-54.html"
},
"uniapp": {
"template": "<navigator href=\"/\" class=\"brutalist-button\"></navigator>\n <view class=\"content-wrapper\"></view>\n <view class=\"claude-logo\"></view>\n <text class=\"starburst\">✷</text>\n </div>\n <view class=\"button-text\"></view>\n <text>Powered By</text>\n <text>Claude 3.5</text>\n </div>\n </div>\n</a>",
"script": "export default {\n name: 'GalaxyHelplessRattlesnake54',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}",
"style": "\n/* From Uiverse.io by 0xnihilism - Tags: button, microsoft, animated, brutalism, brutalist, glare effect */\n.brutalist-button {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #e3d19c;\n border: 6rpx solid #000000;\n border-radius: 16rpx;\n padding: 40rpx;\n text-decoration: none;\n color: #000000;\n font-weight: bold;\n position: relative;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 8rpx 8rpx 0rpx #000000;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n overflow: hidden;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n width: 332rpx;\n height: 300rpx;\n}\n\n.brutalist-button:hover {\n transform: translate(-4rpx, -4rpx);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 12rpx 12rpx 0rpx #000000;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.brutalist-button:active {\n transform: translate(4rpx, 4rpx);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 4rpx 4rpx 0rpx #000000;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.content-wrapper {\n position: relative;\n z-index: 2;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n}\n\n.claude-logo {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 160rpx;\n height: 160rpx;\n border-radius: 50%;\n background-color: #eb6c22;\n transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),\n margin-bottom 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n transform: rotate(0deg) scale(1);\n}\n\n.starburst {\n font-size: 96rpx;\n color: #ffffff;\n line-height: 1;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n}\n\n.button-text {\n display: flex;\n flex-direction: column;\n align-items: center;\n line-height: 1.2;\n text-align: center;\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n}\n\n.button-text span:first-child {\n font-size: 28rpx;\n font-weight: normal;\n}\n\n.button-text span:last-child {\n font-size: 36rpx;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 1rpx;\n}\n\n.brutalist-button:hover .content-wrapper {\n transform: translateY(-20rpx);\n}\n\n@keyframes slow-spin {\n from {\n transform: rotate(0deg) scale(0.8);\n }\n to {\n transform: rotate(360deg) scale(0.8);\n }\n}\n\n.brutalist-button:hover .claude-logo {\n animation: slow-spin 12s linear infinite;\n margin-bottom: 10rpx;\n}\n\n.brutalist-button:not(:hover) .claude-logo {\n transform: rotate(0deg) scale(1);\n transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),\n margin-bottom 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);\n margin-bottom: 0;\n}\n\n.brutalist-button:hover .starburst {\n font-size: 76rpx;\n}\n\n.brutalist-button:hover .button-text {\n opacity: 1;\n max-height: 100rpx;\n margin-top: 4rpx;\n}\n\n.brutalist-button:not(:hover) .content-wrapper,\n.brutalist-button:not(:hover) .starburst,\n.brutalist-button:not(:hover) .button-text {\n transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0s;\n}\n\n.brutalist-button::before,\n.brutalist-button::after {\n content: \"\";\n position: absolute;\n top: 50%;\n width: 40rpx;\n height: 40rpx;\n background-color: rgba(200, 183, 128, 0.7);\n border-radius: 50%;\n transition: all 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);\n opacity: 0;\n z-index: 1;\n}\n\n.brutalist-button::before {\n left: -40rpx;\n transform: translate(-50%, -50%);\n}\n\n.brutalist-button::after {\n right: -40rpx;\n transform: translate(50%, -50%);\n}\n\n.brutalist-button:hover::before {\n animation: criss-cross-left 0.8s both;\n animation-direction: alternate;\n opacity: 1;\n}\n\n.brutalist-button:hover::after {\n animation: criss-cross-right 0.8s both;\n animation-direction: alternate;\n opacity: 1;\n}\n\n@keyframes criss-cross-left {\n 0% {\n left: -40rpx;\n }\n 50% {\n left: 50%;\n width: 40rpx;\n height: 40rpx;\n }\n 100% {\n left: 50%;\n width: 750rpx;\n height: 750rpx;\n }\n}\n\n@keyframes criss-cross-right {\n 0% {\n right: -40rpx;\n }\n 50% {\n right: 50%;\n width: 40rpx;\n height: 40rpx;\n }\n 100% {\n right: 50%;\n width: 750rpx;\n height: 750rpx;\n }\n}\n\n.brutalist-button:hover .button-text {\n color: #ffffff;\n}\n\n.brutalist-button:hover .button-text span:last-child {\n color: #4e432d;\n}\n\n",
"component_name": "GalaxyHelplessRattlesnake54"
},
"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 属性"
],
"alternatives": []
},
"mp-alipay": {
"supported": true,
"issues": [
"不支持 box-shadow 属性"
],
"alternatives": []
},
"app-plus": {
"supported": true,
"issues": [],
"alternatives": []
}
},
"performance": {
"complexity": "high",
"bundle_size": 4335,
"render_cost": "high",
"memory_usage": "high"
},
"dependencies": [],
"examples": [
{
"title": "",
"description": "",
"code": ""
}
],
"created_at": "2025-07-31T07:55:32.373Z",
"updated_at": "2025-07-31T07:55:32.373Z"
}