fix(Task1): barcode canvas显式宽高 + 改善renderBarcode诊断日志
- canvas 加 width=300 height=80 属性(部分浏览器需显式尺寸才能渲染) - renderBarcode 加诊断:JsBarcode未加载/canvas找不到/shortCode为空/渲染异常 - ticket_card.html (PHP模板) + ticket_card.js (静态JS) 同步修复feat/b-verification-clean
parent
4c04b094e2
commit
95db208162
|
|
@ -436,7 +436,7 @@ var VrTicketWallet = (function() {
|
||||||
'<div class="vr-ticket-short-code-display">' +
|
'<div class="vr-ticket-short-code-display">' +
|
||||||
'<div class="vr-ticket-short-code-label">核销码</div>' +
|
'<div class="vr-ticket-short-code-label">核销码</div>' +
|
||||||
'<div class="vr-ticket-short-code-value">' + escapeHtml(ticket.short_code) + '</div>' +
|
'<div class="vr-ticket-short-code-value">' + escapeHtml(ticket.short_code) + '</div>' +
|
||||||
'<canvas id="vrBarcodeCanvas" style="margin-top:8px;max-width:100%;display:block;"></canvas>' +
|
'<canvas id="vrBarcodeCanvas" width="300" height="80" style="margin-top:8px;max-width:100%;display:block;"></canvas>' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'<div class="vr-ticket-detail-row">' +
|
'<div class="vr-ticket-detail-row">' +
|
||||||
'<div class="vr-ticket-detail-label">状态</div>' +
|
'<div class="vr-ticket-detail-label">状态</div>' +
|
||||||
|
|
@ -487,7 +487,7 @@ var VrTicketWallet = (function() {
|
||||||
'<div class="vr-ticket-short-code-display">' +
|
'<div class="vr-ticket-short-code-display">' +
|
||||||
'<div class="vr-ticket-short-code-label">核销码</div>' +
|
'<div class="vr-ticket-short-code-label">核销码</div>' +
|
||||||
'<div class="vr-ticket-short-code-value">' + escapeHtml(ticket.short_code) + '</div>' +
|
'<div class="vr-ticket-short-code-value">' + escapeHtml(ticket.short_code) + '</div>' +
|
||||||
'<canvas id="vrBarcodeCanvas" style="margin-top:8px;max-width:100%;display:block;"></canvas>' +
|
'<canvas id="vrBarcodeCanvas" width="300" height="80" style="margin-top:8px;max-width:100%;display:block;"></canvas>' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
verifiedBadge +
|
verifiedBadge +
|
||||||
'<div class="vr-ticket-detail-row">' +
|
'<div class="vr-ticket-detail-row">' +
|
||||||
|
|
@ -605,7 +605,9 @@ var VrTicketWallet = (function() {
|
||||||
function renderBarcode(shortCode) {
|
function renderBarcode(shortCode) {
|
||||||
try {
|
try {
|
||||||
var canvas = document.getElementById('vrBarcodeCanvas');
|
var canvas = document.getElementById('vrBarcodeCanvas');
|
||||||
if (!canvas || !shortCode) return;
|
if (!canvas) { console.warn('[Barcode] canvas not found'); return; }
|
||||||
|
if (!shortCode) { console.warn('[Barcode] shortCode empty'); return; }
|
||||||
|
if (typeof JsBarcode === 'undefined') { console.warn('[Barcode] JsBarcode not loaded'); return; }
|
||||||
JsBarcode(canvas, shortCode, {
|
JsBarcode(canvas, shortCode, {
|
||||||
format: 'CODE128',
|
format: 'CODE128',
|
||||||
width: 2,
|
width: 2,
|
||||||
|
|
@ -615,7 +617,7 @@ var VrTicketWallet = (function() {
|
||||||
margin: 5
|
margin: 5
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.warn('Barcode render failed:', e);
|
console.error('[Barcode] render error:', e.message, '| shortCode:', shortCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -172,7 +172,7 @@ var VrTicketWallet = (function() {
|
||||||
'<div class="vr-ticket-short-code-display">' +
|
'<div class="vr-ticket-short-code-display">' +
|
||||||
'<div class="vr-ticket-short-code-label">核销码</div>' +
|
'<div class="vr-ticket-short-code-label">核销码</div>' +
|
||||||
'<div class="vr-ticket-short-code-value">' + escapeHtml(ticket.short_code) + '</div>' +
|
'<div class="vr-ticket-short-code-value">' + escapeHtml(ticket.short_code) + '</div>' +
|
||||||
'<canvas id="vrBarcodeCanvas" style="margin-top:8px;max-width:100%;display:block;"></canvas>' +
|
'<canvas id="vrBarcodeCanvas" width="300" height="80" style="margin-top:8px;max-width:100%;display:block;"></canvas>' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'<div class="vr-ticket-detail-row">' +
|
'<div class="vr-ticket-detail-row">' +
|
||||||
'<div class="vr-ticket-detail-label">状态</div>' +
|
'<div class="vr-ticket-detail-label">状态</div>' +
|
||||||
|
|
@ -223,7 +223,7 @@ var VrTicketWallet = (function() {
|
||||||
'<div class="vr-ticket-short-code-display">' +
|
'<div class="vr-ticket-short-code-display">' +
|
||||||
'<div class="vr-ticket-short-code-label">核销码</div>' +
|
'<div class="vr-ticket-short-code-label">核销码</div>' +
|
||||||
'<div class="vr-ticket-short-code-value">' + escapeHtml(ticket.short_code) + '</div>' +
|
'<div class="vr-ticket-short-code-value">' + escapeHtml(ticket.short_code) + '</div>' +
|
||||||
'<canvas id="vrBarcodeCanvas" style="margin-top:8px;max-width:100%;display:block;"></canvas>' +
|
'<canvas id="vrBarcodeCanvas" width="300" height="80" style="margin-top:8px;max-width:100%;display:block;"></canvas>' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
verifiedBadge +
|
verifiedBadge +
|
||||||
'<div class="vr-ticket-detail-row">' +
|
'<div class="vr-ticket-detail-row">' +
|
||||||
|
|
@ -334,7 +334,9 @@ var VrTicketWallet = (function() {
|
||||||
function renderBarcode(shortCode) {
|
function renderBarcode(shortCode) {
|
||||||
try {
|
try {
|
||||||
var canvas = document.getElementById('vrBarcodeCanvas');
|
var canvas = document.getElementById('vrBarcodeCanvas');
|
||||||
if (!canvas || !shortCode) return;
|
if (!canvas) { console.warn('[Barcode] canvas not found'); return; }
|
||||||
|
if (!shortCode) { console.warn('[Barcode] shortCode empty'); return; }
|
||||||
|
if (typeof JsBarcode === 'undefined') { console.warn('[Barcode] JsBarcode not loaded'); return; }
|
||||||
JsBarcode(canvas, shortCode, {
|
JsBarcode(canvas, shortCode, {
|
||||||
format: 'CODE128',
|
format: 'CODE128',
|
||||||
width: 2,
|
width: 2,
|
||||||
|
|
@ -344,7 +346,7 @@ var VrTicketWallet = (function() {
|
||||||
margin: 5
|
margin: 5
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.warn('Barcode render failed:', e);
|
console.error('[Barcode] render error:', e.message, '| shortCode:', shortCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue