diff --git a/common/changes/@coze/api/feat-taro-multi_2025-02-06-01-53.json b/common/changes/@coze/api/feat-taro-multi_2025-02-06-01-53.json new file mode 100644 index 00000000..8ec89d1b --- /dev/null +++ b/common/changes/@coze/api/feat-taro-multi_2025-02-06-01-53.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze/api", + "comment": "fix version", + "type": "patch" + } + ], + "packageName": "@coze/api", + "email": "yjfengwen@foxmail.com" +} diff --git a/common/changes/@coze/taro-api/feat-taro-multi_2024-12-23-08-11.json b/common/changes/@coze/taro-api/feat-taro-multi_2024-12-23-08-11.json new file mode 100644 index 00000000..8ab30b1f --- /dev/null +++ b/common/changes/@coze/taro-api/feat-taro-multi_2024-12-23-08-11.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze/taro-api", + "comment": "remove multiplatform", + "type": "patch" + } + ], + "packageName": "@coze/taro-api", + "email": "yjfengwen@foxmail.com" +} diff --git a/common/changes/@coze/taro-api/feat-taro-multi_2024-12-23-13-09.json b/common/changes/@coze/taro-api/feat-taro-multi_2024-12-23-13-09.json new file mode 100644 index 00000000..e37ae364 --- /dev/null +++ b/common/changes/@coze/taro-api/feat-taro-multi_2024-12-23-13-09.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze/taro-api", + "comment": "example", + "type": "patch" + } + ], + "packageName": "@coze/taro-api", + "email": "yjfengwen@foxmail.com" +} diff --git a/common/changes/@coze/taro-api/feat-taro-multi_2024-12-30-11-19.json b/common/changes/@coze/taro-api/feat-taro-multi_2024-12-30-11-19.json new file mode 100644 index 00000000..b2be1c5d --- /dev/null +++ b/common/changes/@coze/taro-api/feat-taro-multi_2024-12-30-11-19.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze/taro-api", + "comment": "modify api", + "type": "patch" + } + ], + "packageName": "@coze/taro-api", + "email": "yjfengwen@foxmail.com" +} diff --git a/common/changes/@coze/taro-api/feat-taro-multi_2024-12-31-02-23.json b/common/changes/@coze/taro-api/feat-taro-multi_2024-12-31-02-23.json new file mode 100644 index 00000000..90a9ddb0 --- /dev/null +++ b/common/changes/@coze/taro-api/feat-taro-multi_2024-12-31-02-23.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze/taro-api", + "comment": "weapp", + "type": "patch" + } + ], + "packageName": "@coze/taro-api", + "email": "yjfengwen@foxmail.com" +} diff --git a/common/changes/@coze/taro-api/feat-taro-multi_2025-01-22-10-14.json b/common/changes/@coze/taro-api/feat-taro-multi_2025-01-22-10-14.json new file mode 100644 index 00000000..f6314af7 --- /dev/null +++ b/common/changes/@coze/taro-api/feat-taro-multi_2025-01-22-10-14.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze/taro-api", + "comment": "expose response error", + "type": "minor" + } + ], + "packageName": "@coze/taro-api", + "email": "yjfengwen@foxmail.com" +} diff --git a/common/changes/@coze/taro-api/feat-taro-multi_2025-02-05-03-02.json b/common/changes/@coze/taro-api/feat-taro-multi_2025-02-05-03-02.json new file mode 100644 index 00000000..2fdedb42 --- /dev/null +++ b/common/changes/@coze/taro-api/feat-taro-multi_2025-02-05-03-02.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze/taro-api", + "comment": "fix testcase", + "type": "patch" + } + ], + "packageName": "@coze/taro-api", + "email": "yjfengwen@foxmail.com" +} diff --git a/common/changes/@coze/taro-api/feat-taro-multi_2025-02-05-07-16.json b/common/changes/@coze/taro-api/feat-taro-multi_2025-02-05-07-16.json new file mode 100644 index 00000000..2db4f32f --- /dev/null +++ b/common/changes/@coze/taro-api/feat-taro-multi_2025-02-05-07-16.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze/taro-api", + "comment": "update version", + "type": "patch" + } + ], + "packageName": "@coze/taro-api", + "email": "yjfengwen@foxmail.com" +} diff --git a/common/changes/@coze/taro-api/feat-taro-multi_2025-02-06-01-53.json b/common/changes/@coze/taro-api/feat-taro-multi_2025-02-06-01-53.json new file mode 100644 index 00000000..1ee0dd81 --- /dev/null +++ b/common/changes/@coze/taro-api/feat-taro-multi_2025-02-06-01-53.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze/taro-api", + "comment": "fix version", + "type": "patch" + } + ], + "packageName": "@coze/taro-api", + "email": "yjfengwen@foxmail.com" +} diff --git a/examples/coze-js-taro/src/pages/index/index.tsx b/examples/coze-js-taro/src/pages/index/index.tsx index b9171ad6..fa601721 100644 --- a/examples/coze-js-taro/src/pages/index/index.tsx +++ b/examples/coze-js-taro/src/pages/index/index.tsx @@ -1,13 +1,15 @@ import { useState, useRef } from 'react'; import { useLoad } from '@tarojs/taro'; -import { View, Text, Button } from '@tarojs/components'; +import { View, Text, Button, Switch } from '@tarojs/components'; import { CozeAPI, AbortController } from '@coze/taro-api'; import { RoleType, ChatEventType } from '@coze/api'; import './index.css'; export default function Index() { - const [message, setMessage] = useState(''); + const [streaming, setStreaming] = useState(true); + const [streamingMessage, setStreamingMessage] = useState(''); + const [pollingMessage, setPollingMessage] = useState(''); const clientRef = useRef(null); useLoad(() => { @@ -18,9 +20,9 @@ export default function Index() { }); }); - const handleClick = async () => { + const handleStreamingChat = async () => { if (clientRef.current) { - setMessage(''); + setStreamingMessage(''); try { const controller = new AbortController(); // setTimeout(() => { @@ -41,7 +43,7 @@ export default function Index() { ); for await (const chunk of res) { if (chunk.event === ChatEventType.CONVERSATION_MESSAGE_DELTA) { - setMessage(msg => msg + chunk.data.content); + setStreamingMessage(msg => msg + chunk.data.content); } console.log(chunk); } @@ -51,10 +53,62 @@ export default function Index() { } }; + const handlePollingChat = async () => { + if (clientRef.current) { + setPollingMessage(''); + try { + const controller = new AbortController(); + // setTimeout(() => { + // controller.abort(); + // }, 10); + + const { messages = [] } = await clientRef.current.chat.createAndPoll( + { + bot_id: process.env.TARO_APP_COZE_BOT_ID ?? '', + user_id: 'abc', + additional_messages: [ + { role: RoleType.User, content: 'hello', content_type: 'text' }, + ], + }, + { + signal: controller.signal, + }, + ); + setPollingMessage( + (messages || []).reduce((acc, cur) => { + if (cur.type === 'answer') { + acc += cur.content; + } + return acc; + }, ''), + ); + console.log('messages: ', messages); + } catch (e) { + console.log('failed: ', e); + } + } + }; + return ( - - {message} + + setStreaming(evt.detail.value)} + /> + {streaming ? 'streaming' : 'polling'} + + {streaming ? ( + <> + + {streamingMessage} + + ) : ( + <> + + {pollingMessage} + + )} ); } diff --git a/examples/coze-js-taro3/config/index.ts b/examples/coze-js-taro3/config/index.ts index c260c125..33c3cb64 100644 --- a/examples/coze-js-taro3/config/index.ts +++ b/examples/coze-js-taro3/config/index.ts @@ -25,13 +25,7 @@ export default defineConfig(async merge => { options: {}, }, framework: 'vue3', - compiler: { - type: 'webpack5', - prebundle: { - // 1. Don‘t prebundle '@coze/taro-api' - exclude: ['@coze/taro-api'], - }, - }, + compiler: 'webpack5', cache: { enable: false, }, @@ -56,11 +50,6 @@ export default defineConfig(async merge => { }, }, webpackChain(chain) { - // 2. Enable multi-platform support for '@coze/taro-api' - chain.resolve.plugin('MultiPlatformPlugin').tap(args => { - args[2]['include'] = ['@coze/taro-api']; - return args; - }); chain.resolve.plugin('tsconfig-paths').use(TsconfigPathsPlugin); chain.module .rule('taroApiBabel') @@ -100,11 +89,6 @@ export default defineConfig(async merge => { }, }, webpackChain(chain) { - // 2. Enable multi-platform support for '@coze/taro-api' - chain.resolve.plugin('MultiPlatformPlugin').tap(args => { - args[2]['include'] = ['@coze/taro-api']; - return args; - }); chain.resolve.plugin('tsconfig-paths').use(TsconfigPathsPlugin); chain.module .rule('taroApiBabel') diff --git a/examples/coze-js-taro3/src/pages/index/index.vue b/examples/coze-js-taro3/src/pages/index/index.vue index 2cdd2eec..2cad9030 100644 --- a/examples/coze-js-taro3/src/pages/index/index.vue +++ b/examples/coze-js-taro3/src/pages/index/index.vue @@ -1,12 +1,21 @@