feat(mobile-app): change share QR code to APK download link with referral code

QR code now contains: https://s3.szaiai.com/rwadurian/app-release.apk?ref={referralCode}
- User scans QR to download APK directly
- Guide page 5 already supports parsing ref parameter from URL

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
hailin 2025-12-08 23:38:32 -08:00
parent 5a5e360e73
commit cb9e520fb4
1 changed files with 15 additions and 9 deletions

View File

@ -38,7 +38,10 @@ class _SharePageState extends ConsumerState<SharePage> {
_loadShareLink();
}
/// ( API )
/// APK
static const String _apkDownloadUrl = 'https://s3.szaiai.com/rwadurian/app-release.apk';
/// (使 APK + )
Future<void> _loadShareLink() async {
try {
setState(() {
@ -48,15 +51,14 @@ class _SharePageState extends ConsumerState<SharePage> {
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<SharePage> {
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 = '加载失败,使用默认链接';
});
}
}