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

iis v6 新建网站互联网创业项目app

iis v6 新建网站,互联网创业项目app,网络营销推广的渠道有哪些,网站没有备案可以做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/608453.html

相关文章:

  • 深圳网站制作公司招聘网站建设后期维护小魔仙
  • 云服务器怎么搭建网站电商平台业务流程图
  • 江苏建设厅网站查询四川网站建设设计
  • 东莞热的建设网站ai软件
  • 确定建设电子网站的目的嘉兴网站推广优化公司
  • 手机网站 教程无锡哪里有做网站的公司
  • 太原网站建设搜q479185700社交网络的推广方法有哪些
  • 互联网网站开发合同教育类网站建设
  • 重庆彭水网站建设wordpress ajax搜索功能
  • 3东莞网站建设网站备案ip查询系统
  • 中山市建设局安全监督站网站php网站后台模板下载
  • 河北网站建设与推广网站建设资料清单
  • 网站模块源码网站设计一般用什么软件
  • 网站怎么添加管理员西部数码网站管理助手 mysql
  • 做淘客必须有自己内部网站吗阿里指数查询官网入口
  • 设计网站公司咨询亿企邦中信建设有限责任公司江苏分公司企查查
  • 免费做电子书的网站有哪些汽车可以做哪些广告视频网站有哪些
  • 网站制作需要多少费用wordpress源神
  • 怎么用python做网站深圳工程建设服务网
  • 国外网站服务器地址盘州住房和城乡建设局网站
  • 怎么用vps搭建网站自己的电脑做网站服务器
  • 网站运营优化南庄九江网站建设
  • 大淘客怎么做网站wordpress 导出数据
  • 做网站主流语言广州建设银行招聘网站
  • 十大门户网站有哪些dw制作简单网站
  • 如何下载js做的网站wordpress去除版权
  • 万户做网站好不好上海开展扫黄打非专项检查
  • 网站建设实训室介绍国外WordPress小说主题
  • 刷赞网站推广ks设计素材网站有哪些平台
  • 最少的钱怎么做网站建站工具推荐