galaxy-uniapp-mcp-server
Version:
Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成
115 lines • 14.1 kB
JSON
{
"id": "barisdogansutcu_bitter-dragon-16",
"name": "bitter-dragon-16",
"category": "buttons",
"author": "barisdogansutcu",
"description": "bitter-dragon-16 组件 (animation, button, funny, interactive)",
"tags": [
"animation",
"button",
"funny",
"interactive"
],
"original": {
"html": "<div class=\"click\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n <button class=\"button up\">\n <div class=\"speak dblink\">\n <div class=\"wrap\">\n <div class=\"eye double-blink\"></div>\n <div class=\"eye double-blink\"></div>\n </div>\n </div>\n <p></p>\n <p></p>\n <p></p>\n <div class=\"speak doblink\">\n <div class=\"wrap\">\n <div class=\"eye down\"></div>\n <div class=\"eye down\"></div>\n </div>\n </div>\n <div class=\"speak rblink\">\n <div class=\"wrap\">\n <div class=\"eye right-blink\"></div>\n <div class=\"eye right-blink\"></div>\n </div>\n </div>\n <div class=\"speak ublink\">\n <div class=\"wrap\">\n <div class=\"eye up-blink\"></div>\n <div class=\"eye up-blink\"></div>\n </div>\n </div>\n </button>\n <button disabled=\"\" class=\"button shadow\"></button>\n</div>",
"css": "/* From Uiverse.io by barisdogansutcu - Tags: animation, button, funny */\n.button {\n cursor: inherit;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n border: solid 4px rgba(255, 255, 255, 0);\n background-color: hsl(300, 10%, 8%);\n font-size: 20px;\n color: white;\n border-radius: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100px;\n}\n.button:before {\n content: \"\";\n position: absolute;\n top: 0;\n transform: translateY(-100%);\n width: 0;\n height: 0;\n border-top: solid 10px rgba(255, 0, 0, 0);\n border-bottom: solid 10px hsl(300, 10%, 8%);\n border-right: solid 10px rgba(255, 0, 0, 0);\n border-left: solid 10px rgba(255, 0, 0, 0);\n}\n.button.up {\n z-index: 2;\n}\n.click .button .speak:nth-child(n + 2) {\n display: none;\n}\nbutton:hover,\n.click span:nth-child(5):hover ~ button,\n.click span:nth-child(6):hover ~ button {\n left: 100%;\n top: 0;\n transform: translateX(-100%);\n}\nbutton:hover,\n.click span:nth-child(5):hover ~ .button .speak:is(.dblink, .rblink),\n.click span:nth-child(6):hover ~ .button .speak:is(.dblink, .rblink) {\n display: none !important;\n}\nbutton:hover,\n.click span:nth-child(5):hover ~ .button .speak:is(.doblink),\n.click span:nth-child(6):hover ~ .button .speak:is(.doblink) {\n display: flex !important;\n}\nbutton:hover,\n.click span:nth-child(2):hover ~ button,\nbutton:hover,\n.click span:nth-child(3):hover ~ button {\n left: 0%;\n top: 0;\n transform: translateX(0%);\n}\nbutton:hover,\n.click span:nth-child(2):hover ~ .button .speak:is(.dblink, .hihi),\n.click span:nth-child(3):hover ~ .button .speak:is(.dblink, .hihi) {\n display: none !important;\n}\nbutton:hover,\n.click span:nth-child(2):hover ~ .button .speak:is(.rblink),\n.click span:nth-child(3):hover ~ .button .speak:is(.rblink) {\n display: flex !important;\n}\nbutton:hover,\n.click span:nth-child(1):hover ~ button,\nbutton:hover,\n.click span:nth-child(4):hover ~ button {\n top: 100%;\n left: 0;\n transform: translateY(-100%);\n}\nbutton:hover,\n.click span:nth-child(1):hover ~ .button .speak:is(.dblink, hihi, rblink),\n.click span:nth-child(4):hover ~ .button .speak:is(.dblink, hihi, rblink) {\n display: none !important;\n}\nbutton:hover,\n.click span:nth-child(1):hover ~ .button .speak:is(.ublink),\n.click span:nth-child(4):hover ~ .button .speak:is(.ublink) {\n display: flex !important;\n}\n.click {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 0px;\n position: relative;\n border-radius: 5px;\n}\n.click span {\n width: 80px;\n height: 80px;\n background-color: transparent;\n display: flex;\n}\n.shadow {\n color: transparent;\n transition: all 0.5s ease;\n z-index: 1;\n pointer-events: none;\n filter: blur(14px);\n background-color: hsla(240, 24%, 12%, 0.384);\n}\n.speak {\n font-size: 15px;\n}\n.wrap {\n position: relative;\n width: 100px;\n height: 40px;\n margin: 0 2rem;\n color: black;\n line-height: 40px;\n font-size: 2rem;\n text-align: center;\n font-weight: 400;\n margin-bottom: 0;\n display: flex;\n gap: 5px;\n}\n.eye {\n position: relative;\n margin: auto;\n top: 0;\n bottom: 0;\n background: #fff;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n display: inline-block;\n animation: double-blink 4s cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;\n overflow: hidden;\n}\n@keyframes double-blink {\n 0%,\n 8% {\n height: 40px;\n }\n 10%,\n 12% {\n height: 10px;\n }\n 13% {\n height: 40px;\n }\n 14%,\n 16% {\n height: 0;\n }\n 18%,\n 100% {\n height: 40px;\n }\n}\n.eye:before {\n content: \"\";\n position: absolute;\n margin: auto;\n width: 10px;\n height: 10px;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n border-radius: 50%;\n background: rgba(20, 20, 20, 1);\n}\n.down:before {\n animation: downb 4s cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;\n}\n@keyframes downb {\n 0%,\n 10% {\n top: 0;\n left: -10px;\n }\n 20%,\n 40% {\n top: 50%;\n left: -10px;\n }\n 50%,\n 100% {\n top: 0;\n left: -10px;\n }\n}\n.right-blink:before {\n animation: rightb 4s cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;\n}\n@keyframes rightb {\n 0%,\n 10% {\n top: 0;\n left: 50%;\n }\n 20%,\n 40% {\n top: 50%;\n left: 50%;\n }\n 50%,\n 100% {\n top: 0;\n left: 50%;\n }\n}\n.up-blink:before {\n animation: upb 4s cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;\n}\n@keyframes upb {\n 0%,\n 10% {\n top: 0;\n left: 0%;\n }\n 20%,\n 40% {\n top: -50%;\n left: 0%;\n }\n 50%,\n 100% {\n top: 0;\n left: 0%;\n }\n}",
"file_path": "/mnt/persist/workspace/Buttons/barisdogansutcu_bitter-dragon-16.html"
},
"uniapp": {
"template": "<view class=\"click\"></view>\n <text></text>\n <text></text>\n <text></text>\n <text></text>\n <text></text>\n <text></text>\n <text></text>\n <text></text>\n <text></text>\n <button class=\"button up\"></button>\n <view class=\"speak dblink\"></view>\n <view class=\"wrap\"></view>\n <view class=\"eye double-blink\"></view>\n <view class=\"eye double-blink\"></view>\n </div>\n </div>\n <text></text>\n <text></text>\n <text></text>\n <view class=\"speak doblink\"></view>\n <view class=\"wrap\"></view>\n <view class=\"eye down\"></view>\n <view class=\"eye down\"></view>\n </div>\n </div>\n <view class=\"speak rblink\"></view>\n <view class=\"wrap\"></view>\n <view class=\"eye right-blink\"></view>\n <view class=\"eye right-blink\"></view>\n </div>\n </div>\n <view class=\"speak ublink\"></view>\n <view class=\"wrap\"></view>\n <view class=\"eye up-blink\"></view>\n <view class=\"eye up-blink\"></view>\n </div>\n </div>\n </button>\n <button disabled=\"\" class=\"button shadow\"></button></button>\n</div>",
"script": "export default {\n name: 'GalaxyBitterDragon16',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}",
"style": "\n/* From Uiverse.io by barisdogansutcu - Tags: animation, button, funny */\n.button {\n /* #ifdef H5 */\n cursor: inherit;\n /* #endif */\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n border: solid 8rpx rgba(255, 255, 255, 0);\n background-color: hsl(300, 10%, 8%);\n font-size: 40rpx;\n color: white;\n border-radius: 100rpx;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 200rpx;\n}\n.button:before {\n content: \"\";\n position: absolute;\n top: 0;\n transform: translateY(-100%);\n width: 0;\n height: 0;\n border-top: solid 20rpx rgba(255, 0, 0, 0);\n border-bottom: solid 20rpx hsl(300, 10%, 8%);\n border-right: solid 20rpx rgba(255, 0, 0, 0);\n border-left: solid 20rpx rgba(255, 0, 0, 0);\n}\n.button.up {\n z-index: 2;\n}\n.click .button .speak:nth-child(n + 2) {\n display: none;\n}\nbutton:hover,\n.click span:nth-child(5):hover ~ button,\n.click span:nth-child(6):hover ~ button {\n left: 100%;\n top: 0;\n transform: translateX(-100%);\n}\nbutton:hover,\n.click span:nth-child(5):hover ~ .button .speak:is(.dblink, .rblink),\n.click span:nth-child(6):hover ~ .button .speak:is(.dblink, .rblink) {\n display: none !important;\n}\nbutton:hover,\n.click span:nth-child(5):hover ~ .button .speak:is(.doblink),\n.click span:nth-child(6):hover ~ .button .speak:is(.doblink) {\n display: flex !important;\n}\nbutton:hover,\n.click span:nth-child(2):hover ~ button,\nbutton:hover,\n.click span:nth-child(3):hover ~ button {\n left: 0%;\n top: 0;\n transform: translateX(0%);\n}\nbutton:hover,\n.click span:nth-child(2):hover ~ .button .speak:is(.dblink, .hihi),\n.click span:nth-child(3):hover ~ .button .speak:is(.dblink, .hihi) {\n display: none !important;\n}\nbutton:hover,\n.click span:nth-child(2):hover ~ .button .speak:is(.rblink),\n.click span:nth-child(3):hover ~ .button .speak:is(.rblink) {\n display: flex !important;\n}\nbutton:hover,\n.click span:nth-child(1):hover ~ button,\nbutton:hover,\n.click span:nth-child(4):hover ~ button {\n top: 100%;\n left: 0;\n transform: translateY(-100%);\n}\nbutton:hover,\n.click span:nth-child(1):hover ~ .button .speak:is(.dblink, hihi, rblink),\n.click span:nth-child(4):hover ~ .button .speak:is(.dblink, hihi, rblink) {\n display: none !important;\n}\nbutton:hover,\n.click span:nth-child(1):hover ~ .button .speak:is(.ublink),\n.click span:nth-child(4):hover ~ .button .speak:is(.ublink) {\n display: flex !important;\n}\n.click {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 0rpx;\n position: relative;\n border-radius: 10rpx;\n}\n.click span {\n width: 160rpx;\n height: 160rpx;\n background-color: transparent;\n display: flex;\n}\n.shadow {\n color: transparent;\n transition: all 0.5s ease;\n z-index: 1;\n pointer-events: none;\n \n background-color: hsla(240, 24%, 12%, 0.384);\n}\n.speak {\n font-size: 30rpx;\n}\n.wrap {\n position: relative;\n width: 200rpx;\n height: 80rpx;\n margin: 0 2rem;\n color: black;\n line-height: 80rpx;\n font-size: 2rem;\n text-align: center;\n font-weight: 400;\n margin-bottom: 0;\n display: flex;\n gap: 10rpx;\n}\n.eye {\n position: relative;\n margin: auto;\n top: 0;\n bottom: 0;\n background: #fff;\n width: 80rpx;\n height: 80rpx;\n border-radius: 50%;\n display: inline-block;\n animation: double-blink 4s cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;\n overflow: hidden;\n}\n@keyframes double-blink {\n 0%,\n 8% {\n height: 80rpx;\n }\n 10%,\n 12% {\n height: 20rpx;\n }\n 13% {\n height: 80rpx;\n }\n 14%,\n 16% {\n height: 0;\n }\n 18%,\n 100% {\n height: 80rpx;\n }\n}\n.eye:before {\n content: \"\";\n position: absolute;\n margin: auto;\n width: 20rpx;\n height: 20rpx;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n border-radius: 50%;\n background: rgba(20, 20, 20, 1);\n}\n.down:before {\n animation: downb 4s cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;\n}\n@keyframes downb {\n 0%,\n 10% {\n top: 0;\n left: -20rpx;\n }\n 20%,\n 40% {\n top: 50%;\n left: -20rpx;\n }\n 50%,\n 100% {\n top: 0;\n left: -20rpx;\n }\n}\n.right-blink:before {\n animation: rightb 4s cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;\n}\n@keyframes rightb {\n 0%,\n 10% {\n top: 0;\n left: 50%;\n }\n 20%,\n 40% {\n top: 50%;\n left: 50%;\n }\n 50%,\n 100% {\n top: 0;\n left: 50%;\n }\n}\n.up-blink:before {\n animation: upb 4s cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;\n}\n@keyframes upb {\n 0%,\n 10% {\n top: 0;\n left: 0%;\n }\n 20%,\n 40% {\n top: -50%;\n left: 0%;\n }\n 50%,\n 100% {\n top: 0;\n left: 0%;\n }\n}\n\n",
"component_name": "GalaxyBitterDragon16"
},
"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": 5410,
"render_cost": "high",
"memory_usage": "high"
},
"dependencies": [],
"examples": [
{
"title": "",
"description": "",
"code": ""
}
],
"created_at": "2025-07-31T07:55:35.846Z",
"updated_at": "2025-07-31T07:55:35.846Z"
}