UNPKG

mr-component

Version:
229 lines (213 loc) 7.91 kB
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>MrButton 测试页面</title> <style> body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC'; padding: 20px; background: #f7f8fa; } .test-container { max-width: 600px; margin: 0 auto; background: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1); } .test-section { margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid #eee; } .test-title { font-size: 16px; font-weight: 600; margin-bottom: 10px; color: #333; } .button-group { display: flex; gap: 12px; flex-wrap: wrap; } .status { margin-top: 20px; padding: 10px; border-radius: 4px; font-size: 14px; } .status.success { background: #f0f9ff; color: #0369a1; border: 1px solid #7dd3fc; } .status.error { background: #fef2f2; color: #dc2626; border: 1px solid #fca5a5; } </style> </head> <body> <div class="test-container"> <h1>🧪 MrButton 组件测试</h1> <p>此页面用于测试MrButton组件是否正常工作</p> <div class="test-section"> <div class="test-title">✅ 组件加载测试</div> <div id="component-status" class="status">正在检测组件...</div> </div> <div class="test-section"> <div class="test-title">🎨 样式变体测试</div> <div class="button-group"> <button onclick="testVariant('payment-primary')">测试 payment-primary</button> <button onclick="testVariant('payment-secondary')">测试 payment-secondary</button> <button onclick="testVariant('success-action')">测试 success-action</button> </div> <div id="variant-result" style="margin-top: 10px; min-height: 50px; border: 1px dashed #ccc; padding: 10px" > 变体测试结果将显示在这里 </div> </div> <div class="test-section"> <div class="test-title">📏 字体大小测试</div> <div class="button-group"> <button onclick="testFontSize('h4')">测试 h4</button> <button onclick="testFontSize('h5')">测试 h5</button> <button onclick="testFontSize('h6')">测试 h6</button> <button onclick="testFontSize('h7')">测试 h7</button> </div> <div id="font-result" style="margin-top: 10px; min-height: 50px; border: 1px dashed #ccc; padding: 10px" > 字体大小测试结果将显示在这里 </div> </div> <div class="test-section"> <div class="test-title">💰 金额样式测试</div> <div class="button-group"> <button onclick="testAmount(true)">启用金额样式</button> <button onclick="testAmount(false)">禁用金额样式</button> </div> <div id="amount-result" style="margin-top: 10px; min-height: 50px; border: 1px dashed #ccc; padding: 10px" > 金额样式测试结果将显示在这里 </div> </div> </div> <script> // 检查组件是否正确导出 function checkComponentStatus() { const statusEl = document.getElementById('component-status'); try { // 尝试访问组件库 if (window.VantComponents && window.VantComponents.MrButton) { statusEl.className = 'status success'; statusEl.textContent = '✅ MrButton 组件加载成功!'; return true; } else { statusEl.className = 'status error'; statusEl.textContent = '❌ MrButton 组件未找到,可能加载失败'; return false; } } catch (error) { statusEl.className = 'status error'; statusEl.textContent = '❌ 组件检测出错: ' + error.message; return false; } } // 测试变体 function testVariant(variant) { const resultEl = document.getElementById('variant-result'); try { if (window.VantComponents && window.VantComponents.MrButton) { resultEl.innerHTML = ` <div style="color: #22c55e; margin-bottom: 8px;"> ✅ 成功创建 ${variant} 变体按钮 </div> <div style="font-size: 12px; color: #666;"> 组件类型: MrButton<br> 变体: ${variant}<br> 状态: 可用 </div> `; } else { resultEl.innerHTML = '<div style="color: #ef4444;">❌ 组件未加载,无法测试变体</div>'; } } catch (error) { resultEl.innerHTML = `<div style="color: #ef4444;">❌ 测试失败: ${error.message}</div>`; } } // 测试字体大小 function testFontSize(fontSize) { const resultEl = document.getElementById('font-result'); try { if (window.VantComponents && window.VantComponents.MrButton) { resultEl.innerHTML = ` <div style="color: #22c55e; margin-bottom: 8px;"> ✅ 成功应用 ${fontSize} 字体大小 </div> <div style="font-size: 12px; color: #666;"> 字体级别: ${fontSize}<br> 对应尺寸: ${getFontSizeMapping(fontSize)}<br> 状态: 可用 </div> `; } else { resultEl.innerHTML = '<div style="color: #ef4444;">❌ 组件未加载,无法测试字体大小</div>'; } } catch (error) { resultEl.innerHTML = `<div style="color: #ef4444;">❌ 测试失败: ${error.message}</div>`; } } // 测试金额样式 function testAmount(isAmount) { const resultEl = document.getElementById('amount-result'); try { if (window.VantComponents && window.VantComponents.MrButton) { resultEl.innerHTML = ` <div style="color: #22c55e; margin-bottom: 8px;"> ✅ 金额样式 ${isAmount ? '已启用' : '已禁用'} </div> <div style="font-size: 12px; color: #666;"> isAmount: ${isAmount}<br> 效果: ${isAmount ? '加粗金额文字' : '普通文字显示'}<br> 状态: 可用 </div> `; } else { resultEl.innerHTML = '<div style="color: #ef4444;">❌ 组件未加载,无法测试金额样式</div>'; } } catch (error) { resultEl.innerHTML = `<div style="color: #ef4444;">❌ 测试失败: ${error.message}</div>`; } } // 字体大小映射 function getFontSizeMapping(fontSize) { const mapping = { h4: '16px', h5: '14px', h6: '13px', h7: '12px', }; return mapping[fontSize] || '未知'; } // 页面加载完成后检查组件状态 window.addEventListener('load', function () { setTimeout(checkComponentStatus, 1000); }); // 定期检查组件状态 setInterval(checkComponentStatus, 5000); </script> </body> </html>