diff --git a/.vscode/settings.json b/.vscode/settings.json index 6eb3844c4..ed460b834 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -35,5 +35,16 @@ "editor.quickSuggestions": { "strings": true } - } + }, + "cSpell.words": [ + "Helora", + "helora", + "Longbridge", + "longbridge", + "longport", + "vitepress", + "VITE", + "lbkrs", + "lbctrl" + ] } diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index a73ec17e3..0cf8ebf0f 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -24,6 +24,10 @@ const regionSrcExclude = computeSrcExclude(docsRoot) // 默认 production。放在 head 配置里,dev 与 build 都生效。 const oneTapProxy = process.env.PROXY === 'canary' ? 'canary' : 'production' +// Helora 客服 SDK:canary / 本地 dev / 非 release 走 .dev 包;只有 build:release 走 release 包 +const isReleaseBuild = process.env.PROXY !== 'canary' && process.env.NODE_ENV === 'production' +const heloraScriptSrc = 'https://assets.lbkrs.com/h5hub/helora-embed/helora-embed-1.0.0.iife.js' + const insertScript = (html: string) => { const $ = cheerio.load(html) $('head').prepend( @@ -171,6 +175,7 @@ export default defineConfig( ['script', { defer: '', src: 'https://assets.lbkrs.com/pkg/sensorsdata/1.21.13.min.js' }], ['script', { async: '', src: 'https://at.alicdn.com/t/c/font_2621450_y740y72ffjq.js' }], ['script', { src: 'https://assets.wbrks.com/plugin/session/google-one-tap.es.js', 'data-proxy': oneTapProxy }], + ['script', { async: '', src: heloraScriptSrc, 'data-helora-proxy': isReleaseBuild ? 'prod' : 'staging' }], ], themeConfig: { editLink: { diff --git a/docs/.vitepress/helora.d.ts b/docs/.vitepress/helora.d.ts new file mode 100644 index 000000000..8e1194399 --- /dev/null +++ b/docs/.vitepress/helora.d.ts @@ -0,0 +1,43 @@ +// Helora 客服 SDK 的全局类型声明 +// 脚本通过 diff --git a/docs/.vitepress/theme/components/UserAvatar/index.vue b/docs/.vitepress/theme/components/UserAvatar/index.vue index 19c4724a4..0b244f6ae 100644 --- a/docs/.vitepress/theme/components/UserAvatar/index.vue +++ b/docs/.vitepress/theme/components/UserAvatar/index.vue @@ -4,12 +4,9 @@ import UserAvatarIcon from './UserAvatarIcon.vue' import Dropdown from './UserAvatarDropdown.vue' import LoginButton from './LoginButton.vue' import { localePath } from '../../utils/i18n' -import { createLoginRedirectPath } from '../../utils/navigate' import { useI18n } from 'vue-i18n' import { useAvatar } from './uesAvatar' import { isLoginState, initLoginState } from '../../composables/useLoginState' -import { detectWhaleApp } from '../../composables/useWhaleApp' -import endsWith from 'lodash/endsWith' const { t } = useI18n() @@ -21,26 +18,6 @@ const isLogin = isLoginState onMounted(() => { initLoginState() - - // AI 客服 support-widget 还未适配 app,whale app 环境下不加载 - if (detectWhaleApp()) return - - const isProd = !endsWith(location.hostname, '.xyz') && !import.meta.env.DEV - const loginUrl = createLoginRedirectPath({ - sw_open: '1', - }) - window.SupportWidgetConfig = { - isLoggedIn: function () { - return isLogin.value - }, - loginUrl, - proxy: isProd ? 'prod' : 'staging', - } - - const script = document.createElement('script') - script.src = 'https://assets.lbkrs.com/h5hub/support-widget/support-widget-1.0.7.iife.js' - script.async = true - document.head.appendChild(script) }) const { avatar } = useAvatar() diff --git a/docs/.vitepress/theme/locales/en.json b/docs/.vitepress/theme/locales/en.json index 665ea6206..aa96e43ff 100644 --- a/docs/.vitepress/theme/locales/en.json +++ b/docs/.vitepress/theme/locales/en.json @@ -73,6 +73,7 @@ "nav.getStarted": "Get Started", "nav.dashboard": "Dashboard", "nav.home": "Home", + "helora.submitIssue": "Submit an Issue", "footer.tagline": "Real-time market data, trading, and financial intelligence — delivered through AI Skill, CLI, MCP, SDK and OpenAPI for developers worldwide.", "footer.status": "All systems operational", "footer.products": "Products", diff --git a/docs/.vitepress/theme/locales/zh-CN.json b/docs/.vitepress/theme/locales/zh-CN.json index 8fd451d3d..5230bae3a 100644 --- a/docs/.vitepress/theme/locales/zh-CN.json +++ b/docs/.vitepress/theme/locales/zh-CN.json @@ -73,6 +73,7 @@ "nav.getStarted": "立即开始", "nav.dashboard": "控制台", "nav.home": "首页", + "helora.submitIssue": "提交问题", "footer.tagline": "为全球开发者提供实时行情、交易与金融智能服务——通过 AI Skill、CLI、MCP、SDK 和 OpenAPI 全面赋能。", "footer.status": "所有服务正常运行", "footer.products": "产品", diff --git a/docs/.vitepress/theme/locales/zh-HK.json b/docs/.vitepress/theme/locales/zh-HK.json index d66cf79fe..cb02be440 100644 --- a/docs/.vitepress/theme/locales/zh-HK.json +++ b/docs/.vitepress/theme/locales/zh-HK.json @@ -73,6 +73,7 @@ "nav.getStarted": "立即開始", "nav.dashboard": "控制台", "nav.home": "首頁", + "helora.submitIssue": "提交問題", "footer.tagline": "為全球開發者提供即時行情、交易與金融智能服務——透過 AI Skill、CLI、MCP、SDK 和 OpenAPI 全面賦能。", "footer.status": "所有服務正常運行", "footer.products": "產品",