diff --git a/pets-fe/pages/idcard/idcard.js b/pets-fe/pages/idcard/idcard.js index b9f1a77..6f43e6b 100644 --- a/pets-fe/pages/idcard/idcard.js +++ b/pets-fe/pages/idcard/idcard.js @@ -98,7 +98,7 @@ Page({ // ══════════ 正面卡(暖黄)══════════ // 正反两张卡等高(都用 cardH),中间内容垂直居中,避免正面留空 - const cardH = 630; + const cardH = 540; const fH = cardH; const fY = pad; const gf = ctx.createLinearGradient(fx, fY, fx, fY + fH); @@ -229,10 +229,10 @@ Page({ ctx.textAlign = 'left'; ctx.fillStyle = '#8A90AE'; ctx.font = '600 27px sans-serif'; - this.spacedText(ctx, star + '星人地球移民', fx + 44, bY + 82, 8); + this.spacedText(ctx, star + '星人地球移民', fx + 44, bY + 70, 8); ctx.fillStyle = '#3E4A63'; - ctx.font = '800 66px sans-serif'; - ctx.fillText('居民身份卡', fx + 44, bY + 168); + ctx.font = '800 60px sans-serif'; + ctx.fillText('居民身份卡', fx + 44, bY + 150); // 资料行(标签 + 值) const rowX = fx + 44; @@ -245,15 +245,14 @@ Page({ ctx.fillStyle = '#3E4A63'; ctx.fillText(value || '—', rowX + 160, yy); }; - let ry = bY + 244; - kvB('主人', c.owner, ry); ry += 52; - kvB('联系电话', c.phone || '未验证', ry); ry += 52; - kvB('备注', c.notes || '无', ry); ry += 52; - kvB('签发机构', c.org || '肉垫计划', ry); ry += 52; + let ry = bY + 210; + kvB('主人', c.owner, ry); ry += 48; + kvB('联系电话', c.phone || '未验证', ry); ry += 48; + kvB('签发机构', c.org || '肉垫计划', ry); ry += 48; kvB('有效期限', c.validity || '永久有效', ry); // 小程序码(右下角,直接落在淡紫底上) - const qrD = 128, qrX = fx + cardW2 - 44 - qrD, qrY = bY + bH - 40 - qrD; + const qrD = 120, qrX = fx + cardW2 - 44 - qrD, qrY = bY + bH - 34 - qrD; ctx.fillStyle = '#fff'; this.roundRect(ctx, qrX, qrY, qrD, qrD, 14); ctx.fill();