From e6e1408e82981c71a9b349410b2db0ddee9aa610 Mon Sep 17 00:00:00 2001
From: wuhao930406 <1148547900@qq.com>
Date: Mon, 19 Jun 2023 15:35:14 +0800
Subject: [PATCH] asd

---
 .DS_Store                                     | Bin 6148 -> 8196 bytes
 .gitignore                                    |   7 +-
 .sequelizerc                                  |   6 +-
 data/system.json                              |  10 +-
 electron/config/builder.json                  |   4 +-
 electron/config/config.default.js             | 115 +++---
 electron/config/encrypt.js                    |  22 +-
 electron/controller/example.js                |  33 +-
 electron/database/config.json                 |  14 +
 .../migrations/20230616091828-create-user.js  |  31 ++
 electron/model/index.js                       |  44 ++-
 frontend/config/env.js                        |   4 +-
 .../src/.umi-production/core/defineApp.ts     |   4 +-
 frontend/src/.umi-production/core/helmet.ts   |   2 +-
 frontend/src/.umi-production/core/history.ts  |   2 +-
 .../.umi-production/core/historyIntelli.ts    |   2 +-
 frontend/src/.umi-production/core/plugin.ts   |  12 +-
 frontend/src/.umi-production/core/polyfill.ts | 374 +++++++++---------
 frontend/src/.umi-production/core/route.tsx   |   2 +-
 frontend/src/.umi-production/exports.ts       |  10 +-
 .../.umi-production/plugin-model/index.tsx    |   2 +-
 .../src/.umi-production/plugin-model/model.ts |   2 +-
 frontend/src/.umi-production/testBrowser.tsx  |   4 +-
 frontend/src/.umi-production/tsconfig.json    |   2 +-
 frontend/src/.umi-production/umi.ts           |   4 +-
 frontend/src/pages/user/login.jsx             |  11 +-
 package.json                                  |   2 +-
 27 files changed, 394 insertions(+), 331 deletions(-)
 create mode 100644 electron/database/config.json
 create mode 100644 electron/database/migrations/20230616091828-create-user.js

diff --git a/.DS_Store b/.DS_Store
index 8d31a6c91f3a13f054a69efbf08d04786caa0579..d50d699e4f4b14e04b7365a6ebc0f01e9aa018f0 100644
GIT binary patch
delta 282
zcmZoMXmOBWU|?W$DortDU;r^WfEYvza8E20o2aMAD6%nNH}hr%jz7$c**Q2SHn1>?
zOy*(Hjb>p;VMt^sVMz4M$xlwo$xi}lVqjoO2h#KYg8`7mz`zev$B+b6U(Aropa&!i
z8FCmhfx1&sbu%~u9mBU-k42M7mIbIJpCO&07){A~kdnzhY}VR&K=~A)f$<EvU{)zm
zM=H8{Mp>|tRc!o>oBetAGjmCB16}0`^5JGdj_=Hq`9(Y@`}1&cFhV@fusNP*4l@9#
CUpn*v

delta 116
zcmZp1XfcprU|?W$DortDU=RQ@Ie-{Mvv5r;6q~50$SANeU^g?Pz+@f)-Ocj_<d`Nu
z6*AcDE6l_=v7~M>I|qj#Gf*`U2yg=lSCGbyh2NPc^UHXGjA3Ac7zwh4VRJms9A*H=
Co)hc<

diff --git a/.gitignore b/.gitignore
index feaef7d..c1ebb6a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,9 +2,9 @@ node_modules
 /.env.local
 /.umirc.local.ts
 /config/config.local.ts
-/src/.umi
-/src/.umi-production
-/src/.umi-test
+/frontend/src/.umi
+/frontend/src/.umi-production
+*/src/.umi-test
 dist
 .swc
 .history
@@ -18,3 +18,4 @@ data/
 .vscode/launch.json
 public/electron/
 pnpm-lock.yaml
+
diff --git a/.sequelizerc b/.sequelizerc
index e00ac11..fd925de 100644
--- a/.sequelizerc
+++ b/.sequelizerc
@@ -3,8 +3,8 @@
 const path = require("path");
 
 module.exports = {
-  "config": path.join(__dirname, "data/config.json"),
-  "migrations-path": path.join(__dirname, "data/migrations"),
-  "seeders-path": path.join(__dirname, "data/seeders"),
+  "config": path.join(__dirname, "electron/database/config.json"),
+  "migrations-path": path.join(__dirname, "electron/database/migrations"),
+  "seeders-path": path.join(__dirname, "electron/database/seeders"),
   "models-path": path.join(__dirname, "electron/model"),
 };
diff --git a/data/system.json b/data/system.json
index 68ec546..a0614ce 100644
--- a/data/system.json
+++ b/data/system.json
@@ -2,7 +2,7 @@
   "cache": {
     "config": {
       "env": "local",
-      "name": "ee",
+      "name": "standaloneframe",
       "baseDir": "/Users/wuhao/Desktop/demos/standaloneframe/electron",
       "HOME": "/Users/wuhao/Desktop/demos/standaloneframe",
       "rundir": "/Users/wuhao/Desktop/demos/standaloneframe/electron/run",
@@ -11,7 +11,7 @@
       },
       "homeDir": "/Users/wuhao/Desktop/demos/standaloneframe",
       "root": "/Users/wuhao/Desktop/demos/standaloneframe",
-      "appUserDataDir": "/Users/wuhao/Library/Application Support/ee",
+      "appUserDataDir": "/Users/wuhao/Library/Application Support/standaloneframe",
       "userHome": "/Users/wuhao",
       "appVersion": "3.4.0",
       "isPackaged": false,
@@ -93,7 +93,7 @@
         }
       },
       "httpServer": {
-        "enable": false,
+        "enable": true,
         "https": {
           "enable": false,
           "key": "/public/ssl/localhost+1.key",
@@ -103,7 +103,9 @@
         "host": "localhost",
         "port": 7071,
         "cors": {
-          "origin": "*"
+          "origin": false,
+          "allowMethods": "GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS",
+          "credentials": true
         },
         "body": {
           "multipart": true,
diff --git a/electron/config/builder.json b/electron/config/builder.json
index 0d9e76d..72a6064 100644
--- a/electron/config/builder.json
+++ b/electron/config/builder.json
@@ -1,5 +1,5 @@
 {
-  "productName": "ee",
+  "productName": "standaloneframe",
   "appId": "com.electron.ee",
   "copyright": "© 2023 哆啦好梦 Technology Co., Ltd.",
   "directories": {
@@ -26,7 +26,7 @@
     "installerHeaderIcon": "build/icons/icon.ico",
     "createDesktopShortcut": true,
     "createStartMenuShortcut": true,
-    "shortcutName": "EE框架"
+    "shortcutName": "制作器-单机版"
   },
   "mac": {
     "icon": "build/icons/icon.icns",
diff --git a/electron/config/config.default.js b/electron/config/config.default.js
index fbc47e7..d6abf05 100644
--- a/electron/config/config.default.js
+++ b/electron/config/config.default.js
@@ -1,33 +1,32 @@
-'use strict';
+"use strict";
 
-const path = require('path');
+const path = require("path");
 
 /**
  * 默认配置
  */
 module.exports = (appInfo) => {
-
   const config = {};
 
   /**
    * 应用模式配置
    */
   config.developmentMode = {
-    default: 'react',
+    default: "react",
     mode: {
       vue: {
-        hostname: 'localhost',
-        port: 4399
+        hostname: "localhost",
+        port: 4399,
       },
       react: {
-        hostname: 'localhost',
-        port: 8000
+        hostname: "localhost",
+        port: 8000,
       },
       html: {
-        hostname: 'localhost',
-        indexPage: 'index.html'
+        hostname: "localhost",
+        indexPage: "index.html",
       },
-    }
+    },
   };
 
   /**
@@ -38,13 +37,13 @@ module.exports = (appInfo) => {
   /**
    * 应用程序顶部菜单
    */
-  config.openAppMenu = 'dev-show';
+  config.openAppMenu = "dev-show";
 
   /**
    * 主窗口
    */
   config.windowsOption = {
-    title: 'EE框架',
+    title: "EE框架",
     width: 980,
     height: 650,
     minWidth: 800,
@@ -57,35 +56,35 @@ module.exports = (appInfo) => {
     },
     frame: true,
     show: false,
-    icon: path.join(appInfo.home, 'public', 'images', 'logo-32.png'),
+    icon: path.join(appInfo.home, "public", "images", "logo-32.png"),
   };
 
   /**
    * ee框架日志
-   */  
+   */
   config.logger = {
-    encoding: 'utf8',
-    level: 'INFO',
+    encoding: "utf8",
+    level: "INFO",
     outputJSON: false,
     buffer: true,
     enablePerformanceTimer: false,
-    rotator: 'day',
-    appLogName: 'ee.log',
-    coreLogName: 'ee-core.log',
-    errorLogName: 'ee-error.log' 
-  }
+    rotator: "day",
+    appLogName: "ee.log",
+    coreLogName: "ee-core.log",
+    errorLogName: "ee-error.log",
+  };
 
   /**
    * 远程模式-web地址
-   */    
+   */
   config.remoteUrl = {
     enable: false,
-    url: 'http://electron-egg.kaka996.com/'
+    url: "http://electron-egg.kaka996.com/",
   };
 
   /**
    * 内置socket服务
-   */   
+   */
   config.socketServer = {
     enable: false,
     port: 7070,
@@ -97,52 +96,52 @@ module.exports = (appInfo) => {
     transports: ["polling", "websocket"],
     cors: {
       origin: true,
-    }
+    },
   };
 
   /**
    * 内置http服务
-   */     
+   */
   config.httpServer = {
     enable: true,
     https: {
-      enable: false, 
-      key: '/public/ssl/localhost+1.key',
-      cert: '/public/ssl/localhost+1.pem'
+      enable: false,
+      key: "/public/ssl/localhost+1.key",
+      cert: "/public/ssl/localhost+1.pem",
     },
     port: 7071,
     cors: {
-      origin: "*"
+      origin: false,
+      allowMethods: "GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS",
+      credentials: true,
     },
     body: {
       multipart: true,
       formidable: {
-        keepExtensions: true
-      }
+        keepExtensions: true,
+      },
     },
     filterRequest: {
-      uris:  [
-        'favicon.ico'
-      ],
-      returnData: ''
-    }
+      uris: ["favicon.ico"],
+      returnData: "",
+    },
   };
 
   /**
    * 主进程
-   */     
+   */
   config.mainServer = {
-    protocol: 'http://',
-    indexPath: '/public/dist/index.html',
-    host: 'localhost',
+    protocol: "http://",
+    indexPath: "/public/dist/index.html",
+    host: "localhost",
     port: 7072,
-  }; 
+  };
 
   /**
    * 硬件加速
    */
   config.hardGpu = {
-    enable: false
+    enable: false,
   };
 
   /**
@@ -152,7 +151,7 @@ module.exports = (appInfo) => {
     mainExit: false,
     childExit: true,
     rendererExit: true,
-  };  
+  };
 
   /**
    * 插件功能
@@ -163,38 +162,38 @@ module.exports = (appInfo) => {
     },
     tray: {
       enable: true,
-      title: 'EE程序',
-      icon: '/public/images/tray_logo.png'
+      title: "EE程序",
+      icon: "/public/images/tray_logo.png",
     },
     security: {
       enable: true,
     },
     awaken: {
       enable: true,
-      protocol: 'ee',
-      args: []
+      protocol: "ee",
+      args: [],
     },
     autoUpdater: {
       enable: true,
-      windows: false, 
-      macOS: false, 
+      windows: false,
+      macOS: false,
       linux: false,
       options: {
-        provider: 'generic', 
-        url: 'http://kodo.qiniu.com/'
+        provider: "generic",
+        url: "http://kodo.qiniu.com/",
       },
       force: false,
     },
     javaServer: {
       enable: false,
       port: 18080,
-      jreVersion: 'jre1.8.0_201',
+      jreVersion: "jre1.8.0_201",
       opt: '-server -Xms512M -Xmx512M -Xss512k -Dspring.profiles.active=prod -Dserver.port=${port} -Dlogging.file.path="${path}" ',
-      name: 'java-app.jar'
-    }
+      name: "java-app.jar",
+    },
   };
 
   return {
-    ...config
+    ...config,
   };
-}
+};
diff --git a/electron/config/encrypt.js b/electron/config/encrypt.js
index 877e9d9..2e7f748 100644
--- a/electron/config/encrypt.js
+++ b/electron/config/encrypt.js
@@ -3,18 +3,14 @@
  * @param type - confusion | bytecode | strict
  */
 module.exports = {
-  type: 'confusion',
+  type: "bytecode",
+  directory: ["electron"],
   files: [
-    'electron/**/*.(js|json)',
-    '!electron/config/encrypt.js',
-    '!electron/config/nodemon.json',
-    '!electron/config/builder.json',
+    "electron/**/*.(js|json)",
+    "!electron/config/encrypt.js",
+    "!electron/config/nodemon.json",
+    "!electron/config/builder.json",
   ],
-  fileExt: ['.js'],
-  confusionOptions: {
-    compact: true,      
-    stringArray: true,
-    stringArrayEncoding: ['none'],
-    deadCodeInjection: false,
-  }
-};
\ No newline at end of file
+  fileExt: [".js"],
+  confusionOptions: {},
+};
diff --git a/electron/controller/example.js b/electron/controller/example.js
index bb109b7..11dee22 100644
--- a/electron/controller/example.js
+++ b/electron/controller/example.js
@@ -1,20 +1,19 @@
-'use strict';
+"use strict";
 
-const { Controller } = require('ee-core');
-const Log = require('ee-core/log');
-const Services = require('ee-core/services');
+const { Controller } = require("ee-core");
+const Log = require("ee-core/log");
+const Services = require("ee-core/services");
+const db = require("../model/index");
 
 /**
  * example
  * @class
  */
 class ExampleController extends Controller {
-
   constructor(ctx) {
     super(ctx);
   }
 
-
   /**
    * 所有方法接收两个参数
    * @param args 前端传的参数
@@ -24,13 +23,21 @@ class ExampleController extends Controller {
   /**
    * test
    */
-  async test () {
-    const result = await Services.get('example').test('electron');
-    Log.info('service result:', result);
-
-    return 'hello electron-egg';
+  async test() {
+    const result = await Services.get("example").test("electron");
+    // Log.info("service result:", result, db );
+
+    let res = await db?.User.create({
+      username: "丁大炮",
+      email: "1148547900@qq.com",
+    });
+
+    return {
+      code: 0,
+      data: res,
+    };
   }
 }
 
-ExampleController.toString = () => '[class ExampleController]';
-module.exports = ExampleController;  
+ExampleController.toString = () => "[class ExampleController]";
+module.exports = ExampleController;
diff --git a/electron/database/config.json b/electron/database/config.json
new file mode 100644
index 0000000..0c51c3e
--- /dev/null
+++ b/electron/database/config.json
@@ -0,0 +1,14 @@
+{
+  "development": {
+    "dialect": "sqlite",
+    "storage": "./data/database.sqlite"
+  },
+  "test": {
+    "dialect": "sqlite",
+    "storage": "database.sqlite"
+  },
+  "production": {
+    "dialect": "sqlite",
+    "storage": "database.sqlite"
+  }
+}
\ No newline at end of file
diff --git a/electron/database/migrations/20230616091828-create-user.js b/electron/database/migrations/20230616091828-create-user.js
new file mode 100644
index 0000000..211642f
--- /dev/null
+++ b/electron/database/migrations/20230616091828-create-user.js
@@ -0,0 +1,31 @@
+'use strict';
+/** @type {import('sequelize-cli').Migration} */
+module.exports = {
+  async up(queryInterface, Sequelize) {
+    await queryInterface.createTable('Users', {
+      id: {
+        allowNull: false,
+        autoIncrement: true,
+        primaryKey: true,
+        type: Sequelize.INTEGER
+      },
+      username: {
+        type: Sequelize.STRING
+      },
+      email: {
+        type: Sequelize.STRING
+      },
+      createdAt: {
+        allowNull: false,
+        type: Sequelize.DATE
+      },
+      updatedAt: {
+        allowNull: false,
+        type: Sequelize.DATE
+      }
+    });
+  },
+  async down(queryInterface, Sequelize) {
+    await queryInterface.dropTable('Users');
+  }
+};
\ No newline at end of file
diff --git a/electron/model/index.js b/electron/model/index.js
index a047bee..6a542d1 100644
--- a/electron/model/index.js
+++ b/electron/model/index.js
@@ -1,37 +1,43 @@
-'use strict';
-
-const fs = require('fs');
-const path = require('path');
-const Sequelize = require('sequelize');
-const process = require('process');
-const basename = path.basename(__filename);
-const env = process.env.NODE_ENV || 'development';
-const config = require(__dirname + '/../../data/config.json')[env];
+"use strict";
+const fs = require("fs");
+const path = require("path");
+const Sequelize = require("sequelize");
+const process = require("process");
+const basename = "index.js";
+const env = process.env.NODE_ENV || "development";
+const config = require("../database/config.json")[env];
 const db = {};
 
 let sequelize;
 if (config.use_env_variable) {
   sequelize = new Sequelize(process.env[config.use_env_variable], config);
 } else {
-  sequelize = new Sequelize(config.database, config.username, config.password, config);
+  sequelize = new Sequelize(
+    config.database,
+    config.username,
+    config.password,
+    config
+  );
 }
 
-fs
-  .readdirSync(__dirname)
-  .filter(file => {
+fs.readdirSync(__dirname)
+  .filter((file) => {
     return (
-      file.indexOf('.') !== 0 &&
+      file.indexOf(".") !== 0 &&
       file !== basename &&
-      file.slice(-3) === '.js' &&
-      file.indexOf('.test.js') === -1
+      file.slice(-3) === ".js" &&
+      file.indexOf(".test.js") === -1
     );
   })
-  .forEach(file => {
-    const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes);
+  .forEach((file) => {
+    const model = require(path.join(__dirname, file))(
+      sequelize,
+      Sequelize.DataTypes
+    );
     db[model.name] = model;
   });
 
-Object.keys(db).forEach(modelName => {
+Object.keys(db).forEach((modelName) => {
   if (db[modelName].associate) {
     db[modelName].associate(db);
   }
diff --git a/frontend/config/env.js b/frontend/config/env.js
index 8372e4d..2804377 100644
--- a/frontend/config/env.js
+++ b/frontend/config/env.js
@@ -1,12 +1,12 @@
 
 export default {
   dev:{
-    "REACT_APP_URL":"http://118.89.86.27:7001" //"http://118.89.86.27:7001"
+    "REACT_APP_URL":"http://localhost:7071" //"http://118.89.86.27:7001"
   },
   test:{
     "REACT_APP_URL":"http://localhost:7001" 
   },
   prod:{
-    "REACT_APP_URL":"http://118.89.86.27:7001"
+    "REACT_APP_URL":"http://localhost:7071"
   }
 }
diff --git a/frontend/src/.umi-production/core/defineApp.ts b/frontend/src/.umi-production/core/defineApp.ts
index ebda0a6..442c608 100644
--- a/frontend/src/.umi-production/core/defineApp.ts
+++ b/frontend/src/.umi-production/core/defineApp.ts
@@ -1,8 +1,8 @@
 // @ts-nocheck
 // This file is generated by Umi automatically
 // DO NOT CHANGE IT MANUALLY!
-import type { IRuntimeConfig as Plugin0 } from '/Users/wuhao/Desktop/demos/electron-egg/frontend/src/.umi-production/plugin-antd/runtimeConfig.d'
-import type { IRuntimeConfig as Plugin1 } from '/Users/wuhao/Desktop/demos/electron-egg/frontend/src/.umi-production/plugin-initialState/runtimeConfig.d'
+import type { IRuntimeConfig as Plugin0 } from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/src/.umi-production/plugin-antd/runtimeConfig.d'
+import type { IRuntimeConfig as Plugin1 } from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/src/.umi-production/plugin-initialState/runtimeConfig.d'
 interface IDefaultRuntimeConfig {
   onRouteChange?: (props: { routes: any, clientRoutes: any, location: any, action: any, isFirst: boolean }) => void;
   patchRoutes?: (props: { routes: any }) => void;
diff --git a/frontend/src/.umi-production/core/helmet.ts b/frontend/src/.umi-production/core/helmet.ts
index fd8ac07..20d037b 100644
--- a/frontend/src/.umi-production/core/helmet.ts
+++ b/frontend/src/.umi-production/core/helmet.ts
@@ -2,7 +2,7 @@
 // This file is generated by Umi automatically
 // DO NOT CHANGE IT MANUALLY!
 import React from 'react';
-import { HelmetProvider } from '/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/@umijs/renderer-react';
+import { HelmetProvider } from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/@umijs/renderer-react';
 import { context } from './helmetContext';
 
 export const innerProvider = (container) => {
diff --git a/frontend/src/.umi-production/core/history.ts b/frontend/src/.umi-production/core/history.ts
index d88ec56..7f4149b 100644
--- a/frontend/src/.umi-production/core/history.ts
+++ b/frontend/src/.umi-production/core/history.ts
@@ -1,7 +1,7 @@
 // @ts-nocheck
 // This file is generated by Umi automatically
 // DO NOT CHANGE IT MANUALLY!
-import { createHashHistory, createMemoryHistory, createBrowserHistory } from '/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/@umijs/renderer-react';
+import { createHashHistory, createMemoryHistory, createBrowserHistory } from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/@umijs/renderer-react';
 import type { UmiHistory } from './historyIntelli';
 
 let history: UmiHistory;
diff --git a/frontend/src/.umi-production/core/historyIntelli.ts b/frontend/src/.umi-production/core/historyIntelli.ts
index aca172b..f799a67 100644
--- a/frontend/src/.umi-production/core/historyIntelli.ts
+++ b/frontend/src/.umi-production/core/historyIntelli.ts
@@ -2,7 +2,7 @@
 // This file is generated by Umi automatically
 // DO NOT CHANGE IT MANUALLY!
 import { getRoutes } from './route'
-import type { History } from '/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/@umijs/renderer-react'
+import type { History } from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/@umijs/renderer-react'
 
 type Routes = Awaited<ReturnType<typeof getRoutes>>['routes']
 type AllRoute = Routes[keyof Routes]
diff --git a/frontend/src/.umi-production/core/plugin.ts b/frontend/src/.umi-production/core/plugin.ts
index 3a60016..035eb3a 100644
--- a/frontend/src/.umi-production/core/plugin.ts
+++ b/frontend/src/.umi-production/core/plugin.ts
@@ -1,10 +1,10 @@
 // @ts-nocheck
 // This file is generated by Umi automatically
 // DO NOT CHANGE IT MANUALLY!
-import * as Plugin_0 from '/Users/wuhao/Desktop/demos/electron-egg/frontend/src/app.jsx';
+import * as Plugin_0 from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/src/app.jsx';
 import * as Plugin_1 from '@@/core/helmet.ts';
-import * as Plugin_2 from '/Users/wuhao/Desktop/demos/electron-egg/frontend/src/.umi-production/plugin-initialState/runtime.tsx';
-import * as Plugin_3 from '/Users/wuhao/Desktop/demos/electron-egg/frontend/src/.umi-production/plugin-model/runtime.tsx';
+import * as Plugin_2 from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/src/.umi-production/plugin-initialState/runtime.tsx';
+import * as Plugin_3 from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/src/.umi-production/plugin-model/runtime.tsx';
 import { PluginManager } from 'umi';
 
 function __defaultExport (obj) {
@@ -17,7 +17,7 @@ export function getPlugins() {
   return [
     {
       apply: __defaultExport(Plugin_0),
-      path: process.env.NODE_ENV === 'production' ? void 0 : '/Users/wuhao/Desktop/demos/electron-egg/frontend/src/app.jsx',
+      path: process.env.NODE_ENV === 'production' ? void 0 : '/Users/wuhao/Desktop/demos/standaloneframe/frontend/src/app.jsx',
     },
     {
       apply: Plugin_1,
@@ -25,11 +25,11 @@ export function getPlugins() {
     },
     {
       apply: Plugin_2,
-      path: process.env.NODE_ENV === 'production' ? void 0 : '/Users/wuhao/Desktop/demos/electron-egg/frontend/src/.umi-production/plugin-initialState/runtime.tsx',
+      path: process.env.NODE_ENV === 'production' ? void 0 : '/Users/wuhao/Desktop/demos/standaloneframe/frontend/src/.umi-production/plugin-initialState/runtime.tsx',
     },
     {
       apply: Plugin_3,
-      path: process.env.NODE_ENV === 'production' ? void 0 : '/Users/wuhao/Desktop/demos/electron-egg/frontend/src/.umi-production/plugin-model/runtime.tsx',
+      path: process.env.NODE_ENV === 'production' ? void 0 : '/Users/wuhao/Desktop/demos/standaloneframe/frontend/src/.umi-production/plugin-model/runtime.tsx',
     },
   ];
 }
diff --git a/frontend/src/.umi-production/core/polyfill.ts b/frontend/src/.umi-production/core/polyfill.ts
index 8502e3a..39eeab2 100644
--- a/frontend/src/.umi-production/core/polyfill.ts
+++ b/frontend/src/.umi-production/core/polyfill.ts
@@ -1,191 +1,191 @@
 // @ts-nocheck
 // This file is generated by Umi automatically
 // DO NOT CHANGE IT MANUALLY!
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.error.cause.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.aggregate-error.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.aggregate-error.cause.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.array.at.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.array.find-last.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.array.find-last-index.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.array.push.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.array.reduce.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.array.reduce-right.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.object.has-own.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.promise.any.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.reflect.to-string-tag.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.regexp.flags.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.string.at-alternative.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.string.replace-all.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.typed-array.at.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.typed-array.find-last.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.typed-array.find-last-index.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/es.typed-array.set.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.suppressed-error.constructor.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.from-async.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.filter-out.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.filter-reject.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.group.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.group-by.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.group-by-to-map.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.group-to-map.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.is-template-object.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.last-index.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.last-item.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.to-reversed.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.to-sorted.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.to-spliced.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.unique-by.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.array.with.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-disposable-stack.constructor.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.constructor.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.as-indexed-pairs.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.async-dispose.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.drop.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.every.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.filter.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.find.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.flat-map.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.for-each.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.from.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.indexed.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.map.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.reduce.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.some.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.take.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.async-iterator.to-array.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.bigint.range.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.composite-key.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.composite-symbol.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.disposable-stack.constructor.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.function.is-callable.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.function.is-constructor.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.function.un-this.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.constructor.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.as-indexed-pairs.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.dispose.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.drop.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.every.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.filter.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.find.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.flat-map.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.for-each.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.from.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.indexed.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.map.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.reduce.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.some.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.take.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.to-array.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.iterator.to-async.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.delete-all.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.emplace.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.every.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.filter.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.find.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.find-key.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.from.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.group-by.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.includes.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.key-by.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.key-of.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.map-keys.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.map-values.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.merge.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.of.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.reduce.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.some.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.update.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.update-or-insert.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.map.upsert.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.math.clamp.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.math.deg-per-rad.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.math.degrees.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.math.fscale.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.math.iaddh.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.math.imulh.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.math.isubh.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.math.rad-per-deg.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.math.radians.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.math.scale.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.math.seeded-prng.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.math.signbit.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.math.umulh.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.number.from-string.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.number.range.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.object.iterate-entries.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.object.iterate-keys.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.object.iterate-values.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.observable.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.promise.try.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.reflect.define-metadata.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.reflect.delete-metadata.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.reflect.get-metadata.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.reflect.has-metadata.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.reflect.metadata.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.add-all.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.delete-all.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.difference.v2.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.difference.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.every.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.filter.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.find.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.from.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.intersection.v2.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.intersection.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.is-disjoint-from.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.is-subset-of.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.is-superset-of.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.join.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.map.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.of.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.reduce.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.some.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.symmetric-difference.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.union.v2.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.set.union.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.string.at.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.string.cooked.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.string.code-points.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.string.dedent.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.string.is-well-formed.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.string.to-well-formed.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.symbol.async-dispose.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.symbol.dispose.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.symbol.matcher.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.symbol.metadata.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.symbol.metadata-key.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.symbol.observable.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.symbol.pattern-match.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.symbol.replace-all.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.typed-array.from-async.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.typed-array.filter-out.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.typed-array.filter-reject.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.typed-array.group-by.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.typed-array.to-reversed.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.typed-array.to-sorted.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.typed-array.to-spliced.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.typed-array.unique-by.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.typed-array.with.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.weak-map.delete-all.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.weak-map.from.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.weak-map.of.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.weak-map.emplace.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.weak-map.upsert.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.weak-set.add-all.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.weak-set.delete-all.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.weak-set.from.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/esnext.weak-set.of.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/web.dom-exception.stack.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/web.immediate.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/web.self.js";
-import "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/core-js/modules/web.structured-clone.js";
-import '/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/regenerator-runtime/runtime.js';
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.error.cause.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.aggregate-error.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.aggregate-error.cause.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.array.at.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.array.find-last.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.array.find-last-index.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.array.push.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.array.reduce.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.array.reduce-right.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.object.has-own.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.promise.any.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.reflect.to-string-tag.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.regexp.flags.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.string.at-alternative.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.string.replace-all.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.typed-array.at.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.typed-array.find-last.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.typed-array.find-last-index.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/es.typed-array.set.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.suppressed-error.constructor.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.from-async.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.filter-out.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.filter-reject.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.group.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.group-by.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.group-by-to-map.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.group-to-map.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.is-template-object.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.last-index.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.last-item.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.to-reversed.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.to-sorted.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.to-spliced.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.unique-by.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.array.with.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-disposable-stack.constructor.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.constructor.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.as-indexed-pairs.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.async-dispose.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.drop.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.every.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.filter.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.find.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.flat-map.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.for-each.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.from.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.indexed.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.map.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.reduce.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.some.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.take.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.async-iterator.to-array.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.bigint.range.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.composite-key.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.composite-symbol.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.disposable-stack.constructor.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.function.is-callable.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.function.is-constructor.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.function.un-this.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.constructor.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.as-indexed-pairs.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.dispose.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.drop.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.every.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.filter.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.find.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.flat-map.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.for-each.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.from.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.indexed.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.map.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.reduce.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.some.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.take.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.to-array.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.iterator.to-async.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.delete-all.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.emplace.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.every.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.filter.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.find.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.find-key.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.from.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.group-by.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.includes.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.key-by.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.key-of.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.map-keys.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.map-values.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.merge.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.of.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.reduce.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.some.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.update.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.update-or-insert.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.map.upsert.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.math.clamp.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.math.deg-per-rad.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.math.degrees.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.math.fscale.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.math.iaddh.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.math.imulh.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.math.isubh.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.math.rad-per-deg.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.math.radians.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.math.scale.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.math.seeded-prng.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.math.signbit.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.math.umulh.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.number.from-string.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.number.range.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.object.iterate-entries.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.object.iterate-keys.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.object.iterate-values.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.observable.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.promise.try.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.reflect.define-metadata.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.reflect.delete-metadata.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.reflect.get-metadata.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.reflect.has-metadata.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.reflect.metadata.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.add-all.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.delete-all.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.difference.v2.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.difference.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.every.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.filter.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.find.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.from.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.intersection.v2.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.intersection.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.is-disjoint-from.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.is-subset-of.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.is-superset-of.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.join.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.map.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.of.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.reduce.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.some.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.symmetric-difference.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.union.v2.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.set.union.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.string.at.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.string.cooked.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.string.code-points.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.string.dedent.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.string.is-well-formed.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.string.to-well-formed.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.symbol.async-dispose.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.symbol.dispose.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.symbol.matcher.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.symbol.metadata.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.symbol.metadata-key.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.symbol.observable.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.symbol.pattern-match.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.symbol.replace-all.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.typed-array.from-async.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.typed-array.filter-out.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.typed-array.filter-reject.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.typed-array.group-by.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.typed-array.to-reversed.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.typed-array.to-sorted.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.typed-array.to-spliced.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.typed-array.unique-by.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.typed-array.with.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.weak-map.delete-all.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.weak-map.from.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.weak-map.of.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.weak-map.emplace.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.weak-map.upsert.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.weak-set.add-all.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.weak-set.delete-all.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.weak-set.from.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/esnext.weak-set.of.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/web.dom-exception.stack.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/web.immediate.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/web.self.js";
+import "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/core-js/modules/web.structured-clone.js";
+import '/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/regenerator-runtime/runtime.js';
 export {};
diff --git a/frontend/src/.umi-production/core/route.tsx b/frontend/src/.umi-production/core/route.tsx
index a0984ab..a2cbd91 100644
--- a/frontend/src/.umi-production/core/route.tsx
+++ b/frontend/src/.umi-production/core/route.tsx
@@ -16,7 +16,7 @@ export async function getRoutes() {
 '6': React.lazy(() => import(/* webpackChunkName: "p__port__index" */'@/pages/port/index.jsx')),
 '7': React.lazy(() => import(/* webpackChunkName: "p__report__index" */'@/pages/report/index.jsx')),
 '8': React.lazy(() => import(/* webpackChunkName: "p__mycenter__index" */'@/pages/mycenter/index.jsx')),
-'@@/global-layout': React.lazy(() => import(/* webpackChunkName: "layouts__index" */'/Users/wuhao/Desktop/demos/electron-egg/frontend/src/layouts/index.jsx')),
+'@@/global-layout': React.lazy(() => import(/* webpackChunkName: "layouts__index" */'/Users/wuhao/Desktop/demos/standaloneframe/frontend/src/layouts/index.jsx')),
 },
   };
 }
diff --git a/frontend/src/.umi-production/exports.ts b/frontend/src/.umi-production/exports.ts
index 7928280..ba63db1 100644
--- a/frontend/src/.umi-production/exports.ts
+++ b/frontend/src/.umi-production/exports.ts
@@ -4,13 +4,13 @@
 export { defineApp } from './core/defineApp'
 export type { RuntimeConfig } from './core/defineApp'
 // @umijs/renderer-*
-export { createBrowserHistory, createHashHistory, createMemoryHistory, Helmet, HelmetProvider, createSearchParams, generatePath, matchPath, matchRoutes, Navigate, NavLink, Outlet, resolvePath, useLocation, useMatch, useNavigate, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes, useSearchParams, useAppData, useClientLoaderData, useRouteProps, useSelectedRoutes, useServerLoaderData, renderClient, __getRoot, Link, useRouteData, __useFetcher, withRouter } from '/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/@umijs/renderer-react';
-export type {  History } from '/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/@umijs/renderer-react'
+export { createBrowserHistory, createHashHistory, createMemoryHistory, Helmet, HelmetProvider, createSearchParams, generatePath, matchPath, matchRoutes, Navigate, NavLink, Outlet, resolvePath, useLocation, useMatch, useNavigate, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes, useSearchParams, useAppData, useClientLoaderData, useRouteProps, useSelectedRoutes, useServerLoaderData, renderClient, __getRoot, Link, useRouteData, __useFetcher, withRouter } from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/@umijs/renderer-react';
+export type {  History } from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/@umijs/renderer-react'
 // umi/client/client/plugin
-export { ApplyPluginsType, PluginManager } from '/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/umi/client/client/plugin.js';
+export { ApplyPluginsType, PluginManager } from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/umi/client/client/plugin.js';
 export { history, createHistory } from './core/history';
 export { terminal } from './core/terminal';
 // plugins
-export { Provider, useModel } from '/Users/wuhao/Desktop/demos/electron-egg/frontend/src/.umi-production/plugin-model';
+export { Provider, useModel } from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/src/.umi-production/plugin-model';
 // plugins types.d.ts
-export * from '/Users/wuhao/Desktop/demos/electron-egg/frontend/src/.umi-production/plugin-antd/types.d';
+export * from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/src/.umi-production/plugin-antd/types.d';
diff --git a/frontend/src/.umi-production/plugin-model/index.tsx b/frontend/src/.umi-production/plugin-model/index.tsx
index 6e682ec..5cef0a8 100644
--- a/frontend/src/.umi-production/plugin-model/index.tsx
+++ b/frontend/src/.umi-production/plugin-model/index.tsx
@@ -3,7 +3,7 @@
 // DO NOT CHANGE IT MANUALLY!
 // @ts-ignore
 import type { models as rawModels } from '@@/plugin-model/model';
-import isEqual from '/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/fast-deep-equal/index.js';
+import isEqual from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/fast-deep-equal/index.js';
 import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
 
 type Models = typeof rawModels;
diff --git a/frontend/src/.umi-production/plugin-model/model.ts b/frontend/src/.umi-production/plugin-model/model.ts
index 4e5fc88..36b774f 100644
--- a/frontend/src/.umi-production/plugin-model/model.ts
+++ b/frontend/src/.umi-production/plugin-model/model.ts
@@ -1,7 +1,7 @@
 // @ts-nocheck
 // This file is generated by Umi automatically
 // DO NOT CHANGE IT MANUALLY!
-import model_1 from '/Users/wuhao/Desktop/demos/electron-egg/frontend/src/.umi-production/plugin-initialState/@@initialState';
+import model_1 from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/src/.umi-production/plugin-initialState/@@initialState';
 
 export const models = {
 model_1: { namespace: '@@initialState', model: model_1 },
diff --git a/frontend/src/.umi-production/testBrowser.tsx b/frontend/src/.umi-production/testBrowser.tsx
index e208b98..5f60af7 100644
--- a/frontend/src/.umi-production/testBrowser.tsx
+++ b/frontend/src/.umi-production/testBrowser.tsx
@@ -3,13 +3,13 @@
 // DO NOT CHANGE IT MANUALLY!
 import React, { useEffect, useState } from 'react';
 import { ApplyPluginsType } from 'umi';
-import { renderClient, RenderClientOpts } from '/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/@umijs/renderer-react';
+import { renderClient, RenderClientOpts } from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/@umijs/renderer-react';
 import { createHistory } from './core/history';
 import { createPluginManager } from './core/plugin';
 import { getRoutes } from './core/route';
 import type { Location } from 'history';
 
-import '/Users/wuhao/Desktop/demos/electron-egg/frontend/src/global.less';
+import '/Users/wuhao/Desktop/demos/standaloneframe/frontend/src/global.less';
 import 'antd/dist/reset.css';
 const publicPath = '/';
 const runtimePublicPath = false;
diff --git a/frontend/src/.umi-production/tsconfig.json b/frontend/src/.umi-production/tsconfig.json
index f27501b..1745c73 100644
--- a/frontend/src/.umi-production/tsconfig.json
+++ b/frontend/src/.umi-production/tsconfig.json
@@ -27,7 +27,7 @@
         "src/.umi/*"
       ],
       "umi": [
-        "/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/umi"
+        "/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/umi"
       ],
       "umi/typings": [
         "src/.umi/typings"
diff --git a/frontend/src/.umi-production/umi.ts b/frontend/src/.umi-production/umi.ts
index afa7bed..254d733 100644
--- a/frontend/src/.umi-production/umi.ts
+++ b/frontend/src/.umi-production/umi.ts
@@ -2,9 +2,9 @@
 // This file is generated by Umi automatically
 // DO NOT CHANGE IT MANUALLY!
 import './core/polyfill';
-import '/Users/wuhao/Desktop/demos/electron-egg/frontend/src/global.less';
+import '/Users/wuhao/Desktop/demos/standaloneframe/frontend/src/global.less';
 import 'antd/dist/reset.css';
-import { renderClient } from '/Users/wuhao/Desktop/demos/electron-egg/frontend/node_modules/@umijs/renderer-react';
+import { renderClient } from '/Users/wuhao/Desktop/demos/standaloneframe/frontend/node_modules/@umijs/renderer-react';
 import { getRoutes } from './core/route';
 import { createPluginManager } from './core/plugin';
 import { createHistory } from './core/history';
diff --git a/frontend/src/pages/user/login.jsx b/frontend/src/pages/user/login.jsx
index dbeeb76..c8ff6e3 100644
--- a/frontend/src/pages/user/login.jsx
+++ b/frontend/src/pages/user/login.jsx
@@ -1,5 +1,5 @@
 import Footer from "@/components/Footer";
-import { doFetch, postFetch } from "@/utils/doFetch";
+import { doFetch, postFetch,getFetch } from "@/utils/doFetch";
 import { LockOutlined, UserOutlined, RedoOutlined } from "@ant-design/icons";
 import {
   LoginForm,
@@ -8,7 +8,7 @@ import {
 } from "@ant-design/pro-components";
 import { history, useModel,useOutletContext } from "umi";
 import { Card, Dropdown, message, Tabs, QRCode } from "antd";
-import { useState } from "react";
+import React, { useState, useEffect } from 'react';
 import { ipc } from "@/utils/ipcRenderer";
 
 
@@ -60,6 +60,13 @@ const Login = () => {
 
   const [loginType, setLoginType] = useState("account");
 
+
+  useEffect(() => {
+    getFetch({url:"/controller/example/test",params:{}})
+  }, []);
+
+
+
   return (
     <div
       className="noline"
diff --git a/package.json b/package.json
index b354941..47bca66 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
 {
-  "name": "ee",
+  "name": "standaloneframe",
   "version": "3.4.0",
   "description": "A fast, desktop software development framework",
   "main": "main.js",
-- 
2.21.0