又遇到生产与开发环境结果不一致问题。。。

问题展现

功能背景

一个坐席详情页面功能,用到, 聊天记录接口与sse连接实时推送聊天记录,该逻辑为

js 复制代码
async useMessageList() {
      if (!this.agentNo) {
        return;
      }

      this.loading = true;
      try {

        const res = await getMessageList({
          agentNo: this.agentNo,
          pageNum: this.pageNum,
          // seachCallId: this.seachCallId,
          pageSize: this.pageSize,
        });

        ...



        this.initSse();
        
      } catch (error) {
        console.error('获取消息列表失败:', error);
        // this.$message.error('获取消息列表失败');
      } finally {
        this.loading = false;
      }
    },
    
     initSse() {
      if (this.wsConnected) {
        return;
      }
      const uuid = crypto.randomUUID();
      this.uuid = uuid;
      const agentNo = `${this.agentNo}:${uuid}`
      
      const wsUrl = 'xxx'
      this.$ws.connect(wsUrl);


    },

问题出在crypto

开发环境上

生产环境上

可见该crypto缺少了部分方法。

crypto详解

在mdn文档中crypto是浏览器原生的加密api,版本要求是

同时也存在一个限制,那就是非localhso与https无法使用randomUUID函数,既这也是生产与开发不一致的罪魁祸首。

相关推荐
NiceCloud喜云16 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
wordbaby16 小时前
React Native + RNOH:跨页面数据回传的最佳实践与避坑指南
前端·react native
GISer_Jing16 小时前
Three.js着色器编译机制深度解析
javascript·webgl·着色器
丷丩16 小时前
MapLibre GL JS第22课:查看本地GeoJSON
前端·javascript·map·mapbox·maplibre gl js
油炸自行车16 小时前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
Front思17 小时前
AI前端工程师需要具备能力+
前端·人工智能·ai
ZC跨境爬虫19 小时前
跟着 MDN 学CSS day_29:(掌握文本与字体样式的核心艺术)
前端·css·ui·html·tensorflow
李子琪。20 小时前
网络空间安全深度实战:CSRF 漏洞原理剖析与基于 Token 的纵深防御体系构建(全栈实验报告)
前端·安全·csrf
冰暮流星20 小时前
javascript之history对象介绍
前端·笔记
IT_陈寒20 小时前
Vite热更新失灵?你可能漏了这个配置
前端·人工智能·后端