galaxy-uniapp-mcp-server
Version:
Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成
113 lines • 11.6 kB
JSON
{
"id": "albertofanini-prog_hard-wasp-8",
"name": "hard-wasp-8",
"category": "buttons",
"author": "albertofanini-prog",
"description": "hard-wasp-8 组件 (button, animation, gradient, interactive)",
"tags": [
"button",
"animation",
"gradient",
"interactive"
],
"original": {
"html": "<div id=\"pulsa\" class=\"pulsa\">\n <button id=\"cta\" class=\"cta\">\n Spatial button<div class=\"star a\"></div>\n <div class=\"star b\"></div>\n <div class=\"star c\"></div>\n <div class=\"star d\"></div>\n <div class=\"star e\"></div>\n <div class=\"star f\"></div>\n <div class=\"star g\"></div>\n <svg version=\"1.1\" viewBox=\"0 0 1024 1024\" width=\"24px\" class=\"rocket\"><path fill=\"#3A7EB9\" d=\"M662.72 462.784l136.448 169.408v173.248l-136.448-48.32zM342.72 457.344L206.272 626.816v173.248l136.448-48.384z\"></path><path fill=\"#D48171\" d=\"M570.688 418.688l-142.848 1.152a266.496 266.496 0 0 1-20.288-0.576l3.712 448.64c0.256 28.928 94.272 130.048 94.272 130.048s93.888-102.656 93.632-131.584l-3.712-448.96a344.64 344.64 0 0 1-24.768 1.28z\"></path><path fill=\"#E9DF92\" d=\"M531.456 599.296l-63.04 0.576c-3.008 0-5.952-0.064-8.96-0.384l2.176 257.792c0.128 16.64 41.728 74.816 41.728 74.816s41.344-58.944 41.28-75.52l-2.176-257.92c-3.648 0.384-7.296 0.64-11.008 0.64z\"></path><path fill=\"#B5D5EB\" d=\"M554.304 93.568a324.352 324.352 0 0 0-110.592 1.728L342.72 240.768v584.512c13.824-0.96 27.968-1.536 42.368-1.536h245.248c11.84 0 23.36 0.384 34.816 1.024V253.312L554.304 93.568z\"></path><path fill=\"#3A7EB9\" d=\"M541.44 94.144L500.416 35.008l-45.696 59.136v29.504h89.024v-29.504zM459.456 288.64h88.96v88.896h-88.96zM459.456 467.456h88.96v88.96h-88.96zM459.456 634.176h88.96v88.896h-88.96zM364.928 788.736h277.76v44.352h-277.76z\"></path></svg>\n </button>\n \n</div>",
"css": "/* From Uiverse.io by albertofanini-prog - Tags: button */\n.pulsa {\n animation: pulsa 1.4s infinite;\n min-width: 200px;\n width: fit-content;\n border-radius: 9999px;\n /* overflow: hidden; */\n}\n\n.cta {\n width: 100%;\n height: 100%;\n border: none;\n outline: none;\n background-color: none;\n border-radius: 9999px;\n padding: 8px 16px;\n color: white;\n font-size: 15px;\n background: linear-gradient(109.6deg, #090979 11.2%, #9006A1 53.7%, #090979 100.2%);\n letter-spacing: 0.08em;\n font-weight: 800;\n position: relative;\n}\n\n.cta:active {\n animation: pulsa-active .4s infinite;\n}\n\n.star {\n width: 2px;\n height: 2px;\n background-color: white;\n border-radius: 50%;\n position: absolute;\n animation: pulsa-stella 1.8s infinite;\n transition: all .8s ease-in-out;\n}\n\n.star.a {\n top: 8px;\n left: 6px;\n}\n\n.star.b {\n top: 2px;\n left: 16px;\n}\n\n.star.c {\n top: 18px;\n left: 8px;\n}\n\n.star.d {\n top: 14px;\n left: 20px;\n}\n\n.star.e {\n top: 30px;\n left: 8px;\n}\n\n.star.f {\n top: 24px;\n left: 24px;\n}\n\n.star.g {\n top: 10px;\n left: 32px;\n}\n\n.pulsa:hover .star.a {\n transform: translate3d(0px, 8px, 0);\n}\n\n.pulsa:hover .star.b {\n transform: translate3d(-4px, 6px, 0);\n}\n\n.pulsa:hover .star.c {\n transform: translate3d(14px, -8px, 0);\n}\n\n.pulsa:hover .star.d {\n transform: translate3d(16px, -2px, 0);\n}\n\n.pulsa:hover .star.e {\n transform: translate3d(58px, -20px, 0);\n}\n\n.pulsa:hover .star.f {\n transform: translate3d(34px, 2px, 0);\n}\n\n.pulsa:hover .star.g {\n transform: translate3d(10px, 16px, 0);\n}\n\n.rocket {\n position: absolute;\n top: 8px;\n right: 16px;\n z-index: -1;\n transform: rotate(180deg);\n transition: all .3s ease-in-out;\n}\n\n.pulsa:hover .rocket {\n z-index: auto;\n animation: muovi-razzo 1.8s linear;\n transform: rotate(0deg);\n}\n\n@keyframes pulsa {\n 0% {\n box-shadow: 0 0 0 0 #9006A1;\n }\n\n 100% {\n box-shadow: 0 0 0 8px #fbb32f01;\n }\n}\n\n@keyframes pulsa-stella {\n 0% {\n box-shadow: 0 0 0 0 #ffffff;\n }\n\n 100% {\n box-shadow: 0 0 0 4px #fbb32f01;\n }\n}\n\n@keyframes muovi-razzo {\n from {\n transform: rotate(180deg);\n }\n\n 25% {\n transform: translate3d(40px, 32px, 0);\n }\n\n 50% {\n transform: translate3d(32px, -60px, 0);\n }\n\n 75% {\n transform: translate3d(0px, -60px, 0) rotate(0);\n }\n\n to {\n transform: rotate(0deg);\n }\n}\n\n@keyframes pulsa-active {\n 0% {\n box-shadow: 0 0 0 0 #9006A1;\n }\n\n 100% {\n box-shadow: 0 0 0 16px #fbb32f01;\n }\n}",
"file_path": "/mnt/persist/workspace/Buttons/albertofanini-prog_hard-wasp-8.html"
},
"uniapp": {
"template": "<view id=\"pulsa\" class=\"pulsa\"></view>\n <button id=\"cta\" class=\"cta\"></button>\n Spatial button<view class=\"star a\"></view>\n <view class=\"star b\"></view>\n <view class=\"star c\"></view>\n <view class=\"star d\"></view>\n <view class=\"star e\"></view>\n <view class=\"star f\"></view>\n <view class=\"star g\"></view>\n <view version=\"1.1\" viewBox=\"0 0 1024 1024\" width=\"24px\" class=\"rocket\"><path fill=\"#3A7EB9\" d=\"M662.72 462.784l136.448 169.408v173.248l-136.448-48.32zM342.72 457.344L206.272 626.816v173.248l136.448-48.384z\"></path><path fill=\"#D48171\" d=\"M570.688 418.688l-142.848 1.152a266.496 266.496 0 0 1-20.288-0.576l3.712 448.64c0.256 28.928 94.272 130.048 94.272 130.048s93.888-102.656 93.632-131.584l-3.712-448.96a344.64 344.64 0 0 1-24.768 1.28z\"></path><path fill=\"#E9DF92\" d=\"M531.456 599.296l-63.04 0.576c-3.008 0-5.952-0.064-8.96-0.384l2.176 257.792c0.128 16.64 41.728 74.816 41.728 74.816s41.344-58.944 41.28-75.52l-2.176-257.92c-3.648 0.384-7.296 0.64-11.008 0.64z\"></path><path fill=\"#B5D5EB\" d=\"M554.304 93.568a324.352 324.352 0 0 0-110.592 1.728L342.72 240.768v584.512c13.824-0.96 27.968-1.536 42.368-1.536h245.248c11.84 0 23.36 0.384 34.816 1.024V253.312L554.304 93.568z\"></path><path fill=\"#3A7EB9\" d=\"M541.44 94.144L500.416 35.008l-45.696 59.136v29.504h89.024v-29.504zM459.456 288.64h88.96v88.896h-88.96zM459.456 467.456h88.96v88.96h-88.96zM459.456 634.176h88.96v88.896h-88.96zM364.928 788.736h277.76v44.352h-277.76z\"></path></view>\n </button>\n \n</div>",
"script": "export default {\n name: 'GalaxyHardWasp8',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}",
"style": "\n/* From Uiverse.io by albertofanini-prog - Tags: button */\n.pulsa {\n animation: pulsa 1.4s infinite;\n min-width: 400rpx;\n width: fit-content;\n border-radius: 19998rpx;\n /* overflow: hidden; */\n}\n\n.cta {\n width: 100%;\n height: 100%;\n border: none;\n outline: none;\n background-color: none;\n border-radius: 19998rpx;\n padding: 16rpx 32rpx;\n color: white;\n font-size: 30rpx;\n background: linear-gradient(109.6deg, #090979 11.2%, #9006A1 53.7%, #090979 100.2%);\n letter-spacing: 0.08em;\n font-weight: 800;\n position: relative;\n}\n\n.cta:active {\n animation: pulsa-active .4s infinite;\n}\n\n.star {\n width: 4rpx;\n height: 4rpx;\n background-color: white;\n border-radius: 50%;\n position: absolute;\n animation: pulsa-stella 1.8s infinite;\n transition: all .8s ease-in-out;\n}\n\n.star.a {\n top: 16rpx;\n left: 12rpx;\n}\n\n.star.b {\n top: 4rpx;\n left: 32rpx;\n}\n\n.star.c {\n top: 36rpx;\n left: 16rpx;\n}\n\n.star.d {\n top: 28rpx;\n left: 40rpx;\n}\n\n.star.e {\n top: 60rpx;\n left: 16rpx;\n}\n\n.star.f {\n top: 48rpx;\n left: 48rpx;\n}\n\n.star.g {\n top: 20rpx;\n left: 64rpx;\n}\n\n.pulsa:hover .star.a {\n transform: translate3d(0rpx, 16rpx, 0);\n}\n\n.pulsa:hover .star.b {\n transform: translate3d(-8rpx, 12rpx, 0);\n}\n\n.pulsa:hover .star.c {\n transform: translate3d(28rpx, -16rpx, 0);\n}\n\n.pulsa:hover .star.d {\n transform: translate3d(32rpx, -4rpx, 0);\n}\n\n.pulsa:hover .star.e {\n transform: translate3d(116rpx, -40rpx, 0);\n}\n\n.pulsa:hover .star.f {\n transform: translate3d(68rpx, 4rpx, 0);\n}\n\n.pulsa:hover .star.g {\n transform: translate3d(20rpx, 32rpx, 0);\n}\n\n.rocket {\n position: absolute;\n top: 16rpx;\n right: 32rpx;\n z-index: -1;\n transform: rotate(180deg);\n transition: all .3s ease-in-out;\n}\n\n.pulsa:hover .rocket {\n z-index: auto;\n animation: muovi-razzo 1.8s linear;\n transform: rotate(0deg);\n}\n\n@keyframes pulsa {\n 0% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 0 0 0 #9006A1;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n\n 100% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 0 0 16rpx #fbb32f01;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n}\n\n@keyframes pulsa-stella {\n 0% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 0 0 0 #ffffff;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n\n 100% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 0 0 8rpx #fbb32f01;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n}\n\n@keyframes muovi-razzo {\n from {\n transform: rotate(180deg);\n }\n\n 25% {\n transform: translate3d(80rpx, 64rpx, 0);\n }\n\n 50% {\n transform: translate3d(64rpx, -120rpx, 0);\n }\n\n 75% {\n transform: translate3d(0rpx, -120rpx, 0) rotate(0);\n }\n\n to {\n transform: rotate(0deg);\n }\n}\n\n@keyframes pulsa-active {\n 0% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 0 0 0 #9006A1;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n\n 100% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 0 0 32rpx #fbb32f01;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n}\n",
"component_name": "GalaxyHardWasp8"
},
"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": 3869,
"render_cost": "high",
"memory_usage": "high"
},
"dependencies": [],
"examples": [
{
"title": "",
"description": "",
"code": ""
}
],
"created_at": "2025-07-31T07:55:35.556Z",
"updated_at": "2025-07-31T07:55:35.556Z"
}