当前位置: 首页 > wzjs >正文

百度网盟 网站定向百度不收录网站怎么办

百度网盟 网站定向,百度不收录网站怎么办,比较好的推广平台,宁波外贸seo网站建设通过uniapp开发与大模型对话的微信小程序,并且后端需要通过SSE向小程序返回响应数据。 微信小程序端需要展示响应数据,在这个过程中,数据解析这里踩了不少坑。 uniapp端开发微信小程序时,SSE连接处理的代码如下: con…

通过uniapp开发与大模型对话的微信小程序,并且后端需要通过SSE向小程序返回响应数据。

微信小程序端需要展示响应数据,在这个过程中,数据解析这里踩了不少坑。

uniapp端开发微信小程序时,SSE连接处理的代码如下:

  const initSSE2 = () => {console.log(uni.getStorageSync('token'))requestTask = uni.request({url: 'http://127.0.0.1:8889/connect',timeout: 30000,responseType: 'text',method: 'POST',enableChunked: true, //配置这里header: {Accept: 'text/event-stream','Authorization': uni.getStorageSync('token') //自定义请求头信息},responseType: 'arraybuffer',data: {},success: response => {console.log("success:" + JSON.stringify(response))},fail: error => {console.log("error:" + JSON.stringify(error))}})requestTask.onHeadersReceived((res) => {console.log("header:" + JSON.stringify(res.header));});// 这里监听消息requestTask.onChunkReceived((res) => {const uint8Array = new Uint8Array(res.data);let text = String.fromCharCode.apply(null, uint8Array);text = decodeURIComponent(escape(text));// 将后台通过streaming response返回的消息拼接到消息中messages.value[messages.value.length - 1].content += text;})}

后端返回的数据,在小程序端展示后结果如下: 

从展示效果看,返回的数据都以“data:”开头,而且数据都发生了换行。经过查询资料,了解到SSE返回的数据以"data:"开头,"\n\n"进行结尾,比如上面返回的数据类似这样的格式:

data:你好\n\n

SSE客户端端打印返回的数据:

        requestTask.onChunkReceived((res) => {console.log('响应数据:', res.data)const uint8Array = new Uint8Array(res.data);let text = String.fromCharCode.apply(null, uint8Array);text = decodeURIComponent(escape(text));// 将后台通过streaming response返回的消息拼接到消息中messages.value[messages.value.length - 1].content += text;})

 打印内容如下:

其中,"100 97 116 97 58"表示"data:","10 10"表示"\n\n",而且根据响应数据,我们发现SSE客户端是一次处理一批后端响应的数据。 

于是修改客户端解析数据的逻辑为:

requestTask.onChunkReceived((res) => {console.log('响应数据:', res.data)const uint8Array = new Uint8Array(res.data);let text = String.fromCharCode.apply(null, uint8Array);text = decodeURIComponent(escape(text));console.log('处理前:', text);let info = text.replace(/data:|\n\n/g, '')console.log('处理后:', info)// 将后台通过streaming response返回的消息拼接到消息中messages.value[messages.value.length - 1].content += info;})

其中通过正则表达式替换所有的"data:"和"\n\n"。替换后,展示效果如下:

但是根据后端打印的信息,在"回答:"后面是有换行的,后端输出内容:

这是由于后端返回大模型响应的数据时,需要换行的数据中间也使用了"\n\n",这就和SSE的数据格式产生了冲突。于是我们修改后端返回数据的代码,将"\n\n"替换为"\n":

前后端处理完成后,最终格式如下:

 

http://www.dtcms.com/wzjs/334401.html

相关文章:

  • 专业制作网站电脑西地那非片多少钱一盒
  • 南昌专门做网站的公司上海网络推广外包
  • 如何用flash做网站企业培训计划方案
  • 无锡大型网站建设前端开发
  • 做免费网站怎么赚钱外贸网站推广方法之一
  • 网站制作群系统友情链接检测工具
  • 做铝材的网站今日军事新闻最新消息
  • 网站做推广需要多少钱网站推广的100种方法
  • 网站版面布局设计的原则常德seo招聘
  • 一个好的网站怎样布局seo外包多少钱
  • 北京公司网站制作方法seo站长教程
  • cms官方网站最简单的营销方案
  • 最近国际重大新闻站长seo查询工具
  • 最好永久免费素材网公司官网优化方案
  • ps做的网站免费个人博客网站
  • wordpress默认用户名密码破解南宁百度快速优化
  • 网站建设所需服务器关键词整站优化公司
  • 作风建设方面的网站关键词排名优化易下拉软件
  • java 开发 网站seo关键词优化策略
  • 公司淘宝网站怎么建设的更加好韩国seocaso
  • 二手网站专业做附近人的有吗徐州百度推广总代理
  • 福安网站开发小说推广关键词怎么弄
  • 网站建设基本流程备案普通话手抄报文字内容
  • 数字营销公司排行榜合肥seo关键词排名
  • 长安外贸网站建设公司产品市场推广方案
  • 做b2b网站的人外包网
  • 如果评价网站做的好不好百度推广公司怎么代理到的
  • 做众筹网站需要什么条件免费创建个人博客网站
  • 香港网站区别网络营销成功案例ppt免费
  • 个人免费网页深圳百度首页优化