feat(mpuniapp): 完善微官网访客在线提交商务预约与需求功能

这个提交包含在:
wikiboss
2026-09-21 15:24:00 +08:00
父节点 99b73bb309
当前提交 ad9df7a7a4
共有 3 个文件被更改,包括 346 次插入 和 238 次删除

查看文件

@@ -77,7 +77,22 @@ export type OmniMessageKey =
| 'portal.google_cal'
| 'portal.outlook_cal'
| 'portal.ics_download'
| 'portal.copied_meeting_link';
| 'portal.copied_meeting_link'
| 'portal.appointment_form_title'
| 'portal.appointment_form_desc'
| 'portal.appointment_name'
| 'portal.appointment_contact'
| 'portal.appointment_company'
| 'portal.appointment_time'
| 'portal.appointment_time_video'
| 'portal.appointment_time_offline'
| 'portal.appointment_time_call'
| 'portal.appointment_notes'
| 'portal.appointment_notes_placeholder'
| 'portal.appointment_submit'
| 'portal.appointment_submitting'
| 'portal.appointment_success_tip'
| 'portal.appointment_fill_required';
export interface OmniLocaleConfig {
code: OmniLocale;
@@ -145,11 +160,26 @@ export const omniLocales: Record<OmniLocale, OmniLocaleConfig> = {
'portal.collected': '已收入大厅',
'portal.appointment': '商务预约',
'portal.appointment_desc': '预约 30 分钟跨国视频会谈或展会现场洽谈',
'portal.book_now': '立即排期',
'portal.book_now': '立即预约',
'portal.google_cal': 'Google 日历',
'portal.outlook_cal': 'Outlook 日历',
'portal.ics_download': '下载日历文件 (ICS)',
'portal.copied_meeting_link': '已复制预约日历链接',
'portal.appointment_form_title': '预约商务洽谈',
'portal.appointment_form_desc': '提交您的会谈意向与需求,将即时通知名片主',
'portal.appointment_name': '您的姓名',
'portal.appointment_contact': '手机 / WhatsApp / 邮箱',
'portal.appointment_company': '所属公司 (选填)',
'portal.appointment_time': '期望会谈形式 / 时间',
'portal.appointment_time_video': '线上视频 (30分钟)',
'portal.appointment_time_offline': '展会现场洽谈',
'portal.appointment_time_call': '电话快速沟通',
'portal.appointment_notes': '合作需求 / 洽谈议题',
'portal.appointment_notes_placeholder': '请简要说明您的业务需求或采购意向...',
'portal.appointment_submit': '提交预约需求',
'portal.appointment_submitting': '提交中...',
'portal.appointment_success_tip': '预约已提交!名片主已收到您的需求。',
'portal.appointment_fill_required': '请填写姓名和有效联系方式',
},
},
'en-US': {
@@ -215,6 +245,21 @@ export const omniLocales: Record<OmniLocale, OmniLocaleConfig> = {
'portal.outlook_cal': 'Outlook Calendar',
'portal.ics_download': 'Download ICS File',
'portal.copied_meeting_link': 'Calendar link copied',
'portal.appointment_form_title': 'Schedule Business Meeting',
'portal.appointment_form_desc': 'Submit your meeting intent & requirements to the card owner',
'portal.appointment_name': 'Your Name',
'portal.appointment_contact': 'Phone / WhatsApp / Email',
'portal.appointment_company': 'Company (Optional)',
'portal.appointment_time': 'Preferred Format / Time',
'portal.appointment_time_video': 'Online Video (30 min)',
'portal.appointment_time_offline': 'In-Person Meeting',
'portal.appointment_time_call': 'Quick Phone Call',
'portal.appointment_notes': 'Topics & Requirements',
'portal.appointment_notes_placeholder': 'Briefly describe your project or partnership goals...',
'portal.appointment_submit': 'Submit Appointment',
'portal.appointment_submitting': 'Submitting...',
'portal.appointment_success_tip': 'Appointment submitted! The card owner will contact you shortly.',
'portal.appointment_fill_required': 'Please provide your name and contact info',
},
},
'ar-SA': {
@@ -275,11 +320,26 @@ export const omniLocales: Record<OmniLocale, OmniLocaleConfig> = {
'portal.collected': 'تم الحفظ في القاعة',
'portal.appointment': 'حجز موعد',
'portal.appointment_desc': 'احجز اجتماع فيديو عالمي لمدة 30 دقيقة أو محادثة شخصية',
'portal.book_now': 'احجز الآن',
'portal.book_now': 'احجز موعداً',
'portal.google_cal': 'تقويم Google',
'portal.outlook_cal': 'تقويم Outlook',
'portal.ics_download': 'تنزيل ملف التقويم (ICS)',
'portal.copied_meeting_link': 'تم نسخ رابط التقويم',
'portal.appointment_form_title': 'حجز موعد عمل',
'portal.appointment_form_desc': 'أرسل رغبتك ومتطلباتك إلى صاحب البطاقة مباشرة',
'portal.appointment_name': 'اسمك الكريم',
'portal.appointment_contact': 'رقم الهاتف / واتساب / البريد',
'portal.appointment_company': 'اسم الشركة (اختياري)',
'portal.appointment_time': 'طريقة / وقت الاجتماع المفضل',
'portal.appointment_time_video': 'فيديو عبر الإنترنت (30 دقيقة)',
'portal.appointment_time_offline': 'لقاء شخصي في المعرض',
'portal.appointment_time_call': 'مكالمة هاتفية سريعة',
'portal.appointment_notes': 'المتطلبات وموضوع النقاش',
'portal.appointment_notes_placeholder': 'صف بإيجاز احتياجاتك أو أهداف التعاون...',
'portal.appointment_submit': 'إرسال طلب الموعد',
'portal.appointment_submitting': 'جاري الإرسال...',
'portal.appointment_success_tip': 'تم إرسال طلبك بنجاح! سيتواصل معك صاحب البطاقة قريباً.',
'portal.appointment_fill_required': 'يرجى إدخال الاسم ومعلومات التواصل',
},
},
'es-ES': {
@@ -340,11 +400,26 @@ export const omniLocales: Record<OmniLocale, OmniLocaleConfig> = {
'portal.collected': 'Guardado en el hall',
'portal.appointment': 'Agendar Reunión',
'portal.appointment_desc': 'Reserva una reunión virtual de 30 min o charla presencial',
'portal.book_now': 'Agendar Ahora',
'portal.book_now': 'Agendar Cita',
'portal.google_cal': 'Google Calendar',
'portal.outlook_cal': 'Outlook Calendar',
'portal.ics_download': 'Descargar Archivo ICS',
'portal.copied_meeting_link': 'Enlace de calendario copiado',
'portal.appointment_form_title': 'Agendar Reunión de Negocios',
'portal.appointment_form_desc': 'Envía tus requisitos y propuesta directamente al titular de la tarjeta',
'portal.appointment_name': 'Tu Nombre',
'portal.appointment_contact': 'Teléfono / WhatsApp / Correo',
'portal.appointment_company': 'Empresa (Opcional)',
'portal.appointment_time': 'Formato / Horario Preferido',
'portal.appointment_time_video': 'Videollamada (30 min)',
'portal.appointment_time_offline': 'Reunión Presencial',
'portal.appointment_time_call': 'Llamada Rápida',
'portal.appointment_notes': 'Requisitos y Temas',
'portal.appointment_notes_placeholder': 'Describe brevemente tus necesidades o propuesta...',
'portal.appointment_submit': 'Enviar Solicitud',
'portal.appointment_submitting': 'Enviando...',
'portal.appointment_success_tip': '¡Solicitud enviada! El titular se pondrá en contacto pronto.',
'portal.appointment_fill_required': 'Por favor indica tu nombre y contacto',
},
},
'de-DE': {
@@ -405,11 +480,26 @@ export const omniLocales: Record<OmniLocale, OmniLocaleConfig> = {
'portal.collected': 'In der Halle gespeichert',
'portal.appointment': 'Termin vereinbaren',
'portal.appointment_desc': 'Buchen Sie ein 30-minütiges globales Meeting',
'portal.book_now': 'Jetzt buchen',
'portal.book_now': 'Termin anfragen',
'portal.google_cal': 'Google Kalender',
'portal.outlook_cal': 'Outlook Kalender',
'portal.ics_download': 'ICS-Datei herunterladen',
'portal.copied_meeting_link': 'Kalenderlink kopiert',
'portal.appointment_form_title': 'Geschäftstermin anfragen',
'portal.appointment_form_desc': 'Senden Sie Ihre Anforderungen direkt an den Karteninhaber',
'portal.appointment_name': 'Ihr Name',
'portal.appointment_contact': 'Telefon / WhatsApp / E-Mail',
'portal.appointment_company': 'Unternehmen (optional)',
'portal.appointment_time': 'Bevorzugtes Format / Zeit',
'portal.appointment_time_video': 'Online-Meeting (30 Min.)',
'portal.appointment_time_offline': 'Persönliches Treffen',
'portal.appointment_time_call': 'Kurzer Telefonanruf',
'portal.appointment_notes': 'Themen & Anforderungen',
'portal.appointment_notes_placeholder': 'Beschreiben Sie kurz Ihr Vorhaben oder Ihre Fragen...',
'portal.appointment_submit': 'Termin anfragen',
'portal.appointment_submitting': 'Wird gesendet...',
'portal.appointment_success_tip': 'Anfrage gesendet! Der Karteninhaber meldet sich in Kürze.',
'portal.appointment_fill_required': 'Bitte Namen und Kontaktdaten angeben',
},
},
'fr-FR': {
@@ -470,11 +560,26 @@ export const omniLocales: Record<OmniLocale, OmniLocaleConfig> = {
'portal.collected': 'Ajouté au hall',
'portal.appointment': 'Prendre Rendez-vous',
'portal.appointment_desc': 'Réservez une réunion vidéo globale de 30 minutes',
'portal.book_now': 'Réserver maintenant',
'portal.book_now': 'Prendre RDV',
'portal.google_cal': 'Google Agenda',
'portal.outlook_cal': 'Outlook Calendrier',
'portal.ics_download': 'Télécharger le fichier ICS',
'portal.copied_meeting_link': 'Lien de calendrier copié',
'portal.appointment_form_title': 'Demande de Rendez-vous',
'portal.appointment_form_desc': 'Transmettez vos besoins directement au titulaire de la carte',
'portal.appointment_name': 'Votre Nom',
'portal.appointment_contact': 'Téléphone / WhatsApp / E-mail',
'portal.appointment_company': 'Société (Facultatif)',
'portal.appointment_time': 'Format / Créneau Souhaité',
'portal.appointment_time_video': 'Visio en ligne (30 min)',
'portal.appointment_time_offline': 'Rencontre en personne',
'portal.appointment_time_call': 'Appel rapide',
'portal.appointment_notes': 'Besoins & Sujets',
'portal.appointment_notes_placeholder': 'Décrivez brièvement votre projet ou vos attentes...',
'portal.appointment_submit': 'Envoyer la demande',
'portal.appointment_submitting': 'Envoi en cours...',
'portal.appointment_success_tip': 'Demande envoyée ! Le titulaire vous contactera sous peu.',
'portal.appointment_fill_required': 'Veuillez renseigner votre nom et vos coordonnées',
},
},
'ja-JP': {
@@ -534,12 +639,27 @@ export const omniLocales: Record<OmniLocale, OmniLocaleConfig> = {
'portal.collect': 'ホールに保存',
'portal.collected': 'ホールに保存しました',
'portal.appointment': '日程を予約する',
'portal.appointment_desc': '30分間のオンライン面談または商談を予約',
'portal.book_now': '今すぐ予約',
'portal.appointment_desc': '30分間のオンライン面談または商谈を予約',
'portal.book_now': '予約・相談する',
'portal.google_cal': 'Google カレンダー',
'portal.outlook_cal': 'Outlook カレンダー',
'portal.ics_download': 'ICSファイルをダウンロード',
'portal.copied_meeting_link': 'カレンダーのリンクをコピーしました',
'portal.appointment_form_title': '商談・面談のご予約',
'portal.appointment_form_desc': 'ご相談内容やご要望を名刺所有者へ直接送信します',
'portal.appointment_name': 'お名前',
'portal.appointment_contact': '電話番号 / WhatsApp / メール',
'portal.appointment_company': '会社名・組織名(任意)',
'portal.appointment_time': 'ご希望の面談形式・時間',
'portal.appointment_time_video': 'オンライン面談(30分)',
'portal.appointment_time_offline': '対面・展示会での商談',
'portal.appointment_time_call': 'お電話でのクイック相談',
'portal.appointment_notes': 'ご相談内容・ご要望',
'portal.appointment_notes_placeholder': '事業内容やご興味のある点をご記入ください...',
'portal.appointment_submit': '予約・相談を送信',
'portal.appointment_submitting': '送信中...',
'portal.appointment_success_tip': 'ご予約を送信しました。担当者より追ってご連絡いたします。',
'portal.appointment_fill_required': 'お名前とご連絡先を入力してください',
},
},
};