我正在制作一个电报迷你应用程序,它可以让用户选择推荐其他人使用该应用程序并获得奖励, 我已经完成了应用程序的身份验证和许多功能/逻辑。但是从参考链接中提取推荐代码,例如:https://t.me/my_bot?start=RefC0d3,我尝试了很多方法都不起作用
请有人帮助我,我被困在这里。 谢谢。
我的js代码如下:
const telegramWebApp = await loadTelegramSdk();
if (telegramWebApp) {
const { id, first_name, username, start_param } = telegramWebApp.initDataUnsafe;
console.log('Telegram User Info:', { id, first_name, username, start_param });
const csrfToken = document.querySelector('meta[name="csrf-token"]')?.getAttribute('content');
const headers = {
'Content-Type': 'application/json',
};
if (csrfToken) {
headers['X-CSRF-TOKEN'] = csrfToken;
}
const requestBody = {
...telegramWebApp.initDataUnsafe,
referral_code: start_param // Add referral_code to the request body
};
const response = await fetch("{{ route('tg.authenticate') }}", {
method: 'POST',
headers: headers,
body: JSON.stringify(requestBody) // Send referral_code in the request body
});
const data = await response.json();
if (data.message === 'Logged in successfully' || data.message === 'User created and logged in') {
console.log(`Welcome ${first_name || username}!`);
setTimeout(() => {
window.location.href = '{{ route('tg.dashboard') }}'; // Redirect after 1.5 seconds
}, 1500);
} else {
console.error('Authentication failed:', data.message);
}
}
在我的控制器中,我使用
Log::info('Request Input:', $request->all());
检查输入,但 javasacipt 没有发送推荐代码。
您应该发送您需要的网络挂钩请求数据。