diff --git a/frontend/mobile-app/lib/features/share/presentation/pages/share_page.dart b/frontend/mobile-app/lib/features/share/presentation/pages/share_page.dart index e219c3a3..d81e9592 100644 --- a/frontend/mobile-app/lib/features/share/presentation/pages/share_page.dart +++ b/frontend/mobile-app/lib/features/share/presentation/pages/share_page.dart @@ -38,7 +38,10 @@ class _SharePageState extends ConsumerState { _loadShareLink(); } - /// 加载分享链接 (调用 API 生成短链) + /// APK 下载基础链接 + static const String _apkDownloadUrl = 'https://s3.szaiai.com/rwadurian/app-release.apk'; + + /// 加载分享链接 (使用 APK 下载链接 + 推荐码) Future _loadShareLink() async { try { setState(() { @@ -48,15 +51,14 @@ class _SharePageState extends ConsumerState { final referralService = ref.read(referralServiceProvider); - // 调用 API 生成短链 + // 调用 API 获取推荐码 final linkResponse = await referralService.generateReferralLink(); if (mounted) { setState(() { - // 优先使用短链,如果没有则使用完整链接 - _displayLink = linkResponse.shortUrl.isNotEmpty - ? linkResponse.shortUrl - : linkResponse.fullUrl; + // 使用 APK 下载链接 + 推荐码参数 + final referralCode = linkResponse.referralCode; + _displayLink = '$_apkDownloadUrl?ref=$referralCode'; _isLoading = false; }); } @@ -65,9 +67,13 @@ class _SharePageState extends ConsumerState { if (mounted) { setState(() { _isLoading = false; - // 失败时使用传入的默认链接 - _displayLink = widget.shareLink; - _errorMessage = '加载短链失败,使用默认链接'; + // 失败时使用传入的推荐码构造链接 + if (widget.referralCode != null && widget.referralCode!.isNotEmpty) { + _displayLink = '$_apkDownloadUrl?ref=${widget.referralCode}'; + } else { + _displayLink = _apkDownloadUrl; + } + _errorMessage = '加载失败,使用默认链接'; }); } }