From bbbe4032773e4009dd30f59ef937d9e784a18d56 Mon Sep 17 00:00:00 2001 From: xy <271556543@qq.com> Date: Sat, 11 May 2024 17:38:17 +0800 Subject: [PATCH] init --- src/main/services/windowManager.js | 1 - src/renderer/assets/logo-title.png | Bin 0 -> 18187 bytes src/renderer/icons/svg/addressBook.svg | 1 + src/renderer/icons/svg/adminManage.svg | 1 + src/renderer/icons/svg/notice.svg | 2 + .../layout/components/Sidebar/index.vue | 16 ++++-- .../layout/components/Sidebar/logo.vue | 4 +- src/renderer/permission.js | 20 +------ src/renderer/router/index.js | 26 ++++++++- src/renderer/store/user.js | 2 +- src/renderer/views/addressBook/index.vue | 11 ++++ src/renderer/views/login/index.vue | 53 ++++++++---------- src/renderer/views/notice/index.vue | 11 ++++ 13 files changed, 88 insertions(+), 60 deletions(-) create mode 100644 src/renderer/assets/logo-title.png create mode 100644 src/renderer/icons/svg/addressBook.svg create mode 100644 src/renderer/icons/svg/adminManage.svg create mode 100644 src/renderer/icons/svg/notice.svg create mode 100644 src/renderer/views/addressBook/index.vue create mode 100644 src/renderer/views/notice/index.vue diff --git a/src/main/services/windowManager.js b/src/main/services/windowManager.js index 1bfd93c..16cef5f 100644 --- a/src/main/services/windowManager.js +++ b/src/main/services/windowManager.js @@ -49,7 +49,6 @@ function createAdminWindow() { adminWindow.webContents.once('dom-ready', () => { adminWindow.show() - mainWindow.hide() if (process.env.NODE_ENV === 'development' || openDevTools) adminWindow.webContents.openDevTools(true) }) adminWindow.on('maximize', () => { diff --git a/src/renderer/assets/logo-title.png b/src/renderer/assets/logo-title.png new file mode 100644 index 0000000000000000000000000000000000000000..85da19201a9aa6a054ffead96973c1aaeab76f28 GIT binary patch literal 18187 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 literal 0 HcmV?d00001 diff --git a/src/renderer/icons/svg/addressBook.svg b/src/renderer/icons/svg/addressBook.svg new file mode 100644 index 0000000..91e9ca5 --- /dev/null +++ b/src/renderer/icons/svg/addressBook.svg @@ -0,0 +1 @@ + diff --git a/src/renderer/icons/svg/adminManage.svg b/src/renderer/icons/svg/adminManage.svg new file mode 100644 index 0000000..ac19489 --- /dev/null +++ b/src/renderer/icons/svg/adminManage.svg @@ -0,0 +1 @@ + diff --git a/src/renderer/icons/svg/notice.svg b/src/renderer/icons/svg/notice.svg new file mode 100644 index 0000000..7d8b947 --- /dev/null +++ b/src/renderer/icons/svg/notice.svg @@ -0,0 +1,2 @@ + + diff --git a/src/renderer/layout/components/Sidebar/index.vue b/src/renderer/layout/components/Sidebar/index.vue index 61ac1c5..e39e269 100644 --- a/src/renderer/layout/components/Sidebar/index.vue +++ b/src/renderer/layout/components/Sidebar/index.vue @@ -4,30 +4,36 @@ - + + + 后台管理 + \ No newline at end of file + diff --git a/src/renderer/permission.js b/src/renderer/permission.js index 90f9992..62f6240 100644 --- a/src/renderer/permission.js +++ b/src/renderer/permission.js @@ -14,25 +14,7 @@ export function usePermission() { if (to.path === '/login') { next({ path: '/' }) } else { - const hasRoles = roles && roles.length > 0; - if (hasRoles) { - next() - } else { - try { - const roles = await getUserInfo() - next({ ...to, replace: true }) - } catch (error) { - await logOut() - console.error(error) - await ipcRenderer.invoke("toggle-main-window-resizable",false) - await ipcRenderer.invoke("main-window-resize",{ - width: 320, - height: 504 - }) - next('/login') - } - } - + next() } } else { if (whiteList.includes(to.path)) { diff --git a/src/renderer/router/index.js b/src/renderer/router/index.js index 8b54d38..90a6af1 100644 --- a/src/renderer/router/index.js +++ b/src/renderer/router/index.js @@ -8,12 +8,36 @@ export const constantRouterMap = [{ component: Layout, redirect: '/dashboard', name: '主页', - hidden: false, + hidden: true, children: [{ path: 'dashboard', name: '总览', component: () => import('@/components/LandingPage') }] +},{ + path: '/addressBook', + component: Layout, + meta: { title: '通讯录', icon: 'addressBook', roles: ['admin'] }, + children: [ + { + path: 'index', + name: 'Form', + component: () => import('@/views/addressBook/index'), + meta: { title: '通讯录', icon: 'addressBook' } + } + ] +},{ + path: '/notice', + component: Layout, + meta: { title: '通知', icon: 'notice', roles: ['admin'] }, + children: [ + { + path: 'index', + name: 'Form', + component: () => import('@/views/notice/index'), + meta: { title: '通知', icon: 'notice' } + } + ] }, { path: '/login', component: () => import('@/views/login'), diff --git a/src/renderer/store/user.js b/src/renderer/store/user.js index 1aac1a2..6356cbf 100644 --- a/src/renderer/store/user.js +++ b/src/renderer/store/user.js @@ -5,7 +5,7 @@ import { login, getInfo, logout } from "@/api/login" const store = () => ({ token: JSON.parse(localStorage.getItem('token')), name: JSON.parse(localStorage.getItem('name')), - roles: JSON.parse(localStorage.getItem('roles')), + roles: [], info: {}, }) diff --git a/src/renderer/views/addressBook/index.vue b/src/renderer/views/addressBook/index.vue new file mode 100644 index 0000000..303d393 --- /dev/null +++ b/src/renderer/views/addressBook/index.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/src/renderer/views/login/index.vue b/src/renderer/views/login/index.vue index 574e454..5740aa4 100644 --- a/src/renderer/views/login/index.vue +++ b/src/renderer/views/login/index.vue @@ -45,18 +45,18 @@ - 记住密码 + 记住密码 { $bg: #283443; $light_gray: #fff; -$cursor: #fff; +$cursor: #4c79ee; @supports (-webkit-mask: none) and (not (cater-color: $cursor)) { .login-container .el-input input { @@ -186,9 +185,6 @@ $cursor: #fff; width: 100vw; height: 100vh; .el-input { - display: inline-block; - height: 47px; - width: 70%; input { background: transparent; @@ -197,7 +193,7 @@ $cursor: #fff; border-radius: 0px; padding: 12px 5px 12px 15px; color: #666; - height: 47px; + height: 100%; caret-color: $cursor; &:-webkit-autofill { @@ -207,14 +203,6 @@ $cursor: #fff; } } - .el-form-item { - color: #0003; - font-size: 16px; - line-height: 24px; - border-radius: 6px; - background-color: #ffffff; - border: 1px solid #d9d9d9; - } } @@ -224,17 +212,10 @@ $bg: #2d3a4b; $dark_gray: #889aa4; $light_gray: #eee; -.login-container-w { - min-height: 100%; - width: 100%; - background-color: #ffffff; - overflow: hidden; -} - .login-container { min-height: 100%; width: 100%; - background: url("../../assets/imgs/login-bkg.png") no-repeat; + background: url("~@/assets/imgs/login-bkg.png") no-repeat; background-size: cover; overflow: hidden; display: flex; @@ -243,8 +224,10 @@ $light_gray: #eee; .form-container { - padding: 20px; - + padding: 20px 20px 24px 20px; + background: #fff; + border-radius: 10px; + box-shadow: 0 2px 16px 0 rgba(0,0,0,.2); } .tips { @@ -279,7 +262,15 @@ $light_gray: #eee; user-select: none; } } -.form-item + .form-item { - margin-top: 22px; + +::v-deep .el-form-item__content { + display: flex; + line-height: 34px; + align-items: center; + position: relative; + border-bottom: 1px #aaa6 solid; +} +.form-item { + margin-bottom: 10px; } diff --git a/src/renderer/views/notice/index.vue b/src/renderer/views/notice/index.vue new file mode 100644 index 0000000..303d393 --- /dev/null +++ b/src/renderer/views/notice/index.vue @@ -0,0 +1,11 @@ + + + + +