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
net7.0
- linux-x64
+ win-x64
ffaca971-25fc-4652-a510-8bfc76e42d87
true
From cbd0ec1192d9383b50f7e280d9674aab1de7d8e3 Mon Sep 17 00:00:00 2001
From: wanggang <76527413@qq.com>
Date: Mon, 17 Jul 2023 15:52:22 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E5=90=88=E5=B9=B6=E5=89=8D=E7=AB=AF?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=88=B0=E5=90=8E=E7=AB=AFwwwroot?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
code/WebApp/vanilla/.vscode/settings.json | 7 -
code/WebApp/vanilla/resize-detector/index.js | 314 ------------------
.../SettleAccount.HttpApi.Host/.gitignore | 3 +-
.../Controllers/HomeController.cs | 3 +-
.../SettleAccount.HttpApi.Host/Startup.cs | 6 +-
.../wwwroot}/.eslintrc.json | 0
.../wwwroot/.gitignore | 3 +
.../wwwroot}/.prettierrc.json | 0
.../wwwroot}/.vscode/extensions.json | 0
.../wwwroot/.vscode/settings.json | 9 +
.../wwwroot}/api/site.js | 0
.../wwwroot}/api/user.js | 0
.../wwwroot}/app.js | 0
.../wwwroot}/assets/docs/test.md | 0
.../wwwroot}/assets/icons/create.svg | 0
.../wwwroot}/assets/icons/delete.svg | 0
.../wwwroot}/assets/icons/details.svg | 0
.../wwwroot}/assets/icons/export.svg | 0
.../wwwroot}/assets/icons/file.svg | 0
.../wwwroot}/assets/icons/fold.svg | 0
.../wwwroot}/assets/icons/folder.svg | 0
.../wwwroot}/assets/icons/fullscreen-exit.svg | 0
.../wwwroot}/assets/icons/fullscreen.svg | 0
.../wwwroot}/assets/icons/home.svg | 0
.../wwwroot}/assets/icons/import.svg | 0
.../wwwroot}/assets/icons/index.svg | 0
.../wwwroot}/assets/icons/lang.svg | 0
.../wwwroot}/assets/icons/loading.svg | 0
.../wwwroot}/assets/icons/unfold.svg | 0
.../wwwroot}/assets/icons/update.svg | 0
.../wwwroot}/assets/logo.svg | 0
.../wwwroot/assets/导入模版.zip | Bin 0 -> 6709475 bytes
.../wwwroot}/components/chart/index.js | 0
.../wwwroot}/components/form/form-input.js | 0
.../wwwroot}/components/form/form-item.js | 0
.../wwwroot}/components/form/index.js | 0
.../wwwroot}/components/icon/index.js | 0
.../wwwroot}/components/list/index.js | 0
.../wwwroot}/components/markdown/index.js | 0
.../wwwroot}/config/settings.js | 2 +-
.../wwwroot}/favicon.ico | Bin
.../wwwroot}/index.html | 0
.../wwwroot/jsconfig.json | 3 +
.../wwwroot}/layouts/footer.js | 0
.../wwwroot}/layouts/header.js | 0
.../wwwroot}/layouts/index.js | 0
.../wwwroot}/layouts/locale.js | 0
.../wwwroot}/layouts/logo.js | 0
.../wwwroot}/layouts/menu-item.js | 0
.../wwwroot}/layouts/menu.js | 0
.../wwwroot}/layouts/tabs.js | 0
.../lib/@element-plus/icons-vue/index.js | 0
.../lib/@microsoft/signalr/signalr.esm.js | 0
.../wwwroot}/lib/@vue-office/excel/index.css | 0
.../@vue-office/excel/vue-office-excel.mjs | 0
.../wwwroot}/lib/@vue/devtools-api/shim.js | 0
.../wwwroot}/lib/@vueuse/core/index.mjs | 0
.../wwwroot}/lib/@vueuse/shared/index.mjs | 0
.../wwwroot}/lib/async-validator/index.min.js | 0
.../lib/better-mock/mock.browser.esm.js | 0
.../wwwroot}/lib/detect-it/detect-it.esm.js | 0
.../wwwroot}/lib/echarts/echarts.esm.min.js | 0
.../wwwroot}/lib/element-plus/index.css | 0
.../lib/element-plus/index.full.min.mjs | 0
.../wwwroot}/lib/element-plus/index.full.mjs | 0
.../lib/element-plus/locale/en.min.mjs | 0
.../lib/element-plus/locale/zh-cn.min.mjs | 0
.../theme-chalk/dark/css-vars.css | 0
.../github-markdown.min.css | 0
.../wwwroot}/lib/highlightjs/highlight.css | 0
.../wwwroot}/lib/highlightjs/highlight.min.js | 0
.../wwwroot}/lib/jwt-decode/jwt-decode.esm.js | 0
.../wwwroot}/lib/linq/linq.min.js | 0
.../wwwroot}/lib/lodash/lodash.esm.js | 0
.../wwwroot}/lib/marked/marked.esm.js | 0
.../wwwroot}/lib/mermaid/mermaid.esm.min.mjs | 0
.../wwwroot}/lib/nprogress/nprogress.css | 0
.../lib/nprogress/nprogress.vite-esm.js | 0
.../wwwroot}/lib/pinia/pinia.esm-browser.js | 0
.../wwwroot}/lib/pubsub-js/pubsub.esm.js | 0
.../wwwroot}/lib/qs/shim.js | 0
.../wwwroot}/lib/resize-detector/index.js | 0
.../wwwroot}/lib/tailwindcss/tailwind.min.css | 0
.../wwwroot}/lib/vue-demi/shim.js | 0
.../wwwroot}/lib/vue-echarts/index.esm.min.js | 0
.../lib/vue-i18n/vue-i18n.esm-browser.prod.js | 0
.../lib/vue-router/vue-router.esm-browser.js | 0
.../wwwroot}/lib/vue/vue.esm-browser.js | 0
.../wwwroot}/lib/vue/vue.esm-browser.prod.js | 0
.../wwwroot}/locale/index.js | 0
.../wwwroot}/main.css | 0
.../wwwroot}/main.js | 0
.../wwwroot}/mixins/style.js | 0
.../wwwroot}/models/centralized-control.js | 0
.../wwwroot}/models/code-setting.js | 0
.../wwwroot}/models/login.js | 0
.../wwwroot}/models/role.js | 0
.../wwwroot}/models/user.js | 0
.../wwwroot}/request/index.js | 0
.../wwwroot}/router/base-date.js | 0
.../wwwroot}/router/business.js | 0
.../wwwroot}/router/index.js | 0
.../wwwroot}/router/routes.js | 0
.../wwwroot}/signalr/index.js | 0
.../wwwroot}/store/app.js | 0
.../wwwroot}/store/index.js | 0
.../wwwroot}/styles/site.css | 0
.../wwwroot}/utils/index.js | 0
.../wwwroot}/utils/validation.js | 0
.../wwwroot}/views/403.js | 0
.../wwwroot}/views/404.js | 0
.../views/base-data/centralized-control.js | 0
.../wwwroot}/views/base-data/code-setting.js | 0
.../wwwroot}/views/base-data/material.js | 0
.../wwwroot}/views/base-data/role.js | 0
.../wwwroot}/views/base-data/user.js | 0
.../wwwroot}/views/home.js | 0
.../wwwroot}/views/list.js | 0
.../wwwroot}/views/login.js | 0
.../wwwroot}/views/monitor.js | 0
120 files changed, 24 insertions(+), 326 deletions(-)
delete mode 100644 code/WebApp/vanilla/.vscode/settings.json
delete mode 100644 code/WebApp/vanilla/resize-detector/index.js
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/.eslintrc.json (100%)
create mode 100644 code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/.gitignore
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/.prettierrc.json (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/.vscode/extensions.json (100%)
create mode 100644 code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/.vscode/settings.json
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/api/site.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/api/user.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/app.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/docs/test.md (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/create.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/delete.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/details.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/export.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/file.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/fold.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/folder.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/fullscreen-exit.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/fullscreen.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/home.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/import.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/index.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/lang.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/loading.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/unfold.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/icons/update.svg (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/assets/logo.svg (100%)
create mode 100644 code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/导入模版.zip
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/components/chart/index.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/components/form/form-input.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/components/form/form-item.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/components/form/index.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/components/icon/index.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/components/list/index.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/components/markdown/index.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/config/settings.js (69%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/favicon.ico (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/index.html (100%)
create mode 100644 code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/jsconfig.json
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/layouts/footer.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/layouts/header.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/layouts/index.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/layouts/locale.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/layouts/logo.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/layouts/menu-item.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/layouts/menu.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/layouts/tabs.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/@element-plus/icons-vue/index.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/@microsoft/signalr/signalr.esm.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/@vue-office/excel/index.css (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/@vue-office/excel/vue-office-excel.mjs (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/@vue/devtools-api/shim.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/@vueuse/core/index.mjs (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/@vueuse/shared/index.mjs (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/async-validator/index.min.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/better-mock/mock.browser.esm.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/detect-it/detect-it.esm.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/echarts/echarts.esm.min.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/element-plus/index.css (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/element-plus/index.full.min.mjs (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/element-plus/index.full.mjs (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/element-plus/locale/en.min.mjs (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/element-plus/locale/zh-cn.min.mjs (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/element-plus/theme-chalk/dark/css-vars.css (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/github-markdown-css/github-markdown.min.css (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/highlightjs/highlight.css (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/highlightjs/highlight.min.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/jwt-decode/jwt-decode.esm.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/linq/linq.min.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/lodash/lodash.esm.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/marked/marked.esm.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/mermaid/mermaid.esm.min.mjs (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/nprogress/nprogress.css (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/nprogress/nprogress.vite-esm.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/pinia/pinia.esm-browser.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/pubsub-js/pubsub.esm.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/qs/shim.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/resize-detector/index.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/tailwindcss/tailwind.min.css (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/vue-demi/shim.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/vue-echarts/index.esm.min.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/vue-i18n/vue-i18n.esm-browser.prod.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/vue-router/vue-router.esm-browser.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/vue/vue.esm-browser.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/lib/vue/vue.esm-browser.prod.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/locale/index.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/main.css (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/main.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/mixins/style.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/models/centralized-control.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/models/code-setting.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/models/login.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/models/role.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/models/user.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/request/index.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/router/base-date.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/router/business.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/router/index.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/router/routes.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/signalr/index.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/store/app.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/store/index.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/styles/site.css (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/utils/index.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/utils/validation.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/views/403.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/views/404.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/views/base-data/centralized-control.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/views/base-data/code-setting.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/views/base-data/material.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/views/base-data/role.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/views/base-data/user.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/views/home.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/views/list.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/views/login.js (100%)
rename code/{WebApp/vanilla => src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot}/views/monitor.js (100%)
diff --git a/code/WebApp/vanilla/.vscode/settings.json b/code/WebApp/vanilla/.vscode/settings.json
deleted file mode 100644
index b797f126..00000000
--- a/code/WebApp/vanilla/.vscode/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "search.exclude": {
- "lib": true
- },
- "editor.formatOnSave": true,
- "liveServer.settings.port": 9527
-}
diff --git a/code/WebApp/vanilla/resize-detector/index.js b/code/WebApp/vanilla/resize-detector/index.js
deleted file mode 100644
index 8a112ae5..00000000
--- a/code/WebApp/vanilla/resize-detector/index.js
+++ /dev/null
@@ -1,314 +0,0 @@
-var raf = null;
-function requestAnimationFrame (callback) {
- if (!raf) {
- raf = (
- window.requestAnimationFrame ||
- window.webkitRequestAnimationFrame ||
- window.mozRequestAnimationFrame ||
- function (callback) {
- return setTimeout(callback, 16)
- }
- ).bind(window);
- }
- return raf(callback)
-}
-
-var caf = null;
-function cancelAnimationFrame (id) {
- if (!caf) {
- caf = (
- window.cancelAnimationFrame ||
- window.webkitCancelAnimationFrame ||
- window.mozCancelAnimationFrame ||
- function (id) {
- clearTimeout(id);
- }
- ).bind(window);
- }
-
- caf(id);
-}
-
-function createStyles (styleText) {
- var style = document.createElement('style');
-
- if (style.styleSheet) {
- style.styleSheet.cssText = styleText;
- } else {
- style.appendChild(document.createTextNode(styleText));
- }
- (document.querySelector('head') || document.body).appendChild(style);
- return style
-}
-
-function createElement (tagName, props) {
- if ( props === void 0 ) props = {};
-
- var elem = document.createElement(tagName);
- Object.keys(props).forEach(function (key) {
- elem[key] = props[key];
- });
- return elem
-}
-
-function getComputedStyle (elem, prop, pseudo) {
- // for older versions of Firefox, `getComputedStyle` required
- // the second argument and may return `null` for some elements
- // when `display: none`
- var computedStyle = window.getComputedStyle(elem, pseudo || null) || {
- display: 'none'
- };
-
- return computedStyle[prop]
-}
-
-function getRenderInfo (elem) {
- if (!document.documentElement.contains(elem)) {
- return {
- detached: true,
- rendered: false
- }
- }
-
- var current = elem;
- while (current !== document) {
- if (getComputedStyle(current, 'display') === 'none') {
- return {
- detached: false,
- rendered: false
- }
- }
- current = current.parentNode;
- }
-
- return {
- detached: false,
- rendered: true
- }
-}
-
-var css_248z = ".resize-triggers{visibility:hidden;opacity:0;pointer-events:none}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:\"\";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}";
-
-var total = 0;
-var style = null;
-
-function addListener (elem, callback) {
- if (!elem.__resize_mutation_handler__) {
- elem.__resize_mutation_handler__ = handleMutation.bind(elem);
- }
-
- var listeners = elem.__resize_listeners__;
-
- if (!listeners) {
- elem.__resize_listeners__ = [];
- if (window.ResizeObserver) {
- var offsetWidth = elem.offsetWidth;
- var offsetHeight = elem.offsetHeight;
- var ro = new ResizeObserver(function () {
- if (!elem.__resize_observer_triggered__) {
- elem.__resize_observer_triggered__ = true;
- if (elem.offsetWidth === offsetWidth && elem.offsetHeight === offsetHeight) {
- return
- }
- }
- runCallbacks(elem);
- });
-
- // initially display none won't trigger ResizeObserver callback
- var ref = getRenderInfo(elem);
- var detached = ref.detached;
- var rendered = ref.rendered;
- elem.__resize_observer_triggered__ = detached === false && rendered === false;
- elem.__resize_observer__ = ro;
- ro.observe(elem);
- } else if (elem.attachEvent && elem.addEventListener) {
- // targeting IE9/10
- elem.__resize_legacy_resize_handler__ = function handleLegacyResize () {
- runCallbacks(elem);
- };
- elem.attachEvent('onresize', elem.__resize_legacy_resize_handler__);
- document.addEventListener('DOMSubtreeModified', elem.__resize_mutation_handler__);
- } else {
- if (!total) {
- style = createStyles(css_248z);
- }
- initTriggers(elem);
-
- elem.__resize_rendered__ = getRenderInfo(elem).rendered;
- if (window.MutationObserver) {
- var mo = new MutationObserver(elem.__resize_mutation_handler__);
- mo.observe(document, {
- attributes: true,
- childList: true,
- characterData: true,
- subtree: true
- });
- elem.__resize_mutation_observer__ = mo;
- }
- }
- }
-
- elem.__resize_listeners__.push(callback);
- total++;
-}
-
-function removeListener (elem, callback) {
- var listeners = elem.__resize_listeners__;
- if (!listeners) {
- return
- }
-
- if (callback) {
- listeners.splice(listeners.indexOf(callback), 1);
- }
-
- // no listeners exist, or removing all listeners
- if (!listeners.length || !callback) {
- // targeting IE9/10
- if (elem.detachEvent && elem.removeEventListener) {
- elem.detachEvent('onresize', elem.__resize_legacy_resize_handler__);
- document.removeEventListener('DOMSubtreeModified', elem.__resize_mutation_handler__);
- return
- }
-
- if (elem.__resize_observer__) {
- elem.__resize_observer__.unobserve(elem);
- elem.__resize_observer__.disconnect();
- elem.__resize_observer__ = null;
- } else {
- if (elem.__resize_mutation_observer__) {
- elem.__resize_mutation_observer__.disconnect();
- elem.__resize_mutation_observer__ = null;
- }
- elem.removeEventListener('scroll', handleScroll);
- elem.removeChild(elem.__resize_triggers__.triggers);
- elem.__resize_triggers__ = null;
- }
- elem.__resize_listeners__ = null;
- }
-
- if (!--total && style) {
- style.parentNode.removeChild(style);
- }
-}
-
-function getUpdatedSize (elem) {
- var ref = elem.__resize_last__;
- var width = ref.width;
- var height = ref.height;
- var offsetWidth = elem.offsetWidth;
- var offsetHeight = elem.offsetHeight;
- if (offsetWidth !== width || offsetHeight !== height) {
- return {
- width: offsetWidth,
- height: offsetHeight
- }
- }
- return null
-}
-
-function handleMutation () {
- // `this` denotes the scrolling element
- var ref = getRenderInfo(this);
- var rendered = ref.rendered;
- var detached = ref.detached;
- if (rendered !== this.__resize_rendered__) {
- if (!detached && this.__resize_triggers__) {
- resetTriggers(this);
- this.addEventListener('scroll', handleScroll, true);
- }
- this.__resize_rendered__ = rendered;
- runCallbacks(this);
- }
-}
-
-function handleScroll () {
- var this$1 = this;
-
- // `this` denotes the scrolling element
- resetTriggers(this);
- if (this.__resize_raf__) {
- cancelAnimationFrame(this.__resize_raf__);
- }
- this.__resize_raf__ = requestAnimationFrame(function () {
- var updated = getUpdatedSize(this$1);
- if (updated) {
- this$1.__resize_last__ = updated;
- runCallbacks(this$1);
- }
- });
-}
-
-function runCallbacks (elem) {
- if (!elem || !elem.__resize_listeners__) {
- return
- }
- elem.__resize_listeners__.forEach(function (callback) {
- callback.call(elem, elem);
- });
-}
-
-function initTriggers (elem) {
- var position = getComputedStyle(elem, 'position');
- if (!position || position === 'static') {
- elem.style.position = 'relative';
- }
-
- elem.__resize_old_position__ = position;
- elem.__resize_last__ = {};
-
- var triggers = createElement('div', {
- className: 'resize-triggers'
- });
- var expand = createElement('div', {
- className: 'resize-expand-trigger'
- });
- var expandChild = createElement('div');
- var contract = createElement('div', {
- className: 'resize-contract-trigger'
- });
- expand.appendChild(expandChild);
- triggers.appendChild(expand);
- triggers.appendChild(contract);
- elem.appendChild(triggers);
-
- elem.__resize_triggers__ = {
- triggers: triggers,
- expand: expand,
- expandChild: expandChild,
- contract: contract
- };
-
- resetTriggers(elem);
- elem.addEventListener('scroll', handleScroll, true);
-
- elem.__resize_last__ = {
- width: elem.offsetWidth,
- height: elem.offsetHeight
- };
-}
-
-function resetTriggers (elem) {
- var ref = elem.__resize_triggers__;
- var expand = ref.expand;
- var expandChild = ref.expandChild;
- var contract = ref.contract;
-
- // batch read
- var csw = contract.scrollWidth;
- var csh = contract.scrollHeight;
- var eow = expand.offsetWidth;
- var eoh = expand.offsetHeight;
- var esw = expand.scrollWidth;
- var esh = expand.scrollHeight;
-
- // batch write
- contract.scrollLeft = csw;
- contract.scrollTop = csh;
- expandChild.style.width = eow + 1 + 'px';
- expandChild.style.height = eoh + 1 + 'px';
- expand.scrollLeft = esw;
- expand.scrollTop = esh;
-}
-
-export { addListener, removeListener };
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/.gitignore b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/.gitignore
index 4f109b79..3e06d4d3 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/.gitignore
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/.gitignore
@@ -1,2 +1 @@
-wwwroot/files/
-appsettings.Development.json
\ No newline at end of file
+appsettings.Development.json
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Controllers/HomeController.cs b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Controllers/HomeController.cs
index c0c5eb77..98f7010f 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Controllers/HomeController.cs
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Controllers/HomeController.cs
@@ -5,9 +5,10 @@ namespace Win.Sfs.SettleAccount.Controllers
{
public class HomeController : AbpController
{
+ [ResponseCache(NoStore = true)]
public ActionResult Index()
{
- return Redirect("~/swagger");
+ return File("~/index.html", "text/html");
}
}
}
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Startup.cs b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Startup.cs
index 8daf20ee..3f07a301 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Startup.cs
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Startup.cs
@@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.ApplicationModels;
using Microsoft.AspNetCore.Routing;
using Microsoft.AspNetCore.Server.Kestrel.Core;
+using Microsoft.AspNetCore.StaticFiles;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System.Text.RegularExpressions;
@@ -14,7 +15,7 @@ namespace Win.Sfs.SettleAccount
public void ConfigureServices(IServiceCollection services)
{
services.AddRouting(options => options.ConstraintMap["slugify"] = typeof(SlugifyParameterTransformer));
- services.AddMvc(options=>options.Conventions.Add(new RouteTokenTransformerConvention(new SlugifyParameterTransformer())));
+ services.AddMvc(options => options.Conventions.Add(new RouteTokenTransformerConvention(new SlugifyParameterTransformer())));
services.AddApplication();
services.Configure(options =>
{
@@ -31,6 +32,9 @@ namespace Win.Sfs.SettleAccount
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
+ var contentTypeProvider = new FileExtensionContentTypeProvider();
+ contentTypeProvider.Mappings.Add(".mjs", "text/javascript");
+ app.UseStaticFiles(new StaticFileOptions { ContentTypeProvider = contentTypeProvider });
app.InitializeApplication();
}
diff --git a/code/WebApp/vanilla/.eslintrc.json b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/.eslintrc.json
similarity index 100%
rename from code/WebApp/vanilla/.eslintrc.json
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/.eslintrc.json
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/.gitignore b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/.gitignore
new file mode 100644
index 00000000..816f02db
--- /dev/null
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/.gitignore
@@ -0,0 +1,3 @@
+files/
+btsecsummary/
+secsummary/
\ No newline at end of file
diff --git a/code/WebApp/vanilla/.prettierrc.json b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/.prettierrc.json
similarity index 100%
rename from code/WebApp/vanilla/.prettierrc.json
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/.prettierrc.json
diff --git a/code/WebApp/vanilla/.vscode/extensions.json b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/.vscode/extensions.json
similarity index 100%
rename from code/WebApp/vanilla/.vscode/extensions.json
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/.vscode/extensions.json
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/.vscode/settings.json b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/.vscode/settings.json
new file mode 100644
index 00000000..5beb57aa
--- /dev/null
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/.vscode/settings.json
@@ -0,0 +1,9 @@
+{
+ "editor.formatOnSave": true,
+ "liveServer.settings.port": 9527,
+ "explorer.excludeGitIgnore": true,
+ "search.followSymlinks": false,
+ "search.exclude": {
+ "lib/**": true
+ }
+}
diff --git a/code/WebApp/vanilla/api/site.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/api/site.js
similarity index 100%
rename from code/WebApp/vanilla/api/site.js
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/api/site.js
diff --git a/code/WebApp/vanilla/api/user.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/api/user.js
similarity index 100%
rename from code/WebApp/vanilla/api/user.js
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/api/user.js
diff --git a/code/WebApp/vanilla/app.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/app.js
similarity index 100%
rename from code/WebApp/vanilla/app.js
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/app.js
diff --git a/code/WebApp/vanilla/assets/docs/test.md b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/docs/test.md
similarity index 100%
rename from code/WebApp/vanilla/assets/docs/test.md
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/docs/test.md
diff --git a/code/WebApp/vanilla/assets/icons/create.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/create.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/create.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/create.svg
diff --git a/code/WebApp/vanilla/assets/icons/delete.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/delete.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/delete.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/delete.svg
diff --git a/code/WebApp/vanilla/assets/icons/details.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/details.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/details.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/details.svg
diff --git a/code/WebApp/vanilla/assets/icons/export.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/export.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/export.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/export.svg
diff --git a/code/WebApp/vanilla/assets/icons/file.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/file.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/file.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/file.svg
diff --git a/code/WebApp/vanilla/assets/icons/fold.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/fold.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/fold.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/fold.svg
diff --git a/code/WebApp/vanilla/assets/icons/folder.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/folder.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/folder.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/folder.svg
diff --git a/code/WebApp/vanilla/assets/icons/fullscreen-exit.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/fullscreen-exit.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/fullscreen-exit.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/fullscreen-exit.svg
diff --git a/code/WebApp/vanilla/assets/icons/fullscreen.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/fullscreen.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/fullscreen.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/fullscreen.svg
diff --git a/code/WebApp/vanilla/assets/icons/home.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/home.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/home.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/home.svg
diff --git a/code/WebApp/vanilla/assets/icons/import.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/import.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/import.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/import.svg
diff --git a/code/WebApp/vanilla/assets/icons/index.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/index.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/index.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/index.svg
diff --git a/code/WebApp/vanilla/assets/icons/lang.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/lang.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/lang.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/lang.svg
diff --git a/code/WebApp/vanilla/assets/icons/loading.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/loading.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/loading.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/loading.svg
diff --git a/code/WebApp/vanilla/assets/icons/unfold.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/unfold.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/unfold.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/unfold.svg
diff --git a/code/WebApp/vanilla/assets/icons/update.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/update.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/icons/update.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/icons/update.svg
diff --git a/code/WebApp/vanilla/assets/logo.svg b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/logo.svg
similarity index 100%
rename from code/WebApp/vanilla/assets/logo.svg
rename to code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/logo.svg
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/导入模版.zip b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/导入模版.zip
new file mode 100644
index 0000000000000000000000000000000000000000..133bd5013de862548455854cf3af68112dc9682f
GIT binary patch
literal 6709475
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