diff --git a/package.json b/package.json
index 2e03da190..d8c82aa94 100644
--- a/package.json
+++ b/package.json
@@ -29,7 +29,7 @@
"dayjs": "^1.10.6",
"dotenv": "^8.2.0",
"echarts": "^5.1.2",
- "element-plus": "^1.1.0-beta.12",
+ "element-plus": "^1.1.0-beta.16",
"element-resize-detector": "^1.2.3",
"font-awesome": "^4.7.0",
"lodash-es": "^4.17.21",
@@ -40,10 +40,10 @@
"path-to-regexp": "^6.2.0",
"pinia": "^2.0.0-rc.6",
"resize-observer-polyfill": "^1.5.1",
- "responsive-storage": "^1.0.9",
+ "responsive-storage": "^1.0.10",
"sortablejs": "1.13.0",
"v-contextmenu": "^3.0.0",
- "vue": "3.2.11",
+ "vue": "^3.2.19",
"vue-i18n": "^9.2.0-beta.3",
"vue-json-pretty": "^2.0.2",
"vue-router": "^4.0.11",
@@ -66,7 +66,7 @@
"@typescript-eslint/parser": "^4.31.0",
"@vitejs/plugin-vue": "^1.6.0",
"@vitejs/plugin-vue-jsx": "^1.1.7",
- "@vue/compiler-sfc": "3.2.11",
+ "@vue/compiler-sfc": "^3.2.19",
"@vue/eslint-config-prettier": "^6.0.0",
"@vue/eslint-config-typescript": "^7.0.0",
"autoprefixer": "^10.2.4",
@@ -91,7 +91,7 @@
"stylelint-order": "^4.1.0",
"typescript": "^4.4.2",
"unplugin-element-plus": "^0.0.1",
- "vite": "^2.5.7",
+ "vite": "^2.5.10",
"vite-plugin-mock": "^2.9.6",
"vite-plugin-style-import": "^1.2.1",
"vite-svg-loader": "^2.2.0",
diff --git a/src/assets/iconfont/iconfont.css b/src/assets/iconfont/iconfont.css
index 1a23f4037..4aa27e6c3 100644
--- a/src/assets/iconfont/iconfont.css
+++ b/src/assets/iconfont/iconfont.css
@@ -1,14 +1,8 @@
@font-face {
- font-family: "iconfont";
- src: url("iconfont.eot?t=1619360751585"); /* IE9 */
- src: url("iconfont.eot?t=1619360751585#iefix") format("embedded-opentype"),
- /* IE6-IE8 */
- url("data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAARMAAsAAAAACbwAAAP9AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDQAqGEIRiATYCJAMYCw4ABCAFhG0Hfhs2CMgOJS2d2ECiAwlgBN+vlf0+zE5mg6wAXeJZIjpmuSejwkZFpjyxij57rCLU/p9b+c8NWt6VZsJElIM/LOtvdta6uELEuI1RpSiTq877eC1W5aXc/38/V+f5b2lrettv68Xkvj8zA0+cJTJJQyKSxKSSKBWPlNixsM5M+mTE89a4m0BnrRop+8ZmViBbIQ4KxE1DVyC7cisjwtDamp4zi3ihatOz9BfAc//xMQNNkU1SM3Hk4cujGgyMi5MjaYPhCecti35/94OKjG1AIR72hm9Li+Vt0nSLYro9YHl8K0nj4vjWyaffTiaTMMEW0xUVO53ZUn8t//CqJBMNgbPB31+pjC/TNMH4FprC+FaayuRTmsTkiFuGvdnj1KXAOIiV4K+OJFWaiyg0Ta9XlNpZFnNMMU87Fu6JpEd7eVb2opxYflpfv3a6POca5EdfirMurHNGCE8kd+I1Aga56YZpli8QTd2pkM13zTZ3LWH/yp07FYsroO6K+8wWApapQmIJS/sos3zFfAfHn7h7YNkyBXLpDpx4e1dclrGWJZBjHTZlH7GTZu5+x+JBl122Uu7Dnneswsb7GzdAYdAeAQNsuPCgpUXf26No0Vtakrt6EdLv73FsGfVc+stJczdJknB3izcB36+MxPaRNRuxkhDbHm3uWlgXdtH0nPRZONzVMmLbhDTJuGaPNCfq0vWC2f87RVXNo+ZKmG1whgeqbK2MNlctwFnlMtis7d3MsMNhGBuNtnQt7IjdW4k7NbE3+trR+Ch7WcWwpjkOHUkI4nbFjG3xcHdz1HEIabtS38eCpsmEOO2WrO1tMUMd5tprJzKSyJyclDN2xNNTI/96bFx+DY/OZ1M/Agzf5q9pwwDDd2mR2fk3+hv//gtHjxX1/Gv7BYy+e/TXTxieKPKA/wJB1v9p9MQFZWkUnqbM59f7CDSOyHhvg3RyEX+W+EJf98UsIXcTWksyJD1rIGutYxf+Nqj6dmQarevsprPVOM7vW4RJE2UWtjjLIMz3BpK5PkA23x678L9AtdRvaMyPNOicjLIr9m0II3eYocJRk1bjkqEG/FT5eG7oXUI97FVYafRSgixk5KTGuoZmbRz9yPZxTCiiN3FOJcoCPmmM3Q+93oAUZAE3qrzOxXmwq76e9r1SnRrwQa69GKTgkEayKk5iUAX4Ubs0l9t6/yVIF+alYCPzLlQJxIQYG5c0qtNAYI+jnzTvuWwfEqFrwnF0th/FBPhIxhBEXlkOkAT7d3NDKq6Oa4tiUJd6Po5Sse74jO9VXgcdcdUmUuQoUaOJnt4Dl+JXXeEyPxSI1voUw1/7MCwcm0NW4TI0Df09vyvCmMFradjrDakM0Z+bXAAAAAA=")
- format("woff2"),
- url("iconfont.woff?t=1619360751585") format("woff"),
- url("iconfont.ttf?t=1619360751585") format("truetype"),
- /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
- url("iconfont.svg?t=1619360751585#iconfont") format("svg"); /* iOS 4.1- */
+ font-family: "iconfont"; /* Project id 2208059 */
+ src: url("iconfont.woff2?t=1632557807050") format("woff2"),
+ url("iconfont.woff?t=1632557807050") format("woff"),
+ url("iconfont.ttf?t=1632557807050") format("truetype");
}
.iconfont {
@@ -19,6 +13,10 @@
-moz-osx-font-smoothing: grayscale;
}
+.team-iconinternationality::before {
+ content: "\e67a";
+}
+
.team-iconshanchu::before {
content: "\e617";
}
diff --git a/src/assets/iconfont/iconfont.eot b/src/assets/iconfont/iconfont.eot
deleted file mode 100644
index e74bc7e7a..000000000
Binary files a/src/assets/iconfont/iconfont.eot and /dev/null differ
diff --git a/src/assets/iconfont/iconfont.js b/src/assets/iconfont/iconfont.js
index 92759da56..840c24b08 100644
--- a/src/assets/iconfont/iconfont.js
+++ b/src/assets/iconfont/iconfont.js
@@ -4,13 +4,15 @@
l,
n,
o,
- i,
- a =
- '',
- d = (d = document.getElementsByTagName("script"))[
- d.length - 1
- ].getAttribute("data-injectcss");
- if (d && !e.__iconfont__svg__cssinject__) {
+ i =
+ '',
+ h = (h = document.getElementsByTagName("script"))[
+ h.length - 1
+ ].getAttribute("data-injectcss"),
+ a = function (e, t) {
+ t.parentNode.insertBefore(e, t);
+ };
+ if (h && !e.__iconfont__svg__cssinject__) {
e.__iconfont__svg__cssinject__ = !0;
try {
document.write(
@@ -23,20 +25,26 @@
function m() {
o || ((o = !0), l());
}
+ function d() {
+ try {
+ n.documentElement.doScroll("left");
+ } catch (e) {
+ return void setTimeout(d, 50);
+ }
+ m();
+ }
(t = function () {
- var e, t, c, l;
- ((l = document.createElement("div")).innerHTML = a),
- (a = null),
- (c = l.getElementsByTagName("svg")[0]) &&
- (c.setAttribute("aria-hidden", "true"),
- (c.style.position = "absolute"),
- (c.style.width = 0),
- (c.style.height = 0),
- (c.style.overflow = "hidden"),
- (e = c),
- (t = document.body).firstChild
- ? ((l = e), (c = t.firstChild).parentNode.insertBefore(l, c))
- : t.appendChild(e));
+ var e, t;
+ ((t = document.createElement("div")).innerHTML = i),
+ (i = null),
+ (e = t.getElementsByTagName("svg")[0]) &&
+ (e.setAttribute("aria-hidden", "true"),
+ (e.style.position = "absolute"),
+ (e.style.width = 0),
+ (e.style.height = 0),
+ (e.style.overflow = "hidden"),
+ (t = e),
+ (e = document.body).firstChild ? a(t, e.firstChild) : e.appendChild(t));
}),
document.addEventListener
? ~["complete", "loaded", "interactive"].indexOf(document.readyState)
@@ -49,14 +57,7 @@
((l = t),
(n = e.document),
(o = !1),
- (i = function () {
- try {
- n.documentElement.doScroll("left");
- } catch (e) {
- return void setTimeout(i, 50);
- }
- m();
- })(),
+ d(),
(n.onreadystatechange = function () {
"complete" == n.readyState && ((n.onreadystatechange = null), m());
}));
diff --git a/src/assets/iconfont/iconfont.json b/src/assets/iconfont/iconfont.json
index 18d466417..1ffacc048 100644
--- a/src/assets/iconfont/iconfont.json
+++ b/src/assets/iconfont/iconfont.json
@@ -1,10 +1,17 @@
{
"id": "2208059",
- "name": "CURD-TS",
+ "name": "pure-admin",
"font_family": "iconfont",
"css_prefix_text": "team-icon",
- "description": "增删查改xi't",
+ "description": "pure-admin",
"glyphs": [
+ {
+ "icon_id": "18367956",
+ "name": "中英文2 中文",
+ "font_class": "internationality",
+ "unicode": "e67a",
+ "unicode_decimal": 59002
+ },
{
"icon_id": "6184565",
"name": "删除",
diff --git a/src/assets/iconfont/iconfont.svg b/src/assets/iconfont/iconfont.svg
deleted file mode 100644
index 688f49eca..000000000
--- a/src/assets/iconfont/iconfont.svg
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
diff --git a/src/assets/iconfont/iconfont.ttf b/src/assets/iconfont/iconfont.ttf
index 81c2a7655..501d8efba 100644
Binary files a/src/assets/iconfont/iconfont.ttf and b/src/assets/iconfont/iconfont.ttf differ
diff --git a/src/assets/iconfont/iconfont.woff b/src/assets/iconfont/iconfont.woff
index 418853fd7..cba3fbd19 100644
Binary files a/src/assets/iconfont/iconfont.woff and b/src/assets/iconfont/iconfont.woff differ
diff --git a/src/assets/iconfont/iconfont.woff2 b/src/assets/iconfont/iconfont.woff2
index f82f52234..ac2bf6429 100644
Binary files a/src/assets/iconfont/iconfont.woff2 and b/src/assets/iconfont/iconfont.woff2 differ
diff --git a/src/assets/svg/iconinternationality.svg b/src/assets/svg/iconinternationality.svg
new file mode 100644
index 000000000..e9e30a69e
--- /dev/null
+++ b/src/assets/svg/iconinternationality.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/config/index.ts b/src/config/index.ts
index e51b86a60..9f12da4f4 100644
--- a/src/config/index.ts
+++ b/src/config/index.ts
@@ -1,3 +1,5 @@
+import { App } from "vue";
+import axios from "axios";
let config: object = {};
const setConfig = (cfg?: unknown) => {
@@ -22,4 +24,33 @@ const getConfig = (key?: string) => {
return config;
};
+// 获取项目动态全局配置
+export const getServerConfig = async (app: App): Promise => {
+ app.config.globalProperties.$config = getConfig();
+ return axios({
+ baseURL: "",
+ method: "get",
+ url:
+ process.env.NODE_ENV === "production"
+ ? "/manages/serverConfig.json"
+ : "/serverConfig.json"
+ })
+ .then(({ data: config }) => {
+ let $config = app.config.globalProperties.$config;
+ // 自动注入项目配置
+ if (app && $config && typeof config === "object") {
+ $config = Object.assign($config, config);
+ app.config.globalProperties.$config = $config;
+ // 设置全局配置
+ setConfig($config);
+ }
+ // 设置全局baseURL
+ app.config.globalProperties.$baseUrl = $config.baseURL;
+ return $config;
+ })
+ .catch(() => {
+ throw "请在public文件夹下添加serverConfig.json配置文件";
+ });
+};
+
export { getConfig, setConfig };
diff --git a/src/layout/components/AppMain.vue b/src/layout/components/appMain.vue
similarity index 100%
rename from src/layout/components/AppMain.vue
rename to src/layout/components/appMain.vue
diff --git a/src/layout/components/index.ts b/src/layout/components/index.ts
deleted file mode 100644
index 9acd04de7..000000000
--- a/src/layout/components/index.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export { default as Navbar } from "./Navbar.vue";
-export { default as Sidebar } from "./sidebar/index.vue";
-export { default as AppMain } from "./AppMain.vue";
-export { default as setting } from "./setting/index.vue";
-export { default as tag } from "./tag/index.vue";
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/navbar.vue
similarity index 57%
rename from src/layout/components/Navbar.vue
rename to src/layout/components/navbar.vue
index 9b13c751f..b07ceb6b0 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/navbar.vue
@@ -8,98 +8,84 @@
-
@@ -23,15 +22,10 @@ const { isFullscreen, toggle } = useFullscreen();
diff --git a/src/layout/components/setting/index.vue b/src/layout/components/setting/index.vue
index 82bd25c48..57e882136 100644
--- a/src/layout/components/setting/index.vue
+++ b/src/layout/components/setting/index.vue
@@ -1,14 +1,18 @@
@@ -124,9 +145,9 @@ function logoChange() {
placement="bottom"
>
@@ -140,9 +161,43 @@ function logoChange() {
placement="bottom"
>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -237,18 +292,19 @@ function logoChange() {
.theme-stley {
margin-top: 25px;
width: 100%;
- height: 60px;
+ height: 180px;
display: flex;
+ flex-wrap: wrap;
justify-content: space-around;
li {
- width: 30%;
- height: 100%;
+ margin: 10px;
+ width: 36%;
+ height: 70px;
background: #f0f2f5;
position: relative;
overflow: hidden;
cursor: pointer;
- background-color: #f0f2f5;
border-radius: 4px;
box-shadow: 0 1px 2.5px 0 rgb(0 0 0 / 18%);
@@ -265,7 +321,7 @@ function logoChange() {
height: 30%;
top: 0;
right: 0;
- background-color: #fff;
+ background: #fff;
box-shadow: 0 0 1px #888;
position: absolute;
}
@@ -278,7 +334,7 @@ function logoChange() {
width: 30%;
height: 100%;
box-shadow: 0 0 1px #888;
- background-color: #fff;
+ background: #fff;
border-radius: 4px 0 0 4px;
}
@@ -287,12 +343,34 @@ function logoChange() {
height: 30%;
top: 0;
right: 0;
- background-color: #fff;
+ background: #fff;
box-shadow: 0 0 1px #888;
position: absolute;
}
}
}
+
+ &:nth-child(3) {
+ div {
+ &:nth-child(1) {
+ width: 100%;
+ height: 30%;
+ background: #1b2a47;
+ box-shadow: 0 0 1px #888;
+ }
+ }
+ }
+
+ &:nth-child(4) {
+ div {
+ &:nth-child(1) {
+ width: 100%;
+ height: 30%;
+ background: #fff;
+ box-shadow: 0 0 1px #888;
+ }
+ }
+ }
}
}
diff --git a/src/layout/components/sidebar/Link.vue b/src/layout/components/sidebar/Link.vue
deleted file mode 100644
index 276311d37..000000000
--- a/src/layout/components/sidebar/Link.vue
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/layout/components/sidebar/SidebarItem.vue b/src/layout/components/sidebar/SidebarItem.vue
deleted file mode 100644
index 920dc2937..000000000
--- a/src/layout/components/sidebar/SidebarItem.vue
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
-
-
- {{ $t(onlyOneChild.meta.title) }}
-
-
-
-
-
-
-
-
- {{ $t(item.meta.title) }}
-
-
-
-
-
-
-
diff --git a/src/layout/components/sidebar/horizontal.vue b/src/layout/components/sidebar/horizontal.vue
new file mode 100644
index 000000000..1b385151b
--- /dev/null
+++ b/src/layout/components/sidebar/horizontal.vue
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+
diff --git a/src/layout/components/sidebar/Logo.vue b/src/layout/components/sidebar/logo.vue
similarity index 78%
rename from src/layout/components/sidebar/Logo.vue
rename to src/layout/components/sidebar/logo.vue
index 61cea6720..30ebbb08a 100644
--- a/src/layout/components/sidebar/Logo.vue
+++ b/src/layout/components/sidebar/logo.vue
@@ -1,9 +1,17 @@
+
+
-