feat: send xdebug trigger from frontend
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import {ofetch} from "ofetch";
|
import {ofetch} from "ofetch";
|
||||||
|
|
||||||
const BASE_URL = '/';
|
const BASE_URL = '/';
|
||||||
|
const isDev = import.meta.env.DEV;
|
||||||
|
|
||||||
function encodeBase64Unicode(str) {
|
function encodeBase64Unicode(str) {
|
||||||
return btoa(new TextEncoder().encode(str).reduce((data, byte) => data + String.fromCharCode(byte), ''));
|
return btoa(new TextEncoder().encode(str).reduce((data, byte) => data + String.fromCharCode(byte), ''));
|
||||||
@@ -14,6 +15,7 @@ export const apiFetch = ofetch.create({
|
|||||||
if (data) {
|
if (data) {
|
||||||
const encoded = encodeBase64Unicode(data);
|
const encoded = encodeBase64Unicode(data);
|
||||||
options.headers = {
|
options.headers = {
|
||||||
|
...(isDev && { 'XDEBUG_TRIGGER': 'PHPSTORM' }),
|
||||||
...options.headers,
|
...options.headers,
|
||||||
'X-Telegram-InitData': encoded,
|
'X-Telegram-InitData': encoded,
|
||||||
};
|
};
|
||||||
@@ -28,7 +30,16 @@ async function ftch(action, query = null, json = null) {
|
|||||||
if (query) options.query = query;
|
if (query) options.query = query;
|
||||||
if (json) options.body = json;
|
if (json) options.body = json;
|
||||||
|
|
||||||
return await apiFetch(`${BASE_URL}index.php?route=extension/tgshop/handle&api_action=${action}`, options);
|
const xDebugTrigger = isDev ? '&XDEBUG_TRIGGER=phpstorm' : '';
|
||||||
|
|
||||||
|
return await apiFetch(
|
||||||
|
`${BASE_URL}index.php?route=extension/tgshop/handle&api_action=${action}${xDebugTrigger}`,
|
||||||
|
options
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function ftchPost(action, json = {}) {
|
||||||
|
return ftch(action, null, json);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function storeOrder(data) {
|
export async function storeOrder(data) {
|
||||||
@@ -115,4 +126,8 @@ export async function userPrivacyConsent() {
|
|||||||
return await ftch('userPrivacyConsent');
|
return await ftch('userPrivacyConsent');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function ingest(data) {
|
||||||
|
return await ftchPost('ingest', data);
|
||||||
|
}
|
||||||
|
|
||||||
export default ftch;
|
export default ftch;
|
||||||
|
|||||||
Reference in New Issue
Block a user