1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="utf-8" /> 5 <meta content="width=device-width, initial-scale=1.0" name="viewport" /> 6 <title>Introduction to OCRM | OCRM</title> 7 <meta name="keywords" content="Introduction to OCRM,ai crm system,crm,ai crm software,ai crm management system,ai crm Customer Relationship Management System"> 8 <meta name="description" content="OCRM integrates core functions such as AI task management, AI schedule management, and intelligent AI CRM customer management, creating an AI-driven enterprise customer relationship management and intelligent office collaboration platform."> 9 <link href="/public/static/assets/brand/logo-mark.png" rel="icon" sizes="80x80" type="image/png"/> 10 <link href="/public/static/assets/favicon/favicon.ico" rel="icon" sizes="any" type="image/x-icon"/> 11 <link href="./favicon.ico" rel="shortcut icon" type="image/x-icon"/> 12 <link rel="stylesheet" href="/public/static/layui/css/layui.css" /> 13
13<script src="/public/static/js/jquery-1.11.3.min.js"></script>
13 14
14<script src="/public/static/layui/layui.all.js"></script>
14 15
15<script src="/public/static/assets/tailwindcss.js"></script>
15 16 <link href="/public/static/assets/googleapis-inter.css" rel="stylesheet"/> 17 <link href="/public/static/assets/googleapis-material.css" rel="stylesheet"/> 18
18<script id="tailwind-config"> 19 tailwind.config = { 20 darkMode: "class", 21 theme: { 22 extend: { 23 colors: { 24 "primary": "#0b50da", 25 "background-light": "#ffffff", 26 "background-dark": "#101622", 27 }, 28 fontFamily: { 29 "display": ["Inter", "sans-serif"] 30 }, 31 borderRadius: { 32 "DEFAULT": "0.25rem", 33 "lg": "0.5rem", 34 "xl": "0.75rem", 35 "full": "9999px" 36 }, 37 }, 38 }, 39 } 40 </script>
40 41 <style> 42 body { 43 font-family: 'Inter', sans-serif; 44 } 45 .material-symbols-outlined { 46 font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; 47 } 48 .customer-server-container { 49 position: fixed; 50 right: 30px; 51 bottom: 100px; 52 cursor: pointer; 53 width: 70px; 54 height: 70px; 55 z-index: 20230325; 56 } 57 58 .customer-server-container .customer-service { 59 width: 70px; 60 height: 70px; 61 } 62 63 .customer-server-container .qr-code { 64 display: none; 65 position: absolute; 66 padding: 16px; 67 border-radius: 8px; 68 right: 110%; 69 top: 50%; 70 transform: translateY(-50%); 71 width: 130px; 72 box-shadow: 0 2px 12px 0 #23ba463f; 73 z-index: 20230326; 74 background-color: #fff; 75 } 76 77 .customer-server-container .qr-code img { 78 width: 100%; 79 height: 100%; 80 } 81 82 .customer-server-container:hover .qr-code { 83 display: block; 84 } 85 </style> 86</head> 87<body class="bg-white text-slate-900"> 88 <div class="customer-server-container"> 89 <img class="customer-service" src="/public/static/assets/images/customerService.png" alt=""> 90 <div class="qr-code"> 91 <img src="/public/static/assets/images/qrCode.png" alt=""> 92 </div> 93 </div> 94 <header class="sticky top-0 z-50 w-full border-b border-slate-100 bg-white/80 backdrop-blur-md relative"> 95 <div class="mx-auto flex max-w-7xl items-center justify-between px-6 py-4"> 96 <a class="flex items-center gap-2.5" href="./index"> 97 <img alt="OCRM logo" class="h-10 w-10 rounded-xl object-contain" src="/public/static/assets/brand/logo-mark.png" /> 98 <h2 class="text-xl font-bold tracking-tight">OCRM</h2> 99 </a> 100 <nav class="hidden md:flex items-center gap-10"> 101 <a class="text-sm font-semibold hover:text-primary " href="./">Home</a> 102 <a class="text-sm font-semibold hover:text-primary " href="./features">Features</a> 103 <a class="text-sm font-semibold hover:text-primary " href="./pricing">Pricing</a> 104 <a class="text-sm font-semibold hover:text-primary text-primary" href="./about">About</a> 105 <a class="text-sm font-semibold hover:text-primary " href="./news">News</a> 106 </nav> 107 <div class="flex items-center gap-2 sm:gap-3"> 108 <button class="wukong_qiao hidden sm:flex h-10 items-center justify-center rounded-lg bg-slate-100 px-5 text-sm font-bold">Book a Demo</button> 109 <button class="wukong_ai flex h-10 items-center justify-center rounded-lg bg-blue-600 px-4 sm:px-5 text-sm font-bold text-white">Start Free</button> 110 <button 111 id="mobileNavToggle" 112 type="button" 113 class="inline-flex md:hidden h-10 w-10 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-700 hover:bg-slate-50" 114 aria-controls="mobileNav" 115 aria-expanded="false" 116 aria-label="Open menu" 117 > 118 <span class="material-symbols-outlined text-[22px] leading-none">menu</span> 119 </button> 120 </div> 121 </div> 122 123 <!-- Mobile (H5) nav: only visible under md --> 124 <div 125 id="mobileNav" 126 class="md:hidden hidden absolute left-0 right-0 top-full z-50 border-b border-slate-100 bg-white shadow-lg" 127 > 128 <div class="mx-auto max-w-7xl px-6 py-4"> 129 <nav class="flex flex-col gap-1"> 130 <a class="rounded-lg px-3 py-2 text-sm font-semibold hover:bg-slate-50 hover:text-primary " href="./index">Home</a> 131 <a class="rounded-lg px-3 py-2 text-sm font-semibold hover:bg-slate-50 hover:text-primary " href="./features">Features</a> 132 <a class="rounded-lg px-3 py-2 text-sm font-semibold hover:bg-slate-50 hover:text-primary " href="./pricing">Pricing</a> 133 <a class="rounded-lg px-3 py-2 text-sm font-semibold hover:bg-slate-50 hover:text-primary text-primary" href="./about">About</a> 134 <a class="rounded-lg px-3 py-2 text-sm font-semibold hover:bg-slate-50 hover:text-primary " href="./news">News</a> 135 </nav> 136 137 <div class="mt-4 grid grid-cols-2 gap-3">
138 <button class="wukong_qiao flex h-10 w-full items-center justify-center rounded-lg bg-slate-100 px-4 text-sm font-bold">Book a Demo</button> 139 <button class="wukong_ai flex h-10 w-full items-center justify-center rounded-lg bg-blue-600 px-4 text-sm font-bold text-white">Start Free</button> 140 </div> 141 </div> 142 </div> 143 </header> 144 145
145<script> 146 (function () { 147 var toggle = document.getElementById('mobileNavToggle'); 148 var nav = document.getElementById('mobileNav'); 149 if (!toggle || !nav) return; 150 151 function setOpen(isOpen) { 152 if (isOpen) { 153 nav.classList.remove('hidden'); 154 toggle.setAttribute('aria-expanded', 'true'); 155 } else { 156 nav.classList.add('hidden'); 157 toggle.setAttribute('aria-expanded', 'false'); 158 } 159 } 160 161 toggle.addEventListener('click', function () { 162 var isOpen = toggle.getAttribute('aria-expanded') === 'true'; 163 setOpen(!isOpen); 164 }); 165 166 nav.addEventListener('click', function (e) { 167 var t = e.target; 168 if (t && t.tagName === 'A') setOpen(false); 169 }); 170 171 document.addEventListener('click', function (e) { 172 var isOpen = toggle.getAttribute('aria-expanded') === 'true'; 173 if (!isOpen) return; 174 var target = e.target; 175 if (nav.contains(target) || toggle.contains(target)) return; 176 setOpen(false); 177 }); 178 179 document.addEventListener('keydown', function (e) { 180 if (e.key === 'Escape') setOpen(false); 181 }); 182 })(); 183 </script>
183 184
185<script src="https://www.72crm.com/crmapi/plugin/assets/online-customer-service/0.5.15/widget/embed.js" data-channel="cddff5f22903471aba3d3dd877c2054a58dea4ef8eea477bbb428daba6918248"></script>
185 186 <main class="mx-auto max-w-7xl px-6 py-16 space-y-20"> 187 <section class="grid gap-10 lg:grid-cols-2 lg:items-center"> 188 <div> 189 <span class="inline-block rounded-full bg-blue-50 px-3 py-1 text-xs font-bold text-blue-600">About</span> 190 <h1 class="mt-4 text-5xl font-black leading-tight">Turn relationships into organised opportunity.</h1> 191 <p class="mt-6 text-lg text-slate-600">OCRM is designed to solve a problem experienced by many founders and business developers: managing large networks built through real-world interactions.</p> 192 <p class="mt-4 text-lg text-slate-600">Instead of losing track of conversations, introductions, and opportunities, OCRM turns every interaction into structured business intelligence.</p> 193 <p class="mt-4 text-lg text-slate-600 font-semibold">The goal is simple:</p> 194 <button class="wukong_ai mt-8 rounded-xl bg-blue-600 px-8 py-4 font-bold text-white">Start Free</button> 195 </div> 196 <img src="/public/static/assets/images/about/about.png" class="w-full rounded-2xl border border-slate-100" alt="" /> 197 </section> 198 199 <section> 200 <h2 class="text-3xl font-black">Why OCRM</h2> 201 <p class="mt-6 text-lg leading-relaxed text-slate-600">Traditional CRMs were built for structured sales pipelines. But real business development does not happen only inside pipelines.</p> 202 <p class="mt-4 text-lg leading-relaxed text-slate-600">OCRM is designed specifically for relationship-driven professionals who constantly meet new people and need a smarter way to manage their network. Instead of forcing users into rigid sales processes, OCRM captures the context of every interaction and turns it into structured opportunities.</p> 203 </section> 204 205 <section class="py-20 bg-slate-50 -mx-6 lg:-mx-10 px-6 lg:px-10 rounded-[2.5rem]"> 206 <div class="text-center max-w-3xl mx-auto mb-16"> 207 <h2 class="text-slate-900 text-4xl font-bold mb-4">Core Concept: Event Containers</h2> 208 <p class="text-slate-600 text-lg">At the heart of OCRM is a new concept: Event Containers. An Event Container captures everything related to a business interactionâmaking relationship intelligence searchable, trackable, and actionable.</p> 209 </div> 210 <div class="grid md:grid-cols-3 gap-8"> 211 <div class="bg-white p-8 rounded-2xl shadow-sm border border-slate-100 hover:shadow-md transition-shadow"> 212 <div class="w-12 h-12 bg-primary/10 rounded-xl flex items-center justify-center text-primary mb-6"> 213 <span class="material-symbols-outlined">event</span> 214 </div> 215 <h3 class="text-slate-900 text-xl font-bold mb-3">Event-Driven Relationship Tracking</h3> 216 <p class="text-slate-600 leading-relaxed">Every interaction becomes structured knowledge instead of forgotten notes.</p> 217 </div> 218 <div class="bg-white p-8 rounded-2xl shadow-sm border border-slate-100 hover:shadow-md transition-shadow"> 219 <div class="w-12 h-12 bg-primary/10 rounded-xl flex items-center justify-center text-primary mb-6"> 220 <span class="material-symbols-outlined">account_tree</span> 221 </div> 222 <h3 class="text-slate-900 text-xl font-bold mb-3">Network Intelligence</h3> 223 <p class="text-slate-600 leading-relaxed">Your network becomes an organised asset instead of scattered memory.</p> 224 </div> 225 <div class="bg-white p-8 rounded-2xl shadow-sm border border-slate-100 hover:shadow-md transition-shadow"> 226 <div class="w-12 h-12 bg-primary/10 rounded-xl flex items-center justify-center text-primary mb-6"> 227 <span class="material-symbols-outlined">smart_toy</span> 228 </div> 229 <h3 class="text-slate-900 text-xl font-bold mb-3">AI-Assisted Follow-Ups</h3> 230 <p class="text-slate-600 leading-relaxed">Your CRM becomes a proactive business assistant.</p> 231 </div> 232 </div> 233 </section> 234 235 <section class="py-24"> 236 <div class="flex flex-col lg:flex-row gap-16 items-center"> 237 <div class="flex-1 order-2 lg:order-1"> 238 <div class="grid grid-cols-2 gap-4"> 239 <div class="space-y-4"> 240 <div class="h-48 rounded-2xl bg-slate-200 overflow-hidden" style="background-image: url('/public/static/assets/images/about/unnamed-1.png'); background-size: cover;"></div>
241 <div class="h-64 rounded-2xl bg-slate-200 overflow-hidden" style="background-image: url('/public/static/assets/images/about/unnamed-2.png'); background-size: cover;"></div> 242 </div> 243 <div class="space-y-4 pt-8"> 244 <div class="h-64 rounded-2xl bg-slate-200 overflow-hidden" style="background-image: url('/public/static/assets/images/about/unnamed-3.png'); background-size: cover;"></div> 245 <div class="h-48 rounded-2xl bg-slate-200 overflow-hidden" style="background-image: url('/public/static/assets/images/about/unnamed-4.png'); background-size: cover;"></div> 246 </div> 247 </div> 248 </div> 249 <div class="flex-1 order-1 lg:order-2"> 250 <h2 class="text-slate-900 text-4xl font-bold mb-6">Early Access</h2> 251 <p class="text-slate-600 text-lg leading-relaxed mb-6"> 252 OCRM is currently in early development. We are inviting a limited group of early users to help shape the product. 253 </p> 254 <p class="text-slate-600 text-lg leading-relaxed mb-6">Early users will receive: Priority access, Product feedback sessions, Founding user benefits.</p> 255 </div> 256 </div> 257 </section> 258 259 <section class="py-20 mb-20"> 260 <div class="bg-primary rounded-[2.5rem] p-8 lg:p-20 text-center text-white relative overflow-hidden"> 261 <div class="absolute inset-0 opacity-10 pointer-events-none" style="background-image: radial-gradient(circle at 2px 2px, white 1px, transparent 0); background-size: 40px 40px;"></div> 262 <div class="relative z-10"> 263 <h2 class="text-4xl lg:text-6xl font-black mb-6">Join the Early Access List</h2> 264 <p class="text-primary-foreground/80 text-lg lg:text-xl mb-10 max-w-3xl mx-auto text-blue-100"> 265 Interested in partnerships, early access, or enterprise deployments? Contact us or schedule a demo to learn more about OCRM. 266 </p> 267 <div class="flex flex-col sm:flex-row items-center justify-center gap-4"> 268 <button class="wukong_ai w-full sm:w-auto bg-white text-primary font-bold py-4 px-10 rounded-xl text-lg hover:bg-blue-50 transition-colors">Start Free</button> 269 <button class="wukong_qiao w-full sm:w-auto border-2 border-white/40 text-white font-bold py-4 px-10 rounded-xl text-lg hover:bg-white/10 transition-colors">Book a Demo</button> 270 </div> 271 </div> 272 </div> 273 </section> 274 </main> 275<style> 276 :root { 277 --bg-mask: rgba(17, 24, 39, 0.28); 278 --text-primary: #111827; 279 --text-secondary: #6b7280; 280 --panel: #ffffff; 281 --border: #e5e7eb; 282 --shadow: 0 18px 40px rgba(17, 24, 39, 0.16); 283 --radius: 12px; 284 --green: #22c55e; 285 } 286 .modal-backdrop { 287 position: fixed; 288 inset: 0; 289 background: rgba(15, 23, 42, 0.45); 290 z-index: 10000; 291 } 292 293 .modal { 294 width: min(420px, 92vw); 295 background: var(--panel); 296 border-radius: 14px; 297 box-shadow: var(--shadow); 298 overflow: hidden; 299 position: fixed; 300 left: 50%; 301 top: 50%; 302 transform: translate(-50%, -50%); 303 z-index: 10001; 304 } 305 306 .modal__header { 307 position: relative; 308 padding: 18px 22px 14px; 309 text-align: left; 310 font-weight: 600; 311 letter-spacing: 0.2px; 312 } 313 314 .modal__title { 315 font-size: 16px; 316 line-height: 22px; 317 } 318 319 .modal__close { 320 position: absolute; 321 top: 14px; 322 right: 14px; 323 width: 34px; 324 height: 34px; 325 border-radius: 10px; 326 border: 1px solid transparent; 327 background: transparent; 328 display: grid; 329 place-items: center; 330 cursor: pointer; 331 color: #6b7280; 332 } 333 334 .modal__close:hover { 335 background: #f9fafb; 336 border-color: var(--border); 337 color: #374151; 338 } 339 340 .modal__body { 341 padding: 10px 22px 22px; 342 } 343 344 .agent { 345 display: grid; 346 place-items: center; 347 gap: 10px; 348 padding-top: 2px; 349 } 350 351 .avatar { 352 position: relative; 353 width: 84px; 354 height: 84px; 355 border-radius: 999px; 356 background: radial-gradient(circle at 30% 30%, #ffffff, #eef2ff 55%, #e5e7eb); 357 border: 1px solid #eef2f7; 358 display: grid; 359 place-items: center; 360 overflow: hidden; 361 } 362 363 .avatar .img { 364 width: 56px; 365 height: 56px; 366 } 367 368 .status-dot { 369 position: absolute; 370 right: 10px; 371 bottom: 10px; 372 width: 12px; 373 height: 12px; 374 border-radius: 999px; 375 background: var(--green); 376 border: 2px solid #ffffff; 377 box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.18); 378 } 379 380 .agent__name { 381 font-size: 16px; 382 font-weight: 600; 383 line-height: 22px; 384 } 385 386 .agent__redact { 387 display: inline-block; 388 width: 160px; 389 height: 8px; 390 border-radius: 999px; 391 background: #ef4444; 392 opacity: 0.9; 393 transform: translateY(3px); 394 } 395 396 .qr-card { 397 margin: 16px auto 0; 398 width: min(320px, 100%); 399 background: #f8fafc; 400 border: 1px solid #e9edf3; 401 border-radius: 12px; 402 padding: 18px; 403 } 404 405 .qr-frame { 406 width: 100%; 407 aspect-ratio: 1 / 1; 408 border-radius: 12px; 409 background: #ffffff; 410 border: 1px solid #e9edf3; 411 display: grid; 412 place-items: center; 413 padding: 0px; 414 } 415 416 .qr { 417 width: 100%; 418 height: 100%; 419 border-radius: 8px; 420 display: grid; 421 place-items: center; 422 background: #ffffff; 423 } 424 425 .qr__inner { 426 width: 90%; 427 height: 90%; 428 border-radius: 6px; 429 position: relative; 430 overflow: hidden; 431 } 432 .qr__inner .img { 433 width: 252px; 434 height: 252px; 435 object-fit: cover; 436 } 437 438 .tip { 439 margin-top: 14px; 440 text-align: center; 441 font-size: 13px; 442 line-height: 18px; 443 color: #4b5563; 444 } 445</style> 446<div id="customer-service-backdrop" class="modal-backdrop" style="display: none;"></div> 447<section id="customer-service" style="display: none;" class="modal"> 448 <header class="modal__header"> 449 <div class="modal__title">Contact</div> 450 <button class="modal__close" type="button" aria-label="å ³é"> 451 <svg width="18" height="18" viewBox="0 0 20 20" fill="none" aria-hidden="true"> 452 <path 453 d="M5 5L15 15M15 5L5 15" 454 stroke="currentColor" 455 stroke-width="2" 456 stroke-linecap="round" 457 /> 458 </svg> 459 </button> 460 </header> 461 462 <div class="modal__body"> 463 <div class="agent"> 464 <div class="avatar" aria-hidden="true"> 465 <img class="img" src="./public/static/footer/avatar.png" alt="客æå¤´å" />
466 <span class="status-dot"></span> 467 </div> 468 469 <div class="agent__name">Contact us</div> 470 </div> 471 472 <div class="qr-card"> 473 <div class="qr-frame"> 474 <div class="qr" aria-label="äºç»´ç å ä½"> 475 <div class="qr__inner"> 476 <img class="img" src="./public/static/assets/images/qrCode.png" alt="客æäºç»´ç " /> 477 </div> 478 </div> 479 </div> 480 </div> 481 482 <div class="tip">Scan the QR code for instant support via WeChat</div> 483 </div> 484</section> 485<footer class="border-t border-slate-100 bg-white py-12"> 486 <div class="copyright-div"> 487 <div class="max-w-7xl px-6 text-left text-xs text-slate-400">© 2026 OCRM. All rights reserved.</div> 488 <style> 489 .copyright-div { 490 box-sizing: border-box; 491 display: flex; 492 align-items: center; 493 flex-direction: row; 494 height: 76px; 495 width: 1200px; 496 padding: 10px 40px; 497 margin: 0 auto; 498 } 499 .language-container { 500 margin-left: auto; 501 } 502 503 .language-wrapper { 504 position: relative; 505 display: inline-block; 506 } 507 508 /* æé®ç¾å - æ´çº¤ç»çè¾¹æ¡åæåçé¢è² */ 509 .language-btn { 510 display: flex; 511 align-items: center; 512 gap: 10px; 513 padding: 5px 12px; 514 border: 1px solid #2b3036; 515 border-radius: 4px; 516 background-color: #2b3036; 517 color: #fff; 518 font-size: 14px; 519 cursor: pointer; 520 transition: all 0.2s ease; 521 font-weight: bold; 522 } 523 524 /* 䏿æ¡ç¾å - æ´ç²¾è´çå¡çææ */ 525 .language-dropdown { 526 position: absolute; 527 right: 0; 528 bottom: 100%; 529 margin-bottom: 4px; 530 width: 120px; 531 border: 1px solid #e5e6eb; 532 border-radius: 4px; 533 background-color: #fff; 534 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); 535 transition: all 0.2s ease-in-out; 536 z-index: 999; 537 padding: 8px 0; 538 /* åå§ç¶æ - éæä¸ä¸ç§» */ 539 opacity: 0; 540 transform: translateY(5px); 541 pointer-events: none; /* éèæ¶ä¸ååºç¹å» */ 542 transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); /* ç¼å¨æ²çº¿æ´èªç¶ */ 543 } 544 545 /* æ¾ç¤ºç¶æ */ 546 .language-dropdown.show { 547 opacity: 1; 548 transform: translateY(0); 549 pointer-events: auto; /* æ¾ç¤ºæ¶ååºç¹å» */ 550 } 551 552 /* éé¡¹æ ·å¼ä¼å */ 553 .language-option { 554 display: block; 555 padding: 4px 8px; 556 margin: 4px 4px 0 4px; 557 height: 28px; 558 color: #1f2329; 559 font-size: 14px; 560 text-decoration: none; 561 transition: all 0.15s ease; /* èæ¯åé¢è²è¿æ¸¡ */ 562 box-sizing: border-box; 563 } 564 565 .language-option:hover { 566 background-color: #edeeee; 567 color: #1f2329; 568 } 569 570 /* ç®å¤´å¨ç»ä¼å */ 571 .arrow-rotate { 572 transform: rotate(180deg); 573 transition: transform 0.2s ease; 574 } 575 576 /* ç§»é¤Layuié»è®¤æ ·å¼å¹²æ° */ 577 .layui-hide { 578 display: none !important; 579 } 580 </style> 581 <div style="display: none;" class="language-container"> 582 <div class="language-wrapper"> 583 <button id="languageBtn" class="language-btn"> 584 <img style="width: 17px;height: 17px;" src="/en/public/static/footer/assets/language.png" alt=""> 585 <span id="currentLang">䏿(ç®ä½)</span> 586 <i class="layui-icon layui-icon-down" style="font-size: 12px; transition: transform 0.2s ease;line-height: 1;"></i> 587 </button> 588 589 <!-- ç¾ååç䏿å表 --> 590 <div id="languageDropdown" class="language-dropdown layui-hide"> 591 <a href="javascript:;" class="language-option active" data-lang="English" data-value="2">English</a> 592 <a href="javascript:;" class="language-option" data-lang="䏿(ç®ä½)" data-value="1">䏿(ç®ä½)</a> 593 </div> 594 </div> 595 </div> 596 597
597<script> 598 const languageBtn = document.getElementById('languageBtn'); 599 const languageDropdown = document.getElementById('languageDropdown'); 600 const currentLang = document.getElementById('currentLang'); 601 const languageOptions = document.querySelectorAll('.language-option'); 602 const arrowIcon = languageBtn.querySelector('.layui-icon'); 603 604 // åæ¢ä¸ææ¡ 605 languageBtn.addEventListener('click', (e) => { 606 e.stopPropagation(); 607 const isHidden = languageDropdown.classList.contains('layui-hide'); 608 609 if (isHidden) { 610 languageDropdown.classList.remove('layui-hide'); 611 // 强å¶éç»åæ·»å å¨ç»ç±»ï¼ç¡®ä¿è¿æ¸¡ææçæ 612 setTimeout(() => { 613 languageDropdown.classList.add('show'); 614 }, 10); 615 arrowIcon.classList.add('arrow-rotate'); 616 } else { 617 // éèä¸ææ¡ - å ç§»é¤å¨ç»ç±»ï¼å®æåæ·»å éèç±» 618 languageDropdown.classList.remove('show'); 619 arrowIcon.classList.remove('arrow-rotate'); 620 setTimeout(() => { 621 languageDropdown.classList.add('layui-hide'); 622 }, 200); // ä¸CSSè¿æ¸¡æ¶é´ä¸è´ 623 } 624 }); 625 626 // éæ©è¯è¨ï¼å¢å éä¸ç¶æé«äº®ï¼ 627 languageOptions.forEach(option => { 628 option.addEventListener('click', (e) => { 629 e.stopPropagation(); 630 const selectedLang = e.target.getAttribute('data-lang'); 631 const selectedValue = e.target.getAttribute('data-value'); 632 633 // æ´æ°éä¸ç¶æ 634 languageOptions.forEach(opt => opt.classList.remove('active')); 635 e.target.classList.add('active'); 636 637 // æ´æ°æé®ææ¬ 638 currentLang.textContent = selectedLang; 639 if (selectedValue == 1) { 640 window.location.href = "https://www.ocrm.ai"; 641 } 642 if (selectedValue == 2) { 643 window.location.href = "https://www.ocrm.ai/en/"; 644 } 645 console.log(`忢è¯è¨è³ï¼${selectedLang}`); 646 647 // å ³éä¸ææ¡ 648 languageDropdown.classList.add('layui-hide'); 649 arrowIcon.classList.remove('arrow-rotate'); 650 }); 651 }); 652 653 // ç¹å»å¤é¨å ³é 654 document.addEventListener('click', () => { 655 if (!languageDropdown.classList.contains('layui-hide')) { 656 languageDropdown.classList.add('layui-hide'); 657 arrowIcon.classList.remove('arrow-rotate'); 658 } 659 }); 660 661 languageDropdown.addEventListener('click', (e) => { 662 e.stopPropagation(); 663 }); 664 </script>
664 665 </div> 666 667 </footer> 668
668<script> 669 var height = document.body.clientHeight * 0.7; 670 var width = document.body.clientWidth * 0.5; 671 height = height < 595 ? 595 : height; 672 // width = 840; 673 // height = 684; 674 width = 440; 675 height = 640; 676 $("#wukong_qiao, .wukong_qiao").click(function() { 677 $("#customer-service-backdrop").fadeIn(120); 678 $("#customer-service").fadeIn(120); 679 // Prevent layout shift when scrollbar disappears 680 const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth; 681 const $body = $("body"); 682 if ($body.data("cs_prev_padding_right") === undefined) { 683 $body.data("cs_prev_padding_right", $body[0].style.paddingRight || ""); 684 } 685 $body.css({ 686 overflow: "hidden", 687 paddingRight: scrollbarWidth > 0 ? `${scrollbarWidth}px` : $body.data("cs_prev_padding_right"), 688 }); 689 }) 690 691 function closeCustomerService() { 692 $("#customer-service").fadeOut(120); 693 $("#customer-service-backdrop").fadeOut(120); 694 const $body = $("body"); 695 $body.css({ 696 overflow: "", 697 paddingRight: $body.data("cs_prev_padding_right") ?? "", 698 }); 699 } 700 701 $("#customer-service-backdrop").on("click", closeCustomerService); 702 $("#customer-service .modal__close").on("click", closeCustomerService); 703 $("#customer-service").on("click", function(e) { 704 e.stopPropagation(); 705 }); 706 $(document).on("keydown", function(e) { 707 if (e.key === "Escape") closeCustomerService(); 708 }); 709 $(".wukong_ai").click(function() { 710 window.open('https://crm.wukong.org/#/login?type=register', '_blank'); 711 }) 712 </script>
712 713
713<script> 714var _hmt = _hmt || []; 715(function() { 716 var hm = document.createElement("script"); 717 hm.src = "https://hm.baidu.com/hm.js?c3aeb7b2d02b7a9ca01626fd66406bcd"; 718 var s = document.getElementsByTagName("script")[0]; 719 s.parentNode.insertBefore(hm, s); 720})(); 721</script>
721 722</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.