| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- const tgInfo={
- isInit:false,
- }
- const checkLoadTelegramJs=async ()=>{
- if (tgInfo.isInit)return true;
- let isInTG=window.location.hash.indexOf("tgWebAppData") !== -1;
- if (!isInTG)return false;
- return new Promise( (t, n) => {
- var q = document.createElement("script");
- q.type = "text/javascript";
- q.src = "https://telegram.org/js/telegram-web-app.js?56";
- document.body.appendChild(q);
- const r = setTimeout( () => {
- q.onerror = null;
- q.onload = null;
- t(false);
- }, 10000);
- q.onload = () => {
- clearTimeout(r);
- console.log("finish telegram js");
- tgInfo.isInit=true;
- t(true);
- };
- q.onerror = () => {
- clearTimeout(r);
- q.onerror = null;
- q.onload = null;
- n(false)
- }
- });
- }
- const init=async ()=>{
- return await checkLoadTelegramJs();
- }
- const getTGWebApp=()=>{
- let Telegram=window.Telegram;
- if (Telegram){
- return Telegram.WebApp;
- }
- return null;
- }
- const getInitData=()=>{
- //window.Telegram.WebApp.initData
- let webApp=getTGWebApp();
- if (webApp)return webApp.initData;
- return "";
- }
- const getTGUser=()=>{
- let webApp=getTGWebApp();
- if (webApp){
- let initDataUnsafe=webApp.initDataUnsafe;
- if (initDataUnsafe){
- return initDataUnsafe.user;
- }
- }
- return null;
- }
- const TGHelper={
- init,
- getTGWebApp,
- getInitData,
- getTGUser
- }
- export default TGHelper;
|