galaxy-uniapp-mcp-server
Version:
Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成
90 lines • 12.4 kB
JSON
{
"id": "Admin12121_white-husky-41",
"name": "white-husky-41",
"category": "loaders",
"author": "Admin12121",
"description": "white-husky-41 组件 (loader, 3d loader, animation)",
"tags": [
"loader",
"3d loader",
"animation"
],
"original": {
"html": "<div class=\"content\">\n <div class=\"planet\">\n <div class=\"ring\"></div>\n <div class=\"cover-ring\"></div>\n <div class=\"spots\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n\n </div>\n </div>\n <p>loading</p>\n</div>",
"css": "/* From Uiverse.io by Admin12121 - Tags: loader, 3d loader */\n.content {\n width: 300px;\n height: 300px;\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.content .planet {\n width: 65%;\n height: 65%;\n background-color: #546c8c;\n border-radius: 100%;\n position: absolute;\n display: flex;\n align-items: center;\n transform-origin: center center;\n box-shadow: inset 2px -10px 0px rgba(0, 0, 0, 0.1);\n animation: planet 5s ease infinite alternate;\n /* planet ring */\n /* to cover the back of the ring */\n /* planet spots */\n}\n\n@keyframes planet {\n 0% {\n transform: rotate(10deg);\n }\n\n 100% {\n transform: rotate(-10deg);\n }\n}\n\n.content .planet .ring {\n position: absolute;\n width: 300px;\n height: 300px;\n border-radius: 100%;\n background-color: #bacbd9;\n display: flex;\n align-items: center;\n justify-content: center;\n transform-origin: 33% center;\n box-shadow: 2px -10px 0px rgba(0, 0, 0, 0.1), inset -5px -10px 0px rgba(0, 0, 0, 0.1);\n animation: ring 3s ease infinite;\n /* small ball */\n /* inner ring */\n}\n\n@keyframes ring {\n 0% {\n transform: rotateX(110deg) rotateZ(0deg) translate(-50px, 5px);\n }\n\n 100% {\n transform: rotateX(110deg) rotateZ(360deg) translate(-50px, 5px);\n }\n}\n\n.content .planet .ring:before {\n content: \"\";\n position: absolute;\n width: 10px;\n height: 30px;\n border-radius: 100%;\n background-color: #7ea1bf;\n z-index: 2;\n left: calc(0px - 5px);\n box-shadow: inset -3px 3px 0px rgba(0, 0, 0, 0.2);\n}\n\n.content .planet .ring:after {\n content: \"\";\n position: absolute;\n width: 240px;\n height: 240px;\n border-radius: 100%;\n background-color: #7ea1bf;\n box-shadow: inset 2px -10px 0px rgba(0, 0, 0, 0.1);\n}\n\n.content .planet .cover-ring {\n position: absolute;\n width: 100%;\n height: 50%;\n border-bottom-left-radius: 80%;\n border-bottom-right-radius: 80%;\n border-top-left-radius: 100px;\n border-top-right-radius: 100px;\n transform: translate(0px, -17px);\n background-color: #546c8c;\n z-index: 2;\n box-shadow: inset 0px -2px 0px rgba(0, 0, 0, 0.1);\n}\n\n.content .planet .spots {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n z-index: 2;\n}\n\n.content .planet .spots span {\n width: 30px;\n height: 30px;\n background-color: #3c4359;\n position: absolute;\n border-radius: 100%;\n box-shadow: inset -2px 3px 0px rgba(0, 0, 0, 0.3);\n animation: dots 5s ease infinite alternate;\n}\n\n@keyframes dots {\n 0% {\n box-shadow: inset -3px 3px 0px rgba(0, 0, 0, 0.3);\n }\n\n 100% {\n box-shadow: inset 3px 3px 0px rgba(0, 0, 0, 0.3);\n }\n}\n\n.content .planet .spots span:nth-child(1) {\n top: 20px;\n right: 50px;\n}\n\n.content .planet .spots span:nth-child(2) {\n top: 40px;\n left: 50px;\n width: 15px;\n height: 15px;\n}\n\n.content .planet .spots span:nth-child(3) {\n top: 80px;\n left: 20px;\n width: 25px;\n height: 25px;\n}\n\n.content .planet .spots span:nth-child(4) {\n top: 80px;\n left: 90px;\n width: 40px;\n height: 40px;\n}\n\n.content .planet .spots span:nth-child(5) {\n top: 160px;\n left: 70px;\n width: 15px;\n height: 15px;\n}\n\n.content .planet .spots span:nth-child(6) {\n top: 165px;\n left: 125px;\n width: 10px;\n height: 10px;\n}\n\n.content .planet .spots span:nth-child(7) {\n top: 90px;\n left: 150px;\n width: 15px;\n height: 15px;\n}\n\n.content p {\n color: #bacbd9;\n font-size: 14px;\n z-index: 2;\n position: absolute;\n bottom: -20px;\n font-family: \"Roboto Mono\", monospace;\n animation: text 4s ease infinite;\n width: 100px;\n text-align: center;\n}\n\n@keyframes text {\n 0% {\n transform: translateX(-30px);\n letter-spacing: 0px;\n color: #bacbd9;\n }\n\n 25% {\n letter-spacing: 3px;\n color: #7ea1bf;\n }\n\n 50% {\n transform: translateX(30px);\n letter-spacing: 0px;\n color: #bacbd9;\n }\n\n 75% {\n letter-spacing: 3px;\n color: #7ea1bf;\n }\n\n 100% {\n transform: translateX(-30px);\n letter-spacing: 0px;\n color: #bacbd9;\n }\n}",
"file_path": "/mnt/persist/workspace/loaders/Admin12121_white-husky-41.html"
},
"uniapp": {
"template": "<view class=\"content\"></view>\n <view class=\"planet\"></view>\n <view class=\"ring\"></view>\n <view class=\"cover-ring\"></view>\n <view class=\"spots\"></view>\n <text></text>\n <text></text>\n <text></text>\n <text></text>\n <text></text>\n <text></text>\n <text></text>\n\n </div>\n </div>\n <text>loading</text>\n</div>",
"script": "export default {\n name: 'GalaxyWhiteHusky41',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}",
"style": "\n/* From Uiverse.io by Admin12121 - Tags: loader, 3d loader */\n.content {\n width: 600rpx;\n height: 600rpx;\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.content .planet {\n width: 65%;\n height: 65%;\n background-color: #546c8c;\n border-radius: 100%;\n position: absolute;\n display: flex;\n align-items: center;\n transform-origin: center center;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: inset 4rpx -20rpx 0rpx rgba(0, 0, 0, 0.1);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n animation: planet 5s ease infinite alternate;\n /* planet ring */\n /* to cover the back of the ring */\n /* planet spots */\n}\n\n@keyframes planet {\n 0% {\n transform: rotate(10deg);\n }\n\n 100% {\n transform: rotate(-10deg);\n }\n}\n\n.content .planet .ring {\n position: absolute;\n width: 600rpx;\n height: 600rpx;\n border-radius: 100%;\n background-color: #bacbd9;\n display: flex;\n align-items: center;\n justify-content: center;\n transform-origin: 33% center;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 4rpx -20rpx 0rpx rgba(0, 0, 0, 0.1), inset -10rpx -20rpx 0rpx rgba(0, 0, 0, 0.1);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n animation: ring 3s ease infinite;\n /* small ball */\n /* inner ring */\n}\n\n@keyframes ring {\n 0% {\n transform: rotateX(110deg) rotateZ(0deg) translate(-100rpx, 10rpx);\n }\n\n 100% {\n transform: rotateX(110deg) rotateZ(360deg) translate(-100rpx, 10rpx);\n }\n}\n\n.content .planet .ring:before {\n content: \"\";\n position: absolute;\n width: 20rpx;\n height: 60rpx;\n border-radius: 100%;\n background-color: #7ea1bf;\n z-index: 2;\n left: calc(0rpx - 10rpx);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: inset -6rpx 6rpx 0rpx rgba(0, 0, 0, 0.2);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.content .planet .ring:after {\n content: \"\";\n position: absolute;\n width: 480rpx;\n height: 480rpx;\n border-radius: 100%;\n background-color: #7ea1bf;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: inset 4rpx -20rpx 0rpx rgba(0, 0, 0, 0.1);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.content .planet .cover-ring {\n position: absolute;\n width: 100%;\n height: 50%;\n border-bottom-left-radius: 80%;\n border-bottom-right-radius: 80%;\n border-top-left-radius: 200rpx;\n border-top-right-radius: 200rpx;\n transform: translate(0rpx, -34rpx);\n background-color: #546c8c;\n z-index: 2;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: inset 0rpx -4rpx 0rpx rgba(0, 0, 0, 0.1);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.content .planet .spots {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n z-index: 2;\n}\n\n.content .planet .spots span {\n width: 60rpx;\n height: 60rpx;\n background-color: #3c4359;\n position: absolute;\n border-radius: 100%;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: inset -4rpx 6rpx 0rpx rgba(0, 0, 0, 0.3);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n animation: dots 5s ease infinite alternate;\n}\n\n@keyframes dots {\n 0% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: inset -6rpx 6rpx 0rpx rgba(0, 0, 0, 0.3);\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: inset 6rpx 6rpx 0rpx rgba(0, 0, 0, 0.3);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n}\n\n.content .planet .spots span:nth-child(1) {\n top: 40rpx;\n right: 100rpx;\n}\n\n.content .planet .spots span:nth-child(2) {\n top: 80rpx;\n left: 100rpx;\n width: 30rpx;\n height: 30rpx;\n}\n\n.content .planet .spots span:nth-child(3) {\n top: 160rpx;\n left: 40rpx;\n width: 50rpx;\n height: 50rpx;\n}\n\n.content .planet .spots span:nth-child(4) {\n top: 160rpx;\n left: 180rpx;\n width: 80rpx;\n height: 80rpx;\n}\n\n.content .planet .spots span:nth-child(5) {\n top: 320rpx;\n left: 140rpx;\n width: 30rpx;\n height: 30rpx;\n}\n\n.content .planet .spots span:nth-child(6) {\n top: 330rpx;\n left: 250rpx;\n width: 20rpx;\n height: 20rpx;\n}\n\n.content .planet .spots span:nth-child(7) {\n top: 180rpx;\n left: 300rpx;\n width: 30rpx;\n height: 30rpx;\n}\n\n.content p {\n color: #bacbd9;\n font-size: 28rpx;\n z-index: 2;\n position: absolute;\n bottom: -40rpx;\n font-family: \"Roboto Mono\", monospace;\n animation: text 4s ease infinite;\n width: 200rpx;\n text-align: center;\n}\n\n@keyframes text {\n 0% {\n transform: translateX(-60rpx);\n letter-spacing: 0rpx;\n color: #bacbd9;\n }\n\n 25% {\n letter-spacing: 6rpx;\n color: #7ea1bf;\n }\n\n 50% {\n transform: translateX(60rpx);\n letter-spacing: 0rpx;\n color: #bacbd9;\n }\n\n 75% {\n letter-spacing: 6rpx;\n color: #7ea1bf;\n }\n\n 100% {\n transform: translateX(-60rpx);\n letter-spacing: 0rpx;\n color: #bacbd9;\n }\n}\n",
"component_name": "GalaxyWhiteHusky41"
},
"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": "是否禁用"
}
],
"events": [],
"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": 4331,
"render_cost": "high",
"memory_usage": "high"
},
"dependencies": [],
"examples": [
{
"title": "",
"description": "",
"code": ""
}
],
"created_at": "2025-07-31T07:55:38.870Z",
"updated_at": "2025-07-31T07:55:38.870Z"
}