Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-ai-chat
提交
19433db4
U
uni-ai-chat
项目概览
DCloud
/
uni-ai-chat
通知
893
Star
11
Fork
8
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
2
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-ai-chat
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
2
Issue
2
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
19433db4
编写于
5月 15, 2023
作者:
DCloud_JSON
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.0.10修复 Vue3-web-pc端 回车不能发送消息的问题(临时兼容方案,后续textarea组件不支持@keydown的问题修复后会调整)
上级
0f590141
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
38 addition
and
5 deletion
+38
-5
changelog.md
changelog.md
+2
-0
package.json
package.json
+1
-1
pages/chat/chat.vue
pages/chat/chat.vue
+33
-1
uniCloud-aliyun/cloudfunctions/uni-ai-chat/index.obj.js
uniCloud-aliyun/cloudfunctions/uni-ai-chat/index.obj.js
+2
-3
未找到文件。
changelog.md
浏览文件 @
19433db4
## 1.0.10(2023-05-15)
-
修复 Vue3-web-pc端 回车不能发送消息的问题(临时兼容方案,后续textarea组件不支持@keydown的问题修复后会调整)
## 1.0.9(2023-05-15)
## 1.0.9(2023-05-15)
-
修复 非流式模式 uni-ai默认服务商 检测到内容涉及违规后 卡住的问题
-
修复 非流式模式 uni-ai默认服务商 检测到内容涉及违规后 卡住的问题
## 1.0.8(2023-05-15)
## 1.0.8(2023-05-15)
...
...
package.json
浏览文件 @
19433db4
{
{
"id"
:
"uni-ai-chat"
,
"id"
:
"uni-ai-chat"
,
"name"
:
"uni-ai-chat"
,
"name"
:
"uni-ai-chat"
,
"version"
:
"1.0.
9
"
,
"version"
:
"1.0.
10
"
,
"description"
:
"基于uni-ai的聊天示例项目,支持流式、支持前文总结,云端一体"
,
"description"
:
"基于uni-ai的聊天示例项目,支持流式、支持前文总结,云端一体"
,
"main"
:
"main.js"
,
"main"
:
"main.js"
,
"scripts"
:
{
"scripts"
:
{
...
...
pages/chat/chat.vue
浏览文件 @
19433db4
...
@@ -190,9 +190,40 @@
...
@@ -190,9 +190,40 @@
},
matches
=>
{
},
matches
=>
{
this
.
isWidescreen
=
matches
;
this
.
isWidescreen
=
matches
;
})
})
// #endif
// 兼容 Vue3下textarea不支持@keydown
// #ifdef H5 && VUE3
//获得消息输入框对象
let
adjunctKeydown
=
false
const
textareaDom
=
document
.
querySelector
(
'
.textarea-box textarea
'
);
if
(
textareaDom
)
{
//键盘按下时
textareaDom
.
onkeydown
=
e
=>
{
// console.log('onkeydown', e.keyCode)
if
([
16
,
17
,
18
,
93
].
includes
(
e
.
keyCode
))
{
//按下了shift ctrl alt windows键
adjunctKeydown
=
true
;
}
if
(
e
.
keyCode
==
13
&&
!
adjunctKeydown
)
{
// 延迟兼容 v-model的时机小于onkeydown的问题
setTimeout
(()
=>
{
this
.
beforeSendMsg
();
},
100
);
}
};
textareaDom
.
onkeyup
=
e
=>
{
//松开adjunct键
if
([
16
,
17
,
18
,
93
].
includes
(
e
.
keyCode
))
{
adjunctKeydown
=
false
;
}
};
}
// #endif
// #endif
},
},
methods
:
{
methods
:
{
// #ifdef H5 && VUE2
onKeydown
(
keyname
){
onKeydown
(
keyname
){
if
(
keyname
==
'
shift
'
){
if
(
keyname
==
'
shift
'
){
//按下了shift键
//按下了shift键
...
@@ -211,6 +242,7 @@
...
@@ -211,6 +242,7 @@
shiftKeyPressed
=
false
;
shiftKeyPressed
=
false
;
}
}
},
},
// #endif
// 此(惰性)函数,检查是否开通uni-push;决定是否启用enableStream
// 此(惰性)函数,检查是否开通uni-push;决定是否启用enableStream
async
checkIsOpenPush
()
{
async
checkIsOpenPush
()
{
try
{
try
{
...
@@ -538,7 +570,7 @@
...
@@ -538,7 +570,7 @@
this
.
showLastMsg
()
this
.
showLastMsg
()
})
})
}
else
{
}
else
{
console
.
log
(
'
用户点击了清空按钮,跳过前一次请求的回调
'
,
res
.
data
.
reply
);
console
.
log
(
'
用户点击了清空按钮,跳过前一次请求的回调
。内容:
'
,
res
.
data
.
reply
);
}
}
}
}
})
})
...
...
uniCloud-aliyun/cloudfunctions/uni-ai-chat/index.obj.js
浏览文件 @
19433db4
...
@@ -57,7 +57,7 @@ module.exports = {
...
@@ -57,7 +57,7 @@ module.exports = {
}
}
// 从配置中心获取内容安全配置
// 从配置中心获取内容安全配置
console
.
log
(
'
config.contentSecurity
'
,
config
.
contentSecurity
);
//
console.log('config.contentSecurity',config.contentSecurity);
if
(
config
.
contentSecurity
)
{
if
(
config
.
contentSecurity
)
{
// 引入uni-sec-check模块
// 引入uni-sec-check模块
const
UniSecCheck
=
safeRequire
(
'
uni-sec-check
'
)
const
UniSecCheck
=
safeRequire
(
'
uni-sec-check
'
)
...
@@ -117,13 +117,12 @@ module.exports = {
...
@@ -117,13 +117,12 @@ module.exports = {
console
.
log
(
'
contentString
'
,
contentString
);
console
.
log
(
'
contentString
'
,
contentString
);
// 对contentString进行文本安全检测
// 对contentString进行文本安全检测
await
this
.
textSecCheck
(
contentString
)
await
this
.
textSecCheck
(
contentString
)
}
}
}
}
},
},
async
_after
(
error
,
result
)
{
async
_after
(
error
,
result
)
{
// 打印错误和结果
// 打印错误和结果
console
.
log
(
'
_after
'
,{
error
,
result
});
//
console.log('_after',{error,result});
// 如果有错误
// 如果有错误
if
(
error
){
if
(
error
){
// 如果是内容安全检测错误
// 如果是内容安全检测错误
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录