add logo_url to landing questions; add color/foto_perfil extraction to vcard
This commit is contained in:
@@ -20,6 +20,7 @@ type LandingSession struct {
|
|||||||
UserWebsite string `json:"user_website" gorm:"column:user_website"`
|
UserWebsite string `json:"user_website" gorm:"column:user_website"`
|
||||||
UserAddress string `json:"user_address" gorm:"column:user_address"`
|
UserAddress string `json:"user_address" gorm:"column:user_address"`
|
||||||
SocialMedia string `json:"social_media" gorm:"column:social_media"`
|
SocialMedia string `json:"social_media" gorm:"column:social_media"`
|
||||||
|
LogoUrl string `json:"logo_url" gorm:"column:logo_url"`
|
||||||
// Historial de mensajes almacenado como JSON
|
// Historial de mensajes almacenado como JSON
|
||||||
AnswersJSON string `json:"-" gorm:"column:answers_json;type:text"`
|
AnswersJSON string `json:"-" gorm:"column:answers_json;type:text"`
|
||||||
HTMLContent string `json:"html_content,omitempty" gorm:"column:html_content;type:text"`
|
HTMLContent string `json:"html_content,omitempty" gorm:"column:html_content;type:text"`
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ var landingQuestions = []struct {
|
|||||||
{"user_phone", "¿Cuál es tu número de teléfono o WhatsApp de contacto?"},
|
{"user_phone", "¿Cuál es tu número de teléfono o WhatsApp de contacto?"},
|
||||||
{"user_email", "¿Cuál es tu correo electrónico de contacto?"},
|
{"user_email", "¿Cuál es tu correo electrónico de contacto?"},
|
||||||
{"user_website", "¿Cuál es tu sitio web o portafolio?"},
|
{"user_website", "¿Cuál es tu sitio web o portafolio?"},
|
||||||
|
{"logo_url", "¿Tienes un logo? Comparte la URL de tu logo (o escribe \"no\" si no tienes)"},
|
||||||
{"social_media", "¿Qué redes sociales tienes? Comparte tus perfiles de Instagram, LinkedIn, YouTube, TikTok, etc. (Ej: Instagram: @tunombre, LinkedIn: /in/tunombre)"},
|
{"social_media", "¿Qué redes sociales tienes? Comparte tus perfiles de Instagram, LinkedIn, YouTube, TikTok, etc. (Ej: Instagram: @tunombre, LinkedIn: /in/tunombre)"},
|
||||||
{"user_address", "¿Tienes una dirección física o ciudad donde operas?"},
|
{"user_address", "¿Tienes una dirección física o ciudad donde operas?"},
|
||||||
{"extras", "¿Hay algo más que quieras incluir? Testimonios, precios, galería, FAQ... (O escribe \"listo\" para generar ya tu landing)"},
|
{"extras", "¿Hay algo más que quieras incluir? Testimonios, precios, galería, FAQ... (O escribe \"listo\" para generar ya tu landing)"},
|
||||||
@@ -95,7 +96,7 @@ func LandingChat(c *fiber.Ctx) error {
|
|||||||
msgs = append(msgs, models.LandingMessage{Role: "user", Content: req.Message})
|
msgs = append(msgs, models.LandingMessage{Role: "user", Content: req.Message})
|
||||||
|
|
||||||
// Guardar campo estructurado si corresponde
|
// Guardar campo estructurado si corresponde
|
||||||
contactFields := map[string]bool{"user_name": true, "user_phone": true, "user_email": true, "user_website": true, "social_media": true, "user_address": true}
|
contactFields := map[string]bool{"user_name": true, "user_phone": true, "user_email": true, "user_website": true, "logo_url": true, "social_media": true, "user_address": true}
|
||||||
if userAnswersCount < len(landingQuestions) {
|
if userAnswersCount < len(landingQuestions) {
|
||||||
key := landingQuestions[userAnswersCount].Key
|
key := landingQuestions[userAnswersCount].Key
|
||||||
if contactFields[key] {
|
if contactFields[key] {
|
||||||
@@ -108,6 +109,8 @@ func LandingChat(c *fiber.Ctx) error {
|
|||||||
session.UserEmail = req.Message
|
session.UserEmail = req.Message
|
||||||
case "user_website":
|
case "user_website":
|
||||||
session.UserWebsite = req.Message
|
session.UserWebsite = req.Message
|
||||||
|
case "logo_url":
|
||||||
|
session.LogoUrl = req.Message
|
||||||
case "social_media":
|
case "social_media":
|
||||||
session.SocialMedia = req.Message
|
session.SocialMedia = req.Message
|
||||||
case "user_address":
|
case "user_address":
|
||||||
@@ -166,6 +169,7 @@ func LandingGetSession(c *fiber.Ctx) error {
|
|||||||
"user_website": session.UserWebsite,
|
"user_website": session.UserWebsite,
|
||||||
"user_address": session.UserAddress,
|
"user_address": session.UserAddress,
|
||||||
"social_media": session.SocialMedia,
|
"social_media": session.SocialMedia,
|
||||||
|
"logo_url": session.LogoUrl,
|
||||||
"vcard_included": session.VcardIncluded,
|
"vcard_included": session.VcardIncluded,
|
||||||
}
|
}
|
||||||
// Solo exponer el HTML si la sesión está generada (preview con marca de agua siempre)
|
// Solo exponer el HTML si la sesión está generada (preview con marca de agua siempre)
|
||||||
|
|||||||
Reference in New Issue
Block a user