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"`
|
||||
UserAddress string `json:"user_address" gorm:"column:user_address"`
|
||||
SocialMedia string `json:"social_media" gorm:"column:social_media"`
|
||||
LogoUrl string `json:"logo_url" gorm:"column:logo_url"`
|
||||
// Historial de mensajes almacenado como JSON
|
||||
AnswersJSON string `json:"-" gorm:"column:answers_json;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_email", "¿Cuál es tu correo electrónico de contacto?"},
|
||||
{"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)"},
|
||||
{"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)"},
|
||||
@@ -95,7 +96,7 @@ func LandingChat(c *fiber.Ctx) error {
|
||||
msgs = append(msgs, models.LandingMessage{Role: "user", Content: req.Message})
|
||||
|
||||
// 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) {
|
||||
key := landingQuestions[userAnswersCount].Key
|
||||
if contactFields[key] {
|
||||
@@ -108,6 +109,8 @@ func LandingChat(c *fiber.Ctx) error {
|
||||
session.UserEmail = req.Message
|
||||
case "user_website":
|
||||
session.UserWebsite = req.Message
|
||||
case "logo_url":
|
||||
session.LogoUrl = req.Message
|
||||
case "social_media":
|
||||
session.SocialMedia = req.Message
|
||||
case "user_address":
|
||||
@@ -166,6 +169,7 @@ func LandingGetSession(c *fiber.Ctx) error {
|
||||
"user_website": session.UserWebsite,
|
||||
"user_address": session.UserAddress,
|
||||
"social_media": session.SocialMedia,
|
||||
"logo_url": session.LogoUrl,
|
||||
"vcard_included": session.VcardIncluded,
|
||||
}
|
||||
// Solo exponer el HTML si la sesión está generada (preview con marca de agua siempre)
|
||||
|
||||
Reference in New Issue
Block a user