Как да добавите Asyntai AI чатбот към MedusaCMS
Ръководство стъпка по стъпка за витрини, задвижвани от Medusa
Важно: Medusa е headless платформа за електронна търговия. Кодът на чатбота трябва да бъде добавен към вашето приложение за витрината, а не към сървъра/администрацията на Medusa.
Стъпка 1: Вземете вашия код за вграждане
Първо отидете на вашето Табло за управление на Asyntai и превъртете надолу до секцията "Код за вграждане". Копирайте уникалния си код за вграждане, който ще изглежда така:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Забележка: Кодът по-горе е само пример. Трябва да копирате собствения си уникален код за вграждане от вашето Табло за управление, тъй като съдържа вашия личен ID на уиджета.
Стъпка 2: Добавяне към Next.js витрината (Най-често срещано)
Стартовият шаблон на Medusa за витрината по подразбиране използва Next.js. Добавете чатбота към основния layout на вашата витрина:
App Router (Next.js 13+)
Отворете app/layout.tsx във вашия проект за витрината и добавете компонента Script:
import Script from 'next/script'
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
{children}
<Script
src="https://asyntai.com/static/js/chat-widget.js"
data-asyntai-id="YOUR_WIDGET_ID"
strategy="afterInteractive"
/>
</body>
</html>
)
}
Pages Router
Ако вашата витрина използва Pages Router, отворете pages/_document.tsx или pages/_app.tsx:
// pages/_app.tsx
import Script from 'next/script'
export default function MyApp({ Component, pageProps }) {
return (
<>
<Component {...pageProps} />
<Script
src="https://asyntai.com/static/js/chat-widget.js"
data-asyntai-id="YOUR_WIDGET_ID"
strategy="afterInteractive"
/>
</>
)
}
Съвет: Опцията strategy="afterInteractive" гарантира, че чатботът се зарежда след като страницата стане интерактивна, осигурявайки най-добро потребителско изживяване без да влияе на производителността при зареждане на страницата.
Алтернативен метод 1: Gatsby витрина
Ако вашата Medusa витрина използва Gatsby, добавете скрипта чрез gatsby-ssr.js, използвайки onRenderBody и setPostBodyComponents:
// gatsby-ssr.js
import React from 'react'
export const onRenderBody = ({ setPostBodyComponents }) => {
setPostBodyComponents([
<script
key="asyntai"
async
src="https://asyntai.com/static/js/chat-widget.js"
data-asyntai-id="YOUR_WIDGET_ID"
/>
]);
};
Забележка: Трябва също да добавите същия код в gatsby-browser.js, ако искате уиджетът да се запази при клиентска навигация. Алтернативно, добавете го към основния layout компонент.
Алтернативен метод 2: Персонализирана React витрина
Ако вашата Medusa витрина използва персонализирана React настройка (Vite, Create React App и др.):
Добавете скрипта в public/index.html точно преди затварящия таг </body>:
<!DOCTYPE html>
<html lang="en">
<head>
<!-- ... existing head content ... -->
</head>
<body>
<div id="root"></div>
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
</body>
</html>
Или използвайте useEffect хук в основния си компонент:
// App.tsx or App.jsx
import { useEffect } from 'react';
function App() {
useEffect(() => {
const script = document.createElement('script');
script.src = 'https://asyntai.com/static/js/chat-widget.js';
script.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID');
script.async = true;
document.body.appendChild(script);
return () => {
document.body.removeChild(script);
};
}, []);
return (
// ... your app content
);
}
Алтернативен метод 3: Всеки персонализиран фронтенд
Ако вашият магазин, задвижван от Medusa, използва друг HTML-базиран фронтенд, просто добавете стандартния script таг точно преди затварящия таг </body>:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
</body>
</html>
Съвет: Този метод работи с всяка фронтенд рамка или генератор на статични сайтове, който генерира HTML, включително Vue, Svelte, Angular, Astro и други, свързани към Medusa бекенда.
Стъпка 3: Разгърнете и проверете
След като добавите кода към вашето приложение за витрината:
- Деплойнете витрината си към вашия хостинг доставчик (Vercel, Netlify, Railway и др.)
- Отворете вашата витрина на живо в нов раздел на браузъра
- Трябва да видите бутона на чат уиджета в долния десен ъгъл
- Щракнете върху него, за да се уверите, че се отваря и функционира правилно
Не виждате уиджета? Уверете се, че сте заменили YOUR_WIDGET_ID с вашия действителен идентификатор на уиджет от таблото за управление. Проверете дали скриптът се зарежда в раздела Network на браузъра (F12 > Network). Потвърдете, че витрината е била деплойната отново след добавяне на кода. За Next.js се уверете, че използвате компонента Script от next/script, а не обикновен <script> таг. Запомнете, кодът се поставя във витрината, а не на Medusa сървъра. Изчистете кеша на браузъра или тествайте в режим инкогнито.
Weebly