feat:你可以这样问我提示词组件封装

This commit is contained in:
duanshuwen committed 2025-07-11 14:46:30 +08:00
1 parent fb6c258893
commit deef75509e
30 files changed
+221 -203

No files matched your search

@@ -1 +1 @@
{"version":3,"file":"assets.js","sources":["static/quick/quick_icon_bg.png","static/logo.png","static/input_voice_icon.png","static/input_send_icon.png","static/hello_xiaomu_icon@2x.png","static/hello_logo_icon@2x.png","static/top_bg_icon.png","static/drawer_icon.png","static/wave_icon.png","static/test/mk_img_1.png","components/create-service-order/images/icon_service.png","components/create-service-order/images/icon_volume.png"],"sourcesContent":["export default \"__VITE_ASSET__ff753b35__\"","export default \"__VITE_ASSET__46719607__\"","export default \"__VITE_ASSET__76f969d6__\"","export default \"__VITE_ASSET__e6bd7a29__\"","export default \"__VITE_ASSET__2eba501c__\"","export default \"__VITE_ASSET__51733f19__\"","export default \"__VITE_ASSET__ead16fdc__\"","export default \"__VITE_ASSET__a9576f2b__\"","export default \"__VITE_ASSET__d889f8a8__\"","export default \"__VITE_ASSET__c4efe7df__\"","export default \"__VITE_ASSET__86f6117d__\"","export default \"__VITE_ASSET__0bc37c9e__\""],"names":[],"mappings":";AAAA,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,aAAA;;;;;;;;;;;;;"}
{"version":3,"file":"assets.js","sources":["static/quick/quick_icon_bg.png","static/logo.png","static/input_voice_icon.png","static/input_send_icon.png","static/hello_xiaomu_icon@2x.png","static/hello_logo_icon@2x.png","static/top_bg_icon.png","static/drawer_icon.png","static/wave_icon.png","static/test/mk_img_1.png","components/ServiceTipsWord/images/icon_refresh.png"],"sourcesContent":["export default \"__VITE_ASSET__ff753b35__\"","export default \"__VITE_ASSET__46719607__\"","export default \"__VITE_ASSET__76f969d6__\"","export default \"__VITE_ASSET__e6bd7a29__\"","export default \"__VITE_ASSET__2eba501c__\"","export default \"__VITE_ASSET__51733f19__\"","export default \"__VITE_ASSET__ead16fdc__\"","export default \"__VITE_ASSET__a9576f2b__\"","export default \"__VITE_ASSET__d889f8a8__\"","export default \"__VITE_ASSET__c4efe7df__\"","export default \"__VITE_ASSET__14f000bd__\""],"names":[],"mappings":";AAAA,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,aAAA;;;;;;;;;;;;"}
@@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":["components/ServiceTipsWord/index.vue","E:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovWUdDaGF0Q1MvY29tcG9uZW50cy9TZXJ2aWNlVGlwc1dvcmQvaW5kZXgudnVl"],"sourcesContent":["<template>\r\n <view class=\"service-prompt\">\r\n <view class=\"service-header\">\r\n <text class=\"header-text\">你可以这样问我</text>\r\n <image\r\n class=\"header-icon\"\r\n src=\"./images/icon_refresh.png\"\r\n @click=\"handleRefresh\"\r\n ></image>\r\n </view>\r\n <view class=\"service-buttons\">\r\n <text class=\"service-button\" @click=\"handleClick('bed')\">\r\n 帮我加一张床\r\n </text>\r\n <text class=\"service-button\" @click=\"handleClick('hotWater')\">\r\n 房间热水不够热\r\n </text>\r\n <text class=\"service-button\" @click=\"handleClick('mahjong')\">\r\n 帮忙加一台麻将机\r\n </text>\r\n </view>\r\n </view>\r\n</template>\r\n\r\n<script setup>\r\nimport { ref } from \"vue\";\r\n\r\nconst handleRefresh = (type) => {\r\n console.log(`Button clicked: ${type}`);\r\n};\r\n\r\nconst handleClick = (type) => {\r\n console.log(`Button clicked: ${type}`);\r\n // Add your logic here based on the type (e.g., 'bed', 'hotWater', 'mahjong')\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@import \"./styles/index.scss\";\r\n</style>\r\n","import Component from 'D:/YGChatCS/components/ServiceTipsWord/index.vue'\nwx.createComponent(Component)"],"names":["uni"],"mappings":";;;;;;AA2BA,UAAM,gBAAgB,CAAC,SAAS;AAC9BA,oBAAA,MAAA,MAAA,OAAA,8CAAY,mBAAmB,IAAI,EAAE;AAAA,IACvC;AAEA,UAAM,cAAc,CAAC,SAAS;AAC5BA,oBAAA,MAAA,MAAA,OAAA,8CAAY,mBAAmB,IAAI,EAAE;AAAA,IAEvC;;;;;;;;;;;;;ACjCA,GAAG,gBAAgB,SAAS;"}
@@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":["components/service-prompt/index.vue","E:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovWUdDaGF0Q1MvY29tcG9uZW50cy9zZXJ2aWNlLXByb21wdC9pbmRleC52dWU"],"sourcesContent":["<template>\r\n <view class=\"service-prompt\">\r\n <view class=\"service-header\">\r\n <text class=\"header-text\">你可以这样问我</text>\r\n <image class=\"header-icon\" src=\"./images/icon_refresh.png\"></image>\r\n </view>\r\n <view class=\"service-buttons\">\r\n <button class=\"service-button\" @click=\"handleClick('bed')\">\r\n 帮我加一张床\r\n </button>\r\n <button class=\"service-button\" @click=\"handleClick('hotWater')\">\r\n 房间热水不够热\r\n </button>\r\n <button class=\"service-button\" @click=\"handleClick('mahjong')\">\r\n 帮忙加一台麻将机\r\n </button>\r\n </view>\r\n </view>\r\n</template>\r\n\r\n<script setup>\r\nimport { ref } from \"vue\";\r\n\r\nconst handleClick = (type) => {\r\n console.log(`Button clicked: ${type}`);\r\n // Add your logic here based on the type (e.g., 'bed', 'hotWater', 'mahjong')\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@import \"./styles/index.scss\";\r\n</style>\r\n","import Component from 'D:/YGChatCS/components/service-prompt/index.vue'\nwx.createComponent(Component)"],"names":["uni"],"mappings":";;;;;;AAuBA,UAAM,cAAc,CAAC,SAAS;AAC5BA,oBAAA,MAAA,MAAA,OAAA,6CAAY,mBAAmB,IAAI,EAAE;AAAA,IAEvC;;;;;;;;;;;;ACzBA,GAAG,gBAAgB,SAAS;"}
@@ -1 +1 @@
{"version":3,"file":"ChatMainList.js","sources":["pages/chat/ChatMainList.vue","E:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovWUdDaGF0Q1MvcGFnZXMvY2hhdC9DaGF0TWFpbkxpc3QudnVl"],"sourcesContent":["<template>\n <view class=\"chat-container\" @touchend=\"handleTouchEnd\">\n <!-- 顶部的背景 -->\n <chat-top-bg-img class=\"chat-container-bg\"></chat-top-bg-img>\n\n <!-- 顶部自定义导航栏 -->\n <view\n class=\"nav-bar-container\"\n :style=\"{\n paddingTop: statusBarHeight + 'px',\n backgroundColor: navBgColor,\n }\"\n >\n <chat-top-nav-bar @openDrawer=\"openDrawer\"></chat-top-nav-bar>\n </view>\n\n <view class=\"chat-container-msg-list\">\n <!-- logo栏 -->\n <chat-top-banner class=\"chat-container-top-bannar\"></chat-top-banner>\n\n <!-- 消息列表(可滚动区域) -->\n <scroll-view\n scroll-y\n :scroll-into-view=\"lastMsgId\"\n :scroll-with-animation=\"true\"\n class=\"area-msg-list\"\n >\n <view style=\"padding: 6px 12px\">\n <OneFeelMK001></OneFeelMK001>\n </view>\n <view style=\"padding: 6px 12px\">\n <OneFeelMK001></OneFeelMK001>\n </view>\n <view style=\"padding: 6px 12px\">\n <OneFeelMK001></OneFeelMK001>\n </view>\n\n <view\n class=\"area-msg-list-content\"\n v-for=\"item in chatMsgList\"\n :key=\"item.msgId\"\n :id=\"item.msgId\"\n >\n <template v-if=\"item.msgType === MessageRole.AI\">\n <ChatCardAI class=\"message-item message-item-ai\" :text=\"item.msg\">\n <image\n v-if=\"\n item.msgContent && item.msgContent.type === MessageType.IMAGE\n \"\n src=\"/static/logo.png\"\n style=\"width: 100px; height: 100px\"\n ></image>\n <OneFeelMK001></OneFeelMK001>\n </ChatCardAI>\n </template>\n\n <template v-else-if=\"item.msgType === MessageRole.ME\">\n <ChatCardMine\n class=\"message-item message-item-mine\"\n :text=\"item.msg\"\n >\n </ChatCardMine>\n </template>\n <template v-else>\n <text class=\"message-item message-item-other\">{{ item.msg }}</text>\n </template>\n </view>\n\n <CreateServiceOrder />\n <!-- 底部锚点(用于滚动到底部) -->\n <view :id=\"lastMsgId\"></view>\n </scroll-view>\n\n <!-- 输入框区域 -->\n <view class=\"footer-area\">\n <ChatMoreTips @replySent=\"handleReply\"></ChatMoreTips>\n <ChatQuickAccess @replySent=\"handleReply\"></ChatQuickAccess>\n\n <view class=\"area-input\">\n <!-- 发送语音 -->\n <view class=\"input-container-voice\">\n <image src=\"/static/input_voice_icon.png\"></image>\n </view>\n <!-- 输入框 -->\n <textarea\n class=\"textarea\"\n type=\"text\"\n placeholder=\"快速订票,呼叫服务\"\n cursor-spacing=\"65\"\n confirm-type=\"done\"\n v-model=\"inputMessage\"\n @confirm=\"sendMessage\"\n @touchend=\"handleNoHideKeyboard\"\n :confirm-hold=\"true\"\n auto-height\n :show-confirm-bar=\"false\"\n :hold-keyboard=\"holdKeyboard\"\n maxlength=\"300\"\n />\n <view class=\"input-container-send\" @click=\"sendMessage\">\n <image src=\"/static/input_send_icon.png\"></image>\n </view>\n </view>\n </view>\n </view>\n </view>\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted, getCurrentInstance, nextTick } from \"vue\";\nimport { ref, watch } from \"vue\";\nimport { defineEmits } from \"vue\";\nimport { onLoad } from \"@dcloudio/uni-app\";\nimport ChatTopBanner from \"./ChatTopBanner.vue\";\nimport ChatTopBgImg from \"./ChatTopBgImg.vue\";\nimport ChatTopNavBar from \"./ChatTopNavBar.vue\";\nimport ChatCardAI from \"./ChatCardAI.vue\";\nimport ChatCardMine from \"./ChatCardMine.vue\";\nimport ChatQuickAccess from \"./ChatQuickAccess.vue\";\nimport ChatMoreTips from \"./ChatMoreTips.vue\";\nimport { MessageRole, ChatModel, MessageType } from \"../../model/ChatModel\";\nimport OneFeelMK001 from \"../module/OneFeelMK001.vue\";\nimport CreateServiceOrder from \"@/components/create-service-order/index.vue\";\n\nconst instance = getCurrentInstance(); // 获取当前组件实例\n\n// 导航栏相关\nconst statusBarHeight = ref(20);\nconst navBgColor = ref(\"rgba(66, 173, 249, 0)\");\nconst navOpacity = ref(0);\n\nconst timer = ref(null);\nconst holdKeyboard = ref(false); // focus时,点击页面的时候不收起键盘\nconst holdKeyboardFlag = ref(true); // 是否在键盘弹出,点击界面时关闭键盘\nLine truncated
{"version":3,"file":"ChatMainList.js","sources":["pages/chat/ChatMainList.vue","E:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovWUdDaGF0Q1MvcGFnZXMvY2hhdC9DaGF0TWFpbkxpc3QudnVl"],"sourcesContent":["<template>\n <view class=\"chat-container\" @touchend=\"handleTouchEnd\">\n <!-- 顶部的背景 -->\n <chat-top-bg-img class=\"chat-container-bg\"></chat-top-bg-img>\n\n <!-- 顶部自定义导航栏 -->\n <view\n class=\"nav-bar-container\"\n :style=\"{\n paddingTop: statusBarHeight + 'px',\n backgroundColor: navBgColor,\n }\"\n >\n <chat-top-nav-bar @openDrawer=\"openDrawer\"></chat-top-nav-bar>\n </view>\n\n <view class=\"chat-container-msg-list\">\n <!-- logo栏 -->\n <chat-top-banner class=\"chat-container-top-bannar\"></chat-top-banner>\n\n <!-- 消息列表(可滚动区域) -->\n <scroll-view\n scroll-y\n :scroll-into-view=\"lastMsgId\"\n :scroll-with-animation=\"true\"\n class=\"area-msg-list\"\n >\n <view style=\"padding: 6px 12px\">\n <OneFeelMK001></OneFeelMK001>\n </view>\n <view style=\"padding: 6px 12px\">\n <OneFeelMK001></OneFeelMK001>\n </view>\n <view style=\"padding: 6px 12px\">\n <OneFeelMK001></OneFeelMK001>\n </view>\n\n <ServiceTipsWord />\n\n <view\n class=\"area-msg-list-content\"\n v-for=\"item in chatMsgList\"\n :key=\"item.msgId\"\n :id=\"item.msgId\"\n >\n <template v-if=\"item.msgType === MessageRole.AI\">\n <ChatCardAI class=\"message-item message-item-ai\" :text=\"item.msg\">\n <image\n v-if=\"\n item.msgContent && item.msgContent.type === MessageType.IMAGE\n \"\n src=\"/static/logo.png\"\n style=\"width: 100px; height: 100px\"\n ></image>\n <OneFeelMK001></OneFeelMK001>\n </ChatCardAI>\n </template>\n\n <template v-else-if=\"item.msgType === MessageRole.ME\">\n <ChatCardMine\n class=\"message-item message-item-mine\"\n :text=\"item.msg\"\n >\n </ChatCardMine>\n </template>\n <template v-else>\n <text class=\"message-item message-item-other\">{{ item.msg }}</text>\n </template>\n </view>\n\n <!-- 底部锚点(用于滚动到底部) -->\n <view :id=\"lastMsgId\"></view>\n </scroll-view>\n\n <!-- 输入框区域 -->\n <view class=\"footer-area\">\n <ChatMoreTips @replySent=\"handleReply\"></ChatMoreTips>\n <ChatQuickAccess @replySent=\"handleReply\"></ChatQuickAccess>\n\n <view class=\"area-input\">\n <!-- 发送语音 -->\n <view class=\"input-container-voice\">\n <image src=\"/static/input_voice_icon.png\"></image>\n </view>\n <!-- 输入框 -->\n <textarea\n class=\"textarea\"\n type=\"text\"\n placeholder=\"快速订票,呼叫服务\"\n cursor-spacing=\"65\"\n confirm-type=\"done\"\n v-model=\"inputMessage\"\n @confirm=\"sendMessage\"\n @touchend=\"handleNoHideKeyboard\"\n :confirm-hold=\"true\"\n auto-height\n :show-confirm-bar=\"false\"\n :hold-keyboard=\"holdKeyboard\"\n maxlength=\"300\"\n />\n <view class=\"input-container-send\" @click=\"sendMessage\">\n <image src=\"/static/input_send_icon.png\"></image>\n </view>\n </view>\n </view>\n </view>\n </view>\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted, getCurrentInstance, nextTick } from \"vue\";\nimport { ref, watch } from \"vue\";\nimport { defineEmits } from \"vue\";\nimport { onLoad } from \"@dcloudio/uni-app\";\nimport ChatTopBanner from \"./ChatTopBanner.vue\";\nimport ChatTopBgImg from \"./ChatTopBgImg.vue\";\nimport ChatTopNavBar from \"./ChatTopNavBar.vue\";\nimport ChatCardAI from \"./ChatCardAI.vue\";\nimport ChatCardMine from \"./ChatCardMine.vue\";\nimport ChatQuickAccess from \"./ChatQuickAccess.vue\";\nimport ChatMoreTips from \"./ChatMoreTips.vue\";\nimport { MessageRole, ChatModel, MessageType } from \"../../model/ChatModel\";\nimport OneFeelMK001 from \"../module/OneFeelMK001.vue\";\nimport ServiceTipsWord from \"@/components/ServiceTipsWord/index.vue\";\n\nconst instance = getCurrentInstance(); // 获取当前组件实例\n\n// 导航栏相关\nconst statusBarHeight = ref(20);\nconst navBgColor = ref(\"rgba(66, 173, 249, 0)\");\nconst navOpacity = ref(0);\n\nconst timer = ref(null);\nconst holdKeyboard = ref(false); // focus时,点击页面的时候不收起键盘\nconst holdKeyboardFlag = ref(true); // 是否在键盘弹出,点击界面时关闭键盘\n\nconst cLine truncated