<!doctype html><html lang="zh"><head data-built-info="@cqsjjb/scripts@2.0.0-rspack.1 Frontend_Env[production] Build_Date[2026/7/3 13:51:08] App_Identifier[safetyEval]"><meta charset="UTF-8"/><meta name="renderer" content="webkit"/><meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1"/><meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"><title>--</title><script>(function () {
      const APP_ENV = {
        antd: {
          'ant-prefix': 'micro-temp',
          fontFamily: 'PingFangSC-Regular',
          colorPrimary: '#1677ff',
          borderRadius: parseInt('2')
        },
        appKey: '',
        basename: 'safetyEval',
        API_HOST: ''
      };
      const injectedApiHost = APP_ENV.API_HOST;
      const isDev = 'production' === 'development';
      // 开发环境优先 jjb.config 注入的 API_HOST，避免 sessionStorage 残留网关地址导致 Network Error
      if (isDev && injectedApiHost && injectedApiHost.indexOf('http') === 0) {
        APP_ENV.API_HOST = injectedApiHost;
      } else {
        APP_ENV.API_HOST = sessionStorage.API_HOST || injectedApiHost || window.location.origin;
      }
      window.process = {
        env: { app: APP_ENV },
        NODE_ENV: 'production'
      };
      window.__JJB_ENVIRONMENT__ = {
        API_HOST: APP_ENV.API_HOST,
        redirect: '',
        FRAMEWORK: APP_ENV.antd
      };
    })();

    // 抑制 ResizeObserver 在页面/标签切换时的无害告警，避免 dev overlay 误报
    (function () {
      if (typeof window.ResizeObserver !== 'undefined') {
        var NativeResizeObserver = window.ResizeObserver;
        window.ResizeObserver = class extends NativeResizeObserver {
          constructor(callback) {
            super(function (entries, observer) {
              window.requestAnimationFrame(function () {
                callback(entries, observer);
              });
            });
          }
        };
      }

      function isResizeObserverLoopError(message) {
        return typeof message === 'string' && message.indexOf('ResizeObserver loop') !== -1;
      }

      function isAxiosNetworkError(reason) {
        if (!reason) return false;
        var msg = typeof reason === 'string' ? reason : (reason.message || '');
        return msg === 'Network Error' || (reason.isAxiosError && msg === 'Network Error');
      }

      window.addEventListener('error', function (event) {
        if (isResizeObserverLoopError(event.message)) {
          event.stopImmediatePropagation();
          event.preventDefault();
        }
      });

      window.addEventListener('unhandledrejection', function (event) {
        if (isAxiosNetworkError(event.reason)) {
          console.warn('[dev] API unreachable:', event.reason?.config?.url || event.reason?.message);
          event.preventDefault();
        }
      });
    })();</script><script defer="defer" src="/safetyEval/static/js/320.52b7a201e2fab018.js"></script><script defer="defer" src="/safetyEval/static/js/121.ae75e71830bf4ae0.js"></script><script defer="defer" src="/safetyEval/static/js/289.f12da2fe2f6ad2ae.js"></script><script defer="defer" src="/safetyEval/static/js/main.c7ee7df8dda8d4ef.js"></script><link href="/safetyEval/static/css/main.f1fe1233254250fd.css" rel="stylesheet"></head><body><noscript>此网页需要开启JavaScript功能。</noscript><div id="root" style="width: 100%; height: 100%; position: relative;overflow-y: auto"></div><script type="text/javascript">/* @cqsjjb/script 输出当前应用基本信息 */console.log("%c@cqsjjb/scripts@2.0.0-rspack.1 Frontend_Env[production] Build_Date[2026/7/3 13:51:08] App_Identifier[safetyEval] Frontend_Branch[dev] Backend_Branch[<branch-name>]", "color: #1890ff; border-radius: 2px; padding: 0 4px; border: 1px solid #1890ff; background: #f9fcff")</script></body></html>