<%
  const {
    appType, isWeAppHost, title, env, publishEnv,
    assetsUrl, cdnBase, hostAppName, useVersionEngine,
    heads, bodies, pages, debug, layout, reactVersion,
    weAppHostCSS, weAppHostJS, reactUrl, reactDOMUrl
  } = htmlWebpackPlugin.options
%>
<%
const jsFileMap = {
  polyfill: '//gw.alipayobjects.com/as/g/component/babel-polyfill/6.20.0/polyfill.min.js',
  react: reactUrl,
  reactDOM: reactDOMUrl,
  moment: "//gw.alipayobjects.com/os/lib/moment/2.24.0/min/moment.min.js",
  momentLocale: "//gw.alipayobjects.com/os/lib/moment/2.24.0/locale/zh-cn.js",
  antd: '//gw.alipayobjects.com/os/lib/antd/3.25.2/dist/antd-with-locales.js',
  antDesignIcons: "//gw.alipayobjects.com/os/lib/ant-design/icons/2.1.1/lib/umd.js",
  saasFetch: "//gw.alipayobjects.com/os/mentor/saas-fetch/2.0.9/umd/saas-fetch-min.js",
  saasFetchChoice: "//gw.alipayobjects.com/os/mentor/saas-fetch-choice/1.0.2/umd/saas-fetch-choice-min.js",
  systemjs: "//gw.alipayobjects.com/os/lib/systemjs/6.1.4/dist/system.min.js",
  systemjsNamedRegister: "//gw.alipayobjects.com/os/lib/systemjs/6.1.4/dist/extras/named-register.min.js",
  systemReact: "//g.alicdn.com/code/npm/@alife/system-react/1.0.1/library/umd/react-min.js",
  systemReactDOM: "//g.alicdn.com/code/npm/@alife/system-react-dom/1.0.0/library/umd/react-dom-min.js",
  systemAntd: "//g.alicdn.com/code/npm/@alife/system-antd/1.0.1/library/umd/antd-min.js",
  systemAntDesignIcons: "//g.alicdn.com/code/npm/@alife/system-ant-design-icons/1.0.1/library/umd/ant-design-icons-min.js",
  systemSaaSFetch: "//g.alicdn.com/code/npm/@alife/system-saas-fetch/1.0.0/library/umd/saas-fetch-min.js",
}
if(['pre', 'prod'].indexOf(publishEnv) === -1) {
  jsFileMap.systemjs = '//gw.alipayobjects.com/os/lib/systemjs/6.1.4/dist/system.js';
  jsFileMap.systemjsNamedRegister = '//gw.alipayobjects.com/os/lib/systemjs/6.1.4/dist/extras/named-register.js';
}
if (reactVersion === 'latest') {
  jsFileMap.weAppReact = "//gw.alipayobjects.com/os/lib/saasfe/we-app-react/1.0.2/library/umd/we-app-react-min.js";
  jsFileMap.systemWeAppReact = "//gw.alipayobjects.com/os/mentor/system-we-app-react/1.0.0/umd/we-app-react-min.js";
}
const jsFiles = Object.keys(jsFileMap).map((key) => jsFileMap[key])
%>
<!DOCTYPE html>
<html lang="zh">
  <head>
    <title><%= title %></title>
    <meta charset="utf-8" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="format-detection" content="email=no" />
    <%
      for(let i = 0; i < jsFiles.length; i++) {
    %>
    <link rel="preload" href="<%= jsFiles[i] %>" as="script" crossorigin="anonymous">
    <% } %>
    <link rel="shortcut icon" href="//cdn.choicesaas.cn/web/dist/favicon/favicon.ico" type="image/x-icon" />
    <link rel="stylesheet" href="//at.alicdn.com/t/font_825912_8drbhr0dp7i.css" />
    <link rel="stylesheet" href="//gw.alipayobjects.com/os/lib/antd/3.25.2/dist/antd.css" />
    <% for(let i = 0; i < heads.length; i++) { %>
    <%= heads[i] %>
    <% } %>
    <% if(isWeAppHost && publishEnv !== 'local') { %>
    <link rel="stylesheet" href="<%= assetsUrl %>index.css" />
    <% } %>
    <% if(!isWeAppHost && publishEnv === 'local' && weAppHostCSS.length > 0) { %>
    <% for(let i = 0; i < weAppHostCSS.length; i++) { %>
    <link rel="stylesheet" href="<%= weAppHostCSS[i] %>" />
    <% } %>
    <% } %>
    <%
      for(let i = 0; i < jsFiles.length; i++) {
    %>
    <script src="<%= jsFiles[i] %>" crossorigin="anonymous"></script>
    <% } %>
  </head>
  <body>
    <% if(publishEnv === 'local') { %>
    <!-- <%= JSON.stringify(htmlWebpackPlugin, null, 2) %> -->
    <% } %>
    <script>
      window.env = '<%= env %>';
      window.publishEnv = '<%= publishEnv %>';
      window.cdnBase = '<%= cdnBase %>';
      window.hostAppName = '<%= hostAppName %>';
      <% if(!isWeAppHost && publishEnv === 'local') { %>
      window[Symbol.for('WeAppList')] = [
        <% if (layout) { %>
        '<%= layout %>',
        <% } %>
        '/app-config.js',
      ];
      <% } else { %>
      window[Symbol.for('WeAppList')] = '<%= hostAppName %>';
      <% } %>
    </script>
    <% for(let i = 0; i < bodies.length; i++) { %>
    <%= bodies[i] %>
    <% } %>
    <% if(!isWeAppHost && publishEnv === 'local' && weAppHostJS.length > 0) { %>
    <% for(let i = 0; i < weAppHostJS.length; i++) { %>
    <script src="<%= weAppHostJS[i] %>" crossorigin="anonymous"></script>
    <% } %>
    <% } %>
    <% if(isWeAppHost && publishEnv !== 'local') { %>
    <% if(useVersionEngine) { %>
    <script src="<%= assetsUrl %>version-engine.js" crossorigin="anonymous"></script>
    <% } else { %>
    <script src="<%= assetsUrl %>index.js" crossorigin="anonymous"></script>
    <% } %>
    <% } %>
  </body>
</html>
