Compare commits
	
		
			50 Commits
		
	
	
		
			main
			...
			feature-lo
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| f93057e4d1 | |||
| d995251d7b | |||
| 4ecbc2e630 | |||
| 9a82496769 | |||
| 327ffcc235 | |||
| c623db8a72 | |||
| aa20111600 | |||
| 922fb4ca4a | |||
| 3eadf4a27a | |||
| b4029677cf | |||
| 82edc407db | |||
| 0b79a94bda | |||
| c3ebdbf7c9 | |||
| 75c0ed90ca | |||
| 1064fce554 | |||
| 3b1fbf611e | |||
| 1c25e18d0f | |||
| 47c5327c54 | |||
| c96aad3b0d | |||
| 7e3af7a1e8 | |||
| 1eae5068fe | |||
| e16afd1696 | |||
| b0b7fa69f6 | |||
| 787f7dc5f8 | |||
| a8c505a63d | |||
| 6b0879721f | |||
| 3279363409 | |||
| 53093875eb | |||
| 3b648e5640 | |||
| e6b25bf487 | |||
| 0c48486913 | |||
| ef4874962e | |||
| 8219016b9d | |||
| e091e2aa32 | |||
| 234a3d9861 | |||
| 5f174b312c | |||
| 5dcff64bf5 | |||
| 5c72437e2d | |||
| a39c174cf4 | |||
| c469cb139f | |||
| 4e189eb2ab | |||
| 4cb90a5925 | |||
| 7c9e1a682b | |||
| e5f066dc3b | |||
| 21535408fe | |||
| 9e189ae8ba | |||
| 0317c4d607 | |||
| 19949865ab | |||
| ca8b49448a | |||
| ace0699187 | 
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -49,3 +49,8 @@ test/
 | 
			
		||||
hs_err_pid*
 | 
			
		||||
replay_pid*
 | 
			
		||||
 | 
			
		||||
node_modules/
 | 
			
		||||
node_modules
 | 
			
		||||
 | 
			
		||||
target/
 | 
			
		||||
target
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19767
									
								
								cli/hello-cli/package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										28
									
								
								cli/hello-cli/public/css/page.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,28 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-11-12 23:32:20
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-05 00:09:46
 | 
			
		||||
 * @FilePath: \hello-cli\public\css\page.css
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
body {
 | 
			
		||||
    background-color: #f4f5f7;
 | 
			
		||||
    padding: 0px;
 | 
			
		||||
    margin: 0px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* .content {
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-direction: column;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
    justify-content: center;
 | 
			
		||||
    background-color: #fff;
 | 
			
		||||
    width: 25rem;
 | 
			
		||||
    margin: 0px auto;
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
    padding: 50px;
 | 
			
		||||
} */
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB  | 
							
								
								
									
										40
									
								
								cli/hello-cli/public/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,40 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-11-22 17:50:49
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-05 00:19:08
 | 
			
		||||
 * @FilePath: \hello-cli\public\index.html
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
-->
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="zh-cn">
 | 
			
		||||
    <head>
 | 
			
		||||
        <meta charset="utf-8" />
 | 
			
		||||
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
 | 
			
		||||
        <meta name="viewport" content="width=device-width,initial-scale=1.0" />
 | 
			
		||||
        <link rel="icon" href="<%= BASE_URL %>favicon.ico" />
 | 
			
		||||
        <title><%= htmlWebpackPlugin.options.title %></title>
 | 
			
		||||
        <!-- <link rel="stylesheet" href="<%= BASE_URL %>css/root.css" /> -->
 | 
			
		||||
        <!-- <link rel="stylesheet" href="<%= BASE_URL %>css/normalize.css" /> -->
 | 
			
		||||
        <!-- <link rel="stylesheet" href="<%= BASE_URL %>css/page.css" /> -->
 | 
			
		||||
    </head>
 | 
			
		||||
    <style>
 | 
			
		||||
        .v-cloak {
 | 
			
		||||
            display: none;
 | 
			
		||||
        }
 | 
			
		||||
    </style>
 | 
			
		||||
 | 
			
		||||
    <body>
 | 
			
		||||
        <noscript>
 | 
			
		||||
            <strong>
 | 
			
		||||
                We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't
 | 
			
		||||
                work properly without JavaScript enabled. Please enable it to
 | 
			
		||||
                continue.
 | 
			
		||||
            </strong>
 | 
			
		||||
        </noscript>
 | 
			
		||||
        <div id="app" v-cloak></div>
 | 
			
		||||
        <!-- built files will be auto injected -->
 | 
			
		||||
    </body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										84
									
								
								cli/hello-cli/src/App.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,84 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-11-22 17:50:49
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-14 10:21:42
 | 
			
		||||
 * @FilePath: \hello-cli\src\App.vue
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="content">
 | 
			
		||||
    <div class="banner">
 | 
			
		||||
      <AppBanner>标题</AppBanner>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="container">
 | 
			
		||||
      <div class="nav"></div>
 | 
			
		||||
      <div class="view"></div>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import AppBanner from "./components/AppBanner.vue";
 | 
			
		||||
// import { reactive } from "vue";
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: "App",
 | 
			
		||||
  components: { AppBanner },
 | 
			
		||||
  methods: {},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// const data = reactive({
 | 
			
		||||
//   title: "标题",
 | 
			
		||||
// });
 | 
			
		||||
 | 
			
		||||
// return { data };
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style scoped>
 | 
			
		||||
@import url("assets/css/colors.css");
 | 
			
		||||
 | 
			
		||||
#app {
 | 
			
		||||
  background-color: #f4f5f7;
 | 
			
		||||
}
 | 
			
		||||
.content {
 | 
			
		||||
  background-color: #fff;
 | 
			
		||||
  height: 100vh;
 | 
			
		||||
  width: 100vw;
 | 
			
		||||
  min-width: 1280px;
 | 
			
		||||
  padding: 0px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.banner {
 | 
			
		||||
  height: 50px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.container {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  /* border: 1px solid red; */
 | 
			
		||||
  height: calc(100% - 50px);
 | 
			
		||||
  padding: 0px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.nav {
 | 
			
		||||
  flex: 0 0 200px;
 | 
			
		||||
  background-color: bisque;
 | 
			
		||||
  padding: 0px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.view {
 | 
			
		||||
  flex-grow: 1;
 | 
			
		||||
  flex-shrink: 1;
 | 
			
		||||
  overflow-y: auto;
 | 
			
		||||
  overflow-x: auto;
 | 
			
		||||
  background-color: antiquewhite;
 | 
			
		||||
  /* min-width: 800px; */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
hr {
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  border: 1px solid 1px;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										24
									
								
								cli/hello-cli/src/assets/css/colors.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,24 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-11-12 23:22:59
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-05 01:07:18
 | 
			
		||||
 * @FilePath: \hello-cli\src\assets\css\colors.css
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
html {
 | 
			
		||||
    --backupground-color: #f4f5f7ff;
 | 
			
		||||
    --btn-color-blue: #307dbe;
 | 
			
		||||
    --btn-color-yellow: #f7b24d;
 | 
			
		||||
    --btn-color-green: #5bad60;
 | 
			
		||||
    --btn-color-red: #e56651;
 | 
			
		||||
    --btn-font-color: #fff;
 | 
			
		||||
 | 
			
		||||
    --input-focus-color: #e56651;
 | 
			
		||||
 | 
			
		||||
    /* 标题栏背景色 */
 | 
			
		||||
    --banner-background-color: #1d74b2;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										17
									
								
								cli/hello-cli/src/assets/css/global.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,17 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-05 00:07:49
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-05 00:48:04
 | 
			
		||||
 * @FilePath: \hello-cli\src\assets\css\global.css
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
html,
 | 
			
		||||
body,
 | 
			
		||||
#app {
 | 
			
		||||
    /* padding: 0px; */
 | 
			
		||||
    margin: 0px;
 | 
			
		||||
    overflow: hidden;
 | 
			
		||||
}
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB  | 
							
								
								
									
										62
									
								
								cli/hello-cli/src/components/AppBanner.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,62 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-02 22:44:12
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-13 16:54:33
 | 
			
		||||
 * @FilePath: \hello-cli\src\components\AppBanner.vue
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="app_banner">
 | 
			
		||||
    <span class="company_name">CPIC</span>
 | 
			
		||||
    <div class="version_div">
 | 
			
		||||
      <div>测试版</div>
 | 
			
		||||
      <div>3.6.7 x64 Build202208301257</div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="buttons_div"></div>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
  name: "AppBanner",
 | 
			
		||||
  data() {
 | 
			
		||||
    return {};
 | 
			
		||||
  },
 | 
			
		||||
  // created() {
 | 
			
		||||
  //   console.log("banner请求数据!");
 | 
			
		||||
  // },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    console.log("banner请求数据!");
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
<style scoped>
 | 
			
		||||
.app_banner {
 | 
			
		||||
  background-color: var(--banner-background-color);
 | 
			
		||||
  color: #fff;
 | 
			
		||||
  display: flex;
 | 
			
		||||
  justify-content: left;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
  padding: 0px 15px;
 | 
			
		||||
  height: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.app_banner > * + * {
 | 
			
		||||
  margin-left: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.company_name {
 | 
			
		||||
  font-size: 2rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.version_div {
 | 
			
		||||
  font-size: 0.5rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.buttons_div {
 | 
			
		||||
  margin-left: auto;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										25
									
								
								cli/hello-cli/src/components/AppNav.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,25 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-02 22:50:54
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-02 22:56:40
 | 
			
		||||
 * @FilePath: \hello-cli\src\components\AppNav.vue
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div></div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
  name: "AppNav",
 | 
			
		||||
  data() {
 | 
			
		||||
    return {};
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style>
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										46
									
								
								cli/hello-cli/src/main.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,46 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-11-22 17:50:49
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-05 01:05:43
 | 
			
		||||
 * @FilePath: \hello-cli\src\main.js
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
import { createApp } from 'vue';
 | 
			
		||||
import { createStore } from "vuex";
 | 
			
		||||
import App from './App.vue';
 | 
			
		||||
import ElementPlus from "element-plus";
 | 
			
		||||
import "./assets/css/root.css";
 | 
			
		||||
import "./assets/css/normalize.css";
 | 
			
		||||
import "./assets/css/global.css";
 | 
			
		||||
import "./assets/css/colors.css";
 | 
			
		||||
import 'element-plus/dist/index.css';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const app = createApp(App);
 | 
			
		||||
const vuex = createStore({
 | 
			
		||||
    state() {
 | 
			
		||||
        return {
 | 
			
		||||
            count: 0,
 | 
			
		||||
        };
 | 
			
		||||
    },
 | 
			
		||||
    mutations: {
 | 
			
		||||
        increment(state) {
 | 
			
		||||
            state.count++;
 | 
			
		||||
        },
 | 
			
		||||
        clearCount(state) {
 | 
			
		||||
            state.count = 0;
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    getters: {
 | 
			
		||||
        countText(store) {
 | 
			
		||||
            return store.count + "次";
 | 
			
		||||
        },
 | 
			
		||||
    },
 | 
			
		||||
});
 | 
			
		||||
app.use(vuex);
 | 
			
		||||
app.use(ElementPlus);
 | 
			
		||||
app.mount('#app');
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										18
									
								
								cli/hello-cli/src/router/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,18 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-02 16:09:08
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-02 16:21:00
 | 
			
		||||
 * @FilePath: \hello-cli\src\router\index.js
 | 
			
		||||
 * @Description: 设置路由
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved.
 | 
			
		||||
 */
 | 
			
		||||
import { createRouter, createWebHashHistory } from "vue-router";
 | 
			
		||||
 | 
			
		||||
const routes = [{ path: "/", component: undefined }];
 | 
			
		||||
 | 
			
		||||
export default createRouter({
 | 
			
		||||
    history: createWebHashHistory(),
 | 
			
		||||
    routes: routes,
 | 
			
		||||
});
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB  | 
| 
		 Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB  | 
| 
		 Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB  | 
| 
		 Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB  | 
							
								
								
									
										1
									
								
								node_modules/.package_versions.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
			
		||||
{}
 | 
			
		||||
							
								
								
									
										760
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,760 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "vue-learning",
 | 
			
		||||
  "lockfileVersion": 2,
 | 
			
		||||
  "requires": true,
 | 
			
		||||
  "packages": {
 | 
			
		||||
    "": {
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "element-plus": "^2.2.26"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@babel/parser": {
 | 
			
		||||
      "version": "7.20.5",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.5.tgz",
 | 
			
		||||
      "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "bin": {
 | 
			
		||||
        "parser": "bin/babel-parser.js"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@ctrl/tinycolor": {
 | 
			
		||||
      "version": "3.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz",
 | 
			
		||||
      "integrity": "sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=10"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@element-plus/icons-vue": {
 | 
			
		||||
      "version": "2.0.10",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz",
 | 
			
		||||
      "integrity": "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==",
 | 
			
		||||
      "peerDependencies": {
 | 
			
		||||
        "vue": "^3.2.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@floating-ui/core": {
 | 
			
		||||
      "version": "1.0.4",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.0.4.tgz",
 | 
			
		||||
      "integrity": "sha512-FPFLbg2b06MIw1dqk2SOEMAMX3xlrreGjcui5OTxfBDtaKTmh0kioOVjT8gcfl58juawL/yF+S+gnq8aUYQx/Q=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@floating-ui/dom": {
 | 
			
		||||
      "version": "1.0.10",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.0.10.tgz",
 | 
			
		||||
      "integrity": "sha512-ZRe5ZmtGYCd82zrjWnnMW8hN5H1otedLh0Ur6rRo6f0exbEe6IlkVvo1RO7tgiMvbF0Df8hkhdm50VcVYqwP6g==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@floating-ui/core": "^1.0.4"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@popperjs/core": {
 | 
			
		||||
      "name": "@sxzz/popperjs-es",
 | 
			
		||||
      "version": "2.11.7",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
 | 
			
		||||
      "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@types/lodash": {
 | 
			
		||||
      "version": "4.14.191",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.191.tgz",
 | 
			
		||||
      "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@types/lodash-es": {
 | 
			
		||||
      "version": "4.17.6",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.6.tgz",
 | 
			
		||||
      "integrity": "sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@types/lodash": "*"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@types/web-bluetooth": {
 | 
			
		||||
      "version": "0.0.16",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
 | 
			
		||||
      "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/compiler-core": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/parser": "^7.16.4",
 | 
			
		||||
        "@vue/shared": "3.2.45",
 | 
			
		||||
        "estree-walker": "^2.0.2",
 | 
			
		||||
        "source-map": "^0.6.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/compiler-dom": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@vue/compiler-core": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/compiler-sfc": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/parser": "^7.16.4",
 | 
			
		||||
        "@vue/compiler-core": "3.2.45",
 | 
			
		||||
        "@vue/compiler-dom": "3.2.45",
 | 
			
		||||
        "@vue/compiler-ssr": "3.2.45",
 | 
			
		||||
        "@vue/reactivity-transform": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45",
 | 
			
		||||
        "estree-walker": "^2.0.2",
 | 
			
		||||
        "magic-string": "^0.25.7",
 | 
			
		||||
        "postcss": "^8.1.10",
 | 
			
		||||
        "source-map": "^0.6.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/compiler-ssr": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@vue/compiler-dom": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/reactivity": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@vue/shared": "3.2.45"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/reactivity-transform": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/parser": "^7.16.4",
 | 
			
		||||
        "@vue/compiler-core": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45",
 | 
			
		||||
        "estree-walker": "^2.0.2",
 | 
			
		||||
        "magic-string": "^0.25.7"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/runtime-core": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@vue/reactivity": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/runtime-dom": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@vue/runtime-core": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45",
 | 
			
		||||
        "csstype": "^2.6.8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/server-renderer": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@vue/compiler-ssr": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45"
 | 
			
		||||
      },
 | 
			
		||||
      "peerDependencies": {
 | 
			
		||||
        "vue": "3.2.45"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/shared": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==",
 | 
			
		||||
      "peer": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vueuse/core": {
 | 
			
		||||
      "version": "9.6.0",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.6.0.tgz",
 | 
			
		||||
      "integrity": "sha512-qGUcjKQXHgN+jqXEgpeZGoxdCbIDCdVPz3QiF1uyecVGbMuM63o96I1GjYx5zskKgRI0FKSNsVWM7rwrRMTf6A==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@types/web-bluetooth": "^0.0.16",
 | 
			
		||||
        "@vueuse/metadata": "9.6.0",
 | 
			
		||||
        "@vueuse/shared": "9.6.0",
 | 
			
		||||
        "vue-demi": "*"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vueuse/core/node_modules/vue-demi": {
 | 
			
		||||
      "version": "0.13.11",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz",
 | 
			
		||||
      "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
 | 
			
		||||
      "hasInstallScript": true,
 | 
			
		||||
      "bin": {
 | 
			
		||||
        "vue-demi-fix": "bin/vue-demi-fix.js",
 | 
			
		||||
        "vue-demi-switch": "bin/vue-demi-switch.js"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=12"
 | 
			
		||||
      },
 | 
			
		||||
      "peerDependencies": {
 | 
			
		||||
        "@vue/composition-api": "^1.0.0-rc.1",
 | 
			
		||||
        "vue": "^3.0.0-0 || ^2.6.0"
 | 
			
		||||
      },
 | 
			
		||||
      "peerDependenciesMeta": {
 | 
			
		||||
        "@vue/composition-api": {
 | 
			
		||||
          "optional": true
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vueuse/metadata": {
 | 
			
		||||
      "version": "9.6.0",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.6.0.tgz",
 | 
			
		||||
      "integrity": "sha512-sIC8R+kWkIdpi5X2z2Gk8TRYzmczDwHRhEFfCu2P+XW2JdPoXrziqsGpDDsN7ykBx4ilwieS7JUIweVGhvZ93w=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vueuse/shared": {
 | 
			
		||||
      "version": "9.6.0",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.6.0.tgz",
 | 
			
		||||
      "integrity": "sha512-/eDchxYYhkHnFyrb00t90UfjCx94kRHxc7J1GtBCqCG4HyPMX+krV9XJgVtWIsAMaxKVU4fC8NSUviG1JkwhUQ==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "vue-demi": "*"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vueuse/shared/node_modules/vue-demi": {
 | 
			
		||||
      "version": "0.13.11",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz",
 | 
			
		||||
      "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
 | 
			
		||||
      "hasInstallScript": true,
 | 
			
		||||
      "bin": {
 | 
			
		||||
        "vue-demi-fix": "bin/vue-demi-fix.js",
 | 
			
		||||
        "vue-demi-switch": "bin/vue-demi-switch.js"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=12"
 | 
			
		||||
      },
 | 
			
		||||
      "peerDependencies": {
 | 
			
		||||
        "@vue/composition-api": "^1.0.0-rc.1",
 | 
			
		||||
        "vue": "^3.0.0-0 || ^2.6.0"
 | 
			
		||||
      },
 | 
			
		||||
      "peerDependenciesMeta": {
 | 
			
		||||
        "@vue/composition-api": {
 | 
			
		||||
          "optional": true
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/async-validator": {
 | 
			
		||||
      "version": "4.2.5",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz",
 | 
			
		||||
      "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/csstype": {
 | 
			
		||||
      "version": "2.6.21",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz",
 | 
			
		||||
      "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
 | 
			
		||||
      "peer": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/dayjs": {
 | 
			
		||||
      "version": "1.11.7",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz",
 | 
			
		||||
      "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/element-plus": {
 | 
			
		||||
      "version": "2.2.26",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.26.tgz",
 | 
			
		||||
      "integrity": "sha512-O/rdY5m9DkclpVg8r3GynyqCunm7MxSR142xSsjrZA77bi7bcwA3SIy6SPEDqHi5R4KqgkGYgKSp4Q4e3irbYg==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@ctrl/tinycolor": "^3.4.1",
 | 
			
		||||
        "@element-plus/icons-vue": "^2.0.6",
 | 
			
		||||
        "@floating-ui/dom": "^1.0.1",
 | 
			
		||||
        "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
 | 
			
		||||
        "@types/lodash": "^4.14.182",
 | 
			
		||||
        "@types/lodash-es": "^4.17.6",
 | 
			
		||||
        "@vueuse/core": "^9.1.0",
 | 
			
		||||
        "async-validator": "^4.2.5",
 | 
			
		||||
        "dayjs": "^1.11.3",
 | 
			
		||||
        "escape-html": "^1.0.3",
 | 
			
		||||
        "lodash": "^4.17.21",
 | 
			
		||||
        "lodash-es": "^4.17.21",
 | 
			
		||||
        "lodash-unified": "^1.0.2",
 | 
			
		||||
        "memoize-one": "^6.0.0",
 | 
			
		||||
        "normalize-wheel-es": "^1.2.0"
 | 
			
		||||
      },
 | 
			
		||||
      "peerDependencies": {
 | 
			
		||||
        "vue": "^3.2.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/escape-html": {
 | 
			
		||||
      "version": "1.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/estree-walker": {
 | 
			
		||||
      "version": "2.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
 | 
			
		||||
      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
 | 
			
		||||
      "peer": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/lodash": {
 | 
			
		||||
      "version": "4.17.21",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
 | 
			
		||||
      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/lodash-es": {
 | 
			
		||||
      "version": "4.17.21",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz",
 | 
			
		||||
      "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/lodash-unified": {
 | 
			
		||||
      "version": "1.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==",
 | 
			
		||||
      "peerDependencies": {
 | 
			
		||||
        "@types/lodash-es": "*",
 | 
			
		||||
        "lodash": "*",
 | 
			
		||||
        "lodash-es": "*"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/magic-string": {
 | 
			
		||||
      "version": "0.25.9",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz",
 | 
			
		||||
      "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "sourcemap-codec": "^1.4.8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/memoize-one": {
 | 
			
		||||
      "version": "6.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/nanoid": {
 | 
			
		||||
      "version": "3.3.4",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz",
 | 
			
		||||
      "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "bin": {
 | 
			
		||||
        "nanoid": "bin/nanoid.cjs"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/normalize-wheel-es": {
 | 
			
		||||
      "version": "1.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
 | 
			
		||||
      "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/picocolors": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
 | 
			
		||||
      "peer": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/postcss": {
 | 
			
		||||
      "version": "8.4.20",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.20.tgz",
 | 
			
		||||
      "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "nanoid": "^3.3.4",
 | 
			
		||||
        "picocolors": "^1.0.0",
 | 
			
		||||
        "source-map-js": "^1.0.2"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": "^10 || ^12 || >=14"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/source-map": {
 | 
			
		||||
      "version": "0.6.1",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
 | 
			
		||||
      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=0.10.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/source-map-js": {
 | 
			
		||||
      "version": "1.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
 | 
			
		||||
      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=0.10.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/sourcemap-codec": {
 | 
			
		||||
      "version": "1.4.8",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
 | 
			
		||||
      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
 | 
			
		||||
      "deprecated": "Please use @jridgewell/sourcemap-codec instead",
 | 
			
		||||
      "peer": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/vue": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@vue/compiler-dom": "3.2.45",
 | 
			
		||||
        "@vue/compiler-sfc": "3.2.45",
 | 
			
		||||
        "@vue/runtime-dom": "3.2.45",
 | 
			
		||||
        "@vue/server-renderer": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@babel/parser": {
 | 
			
		||||
      "version": "7.20.5",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.5.tgz",
 | 
			
		||||
      "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==",
 | 
			
		||||
      "peer": true
 | 
			
		||||
    },
 | 
			
		||||
    "@ctrl/tinycolor": {
 | 
			
		||||
      "version": "3.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz",
 | 
			
		||||
      "integrity": "sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg=="
 | 
			
		||||
    },
 | 
			
		||||
    "@element-plus/icons-vue": {
 | 
			
		||||
      "version": "2.0.10",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz",
 | 
			
		||||
      "integrity": "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==",
 | 
			
		||||
      "requires": {}
 | 
			
		||||
    },
 | 
			
		||||
    "@floating-ui/core": {
 | 
			
		||||
      "version": "1.0.4",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.0.4.tgz",
 | 
			
		||||
      "integrity": "sha512-FPFLbg2b06MIw1dqk2SOEMAMX3xlrreGjcui5OTxfBDtaKTmh0kioOVjT8gcfl58juawL/yF+S+gnq8aUYQx/Q=="
 | 
			
		||||
    },
 | 
			
		||||
    "@floating-ui/dom": {
 | 
			
		||||
      "version": "1.0.10",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.0.10.tgz",
 | 
			
		||||
      "integrity": "sha512-ZRe5ZmtGYCd82zrjWnnMW8hN5H1otedLh0Ur6rRo6f0exbEe6IlkVvo1RO7tgiMvbF0Df8hkhdm50VcVYqwP6g==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@floating-ui/core": "^1.0.4"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@popperjs/core": {
 | 
			
		||||
      "version": "npm:@sxzz/popperjs-es@2.11.7",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
 | 
			
		||||
      "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "@types/lodash": {
 | 
			
		||||
      "version": "4.14.191",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.191.tgz",
 | 
			
		||||
      "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "@types/lodash-es": {
 | 
			
		||||
      "version": "4.17.6",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.6.tgz",
 | 
			
		||||
      "integrity": "sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@types/lodash": "*"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@types/web-bluetooth": {
 | 
			
		||||
      "version": "0.0.16",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
 | 
			
		||||
      "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "@vue/compiler-core": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@babel/parser": "^7.16.4",
 | 
			
		||||
        "@vue/shared": "3.2.45",
 | 
			
		||||
        "estree-walker": "^2.0.2",
 | 
			
		||||
        "source-map": "^0.6.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@vue/compiler-dom": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@vue/compiler-core": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@vue/compiler-sfc": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@babel/parser": "^7.16.4",
 | 
			
		||||
        "@vue/compiler-core": "3.2.45",
 | 
			
		||||
        "@vue/compiler-dom": "3.2.45",
 | 
			
		||||
        "@vue/compiler-ssr": "3.2.45",
 | 
			
		||||
        "@vue/reactivity-transform": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45",
 | 
			
		||||
        "estree-walker": "^2.0.2",
 | 
			
		||||
        "magic-string": "^0.25.7",
 | 
			
		||||
        "postcss": "^8.1.10",
 | 
			
		||||
        "source-map": "^0.6.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@vue/compiler-ssr": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@vue/compiler-dom": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@vue/reactivity": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@vue/shared": "3.2.45"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@vue/reactivity-transform": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@babel/parser": "^7.16.4",
 | 
			
		||||
        "@vue/compiler-core": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45",
 | 
			
		||||
        "estree-walker": "^2.0.2",
 | 
			
		||||
        "magic-string": "^0.25.7"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@vue/runtime-core": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@vue/reactivity": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@vue/runtime-dom": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@vue/runtime-core": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45",
 | 
			
		||||
        "csstype": "^2.6.8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@vue/server-renderer": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@vue/compiler-ssr": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@vue/shared": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==",
 | 
			
		||||
      "peer": true
 | 
			
		||||
    },
 | 
			
		||||
    "@vueuse/core": {
 | 
			
		||||
      "version": "9.6.0",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.6.0.tgz",
 | 
			
		||||
      "integrity": "sha512-qGUcjKQXHgN+jqXEgpeZGoxdCbIDCdVPz3QiF1uyecVGbMuM63o96I1GjYx5zskKgRI0FKSNsVWM7rwrRMTf6A==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@types/web-bluetooth": "^0.0.16",
 | 
			
		||||
        "@vueuse/metadata": "9.6.0",
 | 
			
		||||
        "@vueuse/shared": "9.6.0",
 | 
			
		||||
        "vue-demi": "*"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "vue-demi": {
 | 
			
		||||
          "version": "0.13.11",
 | 
			
		||||
          "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz",
 | 
			
		||||
          "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
 | 
			
		||||
          "requires": {}
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@vueuse/metadata": {
 | 
			
		||||
      "version": "9.6.0",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.6.0.tgz",
 | 
			
		||||
      "integrity": "sha512-sIC8R+kWkIdpi5X2z2Gk8TRYzmczDwHRhEFfCu2P+XW2JdPoXrziqsGpDDsN7ykBx4ilwieS7JUIweVGhvZ93w=="
 | 
			
		||||
    },
 | 
			
		||||
    "@vueuse/shared": {
 | 
			
		||||
      "version": "9.6.0",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.6.0.tgz",
 | 
			
		||||
      "integrity": "sha512-/eDchxYYhkHnFyrb00t90UfjCx94kRHxc7J1GtBCqCG4HyPMX+krV9XJgVtWIsAMaxKVU4fC8NSUviG1JkwhUQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "vue-demi": "*"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "vue-demi": {
 | 
			
		||||
          "version": "0.13.11",
 | 
			
		||||
          "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz",
 | 
			
		||||
          "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
 | 
			
		||||
          "requires": {}
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "async-validator": {
 | 
			
		||||
      "version": "4.2.5",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz",
 | 
			
		||||
      "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
 | 
			
		||||
    },
 | 
			
		||||
    "csstype": {
 | 
			
		||||
      "version": "2.6.21",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz",
 | 
			
		||||
      "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
 | 
			
		||||
      "peer": true
 | 
			
		||||
    },
 | 
			
		||||
    "dayjs": {
 | 
			
		||||
      "version": "1.11.7",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz",
 | 
			
		||||
      "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "element-plus": {
 | 
			
		||||
      "version": "2.2.26",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.26.tgz",
 | 
			
		||||
      "integrity": "sha512-O/rdY5m9DkclpVg8r3GynyqCunm7MxSR142xSsjrZA77bi7bcwA3SIy6SPEDqHi5R4KqgkGYgKSp4Q4e3irbYg==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@ctrl/tinycolor": "^3.4.1",
 | 
			
		||||
        "@element-plus/icons-vue": "^2.0.6",
 | 
			
		||||
        "@floating-ui/dom": "^1.0.1",
 | 
			
		||||
        "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
 | 
			
		||||
        "@types/lodash": "^4.14.182",
 | 
			
		||||
        "@types/lodash-es": "^4.17.6",
 | 
			
		||||
        "@vueuse/core": "^9.1.0",
 | 
			
		||||
        "async-validator": "^4.2.5",
 | 
			
		||||
        "dayjs": "^1.11.3",
 | 
			
		||||
        "escape-html": "^1.0.3",
 | 
			
		||||
        "lodash": "^4.17.21",
 | 
			
		||||
        "lodash-es": "^4.17.21",
 | 
			
		||||
        "lodash-unified": "^1.0.2",
 | 
			
		||||
        "memoize-one": "^6.0.0",
 | 
			
		||||
        "normalize-wheel-es": "^1.2.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "escape-html": {
 | 
			
		||||
      "version": "1.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
 | 
			
		||||
    },
 | 
			
		||||
    "estree-walker": {
 | 
			
		||||
      "version": "2.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
 | 
			
		||||
      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
 | 
			
		||||
      "peer": true
 | 
			
		||||
    },
 | 
			
		||||
    "lodash": {
 | 
			
		||||
      "version": "4.17.21",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
 | 
			
		||||
      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
 | 
			
		||||
    },
 | 
			
		||||
    "lodash-es": {
 | 
			
		||||
      "version": "4.17.21",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz",
 | 
			
		||||
      "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
 | 
			
		||||
    },
 | 
			
		||||
    "lodash-unified": {
 | 
			
		||||
      "version": "1.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==",
 | 
			
		||||
      "requires": {}
 | 
			
		||||
    },
 | 
			
		||||
    "magic-string": {
 | 
			
		||||
      "version": "0.25.9",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz",
 | 
			
		||||
      "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "sourcemap-codec": "^1.4.8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "memoize-one": {
 | 
			
		||||
      "version": "6.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
 | 
			
		||||
    },
 | 
			
		||||
    "nanoid": {
 | 
			
		||||
      "version": "3.3.4",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz",
 | 
			
		||||
      "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
 | 
			
		||||
      "peer": true
 | 
			
		||||
    },
 | 
			
		||||
    "normalize-wheel-es": {
 | 
			
		||||
      "version": "1.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
 | 
			
		||||
      "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
 | 
			
		||||
    },
 | 
			
		||||
    "picocolors": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
 | 
			
		||||
      "peer": true
 | 
			
		||||
    },
 | 
			
		||||
    "postcss": {
 | 
			
		||||
      "version": "8.4.20",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.20.tgz",
 | 
			
		||||
      "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "nanoid": "^3.3.4",
 | 
			
		||||
        "picocolors": "^1.0.0",
 | 
			
		||||
        "source-map-js": "^1.0.2"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "source-map": {
 | 
			
		||||
      "version": "0.6.1",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
 | 
			
		||||
      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 | 
			
		||||
      "peer": true
 | 
			
		||||
    },
 | 
			
		||||
    "source-map-js": {
 | 
			
		||||
      "version": "1.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
 | 
			
		||||
      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
 | 
			
		||||
      "peer": true
 | 
			
		||||
    },
 | 
			
		||||
    "sourcemap-codec": {
 | 
			
		||||
      "version": "1.4.8",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
 | 
			
		||||
      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
 | 
			
		||||
      "peer": true
 | 
			
		||||
    },
 | 
			
		||||
    "vue": {
 | 
			
		||||
      "version": "3.2.45",
 | 
			
		||||
      "resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.45.tgz",
 | 
			
		||||
      "integrity": "sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==",
 | 
			
		||||
      "peer": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@vue/compiler-dom": "3.2.45",
 | 
			
		||||
        "@vue/compiler-sfc": "3.2.45",
 | 
			
		||||
        "@vue/runtime-dom": "3.2.45",
 | 
			
		||||
        "@vue/server-renderer": "3.2.45",
 | 
			
		||||
        "@vue/shared": "3.2.45"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										5
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "element-plus": "^2.2.26"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										4
									
								
								企业级管理系统/java/AdminSys/.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
			
		||||
{
 | 
			
		||||
    "java.configuration.updateBuildConfiguration": "automatic",
 | 
			
		||||
    "java.compile.nullAnalysis.mode": "automatic"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										112
									
								
								企业级管理系统/java/AdminSys/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,112 @@
 | 
			
		||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
 | 
			
		||||
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 | 
			
		||||
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 | 
			
		||||
  <modelVersion>4.0.0</modelVersion>
 | 
			
		||||
  <groupId>com.cpic.xim</groupId>
 | 
			
		||||
  <artifactId>admin-system</artifactId>
 | 
			
		||||
  <packaging>war</packaging>
 | 
			
		||||
  <version>1.0-SNAPSHOT</version>
 | 
			
		||||
  <name>AdminSys Maven Webapp</name>
 | 
			
		||||
  <url>http://maven.apache.org</url>
 | 
			
		||||
 | 
			
		||||
  <dependencies>
 | 
			
		||||
    <dependency>
 | 
			
		||||
      <groupId>junit</groupId>
 | 
			
		||||
      <artifactId>junit</artifactId>
 | 
			
		||||
      <version>4.13.2</version>
 | 
			
		||||
      <scope>test</scope>
 | 
			
		||||
    </dependency>
 | 
			
		||||
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
 | 
			
		||||
    <dependency>
 | 
			
		||||
      <groupId>org.springframework</groupId>
 | 
			
		||||
      <artifactId>spring-webmvc</artifactId>
 | 
			
		||||
      <version>5.3.24</version>
 | 
			
		||||
    </dependency>
 | 
			
		||||
    <dependency>
 | 
			
		||||
      <groupId>com.oracle</groupId>
 | 
			
		||||
      <artifactId>ojdbc8</artifactId>
 | 
			
		||||
      <version>19.3.0.0.0</version>
 | 
			
		||||
    </dependency>
 | 
			
		||||
    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
 | 
			
		||||
    <dependency>
 | 
			
		||||
      <groupId>javax.servlet</groupId>
 | 
			
		||||
      <artifactId>javax.servlet-api</artifactId>
 | 
			
		||||
      <version>4.0.1</version>
 | 
			
		||||
      <scope>provided</scope>
 | 
			
		||||
    </dependency>
 | 
			
		||||
    <dependency>
 | 
			
		||||
      <groupId>javax.validation</groupId>
 | 
			
		||||
      <artifactId>validation-api</artifactId>
 | 
			
		||||
      <version>2.0.1.Final</version>
 | 
			
		||||
    </dependency>
 | 
			
		||||
    <dependency>
 | 
			
		||||
      <groupId>org.hibernate</groupId>
 | 
			
		||||
      <artifactId>hibernate-validator</artifactId>
 | 
			
		||||
      <version>7.0.1.Final</version>
 | 
			
		||||
    </dependency>
 | 
			
		||||
    <!-- jackson -->
 | 
			
		||||
    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
 | 
			
		||||
    <dependency>
 | 
			
		||||
      <groupId>com.fasterxml.jackson.core</groupId>
 | 
			
		||||
      <artifactId>jackson-databind</artifactId>
 | 
			
		||||
      <version>2.13.4</version>
 | 
			
		||||
    </dependency>
 | 
			
		||||
    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
 | 
			
		||||
    <dependency>
 | 
			
		||||
      <groupId>com.fasterxml.jackson.core</groupId>
 | 
			
		||||
      <artifactId>jackson-core</artifactId>
 | 
			
		||||
      <version>2.13.4</version>
 | 
			
		||||
    </dependency>
 | 
			
		||||
    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
 | 
			
		||||
    <dependency>
 | 
			
		||||
      <groupId>com.fasterxml.jackson.core</groupId>
 | 
			
		||||
      <artifactId>jackson-annotations</artifactId>
 | 
			
		||||
      <version>2.13.4</version>
 | 
			
		||||
    </dependency>
 | 
			
		||||
    <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
 | 
			
		||||
    <dependency>
 | 
			
		||||
      <groupId>commons-io</groupId>
 | 
			
		||||
      <artifactId>commons-io</artifactId>
 | 
			
		||||
      <version>2.11.0</version>
 | 
			
		||||
    </dependency>
 | 
			
		||||
    <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
 | 
			
		||||
    <dependency>
 | 
			
		||||
      <groupId>commons-fileupload</groupId>
 | 
			
		||||
      <artifactId>commons-fileupload</artifactId>
 | 
			
		||||
      <version>1.4</version>
 | 
			
		||||
    </dependency>
 | 
			
		||||
    <!-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api -->
 | 
			
		||||
    <dependency>
 | 
			
		||||
      <groupId>javax.annotation</groupId>
 | 
			
		||||
      <artifactId>javax.annotation-api</artifactId>
 | 
			
		||||
      <version>1.3.2</version>
 | 
			
		||||
    </dependency>
 | 
			
		||||
  </dependencies>
 | 
			
		||||
 | 
			
		||||
  <build>
 | 
			
		||||
    <finalName>admin-system</finalName>
 | 
			
		||||
    <plugins>
 | 
			
		||||
      <plugin>
 | 
			
		||||
        <groupId>org.apache.maven.plugins</groupId>
 | 
			
		||||
        <artifactId>maven-war-plugin</artifactId>
 | 
			
		||||
        <version>3.2.2</version>
 | 
			
		||||
      </plugin>
 | 
			
		||||
      <plugin>
 | 
			
		||||
        <groupId>org.apache.maven.plugins</groupId>
 | 
			
		||||
        <artifactId>maven-surefire-plugin</artifactId>
 | 
			
		||||
        <version>3.0.0-M6</version>
 | 
			
		||||
        <configuration>
 | 
			
		||||
          <skipTests>true</skipTests>
 | 
			
		||||
        </configuration>
 | 
			
		||||
      </plugin>
 | 
			
		||||
    </plugins>
 | 
			
		||||
  </build>
 | 
			
		||||
 | 
			
		||||
  <properties>
 | 
			
		||||
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 | 
			
		||||
    <java.version>1.8</java.version>
 | 
			
		||||
    <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
 | 
			
		||||
    <maven.compiler.source>1.8</maven.compiler.source>
 | 
			
		||||
    <maven.compiler.target>1.8</maven.compiler.target>
 | 
			
		||||
  </properties>
 | 
			
		||||
</project>
 | 
			
		||||
@@ -0,0 +1,210 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-15 14:08:28
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-16 17:57:06
 | 
			
		||||
 * @FilePath: \AdminSys\src\main\java\com\cpic\xim\myutils\account\CpicXIMStaffInfo.java
 | 
			
		||||
 * @Description: 产险厦门分公司员工信息对象
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
package com.cpic.xim.myutils.account;
 | 
			
		||||
 | 
			
		||||
import java.sql.Connection;
 | 
			
		||||
import java.sql.DriverManager;
 | 
			
		||||
import java.sql.PreparedStatement;
 | 
			
		||||
import java.sql.ResultSet;
 | 
			
		||||
import java.sql.SQLException;
 | 
			
		||||
import com.fasterxml.jackson.annotation.JsonProperty;
 | 
			
		||||
 | 
			
		||||
/*****************************************************
 | 
			
		||||
 * 厦门太保员工信息
 | 
			
		||||
 * 使用工厂函数创建。
 | 
			
		||||
 *****************************************************/
 | 
			
		||||
public class CpicXIMStaffInfo
 | 
			
		||||
{
 | 
			
		||||
    /*****************************************************
 | 
			
		||||
     * 查询员工信息
 | 
			
		||||
     * @param uidOrCode p13账号或p09账号
 | 
			
		||||
     * @return 员工信息对象
 | 
			
		||||
     *****************************************************/
 | 
			
		||||
    public static CpicXIMStaffInfo getStaffInfo( String uidOrCode )
 | 
			
		||||
            throws SQLException, ClassNotFoundException
 | 
			
		||||
    {
 | 
			
		||||
        CpicXIMStaffInfo info = null;
 | 
			
		||||
 | 
			
		||||
        Connection connection = null;
 | 
			
		||||
        PreparedStatement stmt = null;
 | 
			
		||||
        ResultSet result = null;
 | 
			
		||||
 | 
			
		||||
        String jdbcURL = "jdbc:oracle:thin:@10.39.0.86:1521:xmcx1";
 | 
			
		||||
        String userName = "dataex";
 | 
			
		||||
        String password = "cpic123456";
 | 
			
		||||
        String querySQL = "SELECT ry.staff_code,ry.staff_name,ry.p13uid,"
 | 
			
		||||
                + "               ry.department_code, bm.department_name,"
 | 
			
		||||
                + "               ry.section_office_code,ks.section_office_name "
 | 
			
		||||
                + "          FROM idst0.rydm_t ry,idst0.ks_t ks,idst0.bm_t bm "
 | 
			
		||||
                + "         WHERE ry.account_status = 0 AND (ry.staff_code = ? OR ry.p13uid = ?) "
 | 
			
		||||
                + "           and ry.section_office_code = ks.section_office_code "
 | 
			
		||||
                + "           and ry.department_code = bm.department_code ";
 | 
			
		||||
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            Class.forName( "oracle.jdbc.driver.OracleDriver" );
 | 
			
		||||
 | 
			
		||||
            connection = DriverManager.getConnection( jdbcURL, userName, password );
 | 
			
		||||
            stmt = connection.prepareStatement( querySQL );
 | 
			
		||||
            stmt.setString( 1, uidOrCode );
 | 
			
		||||
            stmt.setString( 2, uidOrCode );
 | 
			
		||||
 | 
			
		||||
            result = stmt.executeQuery();
 | 
			
		||||
 | 
			
		||||
            if ( result.next())
 | 
			
		||||
            {
 | 
			
		||||
                info = new CpicXIMStaffInfo();
 | 
			
		||||
 | 
			
		||||
                info.code = result.getString( 1 );
 | 
			
		||||
                info.name = result.getString( 2 );
 | 
			
		||||
                info.p13UID = result.getString( 3 );
 | 
			
		||||
                info.departmentCode = result.getString( 4 );
 | 
			
		||||
                info.departmentName = result.getString( 5 );
 | 
			
		||||
                info.sectionOfficeCode = result.getString( 6 );
 | 
			
		||||
                info.setctionOfficeName = result.getString( 7 );
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        finally
 | 
			
		||||
        {
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                if ( result != null)
 | 
			
		||||
                {
 | 
			
		||||
                    result.close();
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            catch ( Exception exception )
 | 
			
		||||
            {
 | 
			
		||||
                exception.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                if ( stmt != null)
 | 
			
		||||
                {
 | 
			
		||||
                    stmt.close();
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            catch ( Exception exception )
 | 
			
		||||
            {
 | 
			
		||||
                exception.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                if ( connection != null)
 | 
			
		||||
                {
 | 
			
		||||
                    connection.close();
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            catch ( Exception exception )
 | 
			
		||||
            {
 | 
			
		||||
                exception.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return info;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private CpicXIMStaffInfo()
 | 
			
		||||
    {}
 | 
			
		||||
 | 
			
		||||
    public String getName()
 | 
			
		||||
    {
 | 
			
		||||
        return name;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setName( String name )
 | 
			
		||||
    {
 | 
			
		||||
        this.name = name;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getCode()
 | 
			
		||||
    {
 | 
			
		||||
        return code;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setCode( String code )
 | 
			
		||||
    {
 | 
			
		||||
        this.code = code;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getP13UID()
 | 
			
		||||
    {
 | 
			
		||||
        return p13UID;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setP13UID( String p13uid )
 | 
			
		||||
    {
 | 
			
		||||
        p13UID = p13uid;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getDepartmentCode()
 | 
			
		||||
    {
 | 
			
		||||
        return departmentCode;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setDepartmentCode( String departmentCode )
 | 
			
		||||
    {
 | 
			
		||||
        this.departmentCode = departmentCode;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getDepartmentName()
 | 
			
		||||
    {
 | 
			
		||||
        return departmentName;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setDepartmentName( String departmentName )
 | 
			
		||||
    {
 | 
			
		||||
        this.departmentName = departmentName;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getSectionOfficeCode()
 | 
			
		||||
    {
 | 
			
		||||
        return sectionOfficeCode;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setSectionOfficeCode( String sectionOfficeCode )
 | 
			
		||||
    {
 | 
			
		||||
        this.sectionOfficeCode = sectionOfficeCode;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getSetctionOfficeName()
 | 
			
		||||
    {
 | 
			
		||||
        return setctionOfficeName;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setSetctionOfficeName( String setctionOfficeName )
 | 
			
		||||
    {
 | 
			
		||||
        this.setctionOfficeName = setctionOfficeName;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @JsonProperty( "name")
 | 
			
		||||
    private String name;
 | 
			
		||||
 | 
			
		||||
    @JsonProperty( "code")
 | 
			
		||||
    private String code;
 | 
			
		||||
 | 
			
		||||
    @JsonProperty( "p13uid")
 | 
			
		||||
    private String p13UID;
 | 
			
		||||
 | 
			
		||||
    @JsonProperty( "department_code")
 | 
			
		||||
    private String departmentCode;
 | 
			
		||||
 | 
			
		||||
    @JsonProperty( "department_name")
 | 
			
		||||
    private String departmentName;
 | 
			
		||||
 | 
			
		||||
    @JsonProperty( "section_office_code")
 | 
			
		||||
    private String sectionOfficeCode;
 | 
			
		||||
 | 
			
		||||
    @JsonProperty( "section_office_name")
 | 
			
		||||
    private String setctionOfficeName;
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,70 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-15 09:51:12
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-16 15:29:34
 | 
			
		||||
 * @FilePath: \AdminSys\src\main\java\com\cpic\xim\myutils\account\LdapAccountCheck.java
 | 
			
		||||
 * @Description: P13验证相关方法。
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
package com.cpic.xim.myutils.account;
 | 
			
		||||
 | 
			
		||||
import javax.naming.CommunicationException;
 | 
			
		||||
import javax.naming.Context;
 | 
			
		||||
import javax.naming.NamingException;
 | 
			
		||||
import javax.naming.directory.DirContext;
 | 
			
		||||
import javax.naming.directory.InitialDirContext;
 | 
			
		||||
import java.util.Hashtable;
 | 
			
		||||
 | 
			
		||||
public class LdapAccountCheck
 | 
			
		||||
{
 | 
			
		||||
    private static String ldapServerUrl = "ldap://10.39.0.205:389";
 | 
			
		||||
 | 
			
		||||
    /*****************************************************
 | 
			
		||||
     * 对p13账号密码提交AD域服务器进行验证
 | 
			
		||||
     * @param userName p13uid
 | 
			
		||||
     * @param password p13密码
 | 
			
		||||
     * @return 返回验证结果,true为成功,false失败。
 | 
			
		||||
     *****************************************************/
 | 
			
		||||
    public static boolean ldapLogin( String userName, String password )
 | 
			
		||||
    {
 | 
			
		||||
        boolean result = false;
 | 
			
		||||
 | 
			
		||||
        if ( userName.endsWith( "@pr.intra.cpic.com.cn" ) == false)
 | 
			
		||||
        {
 | 
			
		||||
            userName += "@pr.intra.cpic.com.cn";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        DirContext ctx = null;
 | 
			
		||||
        Hashtable<String, String> ldap = new Hashtable<String, String>();
 | 
			
		||||
 | 
			
		||||
        ldap.put( Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory" );
 | 
			
		||||
        ldap.put( Context.SECURITY_AUTHENTICATION, "simple" );
 | 
			
		||||
        ldap.put( Context.PROVIDER_URL, ldapServerUrl );
 | 
			
		||||
        ldap.put( Context.SECURITY_PRINCIPAL, userName );
 | 
			
		||||
        ldap.put( Context.SECURITY_CREDENTIALS, password );
 | 
			
		||||
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            ctx = new InitialDirContext( ldap );
 | 
			
		||||
            ctx.close();
 | 
			
		||||
 | 
			
		||||
            result = true;
 | 
			
		||||
        }
 | 
			
		||||
        catch ( CommunicationException error )
 | 
			
		||||
        {
 | 
			
		||||
            error.printStackTrace();
 | 
			
		||||
            error.getMessage();
 | 
			
		||||
 | 
			
		||||
            result = false;
 | 
			
		||||
        }
 | 
			
		||||
        catch ( NamingException error )
 | 
			
		||||
        {
 | 
			
		||||
            error.printStackTrace();
 | 
			
		||||
            result = false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return result;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,20 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-16 08:50:47
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-16 10:15:11
 | 
			
		||||
 * @FilePath: \AdminSys\src\main\java\com\cpic\xim\myutils\config\json\AppConfig.java
 | 
			
		||||
 * @Description: 应用的JSON格式配置文件对象
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
package com.cpic.xim.myutils.config.json;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.annotation.JsonProperty;
 | 
			
		||||
 | 
			
		||||
@SuppressWarnings(
 | 
			
		||||
{ "unused"})
 | 
			
		||||
public class AppConfig
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,16 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-15 16:19:39
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-15 16:19:41
 | 
			
		||||
 * @FilePath: \AdminSys\src\main\java\com\cpicxim\myutils\config\json\ConfigLoader.java
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
package com.cpic.xim.myutils.config.json;
 | 
			
		||||
 | 
			
		||||
public class ConfigLoader
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,24 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-16 08:55:32
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-16 10:15:42
 | 
			
		||||
 * @FilePath: \AdminSys\src\main\java\com\cpic\xim\myutils\config\json\DatabaseConfig.java
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
package com.cpic.xim.myutils.config.json;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.annotation.JsonProperty;
 | 
			
		||||
 | 
			
		||||
@SuppressWarnings(
 | 
			
		||||
{ "unused"})
 | 
			
		||||
public class DatabaseConfig
 | 
			
		||||
{
 | 
			
		||||
    private String dbType;
 | 
			
		||||
    private String userName;
 | 
			
		||||
    private String password;
 | 
			
		||||
    private String dbName;
 | 
			
		||||
    private String jdbcURL;
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,110 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-15 11:11:21
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2023-01-11 09:18:29
 | 
			
		||||
 * @FilePath: \AdminSys\src\main\java\com\cpic\xim\web\controllers\account\P13AccountCheckController.java
 | 
			
		||||
 * @Description: P13账号验证用Controller。
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
package com.cpic.xim.web.controllers.account;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.nio.channels.IllegalSelectorException;
 | 
			
		||||
import java.sql.SQLException;
 | 
			
		||||
import javax.servlet.ServletContext;
 | 
			
		||||
import javax.servlet.http.HttpServletRequest;
 | 
			
		||||
import javax.servlet.http.HttpServletResponse;
 | 
			
		||||
import javax.servlet.http.HttpSession;
 | 
			
		||||
import org.springframework.stereotype.Controller;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestBody;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.ResponseBody;
 | 
			
		||||
import com.cpic.xim.myutils.account.CpicXIMStaffInfo;
 | 
			
		||||
import com.cpic.xim.myutils.account.LdapAccountCheck;
 | 
			
		||||
 | 
			
		||||
@Controller
 | 
			
		||||
@RequestMapping( path = "/account" )
 | 
			
		||||
@SuppressWarnings( "unused" )
 | 
			
		||||
public class P13AccountCheckController
 | 
			
		||||
{
 | 
			
		||||
    /*****************************************************
 | 
			
		||||
     * 
 | 
			
		||||
     *****************************************************/
 | 
			
		||||
    @ResponseBody
 | 
			
		||||
    @RequestMapping( path = "/p13_account_check.do" )
 | 
			
		||||
    public P13AccountCheckResult checkP13Account( @RequestBody P13AccountCheckRequest param,
 | 
			
		||||
            HttpServletRequest request, HttpServletResponse response )
 | 
			
		||||
            throws IllegalSelectorException, IOException
 | 
			
		||||
    {
 | 
			
		||||
        P13AccountCheckResult result = new P13AccountCheckResult();
 | 
			
		||||
        ServletContext context = request.getServletContext();
 | 
			
		||||
 | 
			
		||||
        // context.getAttribute( null );
 | 
			
		||||
        CpicXIMStaffInfo staff = null;
 | 
			
		||||
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            // 先根据用户输入的09工号或p13账号获得p13账号,确定账号存在
 | 
			
		||||
            staff = CpicXIMStaffInfo.getStaffInfo( param.getP13Account() );
 | 
			
		||||
        }
 | 
			
		||||
        catch ( SQLException error )
 | 
			
		||||
        {
 | 
			
		||||
            staff = null;
 | 
			
		||||
            result.setMessage( "人员工号或P13账号不存在!" );
 | 
			
		||||
            result.setSuccess( false );
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
        catch ( ClassNotFoundException error )
 | 
			
		||||
        {
 | 
			
		||||
            staff = null;
 | 
			
		||||
            result.setMessage( "加载Oracle驱动失败!" );
 | 
			
		||||
            result.setSuccess( false );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 查询结果是null,说明没有查询到结果,工号或p13账号不存在,返回结果。
 | 
			
		||||
        if ( staff == null )
 | 
			
		||||
        {
 | 
			
		||||
            result.setMessage( "人员工号或P13账号不存在!" );
 | 
			
		||||
            result.setSuccess( false );
 | 
			
		||||
 | 
			
		||||
            return result;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 判断一下p13是否存在,如果不存在就结束过程
 | 
			
		||||
        if ( staff.getP13UID().isEmpty() == true )
 | 
			
		||||
        {
 | 
			
		||||
            result.setMessage( "P13账号不存在,请联系信息技术部申请账号!" );
 | 
			
		||||
            result.setSuccess( false );
 | 
			
		||||
 | 
			
		||||
            return result;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 进行ldap验证
 | 
			
		||||
        boolean ldapCheckResult =
 | 
			
		||||
                LdapAccountCheck.ldapLogin( staff.getP13UID(), param.getPassword() );
 | 
			
		||||
 | 
			
		||||
        if ( ldapCheckResult == true )
 | 
			
		||||
        {
 | 
			
		||||
            result.setSuccess( true );
 | 
			
		||||
            result.setMessage( "验证成功!" );
 | 
			
		||||
            result.setStaffInfo( staff );
 | 
			
		||||
 | 
			
		||||
            // 将获取到的人员信息保存到会话中
 | 
			
		||||
            HttpSession session = request.getSession();
 | 
			
		||||
 | 
			
		||||
            session.setAttribute( "staff_info", staff );
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            result.setSuccess( false );
 | 
			
		||||
            result.setMessage( "密码错误!" );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        result.setToken( param.getP13Account() );
 | 
			
		||||
 | 
			
		||||
        return result;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -0,0 +1,45 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-15 21:01:43
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-15 21:03:21
 | 
			
		||||
 * @FilePath: \AdminSys\src\main\java\com\cpic\xim\web\controllers\account\P13AccountCheckRequest.java
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
package com.cpic.xim.web.controllers.account;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.annotation.*;
 | 
			
		||||
 | 
			
		||||
public class P13AccountCheckRequest
 | 
			
		||||
{
 | 
			
		||||
    P13AccountCheckRequest()
 | 
			
		||||
    {}
 | 
			
		||||
 | 
			
		||||
    public String getP13Account()
 | 
			
		||||
    {
 | 
			
		||||
        return p13Account;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setP13Account( String p13Account )
 | 
			
		||||
    {
 | 
			
		||||
        this.p13Account = p13Account;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getPassword()
 | 
			
		||||
    {
 | 
			
		||||
        return password;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setPassword( String password )
 | 
			
		||||
    {
 | 
			
		||||
        this.password = password;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @JsonProperty( "p13account")
 | 
			
		||||
    private String p13Account;
 | 
			
		||||
 | 
			
		||||
    @JsonProperty( "password")
 | 
			
		||||
    private String password;
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,110 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-15 11:17:26
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2023-01-10 14:58:53
 | 
			
		||||
 * @FilePath: \AdminSys\src\main\java\com\cpic\xim\web\controllers\account\P13AccountCheckResult.java
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package com.cpic.xim.web.controllers.account;
 | 
			
		||||
 | 
			
		||||
import com.cpic.xim.myutils.account.CpicXIMStaffInfo;
 | 
			
		||||
import com.fasterxml.jackson.annotation.*;;
 | 
			
		||||
 | 
			
		||||
public class P13AccountCheckResult
 | 
			
		||||
{
 | 
			
		||||
    P13AccountCheckResult()
 | 
			
		||||
    {}
 | 
			
		||||
 | 
			
		||||
    public boolean isSuccess()
 | 
			
		||||
    {
 | 
			
		||||
        return success;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setSuccess( boolean success )
 | 
			
		||||
    {
 | 
			
		||||
        this.success = success;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getMessage()
 | 
			
		||||
    {
 | 
			
		||||
        return message;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setMessage( String message )
 | 
			
		||||
    {
 | 
			
		||||
        this.message = message;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public CpicXIMStaffInfo getStaffInfo()
 | 
			
		||||
    {
 | 
			
		||||
        return staffInfo;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setStaffInfo( CpicXIMStaffInfo staffInfo )
 | 
			
		||||
    {
 | 
			
		||||
        this.staffInfo = staffInfo;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public String getToken()
 | 
			
		||||
    {
 | 
			
		||||
        return token;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setToken( String token )
 | 
			
		||||
    {
 | 
			
		||||
        this.token = token;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public int hashCode()
 | 
			
		||||
    {
 | 
			
		||||
        final int prime = 31;
 | 
			
		||||
        int result = 1;
 | 
			
		||||
        result = prime * result + (success ? 1231 : 1237);
 | 
			
		||||
        result = prime * result + ((message == null) ? 0 : message.hashCode());
 | 
			
		||||
        return result;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public boolean equals( Object obj )
 | 
			
		||||
    {
 | 
			
		||||
        if ( this == obj)
 | 
			
		||||
            return true;
 | 
			
		||||
        if ( obj == null)
 | 
			
		||||
            return false;
 | 
			
		||||
        if ( getClass() != obj.getClass())
 | 
			
		||||
            return false;
 | 
			
		||||
        P13AccountCheckResult other = (P13AccountCheckResult) obj;
 | 
			
		||||
        if ( success != other.success)
 | 
			
		||||
            return false;
 | 
			
		||||
        if ( message == null)
 | 
			
		||||
        {
 | 
			
		||||
            if ( other.message != null)
 | 
			
		||||
                return false;
 | 
			
		||||
        } else if ( !message.equals( other.message ))
 | 
			
		||||
            return false;
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // 验证结果状态,true为成功,false为失败
 | 
			
		||||
    @JsonProperty( "success")
 | 
			
		||||
    private boolean success;
 | 
			
		||||
 | 
			
		||||
    // 验证结果消息字符串,用来提示前端。
 | 
			
		||||
    @JsonProperty( "message")
 | 
			
		||||
    private String message;
 | 
			
		||||
 | 
			
		||||
    // 用户的token
 | 
			
		||||
    @JsonProperty( "token")
 | 
			
		||||
    private String token;
 | 
			
		||||
 | 
			
		||||
    // 验证成功后查询到的人员信息。
 | 
			
		||||
    @JsonProperty( "staff_info")
 | 
			
		||||
    CpicXIMStaffInfo staffInfo;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,43 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-15 10:44:20
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-15 20:53:14
 | 
			
		||||
 * @FilePath: \AdminSys\src\main\java\com\cpic\xim\web\filters\cros\CrosFilter.java
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
package com.cpic.xim.web.filters.cros;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import javax.servlet.Filter;
 | 
			
		||||
import javax.servlet.FilterChain;
 | 
			
		||||
import javax.servlet.ServletException;
 | 
			
		||||
import javax.servlet.ServletRequest;
 | 
			
		||||
import javax.servlet.ServletResponse;
 | 
			
		||||
import javax.servlet.http.HttpServletRequest;
 | 
			
		||||
import javax.servlet.http.HttpServletResponse;
 | 
			
		||||
 | 
			
		||||
public class CrosFilter implements Filter
 | 
			
		||||
{
 | 
			
		||||
    @Override
 | 
			
		||||
    public void doFilter( ServletRequest req, ServletResponse resp, FilterChain chain )
 | 
			
		||||
            throws ServletException, IOException
 | 
			
		||||
    {
 | 
			
		||||
        HttpServletRequest request = (HttpServletRequest) req;
 | 
			
		||||
        HttpServletResponse response = (HttpServletResponse) resp;
 | 
			
		||||
        String originHeader = request.getHeader( "Origin" );
 | 
			
		||||
 | 
			
		||||
        response.setHeader( "Access-Control-Allow-Origin", originHeader );
 | 
			
		||||
        response.setHeader( "Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE" );
 | 
			
		||||
        response.setHeader( "Access-Control-Max-Age", "0" );
 | 
			
		||||
        response.setHeader( "Access-Control-Allow-Headers",
 | 
			
		||||
                "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token" );
 | 
			
		||||
        response.setHeader( "Access-Control-Allow-Credentials", "true" );
 | 
			
		||||
        response.setHeader( "XDomainRequestAllowed", "1" );
 | 
			
		||||
        response.setHeader( "XDomainRequestAllowed", "1" );
 | 
			
		||||
 | 
			
		||||
        chain.doFilter( request, response );
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,57 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-15 19:40:12
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-16 10:14:54
 | 
			
		||||
 * @FilePath: \AdminSys\src\main\java\com\cpic\xim\web\listener\ContextLoaderListener.java
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
package com.cpic.xim.web.listener;
 | 
			
		||||
 | 
			
		||||
import java.io.FileInputStream;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStreamReader;
 | 
			
		||||
import javax.servlet.ServletContext;
 | 
			
		||||
import javax.servlet.ServletContextEvent;
 | 
			
		||||
import javax.servlet.ServletContextListener;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
 | 
			
		||||
@SuppressWarnings(
 | 
			
		||||
{ "unused"})
 | 
			
		||||
public class ContextLoaderListener implements ServletContextListener
 | 
			
		||||
{
 | 
			
		||||
    private static final int BUFFER_SIZE = 1024;
 | 
			
		||||
    private static final String CONFIG_FILE_CHARSET = "UTF-8";
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void contextInitialized( ServletContextEvent event )
 | 
			
		||||
    {
 | 
			
		||||
        ServletContext context = event.getServletContext();
 | 
			
		||||
 | 
			
		||||
        String configFileLocation = context.getInitParameter( "config_file_location" );
 | 
			
		||||
 | 
			
		||||
        // loadConfig( configFileLocation );
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void loadConfig( String configFileLocation )
 | 
			
		||||
    {
 | 
			
		||||
        ObjectMapper mapper = new ObjectMapper();
 | 
			
		||||
        FileInputStream configFile = null;
 | 
			
		||||
        InputStreamReader in = null;
 | 
			
		||||
        StringBuilder json = null;
 | 
			
		||||
        char[] buffer = new char[BUFFER_SIZE];
 | 
			
		||||
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            configFile = new FileInputStream( configFileLocation );
 | 
			
		||||
        }
 | 
			
		||||
        catch ( IOException exception )
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,25 @@
 | 
			
		||||
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:util="http://www.springframework.org/schema/util" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
 | 
			
		||||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
 | 
			
		||||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
 | 
			
		||||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
 | 
			
		||||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
 | 
			
		||||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
 | 
			
		||||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
 | 
			
		||||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
 | 
			
		||||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd">
 | 
			
		||||
 | 
			
		||||
    <context:component-scan base-package="com.cpic.xim" />
 | 
			
		||||
    <mvc:annotation-driven />
 | 
			
		||||
    <mvc:default-servlet-handler />
 | 
			
		||||
 | 
			
		||||
    <!-- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
 | 
			
		||||
        <property name="prefix" value="/WEB-INF/jsp/" />
 | 
			
		||||
        <property name="suffix" value=".jsp" />
 | 
			
		||||
    </bean> -->
 | 
			
		||||
 | 
			
		||||
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
 | 
			
		||||
        <property name="defaultEncoding" value="UTF-8" />
 | 
			
		||||
        <property name="maxUploadSize" value="-1" />
 | 
			
		||||
    </bean>
 | 
			
		||||
 | 
			
		||||
</beans>
 | 
			
		||||
							
								
								
									
										37
									
								
								企业级管理系统/java/AdminSys/src/main/webapp/WEB-INF/web.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,37 @@
 | 
			
		||||
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
 | 
			
		||||
  <display-name>Archetype Created Web Application</display-name>
 | 
			
		||||
 | 
			
		||||
  <servlet>
 | 
			
		||||
    <servlet-name>springmvc</servlet-name>
 | 
			
		||||
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 | 
			
		||||
    <init-param>
 | 
			
		||||
      <param-name>contextConfigLocation</param-name>
 | 
			
		||||
      <param-value>classpath:spring.xml</param-value>
 | 
			
		||||
    </init-param>
 | 
			
		||||
    <load-on-startup>1</load-on-startup>
 | 
			
		||||
  </servlet>
 | 
			
		||||
  <servlet-mapping>
 | 
			
		||||
    <servlet-name>springmvc</servlet-name>
 | 
			
		||||
    <url-pattern>*.do</url-pattern>
 | 
			
		||||
  </servlet-mapping>
 | 
			
		||||
 | 
			
		||||
  <filter>
 | 
			
		||||
    <filter-name>cros-filter</filter-name>
 | 
			
		||||
    <filter-class>com.cpic.xim.web.filters.cros.CrosFilter</filter-class>
 | 
			
		||||
  </filter>
 | 
			
		||||
  <filter-mapping>
 | 
			
		||||
    <filter-name>cros-filter</filter-name>
 | 
			
		||||
    <url-pattern>*.do</url-pattern>
 | 
			
		||||
  </filter-mapping>
 | 
			
		||||
 | 
			
		||||
  <!-- 配置文件路径参数 -->
 | 
			
		||||
  <context-param>
 | 
			
		||||
    <param-name>config_file_location</param-name>
 | 
			
		||||
    <param-value>config.xml</param-value>
 | 
			
		||||
  </context-param>
 | 
			
		||||
 | 
			
		||||
  <listener>
 | 
			
		||||
    <listener-class>com.cpic.xim.web.listener.ContextLoaderListener</listener-class>
 | 
			
		||||
  </listener>
 | 
			
		||||
 | 
			
		||||
</web-app>
 | 
			
		||||
							
								
								
									
										68
									
								
								企业级管理系统/java/AdminSys/src/main/webapp/css/kane.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,68 @@
 | 
			
		||||
html {
 | 
			
		||||
    --backupground-color: #f7f7f7;
 | 
			
		||||
    --btn-color-blue: #307dbe;
 | 
			
		||||
    --btn-color-yellow: #f7b24d;
 | 
			
		||||
    --btn-color-green: #5bad60;
 | 
			
		||||
    --btn-color-red: #e56651;
 | 
			
		||||
    --btn-font-color: #fff;
 | 
			
		||||
    background-color: #eee;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#root,
 | 
			
		||||
#app {
 | 
			
		||||
    height: 100vh;
 | 
			
		||||
    width: 100vw;
 | 
			
		||||
    position: fixed;
 | 
			
		||||
    padding: 50px;
 | 
			
		||||
    /* font-size: 0; */
 | 
			
		||||
    overflow: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#root,
 | 
			
		||||
#app * + * {
 | 
			
		||||
    margin-top: 15px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
hr {
 | 
			
		||||
    background-color: steelblue;
 | 
			
		||||
    border: none;
 | 
			
		||||
    height: 3px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.test {
 | 
			
		||||
    width: 110vw;
 | 
			
		||||
    height: 100vh;
 | 
			
		||||
    border: 1px solid red;
 | 
			
		||||
    overflow: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
button {
 | 
			
		||||
    padding: 5px 10px;
 | 
			
		||||
    background-color: var(--btn-color-red);
 | 
			
		||||
    color: var(--btn-font-color);
 | 
			
		||||
    width: 10em;
 | 
			
		||||
    border: none;
 | 
			
		||||
    border-radius: 0.25em;
 | 
			
		||||
    font-size: 1.5rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
button + button {
 | 
			
		||||
    margin-left: 0.5em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
button:active {
 | 
			
		||||
    background-color: var(--btn-font-color);
 | 
			
		||||
    color: var(--btn-color-red);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
input {
 | 
			
		||||
    border: none;
 | 
			
		||||
    outline: solid 2px #e56651;
 | 
			
		||||
    font-size: 2rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
label {
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    font-size: 2rem;
 | 
			
		||||
    margin-top: 15px;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										25
									
								
								企业级管理系统/java/AdminSys/src/main/webapp/css/main_frame.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,25 @@
 | 
			
		||||
#app {
 | 
			
		||||
    width: 100vw;
 | 
			
		||||
    height: 100vh;
 | 
			
		||||
    padding: 0px;
 | 
			
		||||
    margin: 0px;
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-direction: column;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#header {
 | 
			
		||||
    flex-basis: 50px;
 | 
			
		||||
    border: 1px solid red;
 | 
			
		||||
    max-height: 50px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#main {
 | 
			
		||||
    flex-grow: 1;
 | 
			
		||||
    border: 1px solid red;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#footer {
 | 
			
		||||
    flex-basis: 100px;
 | 
			
		||||
    max-height: 100px;
 | 
			
		||||
    border: 1px solid red;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										349
									
								
								企业级管理系统/java/AdminSys/src/main/webapp/css/normalize.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,349 @@
 | 
			
		||||
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
 | 
			
		||||
 | 
			
		||||
/* Document
 | 
			
		||||
   ========================================================================== */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 1. Correct the line height in all browsers.
 | 
			
		||||
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
html {
 | 
			
		||||
  line-height: 1.15; /* 1 */
 | 
			
		||||
  -webkit-text-size-adjust: 100%; /* 2 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Sections
 | 
			
		||||
   ========================================================================== */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Remove the margin in all browsers.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
body {
 | 
			
		||||
  margin: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Render the `main` element consistently in IE.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
main {
 | 
			
		||||
  display: block;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Correct the font size and margin on `h1` elements within `section` and
 | 
			
		||||
 * `article` contexts in Chrome, Firefox, and Safari.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
h1 {
 | 
			
		||||
  font-size: 2em;
 | 
			
		||||
  margin: 0.67em 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Grouping content
 | 
			
		||||
   ========================================================================== */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 1. Add the correct box sizing in Firefox.
 | 
			
		||||
 * 2. Show the overflow in Edge and IE.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
hr {
 | 
			
		||||
  box-sizing: content-box; /* 1 */
 | 
			
		||||
  height: 0; /* 1 */
 | 
			
		||||
  overflow: visible; /* 2 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 1. Correct the inheritance and scaling of font size in all browsers.
 | 
			
		||||
 * 2. Correct the odd `em` font sizing in all browsers.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
pre {
 | 
			
		||||
  font-family: monospace, monospace; /* 1 */
 | 
			
		||||
  font-size: 1em; /* 2 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Text-level semantics
 | 
			
		||||
   ========================================================================== */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Remove the gray background on active links in IE 10.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
a {
 | 
			
		||||
  background-color: transparent;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 1. Remove the bottom border in Chrome 57-
 | 
			
		||||
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
abbr[title] {
 | 
			
		||||
  border-bottom: none; /* 1 */
 | 
			
		||||
  text-decoration: underline; /* 2 */
 | 
			
		||||
  text-decoration: underline dotted; /* 2 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Add the correct font weight in Chrome, Edge, and Safari.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
b,
 | 
			
		||||
strong {
 | 
			
		||||
  font-weight: bolder;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 1. Correct the inheritance and scaling of font size in all browsers.
 | 
			
		||||
 * 2. Correct the odd `em` font sizing in all browsers.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
code,
 | 
			
		||||
kbd,
 | 
			
		||||
samp {
 | 
			
		||||
  font-family: monospace, monospace; /* 1 */
 | 
			
		||||
  font-size: 1em; /* 2 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Add the correct font size in all browsers.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
small {
 | 
			
		||||
  font-size: 80%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Prevent `sub` and `sup` elements from affecting the line height in
 | 
			
		||||
 * all browsers.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
sub,
 | 
			
		||||
sup {
 | 
			
		||||
  font-size: 75%;
 | 
			
		||||
  line-height: 0;
 | 
			
		||||
  position: relative;
 | 
			
		||||
  vertical-align: baseline;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub {
 | 
			
		||||
  bottom: -0.25em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sup {
 | 
			
		||||
  top: -0.5em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Embedded content
 | 
			
		||||
   ========================================================================== */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Remove the border on images inside links in IE 10.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
img {
 | 
			
		||||
  border-style: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Forms
 | 
			
		||||
   ========================================================================== */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 1. Change the font styles in all browsers.
 | 
			
		||||
 * 2. Remove the margin in Firefox and Safari.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
button,
 | 
			
		||||
input,
 | 
			
		||||
optgroup,
 | 
			
		||||
select,
 | 
			
		||||
textarea {
 | 
			
		||||
  font-family: inherit; /* 1 */
 | 
			
		||||
  font-size: 100%; /* 1 */
 | 
			
		||||
  line-height: 1.15; /* 1 */
 | 
			
		||||
  margin: 0; /* 2 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Show the overflow in IE.
 | 
			
		||||
 * 1. Show the overflow in Edge.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
button,
 | 
			
		||||
input { /* 1 */
 | 
			
		||||
  overflow: visible;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 | 
			
		||||
 * 1. Remove the inheritance of text transform in Firefox.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
button,
 | 
			
		||||
select { /* 1 */
 | 
			
		||||
  text-transform: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Correct the inability to style clickable types in iOS and Safari.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
button,
 | 
			
		||||
[type="button"],
 | 
			
		||||
[type="reset"],
 | 
			
		||||
[type="submit"] {
 | 
			
		||||
  -webkit-appearance: button;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Remove the inner border and padding in Firefox.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
button::-moz-focus-inner,
 | 
			
		||||
[type="button"]::-moz-focus-inner,
 | 
			
		||||
[type="reset"]::-moz-focus-inner,
 | 
			
		||||
[type="submit"]::-moz-focus-inner {
 | 
			
		||||
  border-style: none;
 | 
			
		||||
  padding: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Restore the focus styles unset by the previous rule.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
button:-moz-focusring,
 | 
			
		||||
[type="button"]:-moz-focusring,
 | 
			
		||||
[type="reset"]:-moz-focusring,
 | 
			
		||||
[type="submit"]:-moz-focusring {
 | 
			
		||||
  outline: 1px dotted ButtonText;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Correct the padding in Firefox.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
fieldset {
 | 
			
		||||
  padding: 0.35em 0.75em 0.625em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 1. Correct the text wrapping in Edge and IE.
 | 
			
		||||
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 | 
			
		||||
 * 3. Remove the padding so developers are not caught out when they zero out
 | 
			
		||||
 *    `fieldset` elements in all browsers.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
legend {
 | 
			
		||||
  box-sizing: border-box; /* 1 */
 | 
			
		||||
  color: inherit; /* 2 */
 | 
			
		||||
  display: table; /* 1 */
 | 
			
		||||
  max-width: 100%; /* 1 */
 | 
			
		||||
  padding: 0; /* 3 */
 | 
			
		||||
  white-space: normal; /* 1 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
progress {
 | 
			
		||||
  vertical-align: baseline;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Remove the default vertical scrollbar in IE 10+.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
textarea {
 | 
			
		||||
  overflow: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 1. Add the correct box sizing in IE 10.
 | 
			
		||||
 * 2. Remove the padding in IE 10.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
[type="checkbox"],
 | 
			
		||||
[type="radio"] {
 | 
			
		||||
  box-sizing: border-box; /* 1 */
 | 
			
		||||
  padding: 0; /* 2 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Correct the cursor style of increment and decrement buttons in Chrome.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
[type="number"]::-webkit-inner-spin-button,
 | 
			
		||||
[type="number"]::-webkit-outer-spin-button {
 | 
			
		||||
  height: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 1. Correct the odd appearance in Chrome and Safari.
 | 
			
		||||
 * 2. Correct the outline style in Safari.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
[type="search"] {
 | 
			
		||||
  -webkit-appearance: textfield; /* 1 */
 | 
			
		||||
  outline-offset: -2px; /* 2 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Remove the inner padding in Chrome and Safari on macOS.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
[type="search"]::-webkit-search-decoration {
 | 
			
		||||
  -webkit-appearance: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 1. Correct the inability to style clickable types in iOS and Safari.
 | 
			
		||||
 * 2. Change font properties to `inherit` in Safari.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
::-webkit-file-upload-button {
 | 
			
		||||
  -webkit-appearance: button; /* 1 */
 | 
			
		||||
  font: inherit; /* 2 */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Interactive
 | 
			
		||||
   ========================================================================== */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Add the correct display in Edge, IE 10+, and Firefox.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
details {
 | 
			
		||||
  display: block;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Add the correct display in all browsers.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
summary {
 | 
			
		||||
  display: list-item;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Misc
 | 
			
		||||
   ========================================================================== */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Add the correct display in IE 10+.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
template {
 | 
			
		||||
  display: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Add the correct display in IE 10.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
[hidden] {
 | 
			
		||||
  display: none;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										11
									
								
								企业级管理系统/java/AdminSys/src/main/webapp/css/product_form.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,11 @@
 | 
			
		||||
.panel {
 | 
			
		||||
    display: flex;
 | 
			
		||||
    justify-content: center;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.main_form {
 | 
			
		||||
    height: 50vh;
 | 
			
		||||
    width: 50vw;
 | 
			
		||||
    border: 1px solid red;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										20
									
								
								企业级管理系统/java/AdminSys/src/main/webapp/css/root.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,20 @@
 | 
			
		||||
:root {
 | 
			
		||||
    font-size: 1em;
 | 
			
		||||
    box-sizing: border-box;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
*,
 | 
			
		||||
*::before,
 | 
			
		||||
*::after {
 | 
			
		||||
    margin: 0;
 | 
			
		||||
    padding: 0;
 | 
			
		||||
    box-sizing: inherit;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
body {
 | 
			
		||||
    font-family: Arial, Helvetica, sans-serif;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.pointer {
 | 
			
		||||
    cursor: pointer;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										17
									
								
								企业级管理系统/java/AdminSys/src/main/webapp/css/test.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,17 @@
 | 
			
		||||
a,
 | 
			
		||||
p {
 | 
			
		||||
    padding: 5rem;
 | 
			
		||||
    border: 1px solid red;
 | 
			
		||||
    line-height: 2rem;
 | 
			
		||||
    margin: 2em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.warp_test {
 | 
			
		||||
    width: 5rem;
 | 
			
		||||
    border: 1px solid red;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ol,
 | 
			
		||||
li {
 | 
			
		||||
    background-color: cornflowerblue;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										23
									
								
								企业级管理系统/java/AdminSys/src/main/webapp/index.jsp
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,23 @@
 | 
			
		||||
<%-- /*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-10-21 00:14:43
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-10-21 00:16:48
 | 
			
		||||
 * @FilePath: \car_dealer\src\main\webapp\test.jsp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */ --%>
 | 
			
		||||
<%@ page contentType="text/html;charset=UTF-8" %>
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
<head>
 | 
			
		||||
    <meta charset="UTF-8">
 | 
			
		||||
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
			
		||||
    <title>Document</title>
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
    
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										5
									
								
								企业级管理系统/web/admin_system/.browserslistrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,5 @@
 | 
			
		||||
> 1%
 | 
			
		||||
last 2 versions
 | 
			
		||||
not dead
 | 
			
		||||
not ie 11
 | 
			
		||||
safari >= 7
 | 
			
		||||
							
								
								
									
										1
									
								
								企业级管理系统/web/admin_system/.env.development
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
			
		||||
VUE_APP_API_URL_LOGIN = "http://localhost:8080/admin-system/account/p13_account_check.do"
 | 
			
		||||
							
								
								
									
										27
									
								
								企业级管理系统/web/admin_system/.eslintrc.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,27 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-14 15:12:46
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-14 15:20:20
 | 
			
		||||
 * @FilePath: \admin_system\.eslintrc.js
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
module.exports = {
 | 
			
		||||
  root: true,
 | 
			
		||||
  env: {
 | 
			
		||||
    node: true
 | 
			
		||||
  },
 | 
			
		||||
  'extends': [
 | 
			
		||||
    'plugin:vue/vue3-essential',
 | 
			
		||||
    'eslint:recommended'
 | 
			
		||||
  ],
 | 
			
		||||
  parserOptions: {
 | 
			
		||||
    parser: '@babel/eslint-parser'
 | 
			
		||||
  },
 | 
			
		||||
  rules: {
 | 
			
		||||
    'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
 | 
			
		||||
    'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										23
									
								
								企业级管理系统/web/admin_system/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,23 @@
 | 
			
		||||
.DS_Store
 | 
			
		||||
node_modules
 | 
			
		||||
/dist
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# local env files
 | 
			
		||||
.env.local
 | 
			
		||||
.env.*.local
 | 
			
		||||
 | 
			
		||||
# Log files
 | 
			
		||||
npm-debug.log*
 | 
			
		||||
yarn-debug.log*
 | 
			
		||||
yarn-error.log*
 | 
			
		||||
pnpm-debug.log*
 | 
			
		||||
 | 
			
		||||
# Editor directories and files
 | 
			
		||||
.idea
 | 
			
		||||
.vscode
 | 
			
		||||
*.suo
 | 
			
		||||
*.ntvs*
 | 
			
		||||
*.njsproj
 | 
			
		||||
*.sln
 | 
			
		||||
*.sw?
 | 
			
		||||
							
								
								
									
										24
									
								
								企业级管理系统/web/admin_system/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,24 @@
 | 
			
		||||
# admin_system
 | 
			
		||||
 | 
			
		||||
## Project setup
 | 
			
		||||
```
 | 
			
		||||
npm install
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Compiles and hot-reloads for development
 | 
			
		||||
```
 | 
			
		||||
npm run serve
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Compiles and minifies for production
 | 
			
		||||
```
 | 
			
		||||
npm run build
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Lints and fixes files
 | 
			
		||||
```
 | 
			
		||||
npm run lint
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Customize configuration
 | 
			
		||||
See [Configuration Reference](https://cli.vuejs.org/config/).
 | 
			
		||||
							
								
								
									
										5
									
								
								企业级管理系统/web/admin_system/babel.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,5 @@
 | 
			
		||||
module.exports = {
 | 
			
		||||
  presets: [
 | 
			
		||||
    '@vue/cli-plugin-babel/preset'
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										19
									
								
								企业级管理系统/web/admin_system/jsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,19 @@
 | 
			
		||||
{
 | 
			
		||||
  "compilerOptions": {
 | 
			
		||||
    "target": "es5",
 | 
			
		||||
    "module": "esnext",
 | 
			
		||||
    "baseUrl": "./",
 | 
			
		||||
    "moduleResolution": "node",
 | 
			
		||||
    "paths": {
 | 
			
		||||
      "@/*": [
 | 
			
		||||
        "src/*"
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "lib": [
 | 
			
		||||
      "esnext",
 | 
			
		||||
      "dom",
 | 
			
		||||
      "dom.iterable",
 | 
			
		||||
      "scripthost"
 | 
			
		||||
    ]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										23141
									
								
								企业级管理系统/web/admin_system/package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										36
									
								
								企业级管理系统/web/admin_system/package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,36 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "admin_system",
 | 
			
		||||
  "version": "0.1.0",
 | 
			
		||||
  "private": true,
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "serve": "vue-cli-service serve",
 | 
			
		||||
    "build": "vue-cli-service build",
 | 
			
		||||
    "lint": "vue-cli-service lint"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@element-plus/icons-vue": "^2.0.10",
 | 
			
		||||
    "axios": "^1.2.1",
 | 
			
		||||
    "core-js": "^3.8.3",
 | 
			
		||||
    "element-plus": "^2.2.26",
 | 
			
		||||
    "sass": "^1.56.2",
 | 
			
		||||
    "sass-loader": "^13.2.0",
 | 
			
		||||
    "scss": "^0.2.4",
 | 
			
		||||
    "scss-loader": "^0.0.1",
 | 
			
		||||
    "vue": "^3.2.13",
 | 
			
		||||
    "vue-router": "^4.0.3",
 | 
			
		||||
    "vuex": "^4.0.0"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@babel/core": "^7.12.16",
 | 
			
		||||
    "@babel/eslint-parser": "^7.12.16",
 | 
			
		||||
    "@vue/cli-plugin-babel": "~5.0.0",
 | 
			
		||||
    "@vue/cli-plugin-eslint": "~5.0.0",
 | 
			
		||||
    "@vue/cli-plugin-router": "~5.0.0",
 | 
			
		||||
    "@vue/cli-plugin-vuex": "~5.0.0",
 | 
			
		||||
    "@vue/cli-service": "~5.0.0",
 | 
			
		||||
    "eslint": "^7.32.0",
 | 
			
		||||
    "eslint-plugin-vue": "^8.0.3",
 | 
			
		||||
    "svg-sprite-loader": "^2.1.0",
 | 
			
		||||
    "vue-cli-plugin-element-plus": "~0.0.13"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								企业级管理系统/web/admin_system/public/favicon.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 4.2 KiB  | 
							
								
								
									
										43
									
								
								企业级管理系统/web/admin_system/public/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,43 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-17 11:08:18
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2023-01-07 20:54:14
 | 
			
		||||
 * @FilePath: \admin_system\public\index.html
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
-->
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="">
 | 
			
		||||
    <head>
 | 
			
		||||
        <meta charset="utf-8" />
 | 
			
		||||
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
 | 
			
		||||
        <meta name="viewport" content="width=device-width,initial-scale=1.0" />
 | 
			
		||||
        <link rel="icon" href="<%= BASE_URL %>favicon.ico" />
 | 
			
		||||
        <title><%= htmlWebpackPlugin.options.title %></title>
 | 
			
		||||
    </head>
 | 
			
		||||
    <body>
 | 
			
		||||
        <noscript>
 | 
			
		||||
            <strong
 | 
			
		||||
                >We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't
 | 
			
		||||
                work properly without JavaScript enabled. Please enable it to
 | 
			
		||||
                continue.</strong
 | 
			
		||||
            >
 | 
			
		||||
        </noscript>
 | 
			
		||||
        <div id="app" v-cloak></div>
 | 
			
		||||
        <!-- built files will be auto injected -->
 | 
			
		||||
    </body>
 | 
			
		||||
    <style>
 | 
			
		||||
        .v-cloak {
 | 
			
		||||
            display: none;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        body {
 | 
			
		||||
            overflow: hidden;
 | 
			
		||||
            width: 100vw;
 | 
			
		||||
            height: 100vh;
 | 
			
		||||
            max-height: 100vh;
 | 
			
		||||
        }
 | 
			
		||||
    </style>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										27
									
								
								企业级管理系统/web/admin_system/src/App.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,27 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-14 15:12:46
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-14 17:03:58
 | 
			
		||||
 * @FilePath: \admin_system\src\App.vue
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <router-view></router-view>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
// import HelloWorld from "./components/HelloWorld.vue";
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: "App",
 | 
			
		||||
  components: {
 | 
			
		||||
    // HelloWorld,
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style>
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										24
									
								
								企业级管理系统/web/admin_system/src/assets/css/colors.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,24 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-11-12 23:22:59
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-05 01:07:18
 | 
			
		||||
 * @FilePath: \hello-cli\src\assets\css\colors.css
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
html {
 | 
			
		||||
    --backupground-color: #f4f5f7ff;
 | 
			
		||||
    --btn-color-blue: #307dbe;
 | 
			
		||||
    --btn-color-yellow: #f7b24d;
 | 
			
		||||
    --btn-color-green: #5bad60;
 | 
			
		||||
    --btn-color-red: #e56651;
 | 
			
		||||
    --btn-font-color: #fff;
 | 
			
		||||
 | 
			
		||||
    --input-focus-color: #e56651;
 | 
			
		||||
 | 
			
		||||
    /* 标题栏背景色 */
 | 
			
		||||
    --banner-background-color: #1d74b2;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										17
									
								
								企业级管理系统/web/admin_system/src/assets/css/global.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,17 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-12-05 00:07:49
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-12-05 00:48:04
 | 
			
		||||
 * @FilePath: \hello-cli\src\assets\css\global.css
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
html,
 | 
			
		||||
body,
 | 
			
		||||
#app {
 | 
			
		||||
    /* padding: 0px; */
 | 
			
		||||
    margin: 0px;
 | 
			
		||||
    overflow: hidden;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								企业级管理系统/web/admin_system/src/assets/logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 6.7 KiB  | 
							
								
								
									
										36
									
								
								企业级管理系统/web/admin_system/src/components/svg/SvgIcon.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,36 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2023-01-06 20:33:57
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2023-01-07 17:10:07
 | 
			
		||||
 * @FilePath: \admin_system\src\components\svg\SvgIcon.vue
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
    svg-icon:{{ this.iconName }}
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
    name: "svg-icon",
 | 
			
		||||
    data()
 | 
			
		||||
    {
 | 
			
		||||
        return {
 | 
			
		||||
            iconName: ""
 | 
			
		||||
        };
 | 
			
		||||
    },
 | 
			
		||||
    props: ["icon"],
 | 
			
		||||
    created()
 | 
			
		||||
    {
 | 
			
		||||
        console.log("svg");
 | 
			
		||||
        console.log(this.icon);
 | 
			
		||||
        this.iconName = this.icon;
 | 
			
		||||
    },
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style scoped>
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
@@ -0,0 +1 @@
 | 
			
		||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M757.76 102.4a122.88 122.88 0 0 1 122.88 122.88v376.8832l-1.4336-0.1536A89.6 89.6 0 0 1 960 691.2v153.6A89.6 89.6 0 0 1 870.4 934.4H153.6a89.6 89.6 0 0 1-89.6-89.6v-153.6a89.6 89.6 0 0 1 80.7936-89.1904l-1.4336 0.1536V225.28A122.88 122.88 0 0 1 266.24 102.4h491.52zM280.064 678.4H153.6a12.8 12.8 0 0 0-12.4416 9.8816l-0.3584 2.9184v153.6c0 7.0656 5.7344 12.8 12.8 12.8h716.8a12.8 12.8 0 0 0 12.8-12.8v-153.6a12.8 12.8 0 0 0-12.8-12.8h-126.5152l-84.992 68.352a38.4 38.4 0 0 1-24.0128 8.448H389.12a38.4 38.4 0 0 1-24.064-8.448L280.064 678.4zM757.76 179.2H266.24a46.08 46.08 0 0 0-45.7216 40.2944L220.16 225.28v376.32h73.3696a38.4 38.4 0 0 1 24.064 8.448l85.0432 68.352h218.6752l85.0944-68.352a38.4 38.4 0 0 1 18.8416-8.0896l5.2224-0.3584H803.84V225.28a46.08 46.08 0 0 0-40.2944-45.7216L757.76 179.2z m-114.1248 280.9344a38.4 38.4 0 0 1 5.2224 76.4416l-5.2224 0.3584H380.416a38.4 38.4 0 0 1-5.2224-76.4416l5.2224-0.3584h263.2704z m0-153.6a38.4 38.4 0 0 1 5.2224 76.4416l-5.2224 0.3584H380.416a38.4 38.4 0 0 1-5.2224-76.4416l5.2224-0.3584h263.2704z" fill="#595959" /></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 1.3 KiB  | 
@@ -0,0 +1 @@
 | 
			
		||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512 76.8a435.2 435.2 0 1 1 0 870.4 435.2 435.2 0 0 1 0-870.4zM512 153.6a358.4 358.4 0 1 0 0 716.8 358.4 358.4 0 0 0 0-716.8z m168.0384 141.2608a38.4 38.4 0 0 1 49.152 49.1008l-95.5904 266.4448a38.4 38.4 0 0 1-23.1936 23.1936L343.9616 729.088a38.4 38.4 0 0 1-49.152-49.1008l95.5904-266.4448a38.4 38.4 0 0 1 23.1936-23.1936zM440.832 500.4288l-46.1312 128.9216 128.8192-46.2336-82.688-82.688z m188.6208-105.8304l-136.8576 48.9984 87.7568 87.7568 49.1008-136.7552z" fill="#595959" /></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 753 B  |