diff --git a/CHANGELOG.md b/CHANGELOG.md
index e518712..47ec4cd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,25 @@
+## v2.8.0
+
+`2023-02-27`
+
+- 感谢 [puppywang](https://github.com/Chanzhaoyu/chatgpt-web/commit/628187f5c3348bda0d0518f90699a86525d19018) 修复了 `2.7.0` 版本中关于流输出数据的问题(使用 `nginx` 需要自行配置 `octet-stream` 相关内容)
+
+- 关于为什么使用 `octet-stream` 而不是 `sse`,是因为更好的兼容之前的模式。
+
+- 建议更新到此版本获得比较完整的体验
+
+### Enhancement
+- 优化了部份代码和类型提示
+- 输入框添加换行提示
+- 移动端输入框现在回车为换行,而不是直接提交
+- 移动端双击标题返回顶部,箭头返回底部
+
+### BugFix
+- 流输出数据下的问题[#122]
+- 修复了 `API Key` 下部份代码不换行的问题
+- 修复移动端深色模式部份样式问题[#123][#126]
+- 修复主题模式图标不一致的问题[#126]
+
## v2.7.3
`2023-02-25`
diff --git a/README.md b/README.md
index 780d8b6..6fb48c6 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,8 @@
> 使用 `express` 和 `vue3` 搭建的支持 `ChatGPT` 双模型演示网页
-![cover](./docs/c1.png)
-![cover2](./docs/c2.png)
+![cover](./docs/c1-2.8.0.png)
+![cover2](./docs/c2-2.8.0.png)
- [ChatGPT Web](#chatgpt-web)
- [介绍](#介绍)
@@ -30,6 +30,7 @@
- [前端网页](#前端网页-1)
- [常见问题](#常见问题)
- [参与贡献](#参与贡献)
+ - [赞助](#赞助)
- [License](#license)
## 介绍
@@ -44,6 +45,8 @@
1. `ChatGPTAPI` 使用 `text-davinci-003` 通过官方`OpenAI`补全`API`模拟`ChatGPT`(最稳健的方法,但它不是免费的,并且没有使用针对聊天进行微调的模型)
2. `ChatGPTUnofficialProxyAPI` 使用非官方代理服务器访问 `ChatGPT` 的后端`API`,绕过`Cloudflare`(使用真实的的`ChatGPT`,非常轻量级,但依赖于第三方服务器,并且有速率限制)
+[查看详情](https://github.com/Chanzhaoyu/chatgpt-web/issues/138)
+
切换方式:
1. 进入 `service/.env` 文件
2. 使用 `OpenAI API Key` 请填写 `OPENAI_API_KEY` 字段 [(获取 apiKey)](https://platform.openai.com/overview)
@@ -255,5 +258,20 @@ A: `vscode` 请安装项目推荐插件,或手动安装 `Eslint` 插件。
+## 赞助
+
+如果你觉得这个项目对你有帮助,并且情况允许的话,可以给我一点点支持,总之非常感谢支持~
+
+
+
+
+
WeChat Pay
+
+
+
+
Alipay
+
+
+
## License
MIT © [ChenZhaoYu](./license)
diff --git a/docs/alipay.png b/docs/alipay.png
new file mode 100644
index 0000000..fa85805
Binary files /dev/null and b/docs/alipay.png differ
diff --git a/docs/c1-2.8.0.png b/docs/c1-2.8.0.png
new file mode 100644
index 0000000..6ffd977
Binary files /dev/null and b/docs/c1-2.8.0.png differ
diff --git a/docs/c2-2.8.0.png b/docs/c2-2.8.0.png
new file mode 100644
index 0000000..f2993d9
Binary files /dev/null and b/docs/c2-2.8.0.png differ
diff --git a/docs/wechat.png b/docs/wechat.png
new file mode 100644
index 0000000..28f6a59
Binary files /dev/null and b/docs/wechat.png differ
diff --git a/package.json b/package.json
index 5ec8aba..29d0ba4 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "chatgpt-web",
- "version": "2.7.3",
+ "version": "2.8.0",
"private": false,
"description": "ChatGPT Web",
"author": "ChenZhaoYu ",
diff --git a/src/views/chat/components/Message/Text.vue b/src/views/chat/components/Message/Text.vue
index c3ea7b4..958437d 100644
--- a/src/views/chat/components/Message/Text.vue
+++ b/src/views/chat/components/Message/Text.vue
@@ -48,8 +48,8 @@ const text = computed(() => {
diff --git a/src/views/chat/index.vue b/src/views/chat/index.vue
index 8760cc2..07d054e 100644
--- a/src/views/chat/index.vue
+++ b/src/views/chat/index.vue
@@ -266,9 +266,11 @@ function handleClear() {
}
function handleEnter(event: KeyboardEvent) {
- if (event.key === 'Enter' && !event.shiftKey) {
- event.preventDefault()
- handleSubmit()
+ if (!isMobile.value) {
+ if (event.key === 'Enter' && !event.shiftKey) {
+ event.preventDefault()
+ handleSubmit()
+ }
}
}
@@ -279,6 +281,12 @@ function handleStop() {
}
}
+const placeholder = computed(() => {
+ if (isMobile.value)
+ return 'Ask me anything...'
+ return 'Ask me anything... (Shift + Enter = line break)'
+})
+
const buttonDisabled = computed(() => {
return loading.value || !prompt.value || prompt.value.trim() === ''
})
@@ -358,7 +366,7 @@ onUnmounted(() => {
v-model:value="prompt"
type="textarea"
:autosize="{ minRows: 1, maxRows: 2 }"
- placeholder="Ask me anything..."
+ :placeholder="placeholder"
@keypress="handleEnter"
/>