From 747e7c9d3a5955759e0a6a737fb97ed3c1cd6e63 Mon Sep 17 00:00:00 2001 From: Blizzard Date: Fri, 31 Jul 2026 17:52:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(fe):=20=E8=BA=AB=E4=BB=BD=E5=8D=A1?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7=E9=97=A8=E6=A7=9B=E5=8A=A0=E3=80=8C?= =?UTF-8?q?=E6=89=8B=E5=8A=A8=E5=A1=AB=E5=86=99=E3=80=8D=E5=85=9C=E5=BA=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit getPhoneNumber 需企业认证 + 手机号验证权限,个人/未认证小程序唤不起。 门槛卡加「手动填写手机号」入口:填 11 位号 → updateProfile 存库 → 重取卡生成。 Co-Authored-By: Claude Opus 5 --- pets-fe/pages/idcard/idcard.js | 28 ++++++++++++++++++++++++++++ pets-fe/pages/idcard/idcard.wxml | 13 +++++++++++-- pets-fe/pages/idcard/idcard.wxss | 2 ++ 3 files changed, 41 insertions(+), 2 deletions(-) diff --git a/pets-fe/pages/idcard/idcard.js b/pets-fe/pages/idcard/idcard.js index 6eff9ac..43444bf 100644 --- a/pets-fe/pages/idcard/idcard.js +++ b/pets-fe/pages/idcard/idcard.js @@ -27,6 +27,8 @@ Page({ saving: false, needPhone: false, // 没手机号:门槛,先验证才生成 phoneRefused: false, // 用户拒绝了授权 + manualMode: false, // 手动填手机号(getPhoneNumber 唤不起时的兜底) + manualPhone: '', }, onLoad(q) { store @@ -347,6 +349,32 @@ Page({ }); }, + // 手动填手机号兜底(getPhoneNumber 需企业认证,唤不起时用这个) + showManual() { + this.setData({ manualMode: true }); + }, + onManualPhone(e) { + this.setData({ manualPhone: e.detail.value }); + }, + submitManual() { + const p = (this.data.manualPhone || '').trim(); + if (!/^1\d{10}$/.test(p)) return wx.showToast({ title: '手机号格式不对', icon: 'none' }); + wx.showLoading({ title: '保存中…', mask: true }); + api + .updateProfile({ phone: p }) + .then(() => api.petIDCard(this.data.petId)) + .then((card) => { + wx.hideLoading(); + if (!card) return; + this.setData({ card, qrReady: !!card.qr_ready, needPhone: false, manualMode: false }); + wx.nextTick(() => this.draw()); + }) + .catch((err) => { + wx.hideLoading(); + toastErr(err, '保存失败'); + }); + }, + onSave() { if (!this.data.cardImg) return wx.showToast({ title: '还在生成,稍等一下', icon: 'none' }); if (this.data.saving) return; diff --git a/pets-fe/pages/idcard/idcard.wxml b/pets-fe/pages/idcard/idcard.wxml index 384f591..7e545cb 100644 --- a/pets-fe/pages/idcard/idcard.wxml +++ b/pets-fe/pages/idcard/idcard.wxml @@ -7,8 +7,17 @@ 生成身份卡需要手机号 身份卡背面的「联系电话」用于走失时联系你,验证后才能生成 - - 没有手机号,无法生成身份卡 + + + + 没有手机号,无法生成身份卡 + 唤不起来?手动填写手机号 + + + + + + diff --git a/pets-fe/pages/idcard/idcard.wxss b/pets-fe/pages/idcard/idcard.wxss index 93976ed..6cd7fe7 100644 --- a/pets-fe/pages/idcard/idcard.wxss +++ b/pets-fe/pages/idcard/idcard.wxss @@ -34,3 +34,5 @@ button.ic-btn::after{border:none} .ic-gate-p{font-size:var(--fs-sm);color:var(--muted);line-height:1.6;margin:var(--sp-2) 0 var(--sp-5)} .ic-gate-refuse{color:var(--red-ink);font-weight:var(--fw-b);font-size:var(--fs-md)} .ic-gate-btn{margin-top:var(--sp-2)} +.ic-gate-manual{margin-top:var(--sp-4);color:var(--muted);font-size:var(--fs-sm);text-decoration:underline} +.ic-gate-input{margin-bottom:var(--sp-3);text-align:center}