增加客服
This commit is contained in:
parent
9f2264514d
commit
530df9ce09
@ -21,6 +21,7 @@
|
|||||||
"axios": "^1.13.2",
|
"axios": "^1.13.2",
|
||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
|
"crisp-sdk-web": "^1.0.27",
|
||||||
"crypto-js": "^4.2.0",
|
"crypto-js": "^4.2.0",
|
||||||
"lucide-vue-next": "^0.562.0",
|
"lucide-vue-next": "^0.562.0",
|
||||||
"reka-ui": "^2.7.0",
|
"reka-ui": "^2.7.0",
|
||||||
|
|||||||
8
pnpm-lock.yaml
generated
8
pnpm-lock.yaml
generated
@ -23,6 +23,9 @@ importers:
|
|||||||
clsx:
|
clsx:
|
||||||
specifier: ^2.1.1
|
specifier: ^2.1.1
|
||||||
version: 2.1.1
|
version: 2.1.1
|
||||||
|
crisp-sdk-web:
|
||||||
|
specifier: ^1.0.27
|
||||||
|
version: 1.0.27
|
||||||
crypto-js:
|
crypto-js:
|
||||||
specifier: ^4.2.0
|
specifier: ^4.2.0
|
||||||
version: 4.2.0
|
version: 4.2.0
|
||||||
@ -1048,6 +1051,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==}
|
resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
|
crisp-sdk-web@1.0.27:
|
||||||
|
resolution: {integrity: sha512-aNWR3te65YiaVFu/iwdqOo3cyUBZHUheE4d6EtgQu/T18jh/9SpoYXjXF/OzUD3Cqy0pGryoqtuy5gxD8tqX9Q==}
|
||||||
|
|
||||||
cross-spawn@7.0.6:
|
cross-spawn@7.0.6:
|
||||||
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
|
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
@ -3047,6 +3053,8 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
is-what: 5.5.0
|
is-what: 5.5.0
|
||||||
|
|
||||||
|
crisp-sdk-web@1.0.27: {}
|
||||||
|
|
||||||
cross-spawn@7.0.6:
|
cross-spawn@7.0.6:
|
||||||
dependencies:
|
dependencies:
|
||||||
path-key: 3.1.1
|
path-key: 3.1.1
|
||||||
|
|||||||
35
src/App.vue
35
src/App.vue
@ -1,9 +1,3 @@
|
|||||||
<script setup lang="ts">
|
|
||||||
import { RouterView } from 'vue-router'
|
|
||||||
import 'vue-sonner/style.css'
|
|
||||||
import { Toaster } from '@/components/ui/sonner'
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<main>
|
<main>
|
||||||
@ -22,4 +16,33 @@ import { Toaster } from '@/components/ui/sonner'
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { RouterView } from 'vue-router'
|
||||||
|
import { onMounted } from 'vue'
|
||||||
|
import 'vue-sonner/style.css'
|
||||||
|
import { Toaster } from '@/components/ui/sonner'
|
||||||
|
import { Crisp } from 'crisp-sdk-web'
|
||||||
|
|
||||||
|
const WEBSITE_ID = '47fcc1ac-9674-4ab1-9e3c-6b5666f59a38'
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
// 定义加载逻辑
|
||||||
|
const loadCrisp = () => {
|
||||||
|
console.log('页面资源已就绪,开始初始化 Crisp...')
|
||||||
|
Crisp.configure(WEBSITE_ID)
|
||||||
|
|
||||||
|
// 可选:初始化后自动隐藏或执行其他逻辑
|
||||||
|
// Crisp.chat.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果页面已经加载完成(或者是从其他路由跳转过来的)
|
||||||
|
if (document.readyState === 'complete') {
|
||||||
|
loadCrisp()
|
||||||
|
} else {
|
||||||
|
// 否则等待 window load 事件,确保图片、CSS等资源全部加载完毕
|
||||||
|
window.addEventListener('load', loadCrisp, { once: true })
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
<style scoped></style>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user