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

问题展现

功能背景

一个坐席详情页面功能,用到, 聊天记录接口与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函数,既这也是生产与开发不一致的罪魁祸首。

相关推荐
小码哥_常几秒前
Android开发秘籍:给图片加上独特水印
前端
坊钰1 分钟前
SpringBean的生命周期
前端·html
happymaker06262 分钟前
vue的基本使用和指令
前端·javascript·vue.js
threerocks5 分钟前
【前端转 Agent】01 | 从 Claude Code 开源热议聊起,不急着转 Python
前端·agent·claude
凉生阿新7 分钟前
【React】从零配置 Git Hooks:提交前自动校验与格式化(Vite + React 19)
前端·git·react.js
英俊潇洒美少年8 分钟前
Vue3 为什么不做 Fiber / 并发渲染?
前端·javascript·vue.js
早已忘记1 小时前
CI相关项
java·前端·ci/cd
freewlt8 小时前
前端性能优化实战:从 Lighthouse 分数到用户体验的全面升级
前端·性能优化·ux
小小亮018 小时前
Next.js基础
开发语言·前端·javascript
华洛8 小时前
我用AI做了一个48秒的真人精品漫剧,不难也不贵
前端·javascript·后端