ai问答修改

This commit is contained in:
yanghang
2025-07-15 15:55:11 +08:00
parent 63d2c96fa7
commit 20eb2357f5
6 changed files with 47 additions and 44 deletions
+2
View File
@@ -32,6 +32,8 @@
"@dcloudio/uni-quickapp-webview": "3.0.0-4060620250520001",
"crypto-js": "^3.1.9-1",
"markdown-it": "^14.1.0",
"markdown-it-attrs": "^4.3.1",
"markdown-it-highlightjs": "^4.2.0",
"pinia": "^2.3.1",
"terser": "^5.42.0",
"uuid": "^11.1.0",
@@ -7,42 +7,13 @@
<script>
// import {Marked} from 'marked';
import MarkdownIt from 'markdown-it';
import markdownItAttrs from 'markdown-it-attrs'
import markdownItHighlight from 'markdown-it-highlightjs'
export default {
name:"markdown-preview",
props: {
mdString: {
default:`## 我是二级标题
### 我是三级标题
| 我是表头 | 表头 2 |
| :----------- | :----------- |
|1|2|
在客服交流中使用标准术语是提高专业形象和服务质量的重要手段。以下是一些常见的客服标准用语及其适用场景:
1. **问候与介绍:**
- “您好,欢迎来到[公司名称],我是您的客服代表[姓名],很高兴为您服务。”
- “早上好/下午好/晚上好,[公司名称]客服中心,请问有什么可以帮到您的吗?”
2. **确认信息:**
- “为了更好地为您提供服务,能否麻烦您提供一下[具体需要的信息,如订单号、会员账号等]?”
- “我来确认一下,您的问题是关于[问题的具体描述],对吗?”
3. **表达理解与同情:**
- “非常理解您的感受,遇到这种情况确实会让人感到不便/烦恼。”
- “感谢您的耐心等待,我们正在积极处理您的问题。”
4. **解决问题:**
- “针对您提到的问题,我们可以采取[解决方案]的方式解决,您看这样可以吗?”
- “我已经记录了您的反馈,并将尽快转交给相关部门处理,预计[解决时间]内会有结果。”
5. **结束对话:**
- “如果您没有其他问题的话,那我们就先这样吧,祝您生活愉快!”
- “再次感谢您的来电,期待下次为您服务。再见!”
6. **特殊情况处理:**
- “很抱歉给您带来了不愉快的体验,这并不是我们希望发生的事情。我们会立即调查此事,并确保类似情况不再发生。”
- “对于您所反映的情况,我们深感歉意,但根据我们的规定,[解释原因]。不过,我可以尝试帮您寻找其他的解决方案。”
以上是客服交流中常用的标准化语言,实际应用时可根据具体情况适当调整,以保持沟通的真实性和亲和力。`,
default: '',
type: String
}
},
@@ -73,13 +44,31 @@
}
},
mounted(){
this.mdObj = new MarkdownIt()
this.mdObj = new MarkdownIt({
html: true,
linkify: true,
typographer: true
})
this.mdObj.use(markdownItAttrs)
this.mdObj.use(markdownItHighlight)
this.contentHtml = this.parseContent(this.mdString)
console.log(this.contentHtml)
}
}
</script>
<style>
<style scoped lang="scss">
pre{
background-color: #f4f4f4;
padding: 10px;
border-radius: 5px;
overflow: auto;
}
code{
font-family: monospace;
background-color: #e8e8e8;
padding: 2px 4px;
border-radius: 3px;
}
</style>
+1 -1
View File
@@ -5,7 +5,7 @@
<view class="course-center-body">
<view class="body-title">
<!-- @click="test.testApi" -->
<uv-icon class="arrow-icon" name="arrow-left" @click="common.navigateBack()"/>
<uv-icon class="arrow-icon" name="arrow-left" @click="common.switchTab('/pages/index/index')"/>
课程中心
</view>
<view class="input-view" @click="toSearchPage">
+8 -5
View File
@@ -8,7 +8,7 @@
<image src="@/static/images/course/setting.png" alt="" class="image-icon" @click.stop="showChangeBgModelNow"></image>
</view>
<view class="body-title">
<uv-icon class="arrow-icon" name="arrow-left" @click="common.navigateBack()"/>
<uv-icon class="arrow-icon" name="arrow-left" @click="backRouter()"/>
语言选择开启学习之旅
</view>
<view class="voice-list">
@@ -43,7 +43,7 @@
<image src="@/static/images/course/setting.png" alt="" class="image-icon" @click.stop="showChangeBgModelNow"></image>
</view>
<view class="body-title" @click="scrollToBottomNow">
<uv-icon class="arrow-icon" name="arrow-left" @click="common.navigateBack()"/>
<uv-icon class="arrow-icon" name="arrow-left" @click="backRouter()"/>
课程学习
</view>
<view class="study-num">
@@ -317,6 +317,9 @@ const nextStep = () => {
const pgrphNum = ref(1)
const showOrder = ref(0)
const isLastPgrph = ref(false)
const backRouter = ()=>{
common.redirectTo(`/pages/courseDetail/index?crsId=${crsId.value}&crsNum=${crsNum.value}&from=study`)
}
// 获取段落
const getGraphInfoUnStudy = (flag = 0) => {
console.log(isLastPgrph.value)
@@ -334,7 +337,6 @@ const getGraphInfoUnStudy = (flag = 0) => {
requestBody: JSON.stringify(_data)
}).then(res=>{
let _body = res.body|| {}
console.log(_body)
if(!_body.chatBody) {
return
}
@@ -342,10 +344,10 @@ const getGraphInfoUnStudy = (flag = 0) => {
common.show('恭喜你已学完全部知识点', '有什么心得跟我们分享吗?',true, '取消','去评论').then((res) => {
if(res) {
// 去评论
common.navigateTo(`/pages/courseDetail/submit?crsId=${crsId.value}&crsNum=${crsNum.value}&from=study&imgId=${imageId.value}`)
common.redirectTo(`/pages/courseDetail/submit?crsId=${crsId.value}&crsNum=${crsNum.value}&from=study&imgId=${imageId.value}`)
}else{
// 取消
common.navigateTo(`/pages/courseDetail/index?crsId=${crsId.value}&crsNum=${crsNum.value}&from=study`)
common.redirectTo(`/pages/courseDetail/index?crsId=${crsId.value}&crsNum=${crsNum.value}&from=study`)
}
}).finally(() => {})
return
@@ -387,6 +389,7 @@ const getQuestionInfoUnStudy = (pgrphId) => {
.then(res=>{
let _id = new Date().getTime() + 'id'
let _body = res.body || {}
console.log(_body)
if(_body.chatBody && _body.chatBody?.stdyStat !== 'N'){
let _id = new Date().getTime() + 'id'
lastTalkingInfo.value = {
+13 -3
View File
@@ -1,9 +1,19 @@
<template>
<view>答案</view>
<view class="answer-content">
<MarkdownPreview/>
</view>
</template>
<script>
<script setup>
import MarkdownPreview from '@/components/markdown-preview/markdown-preview.vue';
</script>
<style>
<style scoped lang="scss">
.answer-content{
background-color: #fff;
padding: 20rpx;
border-radius: 15rpx;
padding-bottom: 30rpx;
position: relative;
}
</style>
-1
View File
@@ -92,7 +92,6 @@
import { ref } from 'vue'
import common from '@/common/common';
import TouchBtn from '@/pages/course/components/touchBtn.vue'
import MarkdownPreview from '@/components/markdown-preview/markdown-preview.vue';
import TalkingItem from './components/talking-item.vue';
const questionList = ref([
'对公小程序开户流程?',