From c065d3fdcec4415ee4207143ce1c8d1e67877e2b Mon Sep 17 00:00:00 2001 From: Guoguo Date: Wed, 6 May 2026 06:29:03 -0700 Subject: [PATCH] fix: make phone authorization skippable in registration getPhoneNumber requires verified enterprise miniprogram account. Allow users to skip phone auth and complete registration without it. --- miniprogram/pages/login/login.js | 2 +- miniprogram/pages/register/register.js | 22 ++++++++++++++++++---- miniprogram/pages/register/register.wxml | 10 +++++++++- miniprogram/pages/register/register.wxss | 20 ++++++++++++++++++-- 4 files changed, 46 insertions(+), 8 deletions(-) diff --git a/miniprogram/pages/login/login.js b/miniprogram/pages/login/login.js index 3f27340..129f0c3 100644 --- a/miniprogram/pages/login/login.js +++ b/miniprogram/pages/login/login.js @@ -16,7 +16,7 @@ Page({ app.doLogin().then(function (data) { self.setData({ loading: false }) - if (data && (data.is_new_user || !data.user_info || !data.user_info.phone)) { + if (data && data.is_new_user) { wx.redirectTo({ url: '/pages/register/register' }) } else { wx.switchTab({ url: '/pages/index/index' }) diff --git a/miniprogram/pages/register/register.js b/miniprogram/pages/register/register.js index 4bae382..e92db15 100644 --- a/miniprogram/pages/register/register.js +++ b/miniprogram/pages/register/register.js @@ -18,7 +18,8 @@ Page({ loading: false, avatarUrl: DEFAULT_AVATAR, nickname: '', - phone: '' + phone: '', + phoneSkipped: false }, onLoad: function () { @@ -47,10 +48,23 @@ Page({ } }, + onSkipPhone: function () { + var self = this + wx.showModal({ + title: '跳过手机号', + content: '跳过后部分功能可能受限,确定跳过吗?', + success: function (res) { + if (res.confirm) { + self.setData({ phoneSkipped: true }) + } + } + }) + }, + onGetPhoneNumber: function (e) { var self = this if (!e.detail || !e.detail.code) { - wx.showToast({ title: '需要授权手机号才能完成注册', icon: 'none' }) + wx.showToast({ title: '手机号授权未成功,可跳过此步骤', icon: 'none' }) return } self.setData({ loading: true }) @@ -96,8 +110,8 @@ Page({ var nickname = (self.data.nickname || '').trim() var avatarUrl = self.data.avatarUrl - if (!self.data.phone) { - wx.showToast({ title: '请先授权手机号', icon: 'none' }) + if (!self.data.phone && !self.data.phoneSkipped) { + wx.showToast({ title: '请先授权手机号,或点击跳过', icon: 'none' }) return } diff --git a/miniprogram/pages/register/register.wxml b/miniprogram/pages/register/register.wxml index 1359309..ade23ea 100644 --- a/miniprogram/pages/register/register.wxml +++ b/miniprogram/pages/register/register.wxml @@ -26,11 +26,19 @@ {{phone}} + + + 已跳过,可稍后在设置中授权 + + - 手机号用于接收服务通知,必须授权 + + 手机号用于接收服务通知 + 跳过 + diff --git a/miniprogram/pages/register/register.wxss b/miniprogram/pages/register/register.wxss index 89b297f..0c1b2cb 100644 --- a/miniprogram/pages/register/register.wxss +++ b/miniprogram/pages/register/register.wxss @@ -84,11 +84,27 @@ border: none; } +.phone-actions { + display: flex; + justify-content: space-between; + align-items: center; + margin-top: 12rpx; + padding: 0 8rpx; +} + .phone-hint { font-size: 24rpx; color: #999999; - text-align: center; - margin-top: 12rpx; +} + +.phone-skip { + font-size: 24rpx; + color: #E6508C; +} + +.phone-skipped { + background: #f5f5f5; + border-color: #d9d9d9; } .phone-done {