diff --git a/env/.env b/env/.env index ea7f3de..8cbedfa 100644 --- a/env/.env +++ b/env/.env @@ -3,8 +3,22 @@ VITE_APP_PORT = 9000 VITE_UNI_APPID = 'H57F2ACE4' # VITE_WX_APPID = 'wxc48ad15d58a3e417' 六纬中考通 -# VITE_WX_APPID = 'wx4b925e36c17dd54a' 六纬裂变 -VITE_WX_APPID = 'wxc48ad15d58a3e417' +# VITE_WX_APPID = 'wx4b925e36c17dd54a' 智能中专学校的 +# wx487ac749c0e10be5 深泉外国语的 +VITE_WX_APPID = 'wx487ac749c0e10be5' +# VITE_WX_VIDEO_ID= 'sphju9MCfZetYHP' 智能中专学校的 +# VITE_WX_VIDEO_ID= 'spht0MPpWjxEKb4' 深泉外国语 +# spheuUaMulnlpHH 深泉外国语学院 认证的 +VITE_WX_VIDEO_ID= 'spht0MPpWjxEKb4' + +# 微信小程序 AI +# 智能中专学校的 +# VITE_CLOUD_ENV_ID= 'cloud1-d3g5q6bq61a240786', +# VITE_CLOUD_BOT_ID= 'agent-wxai-4gl75um61026324f', + +# 深泉外国语学院的 +VITE_CLOUD_ENV_ID='cloud1-d9g4odcaqf6a2114f' +VITE_CLOUD_BOT_ID='agent-wxai-9gi3rts96061202f' # h5部署网站的base,配置到 manifest.config.ts 里的 h5.router.base # https://uniapp.dcloud.net.cn/collocation/manifest.html#h5-router diff --git a/src/env.d.ts b/src/env.d.ts index ea1334c..222d855 100644 --- a/src/env.d.ts +++ b/src/env.d.ts @@ -15,6 +15,8 @@ interface ImportMetaEnv { readonly VITE_SERVER_PORT: string /** 后台接口地址 */ readonly VITE_SERVER_BASEURL: string + /** 微信视频号 ID */ + readonly VITE_WX_VIDEO_ID: string /** H5是否需要代理 */ readonly VITE_APP_PROXY_ENABLE: 'true' | 'false' /** H5是否需要代理,需要的话有个前缀 */ diff --git a/src/pages-ai/ai/index.vue b/src/pages-ai/ai/index.vue index 3f3e1c9..40779f7 100644 --- a/src/pages-ai/ai/index.vue +++ b/src/pages-ai/ai/index.vue @@ -8,12 +8,13 @@ import { generateMessageId, } from '../components/agent-config' import { fetchRecommendQuestions, streamMessage } from '../components/agent-service' +import AgentHeader from '../components/AgentHeader.vue' import AgentInput from '../components/AgentInput.vue' import AgentMessage from '../components/AgentMessage.vue' definePage({ style: { - navigationBarTitleText: 'AI 助手', + navigationBarTitleText: 'AI助手', }, }) @@ -28,6 +29,8 @@ const aiStore = useAiStore() const paging = ref(null) const messages = ref([]) const loading = ref(false) +const initQuestionCapsules = computed(() => agentConfig.initQuestions.slice(0, 3)) +const shouldShowInitQuestionCapsules = computed(() => aiStore.messages.length === 0 && initQuestionCapsules.value.length > 0) // 用于停止流:在新一轮发送时把上一轮的 controller 标记为 cancelled let cancelFlag = false @@ -43,17 +46,18 @@ onLoad(() => { // #endif aiStore.ensureThreadId() - }) // z-paging 聊天模式:第一页直接把 store 里的历史灌给它 // 聊天模式数据约定:数组下标 0 = 视觉最底部(最新消息),所以要倒序传入 function queryList() { - if (aiStore.messages.length === 0) { + const welcomeMsg = agentConfig.welcomeMsg?.trim() + + if (aiStore.messages.length === 0 && welcomeMsg) { aiStore.addMessage({ id: generateMessageId(), role: 'assistant', - content: agentConfig.welcomeMsg, + content: welcomeMsg, createdAt: Date.now(), }) } @@ -194,19 +198,6 @@ function handleClear() {