const requestTask = uni.request({ url: 'https://maas-api.cn-huabei-1.xf-yun.com/v1/chat/completions', method: "POST", data: { "model": "xdeepseekv3", "messages": [{"role": "user","content": "cehsi"}], "stream": true }, header: { 'Content-Type': 'application/json', 'Authorization': 'Bearer 你的apikey, }, enableChunked: true, // 开启分片接收 responseType: 'arraybuffer', // 数据格式 success: (res) => { console.log("0",res.data); }, fail: (error) => { } }); requestTask.onChunkReceived (res => { let mesg = this.decode(res.data) if (mesg) { console.log("分片接收",mesg); } }) // 解析数据方法 decodeUTF8(data) { // 将二进制数据转为Uint8数组 const uint8Array = new Uint8Array(data); // 传统方式转换字符串(兼容旧环境) let string = ''; for (let i = 0; i < uint8Array.length; i++) { string += String.fromCharCode(uint8Array[i]); } // 双重解码处理特殊字符(如中文) return decodeURIComponent(escape(string)); } decode(data) { const text = this.decodeUTF8(data); const lines = text.split('\n'); let result = ''; for (let line of lines) { if (line.startsWith('data: ')) { const jsonData = line.slice(6).trim(); // 结束标识处理 if (jsonData === '[DONE]') return result; // 清理控制字符(防止JSON解析失败) const cleanedData = jsonData.replace(/[\u0000-\u001F\u007F-\u009F]/g, ''); try { const parsedData = JSON.parse(cleanedData); // 提取AI生成内容 result += parsedData.choices[0].delta.content || ''; } catch (e) { console.error('解析失败:', e); } } } return result; },