141 lines
5.8 KiB
JavaScript
141 lines
5.8 KiB
JavaScript
$.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 ;
|