| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- // public/ts/service.ts
- var chatToken = null;
- async function initializeChat() {
- try {
- const response = await fetch("/api/chat/init-chat");
- if (!response.ok) {
- const errorData = await response.json().catch(() => ({ message: "Error desconocido al inicializar." }));
- throw new Error(errorData.message || `Error del servidor: ${response.status}`);
- }
- const data = await response.json();
- chatToken = data.chatToken;
- if (!chatToken) {
- throw new Error("No se pudo obtener el token de chat.");
- }
- return true;
- } catch (error) {
- console.error("Error al inicializar el chat:", error);
- }
- }
- async function sendMessage(message, messageList, userName) {
- if (!chatToken) {
- return "not_init";
- return;
- }
- messageList.push({ role: "user", content: message });
- const cuerpo = { messages: messageList, user: userName }
- const response = await fetch("/api/chat/completions", {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- "X-App-Token": chatToken
- },
- body: JSON.stringify(cuerpo)
- });
- if (!response.ok) {
- const errorData = await response.json().catch(() => ({ message: "Respuesta no válida del servidor." }));
- throw new Error(errorData.message || `Error del servidor: ${response.status}`);
- }
- const data = await response.json();
- const assistantResponse = data.response;
- if (assistantResponse) {
- messageList.push({ role: "assistant", content: assistantResponse });
- return { messageList, assistantResponse };
- } else {
- throw new Error("Respuesta vacía del asistente.");
- }
- }
- async function sendOrder(order) {
- try {
- const response = await fetch("/api/printer/order", {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- "X-App-Token": chatToken
- },
- body: JSON.stringify(order)
- });
- if (!response.ok) {
- const errorData = await response.json().catch(() => ({ message: "Respuesta no válida del servidor." }));
- throw new Error(errorData.message || `Error del servidor: ${response.status}`);
- }
- const data = await response.json();
- return data;
- } catch (error) {
- console.error("Error al enviar la orden:", error);
- throw error;
- }
- }
- async function getProducts(){
- const response = await fetch("/api/get_products");
- if (!response.ok) {
- const errorData = await response.json().catch(() => ({ message: "Respuesta no válida del servidor." }));
- throw new Error(errorData.message || `Error del servidor: ${response.status}`);
- }
- const data = await response.json();
- return data.products;
- }
- async function existsUser(userCode){
- const response = await fetch("/api/existsUser", {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- "X-App-Token": chatToken
- },
- body: JSON.stringify({
- user_code: userCode
- })
- });
- if (!response.ok) {
- const errorData = await response.json().catch(() => ({ message: "Respuesta no válida del servidor." }));
- throw new Error(errorData.message || `Error del servidor: ${response.status}`);
- }
- const data = await response.json();
- return data;
- }
- export { initializeChat, sendMessage, sendOrder, getProducts, existsUser };
|