<!--BEGIN-->
<!--<% var { env: $env, process: $process, mode: $mode, builtInfo: $builtInfo, links: $links, redirectLogin: $redirectLogin, framework: $framework, scripts: $scripts, element: $element } = htmlWebpackPlugin.options %>-->
<!--<% var { appKey: $appKey, antd: $antd, basename: $basename, API_HOST: $API_HOST } = $process %>-->
<!--<% var { ['ant-prefix']: $antPrefix, fontFamily: $fontFamily, colorPrimary: $colorPrimary, borderRadius: $borderRadius } = $antd %>-->
<!--NED-->
<!DOCTYPE html>
<html lang="zh">

<head data-built-info="<%= $builtInfo %>">
  <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.0,maximum-scale=1.0,user-scalable=no,viewport-fit=cover">
  <% for (const item of $links) { %>
    <link type="text/css" rel="stylesheet" href="<%= item %>">
    </link>
    <% } %>
      <title>--</title>
      <script>
        (function () {
          const APP_ENV = {
            antd: {
              'ant-prefix': '<%= $antPrefix %>',
              fontFamily: '<%= $fontFamily %>',
              colorPrimary: '<%= $colorPrimary %>',
              borderRadius: parseInt('<%= $borderRadius %>')
            },
            appKey: '<%= $appKey %>',
            basename: '<%= $basename %>',
            API_HOST: '<%= $API_HOST %>'
          };
          const injectedApiHost = APP_ENV.API_HOST;
          const isDev = '<%= $mode %>' === '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: '<%= $mode %>'
          };
          window.__JJB_ENVIRONMENT__ = {
            API_HOST: APP_ENV.API_HOST,
            redirect: '<%= $redirectLogin %>',
            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();
            }
          });
        })();
        window.jjbCommonGlobalConfig = {
          // http拦截器
          httpInterceptor: {
            // 请求拦截
            request: (url, method, params, headers) => {
              // 处理你的请求拦截

              // 给请求头添加一个租户ID
              if(sessionStorage.getItem('orgInfoId')){
                headers.orgInfoId = sessionStorage.getItem('orgInfoId');
              }

              return Promise.resolve([
                url,
                method,
                params,
                headers
              ])
            },
           
          }
        }
      </script>
      <!--  SCRIPTS  -->
      <% for (const item of $scripts) { %>
        <script src="<%= item %>" type="text/javascript"></script>
        <% } %>
</head>

<body>
  <!-- NOSCRIPT -->
  <noscript>此网页需要开启JavaScript功能。</noscript>
  <!-- MAIN -->
  <% const { root }=$element; %>
    <div id="<%= root.id %>" style="width: 100%; height: 100%; position: relative;overflow-y: auto"></div>
</body>

</html>