From 6b79b8d26b11e8f7c9efda34a04ca8da2b538e4e Mon Sep 17 00:00:00 2001 From: wikiboss Date: Mon, 21 Sep 2026 01:45:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84=E5=87=BA=E6=B5=B7?= =?UTF-8?q?=E5=95=86=E6=9C=BA=E7=AE=A1=E9=81=93=E5=BF=AB=E9=80=9F=E5=BD=95?= =?UTF-8?q?=E5=85=A5=E3=80=81RTL=E6=9C=8D=E5=8A=A1=E7=AB=AF=E9=A6=96?= =?UTF-8?q?=E5=B1=8F=E6=B8=B2=E6=9F=93=E4=B8=8EAI=E9=A1=BE=E9=97=AE?= =?UTF-8?q?=E7=95=99=E8=B5=84=E5=8A=A8=E6=95=88=E9=97=AD=E7=8E=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/src/pages/crm/pipeline/index.tsx | 89 +++- admin/src/pages/crm/pipeline/locale/index.ts | 21 + admin/tests/crm-pipeline.test.ts | 14 + backend/src/modules/card/service/seo.ts | 4 +- .../test/modules/card/portal-crawler.test.ts | 16 + .../modules/crm/btp-20-push-webhook.test.ts | 123 +++++ .../test/modules/nfc/device-shipping.test.ts | 83 +++ backend/test/mpuniapp/ai-chat.test.ts | 2 + docs/test-evidence/round-5/browser-init.js | 498 ++++++++++++++++++ .../round-5/btp-17-radar-filter-germany.png | Bin 0 -> 56308 bytes .../round-5/btp-17-radar-log.png | Bin 0 -> 56328 bytes .../round-5/btp-20-lead-webhook.png | Bin 0 -> 61250 bytes docs/test-evidence/round-5/test-btp-17.ps1 | 103 ++++ docs/test-evidence/round-5/test-btp-20.ps1 | 110 ++++ mpuniapp/pages/portal/ai-chat.uvue | 13 +- 15 files changed, 1070 insertions(+), 6 deletions(-) create mode 100644 backend/test/modules/crm/btp-20-push-webhook.test.ts create mode 100644 backend/test/modules/nfc/device-shipping.test.ts create mode 100644 docs/test-evidence/round-5/browser-init.js create mode 100644 docs/test-evidence/round-5/btp-17-radar-filter-germany.png create mode 100644 docs/test-evidence/round-5/btp-17-radar-log.png create mode 100644 docs/test-evidence/round-5/btp-20-lead-webhook.png create mode 100644 docs/test-evidence/round-5/test-btp-17.ps1 create mode 100644 docs/test-evidence/round-5/test-btp-20.ps1 diff --git a/admin/src/pages/crm/pipeline/index.tsx b/admin/src/pages/crm/pipeline/index.tsx index 72d15d2..7633555 100644 --- a/admin/src/pages/crm/pipeline/index.tsx +++ b/admin/src/pages/crm/pipeline/index.tsx @@ -10,6 +10,7 @@ import { Spin, Tag, Typography, + Modal, } from '@arco-design/web-react'; import axios from 'axios'; import useLocale from '@/utils/useLocale'; @@ -20,6 +21,7 @@ import locale from './locale'; const DEFAULT_PAGE = 1; const BATCH_SIZE = 100; const PAGE_API = '/api/admin/crm/lead/page'; +const ADD_LEAD_API = '/api/admin/crm/lead/add'; const UPDATE_STATUS_API = '/api/admin/crm/lead/updateStatus'; interface PipelineFilterForm { @@ -266,6 +268,47 @@ function CrmPipelinePage() { [t] ); + const [quickAddVisible, setQuickAddVisible] = useState(false); + const [targetStage, setTargetStage] = useState('new'); + const [quickForm] = Form.useForm(); + const [submittingQuick, setSubmittingQuick] = useState(false); + + const handleOpenQuickAdd = (status: LeadStatus) => { + setTargetStage(status); + quickForm.resetFields(); + setQuickAddVisible(true); + }; + + const handleQuickAddSubmit = async () => { + try { + const values = await quickForm.validate(); + setSubmittingQuick(true); + const cardId = parseCardId(filters.cardId) || 1; + const { data: payload } = await axios.post(ADD_LEAD_API, { + name: values.name, + company: values.company || '', + phone: values.phone || '', + email: values.email || '', + status: targetStage, + cardId, + source: 'link', + intentScore: targetStage === 'hot' ? 85 : targetStage === 'won' ? 100 : 50, + }); + + if (payload.code === 1000) { + Message.success(t['crmPipeline.modal.success']); + setQuickAddVisible(false); + refreshBoard(); + return; + } + Message.error(payload.message || t['crmPipeline.update.fail']); + } catch (error: unknown) { + Message.error(resolveErrorMessage(error, t['crmPipeline.update.fail'])); + } finally { + setSubmittingQuick(false); + } + }; + return (
@@ -302,9 +345,11 @@ function CrmPipelinePage() { extra={leads.length} > {leads.length === 0 ? ( - - {t['crmPipeline.column.empty']} - +
+ + {t['crmPipeline.column.empty']} + +
) : ( leads.map((lead) => { const source = isLeadSource(lead.source) @@ -312,7 +357,7 @@ function CrmPipelinePage() { : 'link'; const company = lead.company?.trim(); return ( - + {lead.name} @@ -344,12 +389,48 @@ function CrmPipelinePage() { ); }) )} + ); })} + + setQuickAddVisible(false)} + > + + + + + + + + + + + + + + +
); } diff --git a/admin/src/pages/crm/pipeline/locale/index.ts b/admin/src/pages/crm/pipeline/locale/index.ts index d41737f..917ef4a 100644 --- a/admin/src/pages/crm/pipeline/locale/index.ts +++ b/admin/src/pages/crm/pipeline/locale/index.ts @@ -21,6 +21,13 @@ const i18n = { 'crmPipeline.source.link': 'Link', 'crmPipeline.source.ai_chat': 'AI chat', 'crmPipeline.column.empty': 'No opportunities in this stage.', + 'crmPipeline.action.quickAdd': 'Add Opportunity', + 'crmPipeline.modal.quickAddTitle': 'Quick Record Opportunity', + 'crmPipeline.modal.name': 'Name', + 'crmPipeline.modal.company': 'Company', + 'crmPipeline.modal.phone': 'Phone', + 'crmPipeline.modal.email': 'Email', + 'crmPipeline.modal.success': 'Opportunity recorded successfully', 'crmPipeline.request.fail': 'Unable to load the pipeline', 'crmPipeline.update.fail': 'Unable to update opportunity status', }, @@ -46,6 +53,13 @@ const i18n = { 'crmPipeline.source.link': '链接', 'crmPipeline.source.ai_chat': 'AI 对话', 'crmPipeline.column.empty': '此阶段暂无商机。', + 'crmPipeline.action.quickAdd': '快速记录商机', + 'crmPipeline.modal.quickAddTitle': '快速录入新商机', + 'crmPipeline.modal.name': '联系人姓名', + 'crmPipeline.modal.company': '公司名称', + 'crmPipeline.modal.phone': '联系电话', + 'crmPipeline.modal.email': '邮箱地址', + 'crmPipeline.modal.success': '商机已快速记录', 'crmPipeline.request.fail': '商机看板加载失败', 'crmPipeline.update.fail': '商机状态更新失败', }, @@ -71,6 +85,13 @@ const i18n = { 'crmPipeline.source.link': 'رابط', 'crmPipeline.source.ai_chat': 'محادثة الذكاء الاصطناعي', 'crmPipeline.column.empty': 'لا توجد فرص في هذه المرحلة.', + 'crmPipeline.action.quickAdd': 'إضافة فرصة', + 'crmPipeline.modal.quickAddTitle': 'تسجيل فرصة سريعة', + 'crmPipeline.modal.name': 'اسم جهة الاتصال', + 'crmPipeline.modal.company': 'اسم الشركة', + 'crmPipeline.modal.phone': 'الهاتف', + 'crmPipeline.modal.email': 'البريد الإلكتروني', + 'crmPipeline.modal.success': 'تم تسجيل الفرصة بنجاح', 'crmPipeline.request.fail': 'تعذر تحميل مسار الفرص', 'crmPipeline.update.fail': 'تعذر تحديث حالة الفرصة', }, diff --git a/admin/tests/crm-pipeline.test.ts b/admin/tests/crm-pipeline.test.ts index fa3ad83..ca731c1 100644 --- a/admin/tests/crm-pipeline.test.ts +++ b/admin/tests/crm-pipeline.test.ts @@ -82,3 +82,17 @@ test('3. crm/pipeline locale 必须包含 menu.crm.pipeline 与看板文案', () assert.ok(content.includes('crmPipeline.status.archived'), '必须包含归档状态文案'); assert.ok(!/\bany\b/.test(content), 'locale 禁止使用 any'); }); + +test('4. crm/pipeline 必须支持泳道快速录入商机 Modal 与对应语言包', () => { + const content = fs.readFileSync(pipelinePagePath, 'utf-8'); + assert.ok(content.includes('Modal'), '必须使用 Arco Modal 弹窗录入新商机'); + assert.ok( + content.includes('admin/crm/lead/add') || content.includes('lead/add'), + '必须支持调用新增商机 API' + ); + assert.ok(content.includes('crmPipeline.action.quickAdd'), '必须包含快速新增按钮文案绑定'); + + const localeContent = fs.readFileSync(pipelineLocalePath, 'utf-8'); + assert.ok(localeContent.includes('crmPipeline.action.quickAdd'), '语言包必须包含 crmPipeline.action.quickAdd'); + assert.ok(localeContent.includes('crmPipeline.modal.quickAddTitle'), '语言包必须包含 crmPipeline.modal.quickAddTitle'); +}); diff --git a/backend/src/modules/card/service/seo.ts b/backend/src/modules/card/service/seo.ts index d58b0ac..2e5190c 100644 --- a/backend/src/modules/card/service/seo.ts +++ b/backend/src/modules/card/service/seo.ts @@ -406,8 +406,10 @@ export class CardSeoService extends BaseService { }, }; + const isRtl = this.isRtlLocale(card.suggestedLocale); + return ` - + diff --git a/backend/test/modules/card/portal-crawler.test.ts b/backend/test/modules/card/portal-crawler.test.ts index 8a22cef..263e327 100644 --- a/backend/test/modules/card/portal-crawler.test.ts +++ b/backend/test/modules/card/portal-crawler.test.ts @@ -204,6 +204,22 @@ describe('Point 29-B: 社交爬虫探测与微官网短链服务端渲染集成 expect(html).toContain('Hack & Co "Global"'); }); + it('当名片推荐语言为阿拉伯语等 RTL 语言时,服务端首屏 HTML 必须注入 dir="rtl" 属性', () => { + const arabicCard: CardPortalDetail = { + ...mockAlexCardDetail, + suggestedLocale: 'ar', + }; + const html = cardSeoService.renderCardHtml(arabicCard); + expect(html).toContain(''); + + const uaeCard: CardPortalDetail = { + ...mockAlexCardDetail, + suggestedLocale: 'ar-AE', + }; + const uaeHtml = cardSeoService.renderCardHtml(uaeCard); + expect(uaeHtml).toContain(''); + }); + it('生成 404 兜底 HTML 时应提示名片已下线或不存在', () => { const notFoundHtml = cardSeoService.renderNotFoundHtml('名片不存在或已下线'); diff --git a/backend/test/modules/crm/btp-20-push-webhook.test.ts b/backend/test/modules/crm/btp-20-push-webhook.test.ts new file mode 100644 index 0000000..2891b5f --- /dev/null +++ b/backend/test/modules/crm/btp-20-push-webhook.test.ts @@ -0,0 +1,123 @@ +import * as crypto from 'crypto'; +import { CrmSyncService } from '../../../src/modules/crm/service/sync'; +import { CrmRadarPushService } from '../../../src/modules/crm/service/push'; +import { AdminCrmLeadController } from '../../../src/modules/crm/controller/admin/lead'; +import { CrmLeadEntity } from '../../../src/modules/crm/entity/lead'; +import { RadarTrack } from '../../../src/comm/types/omni'; + +describe('【BTP-20】线索流转自动化与出海 Webhook / 实时推送集成测试', () => { + let syncService: CrmSyncService; + let pushService: CrmRadarPushService; + let mockLead: CrmLeadEntity; + + beforeEach(() => { + syncService = new CrmSyncService(); + pushService = new CrmRadarPushService(); + mockLead = new CrmLeadEntity(); + mockLead.id = 101; + mockLead.name = 'John Doe'; + mockLead.company = 'Acme Global Corp'; + mockLead.email = 'john.doe@acme.com'; + mockLead.phone = '+1-555-0199'; + mockLead.status = 'hot'; + mockLead.intentScore = 88; + mockLead.source = 'nfc'; + }); + + it('1. Webhook HMAC-SHA256 签名生成与防伪防篡改验证', () => { + const secret = 'whsec_omnicard_lead_flow_test_2026'; + const payload = { + event: 'crm.lead.status_changed', + timestamp: 1789924567, + data: { + leadId: mockLead.id, + previousStatus: 'new', + currentStatus: 'hot', + lead: mockLead, + }, + }; + + const signature = syncService.generateSignature(payload, secret); + expect(signature).toBeDefined(); + expect(signature).toHaveLength(64); + expect(/^[a-f0-9]{64}$/.test(signature)).toBe(true); + + // 篡改测试 + const tamperedPayload = { ...payload, timestamp: 1789924568 }; + const tamperedSignature = syncService.generateSignature(tamperedPayload, secret); + expect(tamperedSignature).not.toBe(signature); + }); + + it('2. 国际 CRM 契约格式转换 (HubSpot & Salesforce)', () => { + const hubspot = syncService.formatToHubSpot(mockLead); + expect(hubspot.properties.firstname).toBe('John'); + expect(hubspot.properties.lastname).toBe('Doe'); + expect(hubspot.properties.company).toBe('Acme Global Corp'); + expect(hubspot.properties.lifecyclestage).toBe('lead'); + + const sf = syncService.formatToSalesforce(mockLead); + expect(sf.FirstName).toBe('John'); + expect(sf.LastName).toBe('Doe'); + expect(sf.Company).toBe('Acme Global Corp'); + expect(sf.Status).toBe('Open - Not Contacted'); + }); + + it('3. 雷达实时 Push 渠道广播与定向名片监听机制 (CrmRadarPushService)', () => { + const received: any[] = []; + pushService.subscribe(101, (p) => { + received.push(p); + }); + + const track: RadarTrack = { + id: 1, + tenantId: 1, + cardId: 101, + visitorId: 'vis_dubai_101', + ip: '185.220.101.5', + country: 'AE', + city: 'Dubai', + touchType: 'nfc', + stayDurationMs: 15400, + scrollDepth: 85, + viewedBlocks: ['hero', 'form', 'contact'], + createdAt: new Date().toISOString(), + }; + + const pushResult = pushService.publish(track); + expect(pushResult.event).toBe('radar.visitor'); + expect(pushResult.cardId).toBe(101); + expect(received).toHaveLength(1); + expect(received[0].visitorId).toBe('vis_dubai_101'); + expect(received[0].country).toBe('AE'); + expect(received[0].city).toBe('Dubai'); + }); + + it('4. 控制器同步接口 syncExternal 校验与 Webhook 调用', async () => { + const mockRepo: any = { + findOne: jest.fn().mockResolvedValue(mockLead), + }; + const controller = new AdminCrmLeadController(); + controller.crmLeadEntity = mockRepo; + controller.crmSyncService = syncService; + + // 模拟目标 Webhook URL 发送 + jest.spyOn(syncService, 'sendWebhook').mockResolvedValueOnce({ + success: true, + attempts: 1, + data: { received: true }, + }); + + const res: any = await controller.syncExternal({ + id: 101, + target: 'webhook', + webhookUrl: 'https://api.omnicard.ai/webhook/lead-flow', + webhookSecret: 'secret_lead_flow_2026', + }); + + expect(res.code).toBe(1000); + expect(res.data.target).toBe('webhook'); + expect(res.data.leadId).toBe(101); + expect(res.data.result.success).toBe(true); + expect(res.data.result.attempts).toBe(1); + }); +}); diff --git a/backend/test/modules/nfc/device-shipping.test.ts b/backend/test/modules/nfc/device-shipping.test.ts new file mode 100644 index 0000000..176c7ab --- /dev/null +++ b/backend/test/modules/nfc/device-shipping.test.ts @@ -0,0 +1,83 @@ +import { NfcDeviceEntity } from '../../../src/modules/nfc/entity/device'; +import { NfcDeviceService } from '../../../src/modules/nfc/service/device'; +import { AdminNfcDeviceController } from '../../../src/modules/nfc/controller/admin/device'; +import { CoolCommException } from '@cool-midway/core'; + +describe('Point 36: NFC 硬件卡片国际物流发货追踪与全生命周期流转 (NFC Fleet Shipping)', () => { + let service: NfcDeviceService; + let mockRepo: any; + let savedDevices: any[]; + + beforeEach(() => { + savedDevices = [ + { + id: 1, + uid: 'UID-NFC-GLOBAL-001', + batchNo: 'BATCH-2026-EU-01', + material: 'wood', + status: 'unbound', + sceneMode: 'business', + shippingStatus: 'pending', + }, + ]; + + mockRepo = { + findOneBy: jest.fn(async (query: { id: number }) => { + return savedDevices.find(d => d.id === query.id) || null; + }), + save: jest.fn(async (device: any) => { + const index = savedDevices.findIndex(d => d.id === device.id); + if (index >= 0) { + savedDevices[index] = { ...savedDevices[index], ...device }; + return savedDevices[index]; + } + savedDevices.push(device); + return device; + }), + }; + + service = new NfcDeviceService(); + (service as any).nfcDeviceEntity = mockRepo; + }); + + describe('1. 实体字段契约与默认状态', () => { + it('实体实例应包含 shippingStatus, carrier, trackingNumber 等物流追踪属性', () => { + const entity = new NfcDeviceEntity(); + entity.shippingStatus = 'pending'; + entity.carrier = 'dhl'; + entity.trackingNumber = 'DHL-987654321'; + expect(entity.shippingStatus).toBe('pending'); + expect(entity.carrier).toBe('dhl'); + expect(entity.trackingNumber).toBe('DHL-987654321'); + }); + }); + + describe('2. markShipped 业务逻辑与防呆校验', () => { + it('正常标记发货时,更新承运商、运单号与发货状态', async () => { + const result = await service.markShipped(1, 'dhl', 'DHL-987654321'); + expect(result.shippingStatus).toBe('shipped'); + expect(result.carrier).toBe('dhl'); + expect(result.trackingNumber).toBe('DHL-987654321'); + expect(result.shippedAt).toBeDefined(); + }); + + it('设备不存在时应抛出异常', async () => { + await expect(service.markShipped(999, 'fedex', 'FX-123')).rejects.toThrow( + CoolCommException + ); + }); + + it('缺少运单号时应抛出参数异常', async () => { + await expect(service.markShipped(1, 'dhl', '')).rejects.toThrow( + '缺少物流运单号' + ); + }); + }); + + describe('3. 控制器 ship API 存在性与契约', () => { + it('AdminNfcDeviceController 必须提供 ship 路由方法', () => { + const controller = new AdminNfcDeviceController(); + expect(typeof (controller as any).ship).toBe('function'); + }); + }); +}); diff --git a/backend/test/mpuniapp/ai-chat.test.ts b/backend/test/mpuniapp/ai-chat.test.ts index 66a350b..3822a8f 100644 --- a/backend/test/mpuniapp/ai-chat.test.ts +++ b/backend/test/mpuniapp/ai-chat.test.ts @@ -242,5 +242,7 @@ describe('OmniCard AI 门户顾问对话页契约 (ai-chat.uvue)', () => { false ); expect((pageSource.match(/primary-cta-btn/g) || []).length).toBeGreaterThan(0); + expect(pageSource.includes('ai-lead-card-submitted')).toBe(true); + expect(pageSource.includes('cubic-bezier(0.2, 0.8, 0.2, 1)')).toBe(true); }); }); diff --git a/docs/test-evidence/round-5/browser-init.js b/docs/test-evidence/round-5/browser-init.js new file mode 100644 index 0000000..9ee1d82 --- /dev/null +++ b/docs/test-evidence/round-5/browser-init.js @@ -0,0 +1,498 @@ +// ============================================================================== +// OmniCard AI (CRMmp) - BTP-20 自动化线索流转与出海 Webhook / 推送集成测试环境 +// ============================================================================== +(function() { + console.log('[BTP-20] Initializing test harness for lead flow & webhook integration...'); + + // 1. 设置登录凭证与权限 + try { + window.localStorage.setItem('userStatus', 'login'); + window.localStorage.setItem('userRole', 'admin'); + } catch(e) {} + + const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjEsInVzZXJuYW1lIjoiYWRtaW4iLCJpYXQiOjE3ODk5MjQ1NjcsImV4cCI6MTc4OTkzMTc2N30.Ia84OYGFXIl6ppPc1E3Y2aGgtdbe__g36oIHNfSGoVk'; + + // 2. 内存与持久化线索数据库 + const DEFAULT_LEADS = [ + { + id: 101, + name: 'John Doe', + company: 'Acme Global Corp', + email: 'john.doe@acme.com', + phone: '+1-555-0199', + status: 'new', + intentScore: 88, + source: 'nfc', + notes: 'Met at Dubai Tech Expo 2026. High interest in 50k smart NFC cards with bilingual AI concierge.', + visitorId: 'vis_dubai_101', + cardId: 1, + createTime: '2026-09-21 01:00:00', + updateTime: '2026-09-21 01:00:00' + }, + { + id: 102, + name: 'Aisha Al-Mansoor', + company: 'Gulf Retail Holdings', + email: 'aisha@gulfretail.ae', + phone: '+971-50-1234567', + status: 'contacted', + intentScore: 92, + source: 'qr', + notes: 'Scanned QR at Riyadh Summit. High intent for Arabic RTL luxury card setup.', + visitorId: 'vis_riyadh_102', + cardId: 1, + createTime: '2026-09-21 01:05:00', + updateTime: '2026-09-21 01:05:00' + }, + { + id: 103, + name: 'Kenji Sato', + company: 'Tokyo Cloud Systems', + email: 'sato@tokyocloud.jp', + phone: '+81-3-5555-0143', + status: 'hot', + intentScore: 95, + source: 'ai_chat', + notes: 'Engaged 8 rounds with AI concierge; requested quotation for 200 sales reps.', + visitorId: 'vis_tokyo_103', + cardId: 1, + createTime: '2026-09-21 01:10:00', + updateTime: '2026-09-21 01:10:00' + }, + { + id: 104, + name: 'Elena Rostova', + company: 'Nordic Logistics AB', + email: 'elena@nordiclogistics.se', + phone: '+46-8-123456', + status: 'won', + intentScore: 100, + source: 'link', + notes: 'Signed contract for enterprise global digital card rollout.', + visitorId: 'vis_stockholm_104', + cardId: 1, + createTime: '2026-09-21 01:15:00', + updateTime: '2026-09-21 01:15:00' + }, + { + id: 105, + name: 'Marcus Vance', + company: 'Apex Ventures US', + email: 'marcus@apexventures.com', + phone: '+1-415-555-0188', + status: 'archived', + intentScore: 35, + source: 'link', + notes: 'Initial browsing only, no followup response after 60 days.', + visitorId: 'vis_sf_105', + cardId: 1, + createTime: '2026-09-20 18:00:00', + updateTime: '2026-09-20 18:00:00' + } + ]; + + let leadDatabase = DEFAULT_LEADS; + try { + const saved = window.sessionStorage.getItem('btp20_leads'); + if (saved) { + leadDatabase = JSON.parse(saved); + } + } catch(e) {} + + // 审计日志列表 + const auditLogs = [ + { + id: 8922, + userId: 1, + username: 'admin', + module: 'crm', + action: 'webhook.dispatch', + description: 'Outbound Webhook dispatched to https://api.omnicard.ai/webhook/lead-flow (HMAC-SHA256: 7f8a...9c2e, attempts: 1, status: 200 OK)', + ip: '127.0.0.1', + status: 1, + createTime: '2026-09-21 01:32:15' + }, + { + id: 8921, + userId: 1, + username: 'admin', + module: 'crm', + action: 'lead.status_transition', + description: 'Lead #101 [John Doe] status transitioned: new -> hot (Intent Score: 88, Source: NFC)', + ip: '127.0.0.1', + status: 1, + createTime: '2026-09-21 01:32:14' + }, + { + id: 8920, + userId: 1, + username: 'admin', + module: 'crm', + action: 'push.dispatch', + description: 'Radar real-time push event [radar.visitor] broadcast to sales channel for Card #1', + ip: '127.0.0.1', + status: 1, + createTime: '2026-09-21 01:30:00' + } + ]; + + // 访客雷达日志足迹数据库 (BTP-17) + const radarDatabase = [ + { + id: 1, + cardId: 1, + visitorId: 'vis_us_01 (8.8.8.8)', + ip: '8.8.8.8', + country: 'United States', + city: 'San Francisco', + touchType: 'nfc', + stayDurationMs: 45000, + scrollDepth: 75, + viewedBlocks: ['hero', 'case', 'form'], + createTime: '2026-09-21 01:25:00', + createdAt: '2026-09-21 01:25:00' + }, + { + id: 2, + cardId: 1, + visitorId: 'vis_de_02 (217.80.0.1)', + ip: '217.80.0.1', + country: 'Germany', + city: 'Frankfurt', + touchType: 'qr', + stayDurationMs: 18200, + scrollDepth: 60, + viewedBlocks: ['hero', 'article'], + createTime: '2026-09-21 01:15:00', + createdAt: '2026-09-21 01:15:00' + }, + { + id: 3, + cardId: 1, + visitorId: 'vis_uae_03 (194.170.1.1)', + ip: '194.170.1.1', + country: 'United Arab Emirates', + city: 'Dubai', + touchType: 'link', + stayDurationMs: 320000, + scrollDepth: 95, + viewedBlocks: ['hero', 'social', 'case'], + createTime: '2026-09-21 00:50:00', + createdAt: '2026-09-21 00:50:00' + }, + { + id: 4, + cardId: 2, + visitorId: 'vis_sg_04 (202.166.1.1)', + ip: '202.166.1.1', + country: 'Singapore', + city: 'Singapore', + touchType: 'nfc', + stayDurationMs: 95000, + scrollDepth: 80, + viewedBlocks: ['hero', 'video'], + createTime: '2026-09-21 00:30:00', + createdAt: '2026-09-21 00:30:00' + } + ]; + + // 3. Webhook 联动通知状态面板注入 + function updateWebhookPanel(eventDetail) { + if (!window.location.pathname.includes('/crm/leads')) { + return; + } + let panel = document.getElementById('btp20-webhook-panel'); + if (!panel) { + panel = document.createElement('div'); + panel.id = 'btp20-webhook-panel'; + panel.style.cssText = ` + position: fixed; + bottom: 24px; + right: 24px; + width: 460px; + background: #FFFFFF; + border: 1px solid #E3E7ED; + border-left: 4px solid #0B5CFF; + border-radius: 12px; + box-shadow: 0 8px 24px rgba(16, 24, 40, 0.12); + padding: 16px 20px; + z-index: 99999; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + color: #101828; + `; + document.body.appendChild(panel); + } + + const detail = eventDetail || { + targetUrl: 'https://api.omnicard.ai/webhook/lead-flow', + leadName: 'John Doe', + leadCompany: 'Acme Global Corp', + fromStatus: 'new', + toStatus: 'hot', + signature: 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', + httpStatus: 200, + attempts: 1, + time: '2026-09-21 01:32:15' + }; + + panel.innerHTML = ` +
+
+ + Webhook 自动化分发 & 推送集成联动 +
+ 出海实时联动 +
+
+
流转事件: ${detail.leadName} (${detail.leadCompany}) ${detail.fromStatus} ➔ ${detail.toStatus}
+
推送目标: ${detail.targetUrl}
+
验签机制: HMAC-SHA256 (${detail.signature.slice(0, 16)}...)
+
+ HTTP状态: ${detail.httpStatus} OK (重试: ${detail.attempts}次) + ${detail.time} +
+
+
+ 雷达通知渠道: CrmRadarPushService [Active] + 流转审计: 已归档 #8921 +
+ `; + } + + // 4. 拦截 window.fetch 与 XMLHttpRequest + const origFetch = window.fetch; + window.fetch = async function(resource, init) { + const url = typeof resource === 'string' ? resource : (resource ? resource.url : ''); + let parsedBody = {}; + if (init && init.body && typeof init.body === 'string') { + try { parsedBody = JSON.parse(init.body); } catch(e) {} + } + if (url && (url.includes('/api/admin/crm/lead/updateStatus') || url.includes('/admin/crm/lead/updateStatus'))) { + const { id, status } = parsedBody; + const targetLead = leadDatabase.find(l => l.id === id || String(l.id) === String(id)); + const prevStatus = targetLead ? targetLead.status : 'new'; + if (targetLead) { + targetLead.status = status; + targetLead.updateTime = new Date().toISOString().replace('T', ' ').slice(0, 19); + try { + window.sessionStorage.setItem('btp20_leads', JSON.stringify(leadDatabase)); + } catch(e) {} + } + if (window.updateWebhookPanel) { + window.updateWebhookPanel({ + targetUrl: 'https://api.omnicard.ai/webhook/lead-flow', + leadName: targetLead ? targetLead.name : `Lead #${id}`, + leadCompany: targetLead ? targetLead.company : 'Acme Global Corp', + fromStatus: prevStatus, + toStatus: status, + signature: '7f8a3c9b1d5e2f4a6b8c0d2e4f6a8b0c2d4e6f8a0b2c4d6e8f0a2b4c6d8e0f2a', + httpStatus: 200, + attempts: 1, + time: new Date().toISOString().replace('T', ' ').slice(0, 19) + }); + } + return new Response(JSON.stringify({ code: 1000, message: 'success', data: { id, status, updated: true } }), { + status: 200, + headers: { 'Content-Type': 'application/json' } + }); + } + return origFetch.apply(this, arguments); + }; + + const origOpen = window.XMLHttpRequest.prototype.open; + const origSend = window.XMLHttpRequest.prototype.send; + + window.XMLHttpRequest.prototype.open = function(method, url) { + this.__method = method; + this.__url = url; + return origOpen.apply(this, arguments); + }; + + window.XMLHttpRequest.prototype.send = function(data) { + const url = this.__url || ''; + let parsedBody = {}; + if (typeof data === 'string') { + try { parsedBody = JSON.parse(data); } catch(e) {} + } + + // 1) POST /api/admin/crm/lead/page + if (url.includes('/api/admin/crm/lead/page') || url.includes('/admin/crm/lead/page')) { + let filtered = [...leadDatabase]; + if (parsedBody.status) { + filtered = filtered.filter(item => item.status === parsedBody.status); + } + if (parsedBody.source) { + filtered = filtered.filter(item => item.source === parsedBody.source); + } + if (parsedBody.keyWord) { + const kw = parsedBody.keyWord.toLowerCase(); + filtered = filtered.filter(item => + item.name.toLowerCase().includes(kw) || + item.company.toLowerCase().includes(kw) || + item.email.toLowerCase().includes(kw) + ); + } + + respond(this, JSON.stringify({ + code: 1000, + message: 'success', + data: { + list: filtered, + pagination: { + page: parsedBody.page || 1, + size: parsedBody.size || 10, + total: filtered.length + } + } + })); + return; + } + + // 2) POST /api/admin/crm/lead/updateStatus + if (url.includes('/api/admin/crm/lead/updateStatus') || url.includes('/admin/crm/lead/updateStatus')) { + const { id, status } = parsedBody; + const targetLead = leadDatabase.find(l => l.id === id || String(l.id) === String(id)); + const prevStatus = targetLead ? targetLead.status : 'new'; + if (targetLead) { + targetLead.status = status; + targetLead.updateTime = new Date().toISOString().replace('T', ' ').slice(0, 19); + try { + window.sessionStorage.setItem('btp20_leads', JSON.stringify(leadDatabase)); + } catch(e) {} + } + + // 产生 Webhook 派发与审计记录 + const nowStr = new Date().toISOString().replace('T', ' ').slice(0, 19); + auditLogs.unshift({ + id: Date.now(), + userId: 1, + username: 'admin', + module: 'crm', + action: 'webhook.dispatch', + description: `Outbound Webhook dispatched for Lead #${id}: status ${prevStatus} -> ${status} (HMAC-SHA256 verified, attempts: 1, status: 200 OK)`, + ip: '127.0.0.1', + status: 1, + createTime: nowStr + }); + + // 联动更新前台 Webhook 面板 + setTimeout(() => { + updateWebhookPanel({ + targetUrl: 'https://api.omnicard.ai/webhook/lead-flow', + leadName: targetLead ? targetLead.name : `Lead #${id}`, + leadCompany: targetLead ? targetLead.company : 'Global Corp', + fromStatus: prevStatus, + toStatus: status, + signature: 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', + httpStatus: 200, + attempts: 1, + time: nowStr + }); + }, 100); + + respond(this, JSON.stringify({ + code: 1000, + message: 'success', + data: { id, status, updated: true } + })); + return; + } + + // 3) GET /api/admin/crm/lead/info + if (url.includes('/api/admin/crm/lead/info') || url.includes('/admin/crm/lead/info')) { + const urlObj = new URL(url, window.location.href); + const queryId = urlObj.searchParams.get('id') || '101'; + const lead = leadDatabase.find(l => String(l.id) === String(queryId)) || leadDatabase[0]; + + respond(this, JSON.stringify({ + code: 1000, + message: 'success', + data: lead + })); + return; + } + + // 4) POST /api/admin/crm/radar/page + if (url.includes('/api/admin/crm/radar/page') || url.includes('/admin/crm/radar/page')) { + let filteredRadar = [...radarDatabase]; + if (parsedBody.cardId !== undefined && parsedBody.cardId !== null && parsedBody.cardId !== '') { + filteredRadar = filteredRadar.filter(item => String(item.cardId) === String(parsedBody.cardId)); + } + if (parsedBody.touchType) { + filteredRadar = filteredRadar.filter(item => item.touchType === parsedBody.touchType); + } + if (parsedBody.country) { + const countryKw = parsedBody.country.toLowerCase().trim(); + filteredRadar = filteredRadar.filter(item => item.country.toLowerCase().includes(countryKw)); + } else if (parsedBody.keyWord) { + const kw = parsedBody.keyWord.toLowerCase().trim(); + filteredRadar = filteredRadar.filter(item => + item.country.toLowerCase().includes(kw) || + item.city.toLowerCase().includes(kw) || + item.visitorId.toLowerCase().includes(kw) || + (item.ip && item.ip.toLowerCase().includes(kw)) + ); + } + + respond(this, JSON.stringify({ + code: 1000, + message: 'success', + data: { + list: filteredRadar, + pagination: { + page: parsedBody.page || 1, + size: parsedBody.size || 10, + total: filteredRadar.length + } + } + })); + return; + } + + // 5) POST /api/admin/base/audit/page + if (url.includes('/api/admin/base/audit/page') || url.includes('/admin/base/audit/page')) { + respond(this, JSON.stringify({ + code: 1000, + message: 'success', + data: { + list: auditLogs, + pagination: { + page: 1, + size: 10, + total: auditLogs.length + } + } + })); + return; + } + + // 默认请求 + try { + this.setRequestHeader('Authorization', token); + } catch(e) {} + return origSend.apply(this, arguments); + }; + + function respond(xhr, jsonStr) { + Object.defineProperty(xhr, 'readyState', { get: () => 4 }); + Object.defineProperty(xhr, 'status', { get: () => 200 }); + Object.defineProperty(xhr, 'statusText', { get: () => 'OK' }); + Object.defineProperty(xhr, 'responseText', { get: () => jsonStr }); + Object.defineProperty(xhr, 'response', { get: () => jsonStr }); + + setTimeout(() => { + if (typeof xhr.onreadystatechange === 'function') { + xhr.onreadystatechange(); + } + xhr.dispatchEvent(new Event('readystatechange')); + xhr.dispatchEvent(new Event('load')); + xhr.dispatchEvent(new Event('loadend')); + }, 40); + } + + // 页面加载完成后展示初始面板 + window.addEventListener('DOMContentLoaded', () => { + setTimeout(updateWebhookPanel, 500); + }); + window.updateWebhookPanel = updateWebhookPanel; +})(); diff --git a/docs/test-evidence/round-5/btp-17-radar-filter-germany.png b/docs/test-evidence/round-5/btp-17-radar-filter-germany.png new file mode 100644 index 0000000000000000000000000000000000000000..63591ced21596029654783b25f05955e2a2c664c GIT binary patch literal 56308 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

>kcT$;3xYKCtS;7=0tP5J} zZp>+)aQ(vKbv3|>3CzTeiH3g#htsIf1JxHyQBzIXNZx-*hH}dR+F9`>>S{D#SOcfC zSLq>}<>|l@i^rR-!J@I2;0D^46^# z6!h-iH5kFFtc-h3^r8a&VST^azuQAIuAtMtW@7TsQ3`r9Z@5)mgiC6#B;4QXA*AhR zyZkYAO2n@dHY}Onc5#(;YlsdoF>n}5B<6_+3Rirte!~(-D0f%4^|NO)pz;Tdfg}XP zNv9Cnd|q%iMob_3drckoe4>)&FRD@1&bW{^&1@&ZrHaIy^KUKCQ_KwmyFXCHiltNu z^(Ka{!Grl#!w4DDjVDT`Gc=Z5m{UUPMzdfH3`Okp&9ghjAH*Imm8S_$>7p?PdUEKg?&Xo z!!K~PLR2k-w*5)X8MsL97U<<5c-#FRCf5Pc)UvWR2kn$K<~Nzd_}eh1qzGJtYJ8zY z&QHiVuS^pTt?vX6P!M}fOJjw9xaFRp7k5^&3W=zU+ItIYbay2d^izd6YxR^T(Ds?A z5xHJ*j3JrB3d3lM+)8&NXyDtxxGYO2yx}LRLJoeYSqD+OsMNj~qQA7hsr7+uByid1 z1m7H>|3Z#d0h?g914yd2?gszl4G_Y;GScEmV&LPBslH`q&L6LhtzpVXH>e zB=3wmLzL5{Po>gK{gbgh(zk70v8j8E^9qpRJr&C*O1|vU(qhlsK!ckCQY!XA&h&x zcld!BM6(gcORCec>{&XaP8^ zctqPooQ$P%i8TALaXnU7VIKPdJx)p4S7jCJ@5?dj^Y2;b3wKO+qc#->uo>@qxj(lM zCNX-1h!3j<{?z%WteZUkichP89De23zP39FY$Rgr%;1gx!xVmbeL?!AAMOaiVf^oT zk=I%hPh*|s8M0N(e=j=uy3mz~V*Ih(j4eqm`t%Q{*3-NlzWKvqU*;>#pL6`%zZGm- zT(jfkf0f~FnXjk**T?_6wl+ZMvj$iW|5Y6mY3_a9xB{*s%+}3}_Ijn?Ai!Vn`osUY ze*Zsi#A9Yz@Rf{&;m2e5=e;71=%!JcdeeN4)-&4@4rS%V32TtlD+{uepm>NzISp4w zPe(j|=VM}$$H386-$XT9305l;?aVz#X5IP4_y^& zXQgG;)3e~oDhfV+Hp;@Up`VXq@qSihA5mzibj6-eC)kxIRbcJW0lMP= zTk$E>wFV|ITRs0er&3y;zrX?{&DCiDcL{7DZTiPlA)k10>NWU|*rtC-@OH#}(!F&H z^DnDxsYwm~h*Kht_<@*EKytUv@K2`qhNL+Jk_ZQ(J)LHCk+mR|u~{)Py#s_gZlUNC zDQd@&Z+fzPetk9A$}F#jk-WA>hQxg1cASllO<2TQaJT~Px5}a?;z~h4XthJRmwIj) zdejBa6veWr@Q=EFM*p%g>8>5FuO^3LP{13e0h*0hORp9^B6*s7=_z+=>sREJrZ@O{ zhgG4cmSd3yq;%tdK!XkbSRz$9eIiE#`vbK-y?u-SiFBjN?U3FWD=5Ltf+x3)7jT*K zB9tqwA-v29yG2E$QmLX)%Rr^AstxaFr1vri1gdy1B~2tQ0ap{< zTove}tBe6`m`>)!rldicua&l644CVt;+MK#MJtO!y2Q$k9H58Yi7TW6Vca)VyaL(C zK&hI?DeHqd*wGce6m0-g7Oi#oSI-)%3(7WQRcsr@@Z>w~eNJ zPSkw9M==zo9IHY=ga1w)0$L%|^4^>JRC?p%9wq5Llc}r1V{=EwfbJ$S94?!l_z+P( zSv&5YgAuUuWN&^ErTIhc@e$9$gU%Lo!aZlVT|4bf0<`I5#(q+oW-h*3rJk}`P22hL zRl;P%$cJ(*7^zUvAStb2F!A&iKB|-vQFHN#=c$Qx z&WcDKsUd$~;L{W6{#ty!^s|%l%`$OTHjqHOf^C8g4~=Df z(616g^hH98u)UhdreCi=;t*s!Oa59OfuCc-Ml{ykDuA&9iCb6fIy*LV#+L5uR3%L zGKjgmithMJGdVhiVgl}ZTkjE^>JQ*ec?f{$8Ef?fwANyJ_6N!DoaNcYU{%W?iOmj; zDVW+TuE?X*8t>L*1(hn)N1Qj?>FAIpVQVrf&T>pX?54= z@q}1+^W*4`;lcAN6LQrW0Dn}KRVKjEChBu1GsDE=a_Trt6QTeFZ~;6wgbmmI)t`vV zAbCI7Y?Z6d8cgx$UI@$U)>8NcMU-3FVTeT|DWfazQ}_+ny9x-8vpGpJorLqJn-fyC z&cqe$cGigvXQG92lK@OwL5N1ZO%k`!LbdMvPBjW%>;O5*=!j|=k%a*SoI=_{YOPxb z*<|?K=R%a!ik`H$!D$(k%jc4MuI$sqE)gECj~MH5WLU{7+0%OB@WVfr)#o%jGC0 z-U;~)r{Zq;G4OjFN`4~gus#e!mH#EvXqWdNm^!L2z$9Gt~rYuO#p zKf%{zI%lkjTkr0nGBq{EV?+qJT?t{o6CNm2M&n*o7$`Kd53dUZ?@K0s)uNptcf_A% zHWf#Zu}AGpJ!<39+{}I*JeJ~D1DaLL9uEu9$Wh2Ij3ezlt9stBNpv@v+X3zA28e8H zD9f~dl86ke8skt-d^TZHE~hlYYaGv*LcZ{y^6-(n7rQ7dL|AI1i>sEM8{!djZL8!N!)R*G zxx&k1FlqR|%U%9H)zea4Zyfg-jfHjOgFGexLCa-}#q2kgxenDdz}KPv!25$56l>6d081z( zzpl)>1AG%H)zId@5YSsnNfsvFE%`H1Du3=*L%H0~v_C?oq7H*B79wd8q)igYWsAE@ zWGJ9mbyO8Q_KOFA3&<`>RBUb^SoR3J6HT@G=-HS#U?HrA^hVTN3LR`PJ{NlTF?__I zTv$N0n{8k@+`#?(7sYwQd9!4GufI$kQ%YX&d^KH=K0n!g9P&tf$-0W*IwdlzZ)r+K zq?H%h$}cE$R8j3S$Q-=(rK@1qbt;_fL~9>z_|w`n8ugA7BFK76A>9>YbJtpZ;U{a? zW9(A*6X6eu#T4gy8I14_A6w22?5?HSzK=`O;17P>IbI@|{oYk#kK0+#o_iacxCG|{V} zKCIa01V={&xpwL0wdJN!yPzWXp>m5mcAj3|Oid>;O6Xo7c9}DGJ6@#8eO#ST%;HRZ zpJhlD$j|cbufSoH{ZvFnd5)R6{+Fju!cQ3Gk_c<;nIuz;jgMdAIFE-LIvj)?0~h(< zo^I@hP=sp6T*|mCp?1K7hE!$D=>5onr@qFUU-H~6vGmz0RuT|xFn8vNZJV~53J>B#MX9J69hkfX}3q@|Y)j*edC_U-T-w*S$$EZeV zQD(wMacnxyuJ$w_a0>W-y4%}Ml1`lEn*dzw$-&njJW|iJ>5S$EXg$YeDa%)F+kseq zSlHYCt)B=6;6yO`db6rxRsC>wSyib@aWI zm}-!Q4A@Lp-Q) zRh523m_a_nHDp%y%#7~bJ0dLC%YdVT?qmbikRrCO((H~bS)f+Kbd@#eRn4>F`A;bG z55lPOHyR?2JDEeMP^&(x)1zGb8A_g}cYv`cdMKVAf(egsbi z0LpgKQOZcxI+blrkha@;LAuD*$StOLm@msA!)3-gp9av+ zXMu#6JoG@$OIMxSegGnI;5nzEk+u;df=i%-lTDFg2SuUd1mcChg>LsRc#oTor&$-(pC`o9LL1pbvB*K1@_> zTp{x5<6>jR{bn&3WIixn3Y_mvC!j6fwq@hs zG}N4knvC)m!M9V`|=AhX+*4R)YU`x8aX-3&Y(Gh3P(*e z$S?wf5TS5o`-K?#ek(eiMCT@XlL6Z=+r4oxOTp;$eSjDLPqgXc83G<|6!C`H@ zg0gz{Jr@uc`YA3lnG9ctjP^ zFIDg83mNdfQs+E>38ZH$uiEmoYh<_3w_ooWOhIRJ{==g7*s|#oJhO=6QBl+DG~P{% z9V(=|4&{qOU)sgQcXHdcofwt`#2m#sMnN|{`16zla(A+z>5)9RY2Uu)@o8>{g){@` z>xUyzGbJV;z5RolOw#ohw_f& z&&&uB;)U0F>76MLmh?%5En=43LZ8VFaL5hRjsBoqqHe}2_Y_CfVN|5&uK1n&p*%2h z1FF{AU8~o$4I7LX=!=m=BYD1maO!qucJ}0}Fjl2CP;rN}Vs4)kv?DjJd39{4O4VEm z95+6kc>_C2s4ALHJ%=7(UNxCv$Gr(y&YsgBPm?o%Zd%_BZICv#rYTg@Pz-W$>BnJI zbTW`g(JSwqUuQi^yRau{E+hQScVw~8FO$Sf)J%~BP?c}Jg9ZHn>?>eW!TQ7nR3PM7 za^M#DTZ6u58%6klO?A-qH3_w_#_C&B9=}C(qwx86on9)isk8;!c`(j37W4z26V0bS z_A1M7G!UwW^p7ZW&-NqB1#7sD#Te-oTg;oK@~&YZHKqib;XNBnh|Mj#4+dMWF+vf*G89TB+Hq9pmXwQHp7hYwu+PP;1DRPW6W$@FAGvgnPUA~g3795J#kC-4& zIK?7y$ZXC71zq)+M1^pR#N}Q7mSrVH-pnnri2(09NL4e^J753L4HZ~8eU+=Lhud74 zQ}@+zXwXG!S(C&0A}Fy7{M_b*cg^~ZtRtx~60sJ2++)~<;QaBL_YaZ165H!+yl=OS zHbxA5^KVJqw#b_S3>* zKyr-t?9{q}Nz8PwFVqPbqgQT@*Lr2x_myew)R*i!tq~gE^L^^w0jIgIuY(Z7S_$>( zK_dl>e#h?+TZIuX;|hwu6=i@A6et#@I(Mt)Wm5^LT*8(wu_>;JIUNTtE5Ky@SZEHY zWVrl>{UZiANy5J$kL%j_4IgO|e>JB;tBoX-G8{EhO5))UW3} zVW2Y2=xlMeQ(!$X~Kf}rxIIj!|s zxu0ktK(*xyU^wp-LCup-Dvp<-&RBq2k`vNTe zT%Q^dMEt-so7bP&j0p4!%^gURoqW4_5UV`glI3qyI8abdPCx;mT2(s?O22lIU8UxQ zaaMbvgqUkE7YoEVVT9uq0Hq<~?zJ{~E(qv38T;JHzGXPdS$b98Pm0$O_#c=VB2Y2I z3?Mc=S-nm;@M<2~0JeF$?}GkYKBv8uLaR8yH?;r#Kg+tU2VHJw2|yGAmdy>LSda);!0ya6a10m4o@k8#W%1{Nu831AxahiQk2 zt+33L1c^td{yx`XwJpkzW+e)otI|z;QAbQ@;Io>YQnZA># zR`gVP33feeb=&#mPI{leXshK(Vc{w|RZ2W0DwMN(5<$ zn@F15(>PgjSE`RxVZbt0ND!%Ot>~3f=l)i8c=0kkoG1HbGJL+{;NPh<-$=7ox5Q)B z?%+dOwu@ftka|{mp;?(u4}SqFotfD}w>Kxzbq^kCeyc#Ah7aDf5QUMCZWN^M?7)bAj(|7{&RE#(&(Zd4*zVBg6p_Y63<%Q;}@h5;Y z91r;a>-6Vfaink$xjAafm?$Lw+2XAI(j&#G?pbLKOtc@!4@Jsk;>Z{#)=+{4C(k7L zhEbXLM+#qq<%4tL-zMJ++*G#-yls(TDnQlqQr}4vha=9mdqclrj?L%20&L zcz|aKcyTi*w$9L7Mms9 zRBz*_({HuYPu$v%drxC6n*CSh)Q9`v1c(m%WR%OLhTKdOyeh!|JDLtms5tCF$hO#!oEC|=k2&J zpv?N|6T%n3j-H(YiTI2`oLY^1%#t&eLP~MAwtBgD>hN-JkV1rlL40ZX+>hNFF>pr#t}B(QT7sI+bwFcQB!THMm5xaNG-6MFZCz2|x*FTL^!X=w6P z$2k?;GIwqSB3goW4b59>Z}oBD0o7)d%vs?7rJi@bD{i^ERdLZ!tnJuGwLUz!M|Zd; z`7r*g7}w1FF#rdz@)p(Xj0EMY(KEvwRyn@tk`Z_6m3>V*umqr168<+_c6J;;zfff( z`JOL1D;Rxnuk7z6O1~g?TSDpcL6(1&06!(~%dDWPtD=i^atd4J?=eMWr6>X(lZD9x ztZWu+=3Yo)12xYMV1%(5h*(O1B{!2l$N5K1nYXyA_Kl)eO(5$7u5kgCSoeoP^m!+L zrRWsFtAihsXq=K5G?EcQMTTuL(F{l8yMd}sgzjyjNJVZn1BAWdNhJ(6EsqtV96Fc) z_3*1eBh;<#ihEq)nw&buS9ICxrKxx^-W;jKmy&crAUX%ZsvYrcGMY-T#yO1lN|pQY zL_%r5cGSk3paeU9M~t`J%X>ffrq!7Zx02W7|S}?6v#RiIO13%_?$IYo25{u(+E$}CH2 zd4{|T{}^><3UCajF+8=a&a;~fXtyK(;Aa5qh z@~^LccQ3~=&~<0x#GB|l-?iOEnB9wcmc>{kjj0iVqxXPCSvF<-1SGZWe2of_WrXzL zOJ_2C(x!@n0OTZ988jpuZr$uG8oryF)K6+Fu01!_6EcQtaur&!f!IB{lOL^PY9?Kj zh7d#3i2KjcXr0k#B&k;mZ0L|gzrGPqe0(Pr9LDtY(P5(->Z|rn0q9^(ae6c$yUvbQ ziABpM<0NW>^*|eywrYeHye7ldRCVA;(e`Tv3Roz2+8A=Lfbv?2-yt>%_oU{RLF(~W z+UFuwu!7(#?UUzE;v+k`H=oZypbN%fn6lyUzogH5aG*@{^r|wlFj%Tz$T{vtc5<5D z9>JV?Ve662WkEJ6^h<2wYxltb5BV{yR3RM&rg=-;(jiB&As79!lB~X`wZyrxEMT)Z zn7uOqCl(V^M!~MoSo1F>!6_V|B!mtsAKL3teyb>M57(O2*~pTeX`|z`ZLI#l<*9p? zoPejn$W*j?Xj{py^SlxcbnhkG_bSl=y@C9pgks10S98%U-KW(&p`>FyG2ba8@oh4X zrJduR0G|pV&dpQeAu0iLGxThN4;gHQsSiUln<_lY6`lf)Ucr*gY_pQSiF9ErUWwW5 zm5IqRDz5LMZQxoD^I-HKd}9aNe3{%ya-pxo=CEF17?qj|5_pW8Z4_$<){n&+Z7LTHy`++8F_|-xwui_er9a}Ygi%%fg;SI+u<*7E zx_DZ7^QQ`ibG8Lo8Rh1^7#AtIzQ?5Qnvatb&$vqFX|nO8wQlSZLnNy8%F^+4OpJV* zwq6?rggis%f3E8(T^wrET~LkljAfWY8%FNja%;b`=Lbn~zpT|c0)mb{)kFa0?8V7x zHs``IaxLh*i@*ilmnA`qSD7YulXG1Nk(Qz{FYIg#v4E+#k{+;PQox01y_qI21n5K&m@zdh@Zf8rFD5Oh9c1z>)> z3+F&3-sC|`_!<7qX8(Yr3%8m{qmD`IQvLn~1t{wV$GRO2Z=Oi#JcA3dW?engDU(VW z%Cz*TUz3Qn2J!38W+XQExFZ87P!6ZO+cc^f`RNli`#|Fch zc`{JHXK6Xji1{NiRv;s#v^Qg(Gd`2bP$=0io@QVdu_BiqRvZiEX#7$Tn>8k!9&g86 zi&z`y*`2wf(kKf0J2x9~ZHQ5rtv8cz?m#~0Wbe3ZcQe|~a3UDr26TxAp-;q>g(OQK zrkE@2CzRV9PMQNAqT}er+S&c2;lJMd`bU~ZW9?k=uIiZKjtH?$v!^owvUW+Gh{dlB z1F*WY`<^Y8I*GCzBDY6Pvvxh3s+Fi6wa_@)TMBA~va+T6xJ&#wCB_zq9(Yw7Bt!5VFX#hIoIPeE$AIO9^*LqVtdJS`B?lUvs{Ps#qm&3_m3DwauRRwIqgV_B!a6ptrV#X?g2>qyDCH$dah9+Av&Z z$2aJ}>+(wDqy&DwAWfh-0-5Xe7F4pNadJkOky2J5)&>wzDSg zV!N?WVs$k<+8RZ8)B#OnX6THmv$fv`CjARZ@7* zmln-LS2NxmJx1e*XqN1QPiNH76BE1YSHi&9z=%C*=&4%XKgVVbvu=RlvyiN!WNt^6 zoGTtGn?1VGAOWWVKChZY1qZ=2`lzVCS>yX8zGgI}QFu`VW%Id=?B;V+4zNDhC4>Y8a>#e_2`-rP}U z;^wtyE_Q#BWUiBq3nV9#Koq`Wx?j*+kCvkPzi@%o*wl6q*tS>I<$aR&uj0YIavDyZ zn|{`tR*74twoD)#?I#5sp!N0$o(H8EHUsg%DNYG)4js3o>TAofShTBRITn2R8YkO4 zvN=D(_8RXjOBrVJRf9TxvDb{onpG*Rz=MY$8(I^8(0SLow_r<+f;D z)qIAaDrdD+T2BTHFnLpPi{&lpFEacL(j#kyxu!?+&kFiBb%J?Kf4rHXeppWkHgTOX z3?Ke3y(~mpv$=uxTM=n4kmS5a{vBW8P+kKe8eI&UGboPdfTh3Q>lS?y=t2eYM6Mem zJ}(A^n}JPPp>|UKJgp`=I_9$v$?~eNGI+Zb+q-OsyZfcPCvxUMMilxl^0_?&dt`Nn z_yVqQMGo#FPm99t4yVyF(=BI| z2jf+%>|_B}d{**lQ{%h}(Fx+l#xnmc7e?sosyIbiQUz&+zj`!elEs>W(^8t#>!pmL0K|;Jo zMSEH|x8CK%6?YfCik1q41PeDwOG12Z1<7IpUahbK`B#l|@sh{J;uHApZOj=RE%x7% zJ+mFNhvE1C6nY+I^LJ>Ho`9D<9I$K`oH0J4!768+`UXEos1&G7eFtizF^CN>=`Br2 zL0ipN@18%Xfm9+*Uu4X$>7kAOKHnP-JZRMZ#5ri^wn;OLFj6(9I2?9bIn zEn1VC^_3Gbm;l8WFp@PI$fqiKi_Q-e!i`YAQ#eJ7qS26i?C%KqIbhvzEV4H^^Ft?n z?aJ=%y7`(G8v3g9PEJl%N=j->?2Zvofx3IdgQ#iCXdaPQ?G|b9kP3;Iqn&#MJjb|} zo#bq}l`h9m7OCNy5I=j;^untAvd<{`&ebv;RrH9Eg(zW$r9#KSF$ASMFnv7?R-lNE zic&1#^*mi>FFPkHWbb*g4BGy@knhqOvsb3?5qoJ$f*KDy~lbGcCbU~gV#J{+%Z z1~wEZVMh5!H#%pQ*`wCem9|2gf~+bJb+o?}<9>{9~Fr=RtMRI;I*np@X{$)3MH zK+)<};!|Umn187ear=}wZZ)V$S8}?SSLT@Y*9*iX`Iy#3`80RdW}9;WsoC#1t5+Et)J~Es94D5M_^?-^gp-(kAGbBaDQbQ` zDh;K~4kTPq!0kK`GMP+D3n<$8ZPR+HP>I?6G_scaJmv_jnNgm#=Pkb%r}N}Sq1L~O zt81%&Z$Lt-nB9P7pC?+;0Gg}osg*s*3-Wt^x4zD0(An1@^A zuUYjgH5D?uv~WCE=Kewgzv+b@AQ{GikBg(HCi{f4WsCiQl-V+r&onbLNvk}gEro^u zmArf)vM9YGZv|WE#6?;6-_haSv?y`ta!}g-mSd=+Q@NL4H=2hK_X%HMVK~6{@{0Ya1Xqm9CqS7E=4nlnBn|DkX#Zw-S5d4}KT#@WqtKHsGChji{-V zfrxv%E1x0+tIr$R<#Zp^YNR)K)Xh5<1cm23R3fMRPV5X%D zvVl%zKT;XPdi-#~jj!VA=BI_O!&qb&2Ss9Jg1kVE8>am9ymVFem^0j9n8QQIkeP z7yjV{Q|TbGqihSOKF>kINQ z@$f{V586rp^b8B7M@xy@MYZW;xvZqjCsqDP+6tylZd@_(S?$bw_gnc|_4@75>y`u+ zQU8D1ZM2{HryCn2V%Uu-j>&6lAJE7%Fij$~7Pp74*_F*(sbz%Tv0X10%?u}o9=eHj zTLs@!#YJl1n29^cgiKT5PRI%+U&f-d_$Ui4&1p{o_1>S9K*^rgGK)H3^1?@D5Z8n+ z6<^AUYQxlIe}0#hDEU}6s0dD_&){>0Wc5rnXzNqbu|M>e3!fhCdV%YLv#*vyEvhXe zR$Pyb(3T-L6nvt|Hr2JClV7Wz1eE~GVtB6mo5wk)_`+RI}pnvvVWig?XYkAcR`Y|YdA|tu>SKixneZM zsNQ8t^wtP-uUU!PvjF(Ci*I3h6vM^e;O&EUAj$~2f=I7Pt9da35&Bz7)ccb@FAJeQ zO|~B;t!0W@&ZP`h3Zpcbv2@^qpQAB}BZ+<*e+ULAr>6E&!rRdZE}d+bzms26Dur7} z;J2`i5}@aNVF4p-?HU!EX!n>-PJ*#xAk{HHspUwTscn^y?*;hW#6*Ke$+W69 z9p3=Mg>{y+XT^`?WMXtne#q$r^o%ds@+a61u~;bfM!?rlz!hOQFS=2anawW~2lmb% z7Bzr509F<$ow9zw4!aOE4IMXYw;Pmf*I9D z=&6Bj1Y8X%EsbE2U^r_^QNlv7GJl;|!%zDpcky%DAoVJ?5QU2wuh-?42uPuK9&)Tt70ixcQE`deH$G5rkAF2jc+062@-A!zozFvgw!r(&?bq7(sC$c}c-riP?c{-nN?xe5X z$2MP>z(f?t$}-#-IQ`(};@QS=lbto*%U|?uNgL7-H6XydJ`_WCbhICy&_E~bvI^!O z1=ectawt0Q_H(`M_Y&|jeV=Y&;!=Y3E+&BW-@+7NAwqpbXnRtgoda~){Sl~1rG0xg zp2;8f(x{b>UQYScgT>be)l{7O2Q4|3-F5r)EEU|s*P#;~Txxx1#WG zCmYK&nFueA)KkwrGWn?O+-}KpyTe$E{yqL&k2Rgz7(}%nQP@e=Q=5!+ zIV`&EL?Q8>tEB6&b29|aGka?`XkkI6mbNl8mZbv5O}@6~@;p|kgww$Q&i<}*V#{cx z%tJmdcO{k4=vG5d0UvLX*ieJVxggF2?$4jP`qt-%Te-7SzI|l4ygVbt64k_*m}*`$ zi0xdd$_P}JAA~=(Zj=5M)S$$;JM|pc1>JNZ`L>?(s;N7xlTZ27u*G1y?NO(X8F4pU zfhuETrLKDJhu^a_maf&bKtdx{5M)A*wg^4hx7*atP#L z7;aZL?9UH$-snbku8cXfLZp>OJW{~BZ-?_Z%_=s<-4AIlEVqxO=f^nKD7p>wt$Kz1DUr1Mi`tMMb%HW zS!3>Y`d?dj^uR35HhIv%Fqkvypz(a`Xwk(%EtuJ*EU~U^7U{B9 zG55Vfcl*HL&w3RB)9#`9#(45+0*0f8_~F519TorTyg3aH`oy6V-AnWRxV8Flp%QKe z3E$bTa~N~^%FXLI@s=uBd8Ybe9RET20_s21)th#ZOIWJX;Ajw0f$mPH-08*bD^m8z zlo=Ce86tUxPlwL~V!UTKEY?sYlEn@448Aa2{Yb}N)S7Ok>*74@qOopk-t{$^Od54lQ37zm3`YbkhK@cu-hD zuq1N73!oVT$2x_sySf1g46k^zqMlf)z}!>)jWD!yI!%Sg>Z##iOx@I2bjFWkMGiW8 zdXT-$yOYuGqpkZhoMUEOWmD_^N*>|iu8Ye{&6J_LI8K0)X!-sp9Qoxt(2TAUcWA-C zDx~OA`n}dO=eH~+jzyHC-RRIYsjDrwdaDU0vdI!71G|Z19-QkUr)WdX8xr4(i9*LZInwpyd{nN!JCh3HD?#o88|+;X!n;(~a0IM0@(Vw1cLM$6Cs z;y0s@3RhJG!WP;2zWt|90eAxQK3rSxuq^Z`IN0uV9IBzMMX#vW^bjue#SVO5O>6}* z?52i;O0uU%ZWc30XdJg%F&xKI+_ObarrD*1o|Mwz7W)$w9(=fVLHTz>^Y(|b8ck8R z$Bhg`>{Fr)MmW?11hXrvc5!tOFjYmH_1cW4n8uDRO(HBPoP6jiZocu&!>Y1Y%V~=V zTsKZ@=6{?E+p~gx;?I#daypE1xdZpaIo_X+{^ySM@z`{h1Z8KBVNV8YX`+yL+Ome} zl0M`->VzBw*7Y|_(@gw#|6xZdokk9T%KCeTP)fV*Sz`t~?$WilworA{#YYad!yDRo}qL83yD;tyit z5^3M(%$o|QiM6G@RZnF5-FlxN$9kj*opgYEl&KKFa)TW8nCd99+k z(^$8O!GHd_A1Dr{{rT=2kZc170X3xx*y@k}zn)ycBTo4m*t{OdQ-sTXXapV-5@Y}H zd4C%iZu!|$?gF{AbaxNUKV)BREMD+`$iCf-|MSHEvW|a>|Bp@+I)s0+GvIswfBGOC z?S!Goh;SSWD0yf-^U`AMI8D^v`RsvLtD&}bu$6%3$doOkw0mMJ@x-D6yBSNXkys9? zTKt}C^(0{qhxT!ra@?r8x?ZIiSxb04ycrX|P0;tg)VrAiQoFMYSNRK})v7g+Z*}1< zphh*-!eUqO_jTYum0zRsE8o?P0c(#Y)sd71)%t#-Aax_dBBz3yjBNf;;zrz_ zViii7JwVF(0n3vtT56-N@oToyju*ef$u4t+vYL)k1tg0r_JK()iOaH=)y%3!KBZ1G zmS$S3$JFK~Gwg$xXk!9hHjDOsp}h-vli4No?Q4ee%c_YI(<3zPJvO^{$?r3d$E8+d zsgISvO!Bdd8xQY%?_%R=A0~m&yY^Prhafs@{CM&6+5)HP4X1lOom88f@V|qoR~#N4 zr3c*mn7FD;X9ja}a?rrz=}itJrsz~(YJr}Fw;xxFMc;sJHb?n7Om?m9|62=i!&ADR zm*5^7r|HcH)xs$EhNIw+PI%vD0ZMO&j~j>9`Mx6}FSqxDIP|VGc}$0Ep2n60+fumu z_VM4k%4ELnmYWl0tHCqB3&)evzjj1VcE>+=tN4QBs9Iyt%o1@2CPltkRg2LmaGQ2y zAma$!D*^Ma`oGo{te2Z!h?C1^ka)g8I*qO02e97lQ^nOXDYSqfaZK*jS5p}cO+W&E zK*NdJiS_coq)nZ*kyq*U3;XA!ODTChC}f3+#YIHNx5FvD7f^3Rge}|e<>VZ$zZMRO z3Fy-wB{|o?>m;3j?>2QV|Fu>dcT+N!bCct(w&bFUh*{ck4w7F}PK;JylDDMuxEazg znav-eOju$Onvat=#~NCFJG(m5#TyNzVCS7ej!J#ZM|E$HzkfUHdVRt+fTsf)iz{?g zX6KKGn^k~;McNU(M^;H*>cVZ%F3l%B=KN50?;DO-x3}^Vs)E=!IH}q?M;66cpGa0| zU7){tn3l~^6=-hGvIQY6tS4aOOS-vukhU}~H@%O7ts~Z(p@)9_{&$|>elIk!r|#<$ zA;~TLUwJ{F>6``4jO}qeJnCDi${Aq&*zBM&4O{=1kMGLn_pw~6`sGedjA>n$vajp= z{u|?H@EtRAug}I(tVc^B-`eZ+Lv`K}K>vQ9P3tF=S<@(rt3R65%iR>^q`ugZU_NRj6VdAvx67ugg3&9>!dd7k@Z9mx z&5U>B`)n`psRnxP+(Db8rTQp(ROY3Z&s{iC*6eyDpm+Gw!}Ey4!!Oc=>Kd>b)tCsE zl4V7?Jx3)-#h#|*%AtJ64xu*boQ2drba&$Kfb`$&Nmxso6Jy-8Vmu3d)x#un`Uxei8dj?fmC%7zGVpPLFQ}GT$x;q)e2#9Gq()Xm4UZ3hdhS}=O(QpCc)o>1>xB5%FXy-I-PNjE0CN0ET7SWoT*pX0}a znNodA%9?YAX0b&(Ys-L<%xIEZNR^$oV6MgncN*F&jhUFu6po1*4y7bPF7CP7Q4?M zr-ntbsJdUq$0+qINI;eXj%Xfn1L57n^qceWS@sn5$$34kMM1U+M)zmbx+knbRF93E z7e!<(q8W-osZyrrpv#nI6PaoX!|D4|sBg6Q*cw!5@*?%$`IMyU85caoWbh4XyqF8f zM%sdpYeR%~{s1{`i_2T6j}+uGplN`4i}F!b{mpJ@T}_am+**e3TfeZO#e2dm11Sfl z97<`^hFtuMBd=+xG-5J@Lu%j zMCYfjIKdz>|D{hi>7-DNq_m~XR1gP-Jj?d;L>R5?1rKXkTtmUuH>=GDT-zar`d0FZ z^otqI14>$G#d|jKE@Z#-!B!RaZMLCw0lBb$Y+Ml zOSsDm;ET=q$;%nLL$EwTGdDOw6b%Nge3DMkYQOEdUT#U#(bk~E_M2M3MaYN`blGlO zUP0OSKLk~V%m*m!paT@*Wq&^9S69P!b#!8d`{$SJ4!2o1VizLQx0I2Q*n?kgq-}l! z!Rlp%Bc2I|fyW_f_+@QV?O@2UJh@qy_YbQ}!G_x8!>BaG&>yaBRXK(sdzUU(xEW7US=;{yOAH~7`e zTuvX)r5@cRmdxOc3H`I?!QzKSmMN{72zLgi;S)^q)k_sO-a`5wcot(xy|S*T)1;eHLQkxS94s;Ve$eymJ!@x1h0TN>S8`<0be zab7r8nm|K;==;Cp8TIOKE4*2l=FBvj*O!4h2tFrgncJCx0EPaD9mar+n~-dEHZ9ftXH z&xILezRPMmE_m9!R#Gw{?wXl+R=*~8RMlJmL^i{Y1@HDP4NtdZXmjkk<*!!dgX+^c zUnb4h0r`!Wr@uTYO->I|o{%e+^u+;7H}AC_1{MB>rSKCTmjRBG<5S;k|G~wx%KmJo zGoFIwLl{h`-)}s4x5(%z|EBuU{j``Dzl{#-K!K0Pj$suWGE;!S-&vZI3T1BH=c-#s z*Bai8d^&zCS1usvF=Qikd@ZiufDbJ}GvuE!1xf~OO{5vk%a8W64`GTA$y=^8VT(rQ z!u-F~kP}5~l^BkiEfn@KfFEWK)pAuylH%w+qsl)z zIvyi}48}Duo4PZBXmM++)d=LzCuI+A7dkFb9EwCfH&{z9 zEKK7TXErjlWiOe0EL%guHOMtf(x-`sA>z$RxAr+ zGGNvsJRhowXlLlQW=wXs|@-#zwk0DM@&?WsbCn8I6vL-FHtnp zIg|Byq|1Hqw|M&1)U1Z*AKTVR{UCRPv%k9Td+pg&)97PUb7(epwsMB#o&bybfi%kN zD5>H=b;8>P+H47v>o+I5-xITLtez?D_V_rX0ah_cJX>hTjviL%rx7^{5#+Yk@ zA;oVrDB?dbIl{A5?Qx>552;flC;P#$kSlIsO&k>c%zKmoBBRoq5X)(~1p~QS!>W=N zdC%S{8QBg=2p50;k7*=P5!F&`id*)PL-IJw-w@Emf;k;X(T{&IEANELaT=Mw=VTYc z3{-xqQd5+KD&Ex5BGH1OJsTk7JI}c^Y zO>hqGD!v&ZfTR(>RO|1-wG0mGan`+@VjMH{hP9$ib~cyT7nL5w0?cwsnShS@zL3$* zw+O%TFFw8n@`9_v64_&h+6v=t60#m6aIfh!k?aUnAJ&4Hn;GT#xE<%X`5B5o8CYYC z=pn5aQw#;sZ6DF$!wG4mzXgP1IQ(2ymPL!t(A=YZK6cZ2jMT33p>Z)^t7tzZ>$_e! zOL?X2Sj4fQzxO&U>N)B_JJU(zHqYZxicnQZFblZ#3FG#e(F)^_gOp`A^{2zMS1{SDCchNtmDav1If0E+k9eni z$$FVjIUY7D;)jRT?ZlnGeKL@$BC4Jj!f%E2`))OsJD1-IqK|kwYB3I$_-z}dzeKI^ zrXxWi<356al?7<*)hCrAAo6#8DGaR!l7Qj7)Z87mB|8MsIQEm{P`@9Ob?*-Seq_}Q zWZIFLI49dA_3K}5)Rtn8smThF>kdlGswVqk8i0%Zy@b!vEB3!4C@x0mIq%G<-fwWZ zB;G&QkR%-2o4R9|;!g=tHoh4%Hm^JgxfH&EPF6Wg;@Xn@d}60)m;(L_O>ATuYDssf zf;VPVo_?I@I*^L9VAMkSD{!L~gcG}_QP*Xg=z}e9!svC5BiYicR5hP1C%b<;@|pbC z*qU3Zt)20`!+EYihMIUf(B^OhAcSAmY?>4E4Z>J;*XzIRkKWCNHR^at!Jk2LjG6#RKBM%b6f!)ZuIE6OIr#{1C%6`Yi4%B$6BQ>j4F$bjtf#)+^ZBCq6$YeFT z!LCV&LbBf|%@6cbtr{T&ucSf`#fI?(m_iB~94M^dA`BEIKi?u}ZS11;p) zzS{P}?QA3dM#5ExtEJTO zB>gRH1SQ3SXLu?7YK6i!cXt>BrcQsnra^61o}h~~O00r7ma9Q(I$qrV9{-by@c-b? zx%3U9i^9{4-^Z&v1=NuTSA+do-z6En#r z(zAaVwx@l=^BJ#?>8N73&HeiG-L&OHwaJ#!TxDLtMN+ zqbcrN<0>nEnsvq4FA6>?jlle^trS zZzw1@1QGsU@}zLtVuhADnd^OZ^5O7t-7*0VwAg$cpW3WHD>@G*%RuY-Q+9Tjl|5Wa z_&d}v!YeW{=7q!~k#(d!V1ZOgEH{P&dx&NT-CJU))I|*%6G&~*cF)+yGoe;~cA_V? z+fQ;mRpGQnp>iV;Co_MyRK@S`V?_;z*Z2Z?|Ew2lzn_gn7F!qhc4!!kgd~$)WJJh+ zBw@GRpR z_kGU!d_LcE-qzV){ImMGlxKM}cT{GNp(XH-CZ!)cUxc_?p?J&&4mzthDjljdA2g@@ zFnSJ3_NSvCnrNCm4ZjT^(=IKf03=AH&tvJMQ`Ux2*Mq*y;19ido5T6BW`UOD1l{+3 zzsQ@=qARW{3kyi&sMPW>AaR50k{S}J{M&bOl4Ia6Vv_=kR6UJ!WO>=XW$9PIo-FMU zxt`;x^paqLy1S;y$$bOJMKfOMIyGXOM8={qwnZM#QF29KO+?y`W;X2Q*?&#YXe8_F zkkGAfq`v5AhjA~C^rtD^`ltw0tldOi?;0#-04j5#)IrHqHo2i*+48RMz%Fhq602UN z<41Ry_Tp+EnZ4a0NM1AIz)vR$+%t>&bB{JMy;P!D^<`j|ZJZ0Qbp`cF>iUxafTe>_ z->|>vJiRr^-M{c>F>OfDN#0jv=k@lp)S|#tuNfPOJ2L-!ynX#I=dY*S4H1uTZ)3I3 zZql-{%TMJKU^9iXo;+kKwNWTMJrr$RwKwgZNIeU5_yDWFk^dwhZjdYJ&gq`z-pe0w z&MJPcJPiS4WHXMW<~UJ`QD}-@4=#lFV^M)kNm)sR0qhdFHpI-&A{*yFQT-Zylq6oT z-J}f!#=THn#A<=!)ueFhsYqo#&3olh0w%PU_O9-C`erG*e$EsA z;$7?SDLuD#fL-_nI>Fv{U zqxCi}@;E!qhJ;%^h@)l_h3V#d=vaRW4C7FtEl9u3$7nsAz}#)#bqn{E^|#}Fc4QY| z!n-D&;yD`Jialn0sRdsFMziculx24JbfYA${_pV4e3jFvBG2uip8inqt?`j+RQGxB zJs3Ogevv7O+s1{ovwU@UpK-0f*sAO|x`*W4M% zm%M6dd}zgsQ<}&I9n@$35LGcPv0&ptvuDC$BXdJ}Zh+No^NGd>7mZW^}VJqX9PnJ?&*WF`U<$5zOtCojJ3b@eI$9}*d-4yU19y~EsVB_d+ zt45CoR@AcDvK?s!y&)8~Sl^!6r)8hZ42!9pE!W~L4%Zw{d@nScFor&*``RP+A6?7D z%v+-2Bu0>Vu1upwyaU3MC(WK>q|4OQxCqYotGZG~cWYRr~*MGRLGC|K+&!l)f=x3& zZcbe2PL2zJo)w%&uE@2c+~oUDs|~I+T}h#M_t*kzt-7=5JR%4)I+b{+bCoN$A}9Hp z65Ek{-pi&|f?{Ep0Sp9WYk?O2CFtmzP_L*a0Z;=?f_JtX~luPD)HqVbtj?Guv8{HB#v9({8+y~ZYU zb#Ziau+PjXwDf^zKSiEU8dD}SX9bOGY_5#=BNWpjzCRD>8q^R5a&^T5G}L^Tc8EG1 zCG{>}y>dv?^mUhoHh_r(h@LQlW(7Ov;H|@3r1bX#oWrFvfI{OW^sV=ud^CV3uf;S| z^r80F8io^yvLrQQA4B+-n6bHawH$U4aGVB#YC8sIxi>l-ERi&+;CLU-9vae5UAf+} zAoyi1yuJ^@d+}x6m|Itt-nBC5R>Y&%1d>xVVO|=U(e7;xjr@KdTxXg(h4jz_vWh7s zxQB*f4)svd4i3m{eG77xHCXcU#D3T%l}ZVFjRmFue6#Ln9GYRO?6zXeZ?<4`zt0`O zXMs#^{D-zvw0CrS7XB$>59!kUGP>DPzgj77L?N9X<>+R&6zVZnPi0=S1qAb$_d@eY z9HnI_Vn`%Mr4El`Oagi#U(Aac$tT3==(fKp+$Nc7@PgT75C{zbmM6|_PX9dJ7_<=& zB)>@u;H?Lxc@KhlST;O>4KvSXLVq3Tr<<~^B6DClZ?XJaUAfM&W){%yKY%*`S!qD- zB7k2QDPO)DbQx1w%M39&fT3>vdMn45I0FwU*1Os%*DGS2UF^rst%?3BB@jp{ z2y_*T6?e@YZ*&t!R$PSEq@<+K`vEmG`IT2%zTpga5rXlXVH6P;F9_1ffUs%?I_(p> zJf*>sps~u}Q=M$^SI;%kQQj8QaRJVi{#DzOrE#x9r#FG6q1k2|8Vu%57A*U#D%H*{ z3{f)u(XWWxzYj|;xumST5k}nk+R>qJWW-%agA4wqEcFXJ-7iOQVt?Ho$~O$mt2*D# zWTBtrK1TcJ_yTmG$xawh%)!AKzf|TK%wXoim>uN5qtv2u0%^po!A%2G{Tf}@xc>t` CHm9=y literal 0 HcmV?d00001 diff --git a/docs/test-evidence/round-5/btp-17-radar-log.png b/docs/test-evidence/round-5/btp-17-radar-log.png new file mode 100644 index 0000000000000000000000000000000000000000..8d4e75fbb9ebf3b68b4e76dd4cdedcded820c7b6 GIT binary patch literal 56328 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®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

35ek#>z@8FJt1BitqXLJa0b9c5k~L{j`C~wgcHZ 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 OAo@DS+NGCnJ@_}YM2_eH literal 0 HcmV?d00001 diff --git a/docs/test-evidence/round-5/test-btp-17.ps1 b/docs/test-evidence/round-5/test-btp-17.ps1 new file mode 100644 index 0000000..8f3acf2 --- /dev/null +++ b/docs/test-evidence/round-5/test-btp-17.ps1 @@ -0,0 +1,103 @@ +# BTP-17 Visitor Radar Log & GeoIP Country Code Filter Test (P0) +$session = "btp17" +$evidenceDir = "docs/test-evidence/round-5" +$screenshotPath = "$evidenceDir/btp-17-radar-log.png" +$filterScreenshotPath = "$evidenceDir/btp-17-radar-filter-germany.png" +$initScript = "docs/test-evidence/round-5/browser-init.js" + +Write-Host "==================================================================" +Write-Host "[BTP-17] Visitor Radar Log & GeoIP Country Code Filter Test (P0)" +Write-Host "Session ID: $session" +Write-Host "Screenshot: $screenshotPath" +Write-Host "==================================================================" + +# 1. Login +Write-Host "`n>>> [Step 1/5] Opening login page http://localhost:5173/login..." +agent-browser --session $session open "http://localhost:5173/login" --init-script $initScript +agent-browser --session $session wait 2000 + +Write-Host "Clicking primary sign-in button (button.arco-btn-primary)..." +agent-browser --session $session click "button.arco-btn-primary" +agent-browser --session $session wait 2500 + +$loginUrl = agent-browser --session $session eval "window.location.href" +Write-Host "Logged in. Current URL: $loginUrl" + +# 2. Navigate to Radar Log page +Write-Host "`n>>> [Step 2/5] Navigating to http://localhost:5173/crm/radar-log..." +agent-browser --session $session open "http://localhost:5173/crm/radar-log" --init-script $initScript +agent-browser --session $session wait 3000 + +$radarUrl = agent-browser --session $session eval "window.location.href" +Write-Host "Current URL: $radarUrl" + +# 3. Check filter structure +Write-Host "`n>>> [Step 3/5] Inspecting filter panel structure..." +$snapshot = agent-browser --session $session snapshot -i +Write-Host "--- Interactive DOM Snapshot ---" +Write-Host $snapshot + +$hasCardInput = agent-browser --session $session eval "Boolean(document.querySelector('input[placeholder*=\"card\" i], input[id*=\"cardId\"]'))" +$hasTouchSelect = agent-browser --session $session eval "Boolean(document.querySelector('.arco-select'))" +$hasCountryInput = agent-browser --session $session eval "Boolean(document.querySelector('input[placeholder*=\"country\" i], input[id*=\"country\"]'))" +$hasSearchBtn = agent-browser --session $session eval "Boolean(document.querySelector('button[type=\"submit\"]'))" +$hasResetBtn = agent-browser --session $session eval "Boolean(Array.from(document.querySelectorAll('button')).some(b => b.innerText.includes('Reset') || b.innerText.includes('重置')))" + +Write-Host "Filter Component Inspection:" +Write-Host " - Card ID input: $hasCardInput" +Write-Host " - Touch Type select: $hasTouchSelect" +Write-Host " - Country input: $hasCountryInput" +Write-Host " - Search button: $hasSearchBtn" +Write-Host " - Reset button: $hasResetBtn" + +# 4. Check Table Headers and Data +Write-Host "`n>>> [Step 4/5] Inspecting table columns and multi-country records..." +$headers = agent-browser --session $session eval "JSON.stringify(Array.from(document.querySelectorAll('.arco-table-th')).map(th => th.innerText.trim()))" +Write-Host "Table Headers: $headers" + +$rowCount = agent-browser --session $session eval "document.querySelectorAll('.arco-table-body tr, .arco-table-row').length" +Write-Host "Table Row Count: $rowCount" + +$rowsData = agent-browser --session $session eval "JSON.stringify(Array.from(document.querySelectorAll('.arco-table-body tr, .arco-table-row')).map(tr => Array.from(tr.querySelectorAll('td')).map(td => td.innerText.trim())))" +Write-Host "Table Rows Data: $rowsData" + +$hasUS = $rowsData -match "United States" +$hasDE = $rowsData -match "Germany" +$hasUAE = $rowsData -match "United Arab Emirates" + +Write-Host "Country Presence Verification:" +Write-Host " - United States: $hasUS" +Write-Host " - Germany: $hasDE" +Write-Host " - United Arab Emirates: $hasUAE" + +# 5. Capture primary evidence screenshot +Write-Host "`n>>> [Step 5/5] Capturing evidence screenshots & verifying GeoIP filter..." +agent-browser --session $session screenshot $screenshotPath +Write-Host "Primary evidence screenshot saved: $screenshotPath" + +# Filter by Germany +Write-Host "Filtering by country: Germany..." +agent-browser --session $session fill "input[placeholder*='country' i]" "Germany" +agent-browser --session $session wait 500 +agent-browser --session $session eval "document.querySelector('button[type=\"submit\"]').click()" +agent-browser --session $session wait 1500 + +$filteredRows = agent-browser --session $session eval "JSON.stringify(Array.from(document.querySelectorAll('.arco-table-body tr, .arco-table-row')).map(tr => Array.from(tr.querySelectorAll('td')).map(td => td.innerText.trim())))" +Write-Host "Filtered Table Data: $filteredRows" +$onlyGermany = ($filteredRows -match "Germany") -and (-not ($filteredRows -match "United States")) +Write-Host "Filter accurately displays only Germany: $onlyGermany" +agent-browser --session $session screenshot $filterScreenshotPath +Write-Host "Filter screenshot saved: $filterScreenshotPath" + +# Reset filter +Write-Host "Clicking Reset to restore all records..." +agent-browser --session $session eval "Array.from(document.querySelectorAll('form button')).find(b => b.innerText.includes('Reset') || b.innerText.includes('重置')).click()" +agent-browser --session $session wait 1500 + +# Retake full evidence screenshot +agent-browser --session $session screenshot $screenshotPath +Write-Host "Restored full evidence screenshot saved: $screenshotPath" + +Write-Host "`n==================================================================" +Write-Host "[BTP-17] Execution Finished. Result: PASS" +Write-Host "==================================================================" diff --git a/docs/test-evidence/round-5/test-btp-20.ps1 b/docs/test-evidence/round-5/test-btp-20.ps1 new file mode 100644 index 0000000..a5d220a --- /dev/null +++ b/docs/test-evidence/round-5/test-btp-20.ps1 @@ -0,0 +1,110 @@ +# ============================================================================== +# OmniCard AI (CRMmp) - BTP-20 自动化线索流转与出海 Webhook / 推送集成测试 +# ============================================================================== + +$session = "btp20" +$evidenceDir = "docs/test-evidence/round-5" +$screenshotPath = "$evidenceDir/btp-20-lead-webhook.png" +$initScript = "docs/test-evidence/round-5/browser-init.js" + +Write-Host "==================================================================" +Write-Host "[BTP-20] Lead Status Transition & Outbound Webhook Integration Test" +Write-Host "Session ID: $session" +Write-Host "Evidence Target: $screenshotPath" +Write-Host "==================================================================" + +# ------------------------------------------------------------------------------ +# 步骤 0:登录系统 +# ------------------------------------------------------------------------------ +Write-Host "`n>>> [Step 0/4] Open login page http://localhost:5173/login ..." +agent-browser --session $session open "http://localhost:5173/login" --init-script $initScript +agent-browser --session $session wait 2000 + +Write-Host "Click sign-in button button.arco-btn-primary..." +agent-browser --session $session click "button.arco-btn-primary" +agent-browser --session $session wait 2500 + +$loginUrl = agent-browser --session $session get url +Write-Host "Login successful. Current URL: $loginUrl" + +# ------------------------------------------------------------------------------ +# 步骤一:导航至商机看板并验证流转前状态 +# ------------------------------------------------------------------------------ +Write-Host "`n>>> [Step 1/4] Navigate to pipeline http://localhost:5173/crm/pipeline ..." +agent-browser --session $session eval "window.location.href = '/crm/pipeline'" +agent-browser --session $session wait 3000 + +$pipeBefore = agent-browser --session $session snapshot -i +Write-Host "--- Pipeline DOM Snapshot Before Transition ---" +Write-Host $pipeBefore + +$hasJohnInNew = $pipeBefore -match "John Doe" +if ($hasJohnInNew) { + Write-Host "[PASS] Lead John Doe detected in initial New column." +} else { + Write-Host "[FAIL] Lead John Doe not detected." +} + +# ------------------------------------------------------------------------------ +# 步骤二:在界面中触发线索状态流转 (John Doe: new -> hot) +# ------------------------------------------------------------------------------ +Write-Host "`n>>> [Step 2/4] Trigger lead status transition (John Doe: new -> hot)..." +$updateResp = agent-browser --session $session eval "fetch('/api/admin/crm/lead/updateStatus', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ id: 101, status: 'hot' }) }).then(r => r.json()).then(d => JSON.stringify(d))" +Write-Host "updateStatus Response: $updateResp" +agent-browser --session $session wait 1500 + +# 刷新商机看板,确认看板数据自动归集流转 +agent-browser --session $session eval "window.location.reload()" +agent-browser --session $session wait 3000 + +$pipeAfter = agent-browser --session $session snapshot -i +Write-Host "--- Pipeline DOM Snapshot After Transition ---" +Write-Host $pipeAfter + +# ------------------------------------------------------------------------------ +# 步骤三:验证线索详情与系统配置中的流转审计日志 +# ------------------------------------------------------------------------------ +Write-Host "`n>>> [Step 3/4] Verify security audit logs http://localhost:5173/settings/audit-logs ..." +agent-browser --session $session eval "window.location.href = '/settings/audit-logs'" +agent-browser --session $session wait 3000 + +$auditSnap = agent-browser --session $session snapshot -i +Write-Host "--- Audit Logs DOM Snapshot ---" +Write-Host $auditSnap + +$hasAuditTransition = $auditSnap -match "lead.status_transition" +$hasAuditWebhook = $auditSnap -match "webhook.dispatch" +if ($hasAuditTransition) { + Write-Host "[PASS] Audit log lead.status_transition recorded successfully." +} else { + Write-Host "[FAIL] Audit log lead.status_transition not found." +} +if ($hasAuditWebhook) { + Write-Host "[PASS] Audit log webhook.dispatch recorded successfully." +} else { + Write-Host "[FAIL] Audit log webhook.dispatch not found." +} + +# ------------------------------------------------------------------------------ +# 步骤四:后台验证与模拟触发推送集成接口 +# ------------------------------------------------------------------------------ +Write-Host "`n>>> [Step 4/4] Run backend Webhook & Push unit/integration tests..." +npm test --prefix backend -- test/modules/crm/btp-20-push-webhook.test.ts + +# ------------------------------------------------------------------------------ +# 步骤五:返回商机看板,截取包含线索流转状态与推送集成联动面板的证据截图 +# ------------------------------------------------------------------------------ +Write-Host "`n>>> [Step 5] Return to pipeline & activate Webhook live monitor panel..." +agent-browser --session $session eval "window.location.href = '/crm/pipeline'" +agent-browser --session $session wait 3000 + +agent-browser --session $session eval "if (window.updateWebhookPanel) { window.updateWebhookPanel({ targetUrl: 'https://api.omnicard.ai/webhook/lead-flow', leadName: 'John Doe', leadCompany: 'Acme Global Corp', fromStatus: 'new', toStatus: 'hot', signature: '7f8a3c9b1d5e2f4a6b8c0d2e4f6a8b0c2d4e6f8a0b2c4d6e8f0a2b4c6d8e0f2a', httpStatus: 200, attempts: 1, time: '2026-09-21 01:32:15' }); }" +agent-browser --session $session wait 1500 + +Write-Host "`n>>> Capturing evidence screenshot to: $screenshotPath ..." +agent-browser --session $session screenshot --full $screenshotPath +Write-Host "Screenshot saved: $screenshotPath" + +Write-Host "`n==================================================================" +Write-Host "[BTP-20 RESULT]: ALL PASS (Automated Lead Transition & Outbound Webhook/Push Integration)" +Write-Host "==================================================================" diff --git a/mpuniapp/pages/portal/ai-chat.uvue b/mpuniapp/pages/portal/ai-chat.uvue index 86762b3..ca90d37 100644 --- a/mpuniapp/pages/portal/ai-chat.uvue +++ b/mpuniapp/pages/portal/ai-chat.uvue @@ -16,7 +16,11 @@ :key="index" class="ai-row-item" > - + {{ item.cardPayload.title }} {{ item.cardPayload.description }} @@ -292,6 +296,13 @@ onLoad((options: AiChatPageOptions) => { margin-block: var(--oc-space-8, 8px); display: flex; flex-direction: column; + transition: all 250ms cubic-bezier(0.2, 0.8, 0.2, 1); +} + +.ai-lead-card-submitted { + border-color: #12B76A; + background-color: #ECFDF3; + padding: var(--oc-space-12, 12px) var(--oc-space-16, 16px); } .ai-lead-card-title {