WIP
Some checks failed
Telegram Mini App Shop Builder / Compute version metadata (push) Has been cancelled
Telegram Mini App Shop Builder / Run Frontend tests (push) Has been cancelled
Telegram Mini App Shop Builder / Run Backend tests (push) Has been cancelled
Telegram Mini App Shop Builder / Run PHP_CodeSniffer (push) Has been cancelled
Telegram Mini App Shop Builder / Build module. (push) Has been cancelled
Telegram Mini App Shop Builder / release (push) Has been cancelled
Some checks failed
Telegram Mini App Shop Builder / Compute version metadata (push) Has been cancelled
Telegram Mini App Shop Builder / Run Frontend tests (push) Has been cancelled
Telegram Mini App Shop Builder / Run Backend tests (push) Has been cancelled
Telegram Mini App Shop Builder / Run PHP_CodeSniffer (push) Has been cancelled
Telegram Mini App Shop Builder / Build module. (push) Has been cancelled
Telegram Mini App Shop Builder / release (push) Has been cancelled
This commit is contained in:
9
frontend/admin/.vscode/extensions.json
vendored
9
frontend/admin/.vscode/extensions.json
vendored
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"Vue.volar",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"EditorConfig.EditorConfig",
|
||||
"oxc.oxc-vscode",
|
||||
"esbenp.prettier-vscode"
|
||||
]
|
||||
}
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
<li :class="{active: route.name === 'pulse'}">
|
||||
<RouterLink :to="{name: 'pulse'}">
|
||||
<i class="fa fa-heartbeat pulse-icon tw:text-red-200"></i> TeleCart Pulse <span class="pulse-beta-label tw:ml-1 tw:px-1.5 tw:py-0.5 tw:text-xs tw:font-semibold tw:text-white tw:rounded">BETA</span>
|
||||
<i class="fa fa-heartbeat pulse-icon tw:text-red-200"></i> MegaPay Pulse <span class="pulse-beta-label tw:ml-1 tw:px-1.5 tw:py-0.5 tw:text-xs tw:font-semibold tw:text-white tw:rounded">BETA</span>
|
||||
</RouterLink>
|
||||
</li>
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ legend.p-fieldset-legend {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.telecart-admin-app {
|
||||
.megapay-admin-app {
|
||||
color: var(--color-slate-700);
|
||||
}
|
||||
|
||||
|
||||
@@ -67,9 +67,9 @@ const settings = useSettingsStore();
|
||||
|
||||
/** Человекочитаемое имя и описание задач (ключ — job.name с бэкенда) */
|
||||
const JOB_META = {
|
||||
telecart_pulse_send_events: {
|
||||
friendlyName: 'Отправка данных в TeleCart Pulse',
|
||||
description: 'Отправка данных телеметрии о действиях в TeleCart. Требуется для сбора метрик по рассылкам и кампаниям, сделанных через сервис TeleCart Pulse',
|
||||
megapay_pulse_send_events: {
|
||||
friendlyName: 'Отправка данных в MegaPay Pulse',
|
||||
description: 'Отправка данных телеметрии о действиях в MegaPay. Требуется для сбора метрик по рассылкам и кампаниям, сделанных через сервис MegaPay Pulse',
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@ onMounted(() => {
|
||||
$(searchInput.value).autocomplete({
|
||||
source: function (request, response) {
|
||||
$.ajax({
|
||||
url: `/admin/index.php?route=catalog/category/autocomplete&user_token=${window.TeleCart.user_token}&filter_name=${encodeURIComponent(request)}`,
|
||||
url: `/admin/index.php?route=catalog/category/autocomplete&user_token=${window.MegaPay.user_token}&filter_name=${encodeURIComponent(request)}`,
|
||||
dataType: 'json',
|
||||
success: function (json) {
|
||||
response($.map(json, function (item) {
|
||||
|
||||
@@ -94,7 +94,7 @@ onMounted(() => {
|
||||
$(productsInput.value).autocomplete({
|
||||
source: function (request, response) {
|
||||
$.ajax({
|
||||
url: `/admin/index.php?route=catalog/product/autocomplete&user_token=${window.TeleCart.user_token}&filter_name=${encodeURIComponent(request)}`,
|
||||
url: `/admin/index.php?route=catalog/product/autocomplete&user_token=${window.MegaPay.user_token}&filter_name=${encodeURIComponent(request)}`,
|
||||
dataType: 'json',
|
||||
success: function (json) {
|
||||
response($.map(json, function (item) {
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
<template #help>
|
||||
Подробная инструкция доступна в
|
||||
<a href="https://telecart-labs.github.io/docs/telegram/telegram/#%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B1%D0%BE%D1%82%D0%B0" target="_blank">документации
|
||||
<a href="https://megapay-labs.github.io/docs/telegram/telegram/#%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B1%D0%BE%D1%82%D0%B0" target="_blank">документации
|
||||
<i class="fa fa-external-link"></i>
|
||||
</a>.
|
||||
</template>
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
Telegram поддерживает только часть HTML тегов, которые описаны в их
|
||||
<a href="https://core.telegram.org/bots/api#html-style" target="_blank">документации <i class="fa fa-external-link"></i></a>.
|
||||
</p>
|
||||
<p>Дополнительно к этому TeleCart добавляет переменные, которые вы можете использовать, чтобы сделать сообщения динамическими.</p>
|
||||
<p>Дополнительно к этому MegaPay добавляет переменные, которые вы можете использовать, чтобы сделать сообщения динамическими.</p>
|
||||
<ul>
|
||||
<li><code>{store_name}</code> — название магазина</li>
|
||||
<li><code>{order_id}</code> — номер заказа</li>
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
:modelValue="model"
|
||||
:allowCopy="true"
|
||||
>
|
||||
Ссылка на сайт с TeleCart витриной, которую нужно указывать в настройках MiniApp в @BotFather.<br>
|
||||
Ссылка на сайт с MegaPay витриной, которую нужно указывать в настройках MiniApp в @BotFather.<br>
|
||||
Подробная инструкция по настройке в
|
||||
<a href="https://docs.telecart.pro/telegram/telegram/" target="_blank">
|
||||
<a href="https://docs.megapay.pro/telegram/telegram/" target="_blank">
|
||||
документации <i class="fa fa-external-link"></i>
|
||||
</a>.
|
||||
</ItemInput>
|
||||
|
||||
@@ -30,7 +30,7 @@ onMounted(() => {
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: `index.php?route=catalog/category/autocomplete&user_token=${window.TeleCart.user_token}&filter_name=` + encodeURIComponent(request),
|
||||
url: `index.php?route=catalog/category/autocomplete&user_token=${window.MegaPay.user_token}&filter_name=` + encodeURIComponent(request),
|
||||
dataType: 'json',
|
||||
success: function (json) {
|
||||
response($.map(json, function (item) {
|
||||
|
||||
@@ -29,7 +29,7 @@ onMounted(() => {
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: `index.php?route=catalog/product/autocomplete&user_token=${window.TeleCart.user_token}&filter_name=` + encodeURIComponent(request),
|
||||
url: `index.php?route=catalog/product/autocomplete&user_token=${window.MegaPay.user_token}&filter_name=` + encodeURIComponent(request),
|
||||
dataType: 'json',
|
||||
success: function (json) {
|
||||
response($.map(json, function (item) {
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<div class="tw:flex tw:items-center tw:flex-wrap tw:gap-8">
|
||||
<div>
|
||||
<span
|
||||
v-tooltip.top="'Общее количество заказов, сделанное через TeleCart за всё время.'"
|
||||
v-tooltip.top="'Общее количество заказов, сделанное через MegaPay за всё время.'"
|
||||
class="tw:text-surface-500 tw:dark:text-surface-300"
|
||||
>
|
||||
Количество заказов
|
||||
@@ -31,7 +31,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<span
|
||||
v-tooltip.top="'Итоговая сумма заказов, сделанных через TeleCart за всё время.'"
|
||||
v-tooltip.top="'Итоговая сумма заказов, сделанных через MegaPay за всё время.'"
|
||||
class="tw:text-surface-500 tw:dark:text-surface-300"
|
||||
>Общая сумма</span>
|
||||
<div
|
||||
@@ -101,14 +101,14 @@
|
||||
/>
|
||||
<Button
|
||||
icon="fa fa-book"
|
||||
v-tooltip.top="'Документация по модулю TeleCart'"
|
||||
v-tooltip.top="'Документация по модулю MegaPay'"
|
||||
as="a"
|
||||
target="_blank"
|
||||
href="https://telecart-labs.github.io/docs/"
|
||||
href="https://megapay-labs.github.io/docs/"
|
||||
/>
|
||||
<Button
|
||||
icon="fa fa-group"
|
||||
v-tooltip.top="'Официальная Telegram группа модуля TeleCart'"
|
||||
v-tooltip.top="'Официальная Telegram группа модуля MegaPay'"
|
||||
as="a"
|
||||
target="_blank"
|
||||
href="https://t.me/ocstore3"
|
||||
|
||||
@@ -8,7 +8,7 @@ import StoreView from "@/views/StoreView.vue";
|
||||
import MainPageView from "@/views/MainPageView.vue";
|
||||
import FormBuilderView from "@/views/FormBuilderView.vue";
|
||||
import CustomersView from "@/views/CustomersView.vue";
|
||||
import TeleCartPulseView from "@/views/TeleCartPulseView.vue";
|
||||
import MegaPayPulseView from "@/views/MegaPayPulseView.vue";
|
||||
import CronView from "@/views/CronView.vue";
|
||||
|
||||
const router = createRouter({
|
||||
@@ -20,7 +20,7 @@ const router = createRouter({
|
||||
{path: '/mainpage', name: 'mainpage', component: MainPageView},
|
||||
{path: '/metrics', name: 'metrics', component: MetricsView},
|
||||
{path: '/orders', name: 'orders', component: OrdersView},
|
||||
{path: '/pulse', name: 'pulse', component: TeleCartPulseView},
|
||||
{path: '/pulse', name: 'pulse', component: MegaPayPulseView},
|
||||
{path: '/store', name: 'store', component: StoreView},
|
||||
{path: '/telegram', name: 'telegram', component: TelegramView},
|
||||
{path: '/texts', name: 'texts', component: TextsView},
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
export function getThumb(imageUrl) {
|
||||
const url = new URL(`${window.TeleCart.shop_base_url}/admin/index.php`);
|
||||
const url = new URL(`${window.MegaPay.shop_base_url}/admin/index.php`);
|
||||
url.searchParams.set('route', 'extension/module/tgshop/handle');
|
||||
url.searchParams.set('api_action', 'getImage');
|
||||
url.searchParams.set('path', imageUrl);
|
||||
url.searchParams.set('size', '100x100');
|
||||
url.searchParams.set('user_token', window.TeleCart.user_token);
|
||||
url.searchParams.set('user_token', window.MegaPay.user_token);
|
||||
return url.toString();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import axios from 'axios';
|
||||
|
||||
/**
|
||||
* Получает user_token из глобального объекта TeleCart
|
||||
* Получает user_token из глобального объекта MegaPay
|
||||
*/
|
||||
function getUserToken() {
|
||||
if (typeof window !== 'undefined' && window.TeleCart?.user_token) {
|
||||
return window.TeleCart.user_token;
|
||||
if (typeof window !== 'undefined' && window.MegaPay?.user_token) {
|
||||
return window.MegaPay.user_token;
|
||||
}
|
||||
|
||||
// Fallback: пытаемся получить из URL как запасной вариант
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<SettingsItem label="Режим работы планировщика" doc-href="https://docs.telecart.pro/features/cron/">
|
||||
<SettingsItem label="Режим работы планировщика" doc-href="https://docs.megapay.pro/features/cron/">
|
||||
<template #default>
|
||||
<SelectButton
|
||||
v-model="settings.items.cron.mode"
|
||||
|
||||
@@ -76,7 +76,7 @@ import ItemSelect from "@/components/Settings/ItemSelect.vue";
|
||||
import ItemInput from "@/components/Settings/ItemInput.vue";
|
||||
|
||||
const settings = useSettingsStore();
|
||||
const themes = JSON.parse(window.TeleCart.themes);
|
||||
const themes = JSON.parse(window.MegaPay.themes);
|
||||
|
||||
const aspectRatioOptions = {
|
||||
'1:1': '1:1 - Квадрат (универсально, аксессуары, мелкие товары)',
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
<Button
|
||||
as="a"
|
||||
href="https://telecart-labs.github.io/docs/analitycs/start/"
|
||||
href="https://megapay-labs.github.io/docs/analitycs/start/"
|
||||
target="_blank"
|
||||
variant="text"
|
||||
>
|
||||
|
||||
@@ -13,5 +13,5 @@ import {useSettingsStore} from "@/stores/settings.js";
|
||||
import ItemSelect from "@/components/Settings/ItemSelect.vue";
|
||||
|
||||
const settings = useSettingsStore();
|
||||
const orderStatuses = JSON.parse(window.TeleCart.order_statuses);
|
||||
const orderStatuses = JSON.parse(window.MegaPay.order_statuses);
|
||||
</script>
|
||||
|
||||
@@ -61,5 +61,5 @@ const productInteractionOptions = {
|
||||
browser: 'Открытие товара на сайте',
|
||||
};
|
||||
|
||||
const userToken = window.TeleCart.user_token;
|
||||
const userToken = window.MegaPay.user_token;
|
||||
</script>
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
<template>
|
||||
<div class="tw:space-y-6">
|
||||
<div class="telecart-pulse-info">
|
||||
<h3>🚀 Расширьте возможности вашего магазина с <strong><a href="https://telecart.pro/" target="_blank">TeleCart Pulse</a>!</strong></h3>
|
||||
<div class="megapay-pulse-info">
|
||||
<h3>🚀 Расширьте возможности вашего магазина с <strong><a href="https://megapay.pro/" target="_blank">MegaPay Pulse</a>!</strong></h3>
|
||||
|
||||
<p>
|
||||
Если вы хотите не только показывать товары в Telegram, но и активно общаться с клиентами,
|
||||
рассылать новости, акции и уведомления — для этого есть <strong>TeleCart Pulse</strong>.
|
||||
рассылать новости, акции и уведомления — для этого есть <strong>MegaPay Pulse</strong>.
|
||||
Это <strong>SaaS-платформа с месячной подпиской</strong>, которая полностью интегрируется
|
||||
с вашим OpenCart-магазином и витриной TeleCart.
|
||||
с вашим OpenCart-магазином и витриной MegaPay.
|
||||
</p>
|
||||
|
||||
<p><strong>С TeleCart Pulse вы сможете:</strong></p>
|
||||
<p><strong>С MegaPay Pulse вы сможете:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li>📣 Делать массовые рассылки сообщений покупателям прямо в Telegram</li>
|
||||
<li>📊 Анализировать эффективность сообщений и взаимодействие клиентов</li>
|
||||
<li>🔗 Легко синхронизироваться с вашей витриной TeleCart — все данные остаются в одном месте</li>
|
||||
<li>🔗 Легко синхронизироваться с вашей витриной MegaPay — все данные остаются в одном месте</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
🧪 Платформа <strong>TeleCart Pulse находится на ранней стадии тестирования</strong>.
|
||||
🧪 Платформа <strong>MegaPay Pulse находится на ранней стадии тестирования</strong>.
|
||||
Если вам интересно и вы хотите принять участи в тестировании интересно, свяжитесь со мной через
|
||||
<a href="https://t.me/ocstore3" target="_blank">официальную группу TeleCart в Telegram</a>.
|
||||
<a href="https://t.me/ocstore3" target="_blank">официальную группу MegaPay в Telegram</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
type="number"
|
||||
placeholder="50"
|
||||
>
|
||||
Определяет, сколько событий отправляется в TeleCart Pulse за один запуск фоновой задачи.
|
||||
Определяет, сколько событий отправляется в MegaPay Pulse за один запуск фоновой задачи.
|
||||
При большом значении события обрабатываются быстрее, но увеличивается нагрузка на сервер.
|
||||
При малом значении нагрузка ниже, но обработка занимает больше времени.
|
||||
Рекомендуемое значение: 50.
|
||||
@@ -110,7 +110,7 @@ const settings = useSettingsStore();
|
||||
const stats = ref(null);
|
||||
|
||||
const loadStats = async () => {
|
||||
const response = await apiGet('getTeleCartPulseStats');
|
||||
const response = await apiGet('getMegaPayPulseStats');
|
||||
if (response.success) {
|
||||
stats.value = response.data;
|
||||
}
|
||||
@@ -122,7 +122,7 @@ onMounted(() => {
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.telecart-pulse-info {
|
||||
.megapay-pulse-info {
|
||||
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
|
||||
border: 1px solid #dee2e6;
|
||||
border-radius: 8px;
|
||||
@@ -130,7 +130,7 @@ onMounted(() => {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.telecart-pulse-info h3 {
|
||||
.megapay-pulse-info h3 {
|
||||
font-size: 1.5rem;
|
||||
font-weight: 600;
|
||||
margin-bottom: 16px;
|
||||
@@ -138,43 +138,43 @@ onMounted(() => {
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.telecart-pulse-info h3 a {
|
||||
.megapay-pulse-info h3 a {
|
||||
color: #dc3545;
|
||||
font-weight: 700;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.telecart-pulse-info h3 a:hover {
|
||||
.megapay-pulse-info h3 a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.telecart-pulse-info p {
|
||||
.megapay-pulse-info p {
|
||||
margin-bottom: 16px;
|
||||
line-height: 1.6;
|
||||
color: #495057;
|
||||
}
|
||||
|
||||
.telecart-pulse-info p:last-child {
|
||||
.megapay-pulse-info p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.telecart-pulse-info p strong {
|
||||
.megapay-pulse-info p strong {
|
||||
color: #212529;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.telecart-pulse-info ul {
|
||||
.megapay-pulse-info ul {
|
||||
margin: 16px 0;
|
||||
padding-left: 24px;
|
||||
}
|
||||
|
||||
.telecart-pulse-info ul li {
|
||||
.megapay-pulse-info ul li {
|
||||
color: #495057;
|
||||
position: relative;
|
||||
padding-left: 8px;
|
||||
}
|
||||
|
||||
.telecart-pulse-info ul li:last-child {
|
||||
.megapay-pulse-info ul li:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -21,11 +21,11 @@ export default defineConfig({
|
||||
build: {
|
||||
manifest: false,
|
||||
sourcemap: false,
|
||||
outDir: '../../module/oc_telegram_shop/upload/admin/view/javascript/telecart',
|
||||
outDir: '../../module/oc_telegram_shop/upload/admin/view/javascript/megapay',
|
||||
emptyOutDir: true, // also necessary
|
||||
rollupOptions: {
|
||||
input: {
|
||||
telecart: '/src/main.js',
|
||||
megapay: '/src/main.js',
|
||||
},
|
||||
output: {
|
||||
entryFileNames: `[name].js`,
|
||||
|
||||
Reference in New Issue
Block a user