xunfeiAI/test.js

141 lines
5.8 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

$.ajax({
                url: host,
                data: data,
                type: "POST",
                dataType: "json",
                headers: headers,
                complete: () => {
                    let message = ai.lastMessage(chat);
                    if (!chat.loading || message.id !== lastId) {
                        return;
                    }
                    chat.lastChunkIndex = 0;
                    chat.loading = false;
                    lastMessage.completed = true;
                    ai.saveData();
                },
                success: function (res) {
                    let message = ai.lastMessage(chat);
                    if (!chat.loading || message.id !== lastId) {
                        return;
                    }
                    if (res && res.error && res.error.message) {
                        ai.lastMessage(chat).choices[0].delta.content = res.error.message;
                    } else if (res && res.data && res.data[0] && res.data[0].url) {
                        ai.lastMessage(chat).choices[0].delta.content = `![](${res.data[0].url})`;
                    } else {
                        console.log(res);
                    }
                },
                xhr: this.xhrOnProgress(function (event) {
                    let message = ai.lastMessage(chat);
                    // 已经取消
                    if (!chat.loading || message.id !== lastId) {
                        return;
                    }
                    const xhr = event.target;
                    const {responseText} = xhr;
                    let thunks = responseText.substring(chat.lastChunkIndex);
                    chat.lastChunkIndex = responseText.length;
                    const arr = thunks.split("\n");
                    arr.forEach(function (chunk) {
                        if (chunk === "") return;
                        chunk = chunk.substring(6).trim();
                        if (chunk === "" || chunk === "[DONE]") return;
                        tr
// uni.request({
// url: 'https://ceshi-worker-task.lihaink.cn/api/xun_fei/chat?content=uniapp中js的回调有哪些',
// method: 'GET',
// responseType: 'arraybuffer',
// success: res => {
// console.log(res);
// },
// fail: err => {
// // 处理请求失败
// console.error(err);
// }
// });
// let that = this;
// this.talkList.push({
// "id":new Date().getTime(),
// "content":'',
// "type":2,
// "pic":"/static/avatar.png"
// });
// var xhr = new XMLHttpRequest();
// xhr.open('GET', 'https://ceshi-worker-task.lihaink.cn/api/xun_fei/chat?content=uniapp中js的回调有哪些', true); // 设置请求方法、URL 和是否异步
// xhr.setRequestHeader('Content-Type', 'application/json'); // 设置请求头
// xhr.onreadystatechange = function() {
// console.log('请求成功:', xhr.responseText);
// that.talkList[that.talkList.length-1].content += xhr.responseText;
// };
// xhr.send();
// fetch('https://ceshi-worker-task.lihaink.cn/api/xun_fei/chat?content=uniapp中js的回调有哪些')
// .then(response => response.body)
// .then(data => {
// // 在这里处理返回的数据
// console.log(data);
// })
// .catch(error => {
// // 在这里处理请求错误
// console.error(error);
// });
// let that = this;
// this.talkList.push({
// "id":new Date().getTime(),
// "content":'',
// "type":2,
// "pic":"/static/avatar.png"
// });
// axios({
// method: 'get',
// url: 'https://ceshi-worker-task.lihaink.cn/api/xun_fei/chat?content=uniapp中js的回调有哪些',
// responseType: 'text'
// })
// .then(response => {
// response.data.on('data', (chunk) => {
// // 处理流数据的逻辑
// console.log(chunk);
// });
// response.data.on('end', () => {
// // 数据接收完成的逻辑
// console.log('完成');
// });
// });
// fetch('https://ceshi-worker-task.lihaink.cn/api/xun_fei/chat?content=uniapp中js的回调有哪些') // 通过fetch获取一个Response对象
// .then(response => response.body.getReader()) // 获取ReadableStreamDefaultReader对象
// .then(reader => {
// function read() {
// return reader.read().then(({ done, value }) => {
// if (done) {
// console.log('读取完成');
// return;
// }
// const decoder = new TextDecoder();
// console.log(decoder.decode(value));
// that.talkList[that.talkList.length-1].content += decoder.decode(value);
// // console.log(value); // 输出读取到的数据
// // 继续读取下一块数据
// return read();
// });
// }
// return read(); // 开始读取数据
// })
// .catch(error => console.error(error));
// return ;