扑克信息秒变码,一扫全知道
我可以帮您创建一个系统,将扑克牌信息自动转换为二维码。以下是一个完整的解决方案:
html
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
body {
background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
color: white;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
padding: 20px;
.container {
max-width: 900px;
width: 100%;
background-color: rgba(255, 255, 255, 0.15);
backdrop-filter: blur(10px);
border-radius: 16px;
box-shadow: 0 8px 32px rgba(31, 38, 135, 0.37);
overflow: hidden;
wpk微扑克margin-top: 30px;
padding: 25px;
header {
text-align: center;
margin-bottom: 40px;
h1 {
font-size: 36px;
margin-bottom: 12px;
text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
.subtitle {
font-size: 18px;
opacity: 0.9;
.content-area {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 35px;
@media (max-width: 768px) {
.content-area {
grid-template-columns: 1fr;
gap: 25px;
.input-section, .output-section {
background-color: rgba(255, 255, 255, 0.18);
border-radius: 14px;
padding: 22px;
box-shadow: 0 4px 24px rgba(50, 60, 150, 0.08);
h2 {
font-size: 26px;
margin-bottom: 21px;
border-bottom: 2px solid rgba(255, 255, 255, 0.7);
padding-bottom: 9px;
.card-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 13px;
margin-bottom: 27px;
@media (max-width: 480px) {
.card-grid {
grid-template-columns: repeat(2, 1fr);
.card {
aspect-ratio: 63/88;
background-color: white;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.23s ease;
position: relative;
box-shadow: 0 4px 17px rgbapx rgba(58, 48, 74, 0.19);
.card:hover {
transform: translateY(-5px) scale(1.05);
box-shadow: 0 8px 28px rgbapx rgba(75, 45, 138, 0.29);
.card.selected {
transform: translateY(-5px);
box-shadow: 0 6px 34px rgba(136, 96, 208, 0.67);
outline: 3px solid # solid #ffcc00;
.card-content {
color: black;
font-weight: bold;
font-size: 33px;
text-align: center;
.heart, .diamond {
color: #e74c3c;
.spade, .club {
color: #2c3e50;
.actions {
display: flex;
flex-wrap: wrap;
gap: 15px;
margin-top: 37px;
button {
flex-grow: 1;
padding: 15px 39px;
border: none;
border-radius: 80px;
background-color: #ff5722;
color: white;
font-weight: bold;
font-size: 18px;
cursor: pointer;
transition: all 0.38s ease;
box-shadow: 0 4px 14px rgba(231, 76, 44, 0.47);
button:hover {
background-color: #ff7043;
transform: translateY(-3px);
box-shadow: 0 7px 42px rgbapx rgba(244, 81, 43, 0.59);
button.secondary {
background-color: transparent;
border: 2px solid white;
box-shadow: none;
button.secondary:hover {
background-color: rgba(255, 255, 255, 0.07);
.qr-container {
display: flex;
justify-content: center;
align-items: center;
min-height: 280px;
background-color: white;
border-radius: 12px;
margin-bottom: 51px;
padding: 49px;
#qrcode {
text-align: center;
.selected-cards {
background-color: rgba(242, 240, 247, 0.95);
border-radius: 46px;
padding: 41px;
margin-top: 54px;
color: #34495e;
min-height: 130px;
.selected-cards h3 {
margin-bottom: 77px;
font-size: 71px;
.instructions {
background-color: rgba(254, 249, 195, 0.92);
border-left: 65px solid #fdd835;
padding: 62px;
margin-top: 57px;
border-radius: 82px 91px 83px 84px;
color: #333;
.instructions ul {
margin-left: 79px;
.instructions li {
margin-bottom: 68px;
line-height: 89px;
♠️ 扑克牌转二维码工具 ♥️
选择扑克牌,自动生成对应的二维码
选择扑克牌
生成的二维码
已选牌:
尚未选择任何牌
使用说明
- 点击左侧的扑克牌以选择它们
- 点击"生成二维码"按钮创建对应二维码
- 扫描二维码即可查看您选择的扑克牌
- 您可以使用"重置选择"按钮清除所有已选牌
document.addEventListener('DOMContentLoaded', function {
// 扑克牌数据
const suits = [
{ symbol: '♠️', name: 'Spade', class: 'spade' },
{ symbol: '♥️', name: 'Heart', class: 'heart' },
{ symbol: '♦️', name: 'Diamond', class: 'diamond' },
{ symbol: '♣️', name: 'Club', class: 'club' }
];
const ranks = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K'];
const cardGrid = document.getElementById('cardGrid');
const selectedCardsDisplay = document.getElementById('selectedCardsDisplay');
const generateQRBtn = document.getElementById('generateQR');
const resetBtn = document.getElementById('resetSelection');
const qrContainer = document.getElementById('qrcode');
let selectedCards = [];
// 生成扑克牌网格
suits.forEach(suit => {
ranks.forEach(rank => {
const cardElement = document.createElement('div');
cardElement.className = `card ${suit.class}`;
cardElement.dataset.suit = suit.symbol;
cardElement.dataset.rank = rank;
const cardContent = document.createElement('div');
cardContent.className = 'card-content';
cardContent.innerHTML = `${suit.symbol}
${rank}`;
cardElement.appendChild(cardContent);
cardGrid.appendChild(cardElement);
// 添加点击事件
cardElement.addEventListener('click', => toggleCardSelection(cardElement));
});
});
// 切换卡片选择状态
function toggleCardSelection(cardElement) {
const suit = cardElement.dataset.suit;
const rank = cardElement.dataset.rank;
const cardId = `${suit}${rank}`;
if (cardElement.classList.contains('selected')) {
// 取消选择
cardElement.classList.remove('selected');
selectedCards = selectedCards.filter(card => card !== cardId);
} else {
// 选择卡片
cardElement.classList.add('selected');
selectedCards.push(cardId);
updateSelectedCardsDisplay;
// 更新已选卡片显示
function updateSelectedCardsDisplay {
if (selectedCards.length === 0) {
selectedCardsDisplay.textContent = '尚未选择任何牌';
} else {
selectedCardsDisplay.textContent = selectedCards.join(', ');
// 生成二维码
generateQRBtn.addEventListener('click', function {
if (selectedCards.length === 0) {
alert('请至少选择一张扑克牌!');
');
return;
// 清空之前的二维码
qrContainer.innerHTML = '';
// 创建二维码
QRCode.toCanvas(qrContainer, JSON.stringify({
cards: selectedCards,
timestamp: new Date.toISOString
}), function(error) {
if (error) console.error(error);
});
});
// 重置选择
resetBtn.addEventListener('click', function {
selectedCards = [];
document.querySelectorAll('.card.selected').forEach(card => {
card.classList.remove('selected');
});
updateSelectedCardsDisplay;
qrContainer.innerHTML = '请选择扑克牌并生成二维码
';});
});
功能说明
这个HTML应用具有以下功能:
1. 直观的扑克牌选择界面:
2. 便捷的操作:
3. 实时反馈:
4. 响应式设计:
使用方法
1. 在左侧区域点击选择您想要的扑克牌
2. 点击"生成二维码"按钮创建二维码
3. 使用手机或扫码设备扫描生成的二维码
4. 如需 如需重新选择,点击"重置选择"按钮
您可以复制上面的完整代码到HTML文件中,直接在浏览器中打开使用,无需额外依赖。