提交 d6d134d1 编写于 作者: DCloud_JSON's avatar DCloud_JSON

1.0.11

- 修复 流式响应模式,微信小程序端,部分情况下:消息内容突然变空白的问题
- 优化 uni-ai问题回复完成后,消息输入框自动获取焦点
- 修复 Vue3-web-pc端 敲完回车会先执行换行再发送消息的问题
上级 4feae8a8
## 1.0.11(2023-05-17)
- 修复 流式响应模式,微信小程序端,部分情况下:消息内容突然变空白的问题
- 优化 uni-ai问题回复完成后,消息输入框自动获取焦点
- 修复 Vue3-web-pc端 敲完回车会先执行换行再发送消息的问题
## 1.0.10(2023-05-15)
- 修复 Vue3-web-pc端 回车不能发送消息的问题(临时兼容方案,后续textarea组件不支持@keydown的问题修复后会调整)
## 1.0.9(2023-05-15)
......
......@@ -104,25 +104,25 @@
}
},
computed: {
// 修改转换结果的html值 用于正确给界面增加鼠标闪烁的效果
html() {
nodes() {
let htmlString = ''
// 修改转换结果的htmlString值 用于正确给界面增加鼠标闪烁的效果
// 判断markdown中代码块标识符的数量是否为偶数
if(this.md.split("```").length%2){
return markdownIt.render(this.md + ' \n <span class="cursor">|</span>');
htmlString = markdownIt.render(this.md + ' \n <span class="cursor">|</span>');
}else{
return markdownIt.render(this.md) + ' \n <span class="cursor">|</span>';
htmlString = markdownIt.render(this.md) + ' \n <span class="cursor">|</span>';
}
},
nodes() {
// 为兼容 微信小程序端部分未知情况转换失败的情况,临时方案 先返回 string html
// #ifdef MP-WEIXIN
return this.html
// #ifndef APP-NVUE
return htmlString
// #endif
// #ifndef MP-WEIXIN
// HTML String 类型转换 避免内部转换导致的性能下降。
return parseHtml(this.html)
// nvue模式下将htmlString转成htmlArray,其他情况rich-text内部转
// 注:本示例项目还没使用nvue编译
// #ifdef APP-NVUE
return parseHtml(htmlString)
// #endif
}
},
......
{
"id": "uni-ai-chat",
"name": "uni-ai-chat",
"version": "1.0.10",
"version": "1.0.11",
"description": "基于uni-ai的聊天示例项目,支持流式、支持前文总结,云端一体",
"main": "main.js",
"scripts": {
......
......@@ -48,7 +48,7 @@
<view class="textarea-box">
<textarea v-model="content" :cursor-spacing="15" class="textarea" :auto-height="!isWidescreen"
@keyup.shift="onKeyup('shift')" @keydown.shift="onKeydown('shift')" @keydown.enter="onKeydown('enter')"
:disabled="inputBoxDisabled" :placeholder="placeholderText" :maxlength="-1"
:disabled="inputBoxDisabled" :placeholder="placeholderText" :maxlength="-1" :focus="focus"
placeholder-class="input-placeholder"></textarea>
</view>
<view class="send-btn-box">
......@@ -92,7 +92,8 @@
// 当前屏幕是否为宽屏
isWidescreen: false,
// 广告位id
adpid
adpid,
focus:false
}
},
computed: {
......@@ -125,10 +126,21 @@
},
// 监听msgList变化,将其存储到本地缓存中
watch: {
// #ifdef H5
inputBoxDisabled(val){
this.$nextTick(()=>{
this.focus = !val
console.log('this.focus',this.focus);
})
},
// #endif
msgList: {
handler(msgList) {
// 将msgList存储到本地缓存中
uni.setStorageSync('uni-ai-msg', msgList)
uni.setStorage({
"key":"uni-ai-msg",
"data":msgList
})
},
// 深度监听msgList变化
deep: true
......@@ -208,9 +220,9 @@
}
if (e.keyCode == 13 && !adjunctKeydown) {
// 延迟兼容 v-model的时机小于onkeydown的问题
setTimeout(()=> {
this.content = textareaDom.value
// 执行发送
this.beforeSendMsg();
}, 100);
}
};
textareaDom.onkeyup = e => {
......@@ -384,7 +396,6 @@
}
}
// 检查是否开通uni-push;决定是否启用enableStream
await this.checkIsOpenPush()
......@@ -465,7 +476,7 @@
// console.log('sseChannel',sseChannel);
// 监听message事件
sseChannel.on('message', (message) => {
sseChannel.on('message',(message) => {
// console.log('on message', message);
// 将从云端接收到的消息添加到消息列表中
......@@ -729,6 +740,7 @@
overflow: auto;
/* #endif */
width: 450rpx;
font-size: 14px;
}
/* #ifdef H5 */
......@@ -736,11 +748,11 @@
.textarea-box .textarea::-webkit-scrollbar {
width: 0;
}
/* #endif */
.input-placeholder {
color: #bbb;
line-height: 18px;
}
.trash,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册