From 294178df9010e327b2c474e12583f12097bddc45 Mon Sep 17 00:00:00 2001 From: Pine Date: Wed, 26 Aug 2026 12:15:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(auth):=20=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E6=89=8B=E6=9C=BA=E6=94=B9=E8=B5=B0=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0=20/auth/bind-phone=20=E2=80=94=E2=80=94=20=E6=8C=89?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7=E5=90=88=E5=B9=B6=E5=B9=B6=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E6=96=B0=E4=BB=A4=E7=89=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miniprogram/src/utils/auth.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/miniprogram/src/utils/auth.js b/miniprogram/src/utils/auth.js index 920c1cb..8ddb474 100644 --- a/miniprogram/src/utils/auth.js +++ b/miniprogram/src/utils/auth.js @@ -92,15 +92,16 @@ export async function updateProfile(body) { return data; } -/* ---------------- 手机绑定(培训 /api/auth,阶段3 读写平台 users + 验平台 JWT) ---------------- */ -/** 绑定手机:验证码校验后把手机号挂到当前账号 */ +/* ---------------- 手机绑定(平台 /auth,统一账号;绑定即按手机号合并去重) ---------------- */ +/** 绑定手机:若该手机号已被其它账号占用,后端会按手机号把两个账号合并为同一账号, + * 并返回合并后账号的新令牌 —— 这里必须切换到新令牌,避免用已失效的旧令牌。 */ export async function bindPhone(phone, code) { - const data = await request('POST', '/api/auth/bind-phone', { phone, code }, true); - if (data.ok) { - const u = getUser() || {}; - Taro.setStorageSync('pine_user', { ...u, phone, phoneBound: true }); + const data = await request('POST', '/auth/bind-phone', { phone, code }, true); + if (data.token) { + Taro.setStorageSync('pine_token', data.token); + Taro.setStorageSync('pine_user', JSON.stringify(pickUser(data))); } - return data; + return { ok: true, phone, phoneBound: true, ...data }; } /** 微信官方手机号一键绑定(getPhoneNumber 回调 code) */