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" />