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

问题展现

功能背景

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

相关推荐
洋不写bug1 小时前
HTTP(二):万字解析HTTP交互的请求、响应报文格式
网络协议·http·交互·postman·请求格式·响应格式·restful规范
特立独行的猫A1 小时前
仓颉语言实现的Harness: 一口气派三个子代理,cjh 的并发不是“多线程“,是“进程树“
前端·harmonyos
Dumbness1 小时前
农历转换的 4 个边界:2 月 30 日能转出"正月十四"、小月没有三十、闰月、立春到春节之间的干支
前端·javascript
不可能片场1 小时前
工程实践 日志文件名是北京日期 内容却是 UTC
前端·electron
系统集成-鹰翔1 小时前
ERP接口月度统计少了零单月份:SQLite分组与最近三个月均值排查
javascript·数据库·经验分享·后端
徐小夕1 小时前
JitWord 4.3 发布!Word 内嵌 Visio 图表、原生流程图一键无损解析
前端·vue.js·github
挖掘狂人1 小时前
全栈正在杀死前端?被淘汰的从来不是岗位,只会是执行层
前端·ai编程·全栈
sycmancia1 小时前
Qml——Button元素
前端
codigger2 小时前
前端没有被杀死,被杀死的是"只会把设计稿变成页面"
前端·ai·ai编程·编程语言·全栈·#人工智能
艺杯羹2 小时前
本地优先架构避坑:从重度云端依赖到客户端算力下沉与边缘自治实战
前端·系统架构·本地优先