From 768b24774d07eb8599fb577addcbe9af32b968f3 Mon Sep 17 00:00:00 2001 From: chenhang Date: Tue, 30 Jun 2026 12:05:44 +0800 Subject: [PATCH] fix(auth): replace hardcoded platform name with dynamic platform detection --- src/data/repositories/auth_repository.ts | 18 ++++++++++-------- .../interfaces/iuser_repository.ts | 5 ----- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/data/repositories/auth_repository.ts b/src/data/repositories/auth_repository.ts index 92eb136a..3e086ce2 100644 --- a/src/data/repositories/auth_repository.ts +++ b/src/data/repositories/auth_repository.ts @@ -16,7 +16,7 @@ import { SendCodeRequest, } from "@/data/dto/auth"; import { User } from "@/data/dto/user"; -import { AppEnvUtil, Result, Logger } from "@/utils"; +import { AppEnvUtil, PlatformDetector, Result, Logger } from "@/utils"; import type { IAuthRepository } from "@/data/repositories/interfaces"; import { AuthStorage, type IAuthStorage } from "@/data/storage/auth"; import { UserStorage, type IUserStorage } from "@/data/storage/user"; @@ -24,8 +24,6 @@ import { createLazySingleton } from "./lazy_singleton"; const log = new Logger("DataRepositoriesAuthRepository"); -/** 硬编码平台名,对齐 Dart `PlatformUtil.platformName.toLowerCase()`(Web 平台)。 */ -const WEB_PLATFORM = "web"; const TEST_ACCOUNT_FLAG = "isTestAccount"; export class AuthRepository implements IAuthRepository { @@ -54,7 +52,7 @@ export class AuthRepository implements IAuthRepository { username: input.username, email: input.email, password: input.password, - platform: WEB_PLATFORM, + platform: getAuthPlatform(), guestId: input.guestId ?? "", }), ), @@ -76,7 +74,7 @@ export class AuthRepository implements IAuthRepository { email: input.email ?? "", username: input.username ?? "", password: input.password, - platform: WEB_PLATFORM, + platform: getAuthPlatform(), guestId: input.guestId ?? "", }), ), @@ -157,7 +155,7 @@ export class AuthRepository implements IAuthRepository { GoogleLoginRequest.from( withTestAccountFlag({ idToken: input.idToken, - platform: WEB_PLATFORM, + platform: getAuthPlatform(), guestId: input.guestId ?? "", }), ), @@ -175,7 +173,7 @@ export class AuthRepository implements IAuthRepository { FacebookLoginRequest.from( withTestAccountFlag({ accessToken: input.accessToken, - platform: WEB_PLATFORM, + platform: getAuthPlatform(), guestId: input.guestId ?? "", }), ), @@ -211,7 +209,7 @@ export class AuthRepository implements IAuthRepository { AppleLoginRequest.from( withTestAccountFlag({ identityToken, - platform: WEB_PLATFORM, + platform: getAuthPlatform(), }), ), ), @@ -319,3 +317,7 @@ function withTestAccountFlag>( [TEST_ACCOUNT_FLAG]: !AppEnvUtil.isProduction(), }; } + +function getAuthPlatform(): string { + return PlatformDetector.getPlatform(); +} diff --git a/src/data/repositories/interfaces/iuser_repository.ts b/src/data/repositories/interfaces/iuser_repository.ts index 7d0e72d2..d8ade758 100644 --- a/src/data/repositories/interfaces/iuser_repository.ts +++ b/src/data/repositories/interfaces/iuser_repository.ts @@ -2,11 +2,6 @@ /** * IUserRepository 接口 - * - * 对齐 Dart 端 `UserRepository` 抽象(lib/data/repositories/user_repository.dart): - * - 纯远程调用,不直接写本地 storage(持久化由 AuthRepository 在登录流程中处理) - * - * */ import type { Result } from "@/utils";