From 1cac97c7e11fc0a4d15c9206dc4c4f5a551cf13b Mon Sep 17 00:00:00 2001
From: zxx <47968546@163.com>
Date: Thu, 20 Oct 2022 11:48:17 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8C=81=E7=BB=AD=E5=AE=8C=E5=96=84=20?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E8=87=AA=E7=94=B1=E6=9B=B4=E6=94=B9?=
=?UTF-8?q?=E5=B8=83=E5=B1=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env | 6 +
src/components/menu/SideMenu.vue | 7 +-
src/components/setting/Setting.vue | 12 +-
src/config/config.js | 11 +-
src/config/index.js | 2 +-
src/layouts/header/AdminHeader.vue | 9 +-
src/layouts/header/HeaderAvatar.vue | 2 +-
.../Middle/Admin/AdminAgent/AgentLog.vue | 0
.../Middle/Admin/AdminAgent/AgentSettings.vue | 0
.../Middle/Admin/AdminCompany/CompanyLog.vue | 0
.../Admin/AdminCompany/CompanySettings.vue | 0
.../Middle/Admin/AdminConfig/ConfigLog.vue | 0
.../Admin/AdminConfig/ConfigSettings.vue | 0
.../Middle/Admin/AdminLog/LogSettings.vue | 0
.../Admin/AdminPermission/PermissionLog.vue | 0
.../AdminPermission/PermissionSettings.vue | 0
.../Middle/Admin/AdminService/ServiceLog.vue | 0
.../Admin/AdminService/ServiceSettings.vue | 0
src/pages/Middle/Admin/AdminUser/UserAdd.vue | 87 ++++++++---
src/pages/Middle/Admin/AdminUser/UserList.vue | 129 ++++++++++++----
src/pages/Middle/Admin/AdminUser/i18n.js | 80 ++++++++++
src/pages/login/Login.vue | 5 +
.../Middle/Admin/AdminAgent/router.map.js | 132 ++++++++++-------
.../Middle/Admin/AdminCompany/router.map.js | 139 +++++++++++-------
.../Middle/Admin/AdminConfig/router.map.js | 34 ++++-
.../Middle/Admin/AdminLog/router.map.js | 19 ++-
.../Admin/AdminPermission/router.map.js | 35 ++++-
.../Middle/Admin/AdminService/router.map.js | 34 ++++-
src/router/async/config.async.js | 2 +-
src/router/guards.js | 18 ++-
src/router/i18n.js | 2 +
src/router/index.js | 2 +-
src/router/{async => }/router.map.js | 2 +-
src/services/base/api.js | 16 +-
src/store/modules/account.js | 17 ++-
src/store/modules/setting.js | 10 ++
src/utils/routerUtil.js | 5 +-
src/utils/themeUtil.js | 12 +-
38 files changed, 605 insertions(+), 224 deletions(-)
create mode 100644 src/pages/Middle/Admin/AdminAgent/AgentLog.vue
create mode 100644 src/pages/Middle/Admin/AdminAgent/AgentSettings.vue
create mode 100644 src/pages/Middle/Admin/AdminCompany/CompanyLog.vue
create mode 100644 src/pages/Middle/Admin/AdminCompany/CompanySettings.vue
create mode 100644 src/pages/Middle/Admin/AdminConfig/ConfigLog.vue
create mode 100644 src/pages/Middle/Admin/AdminConfig/ConfigSettings.vue
create mode 100644 src/pages/Middle/Admin/AdminLog/LogSettings.vue
create mode 100644 src/pages/Middle/Admin/AdminPermission/PermissionLog.vue
create mode 100644 src/pages/Middle/Admin/AdminPermission/PermissionSettings.vue
create mode 100644 src/pages/Middle/Admin/AdminService/ServiceLog.vue
create mode 100644 src/pages/Middle/Admin/AdminService/ServiceSettings.vue
create mode 100644 src/pages/Middle/Admin/AdminUser/i18n.js
rename src/router/{async => }/router.map.js (95%)
diff --git a/.env b/.env
index fd624af..bc71f9a 100644
--- a/.env
+++ b/.env
@@ -8,8 +8,14 @@ VUE_APP_USER_KEY=admin.user
VUE_APP_PROJECT_KEY=admin.project
VUE_APP_COMPANY_KEY=admin.company
VUE_APP_SETTING_KEY=admin.setting
+VUE_APP_THEME_SETTING_KEY=admin.theme.settings
VUE_APP_USER_SETTINGS_KEY=admin.user.settings
VUE_APP_TBAS_KEY=admin.tabs
VUE_APP_TBAS_TITLES_KEY=admin.tabs.titles
+VUE_APP_LAYOUT_KEY=admin.layout
+VUE_APP_THEME_MODE_KEY=admin.theme.mode
+VUE_APP_THEME_COLOR_KEY=admin.theme.color
# VUE_APP_API_BASE_URL=http://192.168.31.91:19000
VUE_APP_API_BASE_URL=http://192.168.52.166:30000
+VUE_APP_USER_MODEL=AdminUser
+
diff --git a/src/components/menu/SideMenu.vue b/src/components/menu/SideMenu.vue
index 1251bd1..cc9bd05 100644
--- a/src/components/menu/SideMenu.vue
+++ b/src/components/menu/SideMenu.vue
@@ -52,13 +52,18 @@ export default {
},
beforeMount() {
+
+ },
+ created() {
+
+ console.log("this.company.company_info.logo:",JSON.stringify(this.company.company_info))
+ console.log("this.project.logo:",this.project.project_logo)
},
computed: {
...mapState('account', ['project', 'company']), // 获取项目信息,公司信息
sideTheme() {
console.log("localStorage:", this.project)
return this.theme == 'light' ? this.theme : 'dark'
-
},
...mapState('setting', ['isMobile', 'systemName'])
},
diff --git a/src/components/setting/Setting.vue b/src/components/setting/Setting.vue
index 4d64b14..3f0fa33 100644
--- a/src/components/setting/Setting.vue
+++ b/src/components/setting/Setting.vue
@@ -16,10 +16,11 @@
setTheme({...theme, color: colors[0]})"
:defaultValues="[palettes.indexOf(theme.color)]" :multiple="false"
>
-
+
@@ -117,6 +118,7 @@
-
-
\ No newline at end of file
diff --git a/src/pages/Middle/Admin/AdminUser/UserList.vue b/src/pages/Middle/Admin/AdminUser/UserList.vue
index 9de0f32..d774fd5 100644
--- a/src/pages/Middle/Admin/AdminUser/UserList.vue
+++ b/src/pages/Middle/Admin/AdminUser/UserList.vue
@@ -1,34 +1,103 @@
-
-
-
添加用户
-
-
-
-
编辑用户
-
-
-
-
-
-
-
\ No newline at end of file
+ }
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/Middle/Admin/AdminUser/i18n.js b/src/pages/Middle/Admin/AdminUser/i18n.js
new file mode 100644
index 0000000..4ac386c
--- /dev/null
+++ b/src/pages/Middle/Admin/AdminUser/i18n.js
@@ -0,0 +1,80 @@
+module.exports = {
+ messages: {
+ CN: {
+ pageDesc: '表单页用于向用户收集或验证信息,基础表单常见于数据项较少的表单场景。',
+ title: '标题',
+ titleInput: '给目标起个名字',
+ date: '起止日期',
+ describe: '目标描述',
+ describeInput: '请输入你阶段性工作目标',
+ metrics: '衡量标准',
+ metricsInput: '请输入衡量标准',
+ customer: '客户',
+ customerInput: '请描述你服务的客户,内部客户直接 @姓名/工号',
+ critics: '邀评人',
+ criticsInput: '请直接 @姓名/工号,最多可邀请 5 人',
+ weight: '权重',
+ disclosure: '目标公开',
+ disclosureDesc: '客户、邀评人默认被分享',
+ public: '公开',
+ partially: '部分公开',
+ private: '不公开',
+ submit: '提交',
+ save: '保存',
+ colleague1: '同事甲',
+ colleague2: '同事乙',
+ colleague3: '同事丙'
+ },
+ HK: {
+ pageDesc: '表單頁用於向用戶收集或驗證信息,基礎表單常見於數據項較少的表單場景。',
+ title: '標題',
+ titleInput: '給目標起個名字',
+ date: '起止日期',
+ describe: '目標描述',
+ describeInput: '請輸入你階段性的工作目標',
+ metrics: '衡量標準',
+ metricsInput: '請輸入衡量標準',
+ customer: '客戶',
+ customerInput: '請描述你服務的客戶,內部客戶直接 @姓名/工號',
+ critics: '邀評人',
+ criticsInput: '請直接 @姓名/工號,最多可邀請 5 人',
+ weight: '圈中人',
+ disclosure: '目標公開',
+ disclosureDesc: '客戶、邀評人默認被分享',
+ public: '公開',
+ partially: '部分公開',
+ private: '不公開',
+ submit: '提交',
+ save: '保存',
+ colleague1: '同事甲',
+ colleague2: '同事乙',
+ colleague3: '同事丙'
+ },
+ US: {
+ pageDesc: 'Form pages are used to collect or verify information to users, and basic forms are common in scenarios where there are fewer data items.',
+ title: 'Title',
+ titleInput: 'Give the target a name',
+ date: 'Start and end date',
+ describe: 'Goal description',
+ describeInput: 'Please enter your work goals',
+ metrics: 'Metrics',
+ metricsInput: 'Please enter a metric',
+ customer: 'Customer',
+ customerInput: 'Please describe your customer service, internal customers directly @ Name / job number',
+ critics: 'Inviting critics',
+ criticsInput: 'Please direct @ Name / job number, you can invite up to 5 people',
+ weight: 'Weight',
+ disclosure: 'Target disclosure',
+ disclosureDesc: 'Customers and invitees are shared by default',
+ public: 'Public',
+ partially: 'Partially public',
+ private: 'Private',
+ submit: 'Submit',
+ save: 'Save',
+ colleague1: 'Colleague A',
+ colleague2: 'Colleague B',
+ colleague3: 'Colleague C'
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/src/pages/login/Login.vue b/src/pages/login/Login.vue
index 1361a6b..25b7313 100644
--- a/src/pages/login/Login.vue
+++ b/src/pages/login/Login.vue
@@ -107,6 +107,10 @@ export default {
const project = result.data.data
this.setProject(project) // 将项目信息存入vuex
})
+ // 设置界面设置 的默认值
+ Cookie.set(process.env.VUE_APP_LAYOUT_KEY,'side')
+ Cookie.set(process.env.VUE_APP_THEME_MODE_KEY,'dark')
+ Cookie.set(process.env.VUE_APP_THEME_COLOR_KEY,'#fa541c')
},
created() {
@@ -188,6 +192,7 @@ export default {
}
})
+
} else {
console.log("登录失败")
this.error = loginRes.message
diff --git a/src/router/Middle/Admin/AdminAgent/router.map.js b/src/router/Middle/Admin/AdminAgent/router.map.js
index a19863b..dafc6a5 100644
--- a/src/router/Middle/Admin/AdminAgent/router.map.js
+++ b/src/router/Middle/Admin/AdminAgent/router.map.js
@@ -3,66 +3,92 @@
// 视图组件
const view = {
- tabs: () => import('@/layouts/tabs'),
- blank: () => import('@/layouts/BlankView'),
- page: () => import('@/layouts/PageView')
- }
+ tabs: () => import('@/layouts/tabs'),
+ blank: () => import('@/layouts/BlankView'),
+ page: () => import('@/layouts/PageView')
+}
// 路由组件注册
const AdminAgentRouterMap = {
- AdminAgent:{
- name: '代理商管理',
- icon: 'idcard',
- component: view.page,
- authority: {
- Agent:[''],
- }
- },
- AdminAgentList:{
- name: '代理商列表',
- icon: 'idcard',
- path: '/AdminAgent/AdminAgentList',
- component: () => import('@/pages/Middle/Admin/AdminAgent/AgentList'),
- authority: {
- Agent:[''],
- }
+ AdminAgent: {
+ name: '代理商管理',
+ icon: 'idcard',
+ component: view.page,
+ authority: {
+ Agent: ['AdminAgent', 'AdminAgent-All'],
+ }
+ },
+ AdminAgentList: {
+ name: '代理商列表',
+ icon: 'idcard',
+ path: '/AdminAgent/AdminAgentList',
+ component: () => import('@/pages/Middle/Admin/AdminAgent/AgentList'),
+ authority: {
+ Agent: ['AdminAgent-List'],
+ }
+ },
+ AdminAgentDetail: {
+ name: '代理商详情',
+ icon: 'idcard',
+ path: '/AdminAgent/AdminAgentDetail',
+ meta: {
+ invisible: true, // 不在菜单中显示
},
- AdminAgentDetail:{
- name: '代理商详情',
- icon: 'idcard',
- path: '/AdminAgent/AdminAgentDetail',
- meta: {
- invisible:true, // 不在菜单中显示
- },
- component: () => import('@/pages/Middle/Admin/AdminAgent/AgentDetail'),
- authority: {
- Agent:[''],
- },
+ component: () => import('@/pages/Middle/Admin/AdminAgent/AgentDetail'),
+ authority: {
+ Agent: ['AdminAgent-Detail'],
},
- AdminAgentAdd:{
- name: '添加代理商',
- icon: 'idcard',
- path: '/AdminAgent/AdminAgentAdd',
- meta: {
- invisible:true, // 不在菜单中显示
- },
- component: () => import('@/pages/Middle/Admin/AdminAgent/AgentAdd'),
- authority: {
- Agent:[''],
- },
+ },
+ AdminAgentAdd: {
+ name: '添加代理商',
+ icon: 'idcard',
+ path: '/AdminAgent/AdminAgentAdd',
+ meta: {
+ invisible: true, // 不在菜单中显示
},
- AdminAgentUpdate:{
- name: '修改代理商',
- icon: 'idcard',
- path: '/AdminAgent/AdminAgentUpdate',
- meta: {
- invisible:true, // 不在菜单中显示
- },
- component: () => import('@/pages/Middle/Admin/AdminAgent/AgentUpdate'),
- authority: {
- Agent:[''],
- },
+ component: () => import('@/pages/Middle/Admin/AdminAgent/AgentAdd'),
+ authority: {
+ Agent: ['AdminAgent-Add'],
},
+ },
+ AdminAgentUpdate: {
+ name: '修改代理商',
+ icon: 'idcard',
+ path: '/AdminAgent/AdminAgentUpdate',
+ meta: {
+ invisible: true, // 不在菜单中显示
+ },
+ component: () => import('@/pages/Middle/Admin/AdminAgent/AgentUpdate'),
+ authority: {
+ Agent: ['AdminAgent-Update'],
+ },
+ },
+ AdminAgentSettings: {
+ name: '代理商设置',
+ icon: 'idcard',
+ path: '/AdminAgent/AdminAgentSettings',
+ meta: {
+ invisible: true, // 不在菜单中显示
+ },
+ component: () => import('@/pages/Middle/Admin/AdminAgent/AgentSettings'),
+ authority: {
+ Agent: ['AdminAgent-Settings'],
+ },
+
+ },
+ AdminAgentLog: {
+ name: '代理商日志',
+ icon: 'idcard',
+ path: '/AdminAgent/AdminAgentLog',
+ meta: {
+ invisible: true, // 不在菜单中显示
+ },
+ component: () => import('@/pages/Middle/Admin/AdminAgent/AgentLog'),
+ authority: {
+ Agent: ['AdminAgent-Log'],
+ },
+
+ },
}
export default AdminAgentRouterMap
\ No newline at end of file
diff --git a/src/router/Middle/Admin/AdminCompany/router.map.js b/src/router/Middle/Admin/AdminCompany/router.map.js
index c3f0525..0d5e77c 100644
--- a/src/router/Middle/Admin/AdminCompany/router.map.js
+++ b/src/router/Middle/Admin/AdminCompany/router.map.js
@@ -3,69 +3,94 @@
// 视图组件
const view = {
- tabs: () => import('@/layouts/tabs'),
- blank: () => import('@/layouts/BlankView'),
- page: () => import('@/layouts/PageView')
- }
-
+ tabs: () => import('@/layouts/tabs'),
+ blank: () => import('@/layouts/BlankView'),
+ page: () => import('@/layouts/PageView')
+}
+
// 路由组件注册
const AdminCompanyRouterMap = {
- AdminCompany:{
- name: '企业管理',
- icon: 'idcard',
- component: view.page,
- meta: {
- invisible:false, // 不在菜单中显示
- },
- authority: {
- permission:[''],
- }
- },
- AdminCompanyList:{
- name: '企业列表',
- icon: 'idcard',
- path: '/AdminCompany/AdminCompanyList',
- component: () => import('@/pages/Middle/Admin/AdminCompany/CompanyList'),
- authority: {
- permission:[''],
- }
+ AdminCompany: {
+ name: '企业管理',
+ icon: 'idcard',
+ component: view.page,
+ meta: {
+ invisible: false, // 不在菜单中显示
},
- AdminCompanyDetail:{
- name: '企业详情',
- icon: 'idcard',
- path: '/AdminCompany/AdminCompanyDetail',
- meta: {
- invisible:true, // 不在菜单中显示
- },
- component: () => import('@/pages/Middle/Admin/AdminCompany/CompanyDetail'),
- authority: {
- permission:[''],
- },
+ authority: {
+ permission: ['AdminCompany', 'AdminCompany-All'],
+ }
+ },
+ AdminCompanyList: {
+ name: '企业列表',
+ icon: 'idcard',
+ path: '/AdminCompany/AdminCompanyList',
+ component: () => import('@/pages/Middle/Admin/AdminCompany/CompanyList'),
+ authority: {
+ permission: ['AdminCompany-List'],
+ }
+ },
+ AdminCompanyDetail: {
+ name: '企业详情',
+ icon: 'idcard',
+ path: '/AdminCompany/AdminCompanyDetail',
+ meta: {
+ invisible: true, // 不在菜单中显示
},
- AdminCompanyAdd:{
- name: '添加企业',
- icon: 'idcard',
- path: '/AdminCompany/AdminCompanyAdd',
- meta: {
- invisible:true, // 不在菜单中显示
- },
- component: () => import('@/pages/Middle/Admin/AdminCompany/CompanyAdd'),
- authority: {
- permission:[''],
- },
+ component: () => import('@/pages/Middle/Admin/AdminCompany/CompanyDetail'),
+ authority: {
+ permission: ['AdminCompany-Detail'],
},
- AdminCompanyUpdate:{
- name: '修改企业',
- icon: 'idcard',
- path: '/AdminCompany/AdminCompanyUpdate',
- meta: {
- invisible:true, // 不在菜单中显示
- },
- component: () => import('@/pages/Middle/Admin/AdminCompany/CompanyUpdate'),
- authority: {
- permission:[''],
- },
+ },
+ AdminCompanyAdd: {
+ name: '添加企业',
+ icon: 'idcard',
+ path: '/AdminCompany/AdminCompanyAdd',
+ meta: {
+ invisible: true, // 不在菜单中显示
},
+ component: () => import('@/pages/Middle/Admin/AdminCompany/CompanyAdd'),
+ authority: {
+ permission: ['AdminCompany-Add'],
+ },
+ },
+ AdminCompanyUpdate: {
+ name: '修改企业',
+ icon: 'idcard',
+ path: '/AdminCompany/AdminCompanyUpdate',
+ meta: {
+ invisible: true, // 不在菜单中显示
+ },
+ component: () => import('@/pages/Middle/Admin/AdminCompany/CompanyUpdate'),
+ authority: {
+ permission: ['AdminCompany-Update'],
+ },
+ },
+ AdminCompanySettings: {
+ name: '企业设置',
+ icon: 'idcard',
+ path: '/AdminCompany/AdminCompanySettings',
+ meta: {
+ invisible: true, // 不在菜单中显示
+ },
+ component: () => import('@/pages/Middle/Admin/AdminCompany/CompanySettings'),
+ authority: {
+ Agent: ['AdminCompany-Settings'],
+ },
+ },
+ AdminCompanyLog: {
+ name: '企业日志',
+ icon: 'idcard',
+ path: '/AdminCompany/AdminCompanyLog',
+ meta: {
+ invisible: true, // 不在菜单中显示
+ },
+ component: () => import('@/pages/Middle/Admin/AdminCompany/CompanyLog'),
+ authority: {
+ permission: ['AdminCompany-Log'],
+ },
+ },
+
}
export default AdminCompanyRouterMap
\ No newline at end of file
diff --git a/src/router/Middle/Admin/AdminConfig/router.map.js b/src/router/Middle/Admin/AdminConfig/router.map.js
index fef20e9..5b0fe10 100644
--- a/src/router/Middle/Admin/AdminConfig/router.map.js
+++ b/src/router/Middle/Admin/AdminConfig/router.map.js
@@ -18,7 +18,7 @@ const AdminConfigRouterMap = {
invisible:false, // 不在菜单中显示
},
authority: {
- permission:[''],
+ permission:['AdminConfig','AdminConfig-All'],
}
},
AdminConfigList:{
@@ -27,7 +27,7 @@ const AdminConfigRouterMap = {
path: '/AdminConfig/AdminConfigList',
component: () => import('@/pages/Middle/Admin/AdminConfig/ConfigList'),
authority: {
- permission:[''],
+ permission:['AdminConfig-List'],
}
},
AdminConfigDetail:{
@@ -39,7 +39,7 @@ const AdminConfigRouterMap = {
},
component: () => import('@/pages/Middle/Admin/AdminConfig/ConfigDetail'),
authority: {
- permission:[''],
+ permission:['AdminConfig-Detail'],
},
},
AdminConfigAdd:{
@@ -51,7 +51,7 @@ const AdminConfigRouterMap = {
},
component: () => import('@/pages/Middle/Admin/AdminConfig/ConfigAdd'),
authority: {
- permission:[''],
+ permission:['AdminConfig-Add'],
},
},
AdminConfigUpdate:{
@@ -63,7 +63,31 @@ const AdminConfigRouterMap = {
},
component: () => import('@/pages/Middle/Admin/AdminConfig/ConfigUpdate'),
authority: {
- permission:[''],
+ permission:['AdminConfig-Update'],
+ },
+ },
+ AdminConfigSettings:{
+ name: '项目设置',
+ icon: 'idcard',
+ path: '/AdminConfig/AdminConfigSettings',
+ meta: {
+ invisible:true, // 不在菜单中显示
+ },
+ component: () => import('@/pages/Middle/Admin/AdminConfig/ConfigSettings'),
+ authority: {
+ permission:['AdminConfig-Settings'],
+ },
+ },
+ AdminConfigLog:{
+ name: '项目日志',
+ icon: 'idcard',
+ path: '/AdminConfig/AdminConfigLog',
+ meta: {
+ invisible:true, // 不在菜单中显示
+ },
+ component: () => import('@/pages/Middle/Admin/AdminConfig/ConfigLog'),
+ authority: {
+ permission:['AdminConfig-Log'],
},
},
}
diff --git a/src/router/Middle/Admin/AdminLog/router.map.js b/src/router/Middle/Admin/AdminLog/router.map.js
index 48507f7..26dcd05 100644
--- a/src/router/Middle/Admin/AdminLog/router.map.js
+++ b/src/router/Middle/Admin/AdminLog/router.map.js
@@ -18,7 +18,7 @@ const AdminLogRouterMap = {
invisible:false, // 不在菜单中显示
},
authority: {
- permission:[''],
+ permission:['AdminLog','AdminLog-All'],
}
},
AdminLogList:{
@@ -27,7 +27,7 @@ const AdminLogRouterMap = {
path: '/AdminLog/AdminLogList',
component: () => import('@/pages/Middle/Admin/AdminLog/LogList'),
authority: {
- permission:[''],
+ permission:['AdminLog-List'],
}
},
AdminLogDetail:{
@@ -39,9 +39,22 @@ const AdminLogRouterMap = {
},
component: () => import('@/pages/Middle/Admin/AdminLog/LogDetail'),
authority: {
- permission:[''],
+ permission:['AdminLog-Detail'],
},
},
+ AdminLogSettings:{
+ name: '日志设置',
+ icon: 'idcard',
+ path: '/AdminLog/AdminLogSettings',
+ meta: {
+ invisible:true, // 不在菜单中显示
+ },
+ component: () => import('@/pages/Middle/Admin/AdminLog/LogSettings'),
+ authority: {
+ permission:['AdminLog-Settings'],
+ },
+ },
+
}
export default AdminLogRouterMap
\ No newline at end of file
diff --git a/src/router/Middle/Admin/AdminPermission/router.map.js b/src/router/Middle/Admin/AdminPermission/router.map.js
index de402cd..129d336 100644
--- a/src/router/Middle/Admin/AdminPermission/router.map.js
+++ b/src/router/Middle/Admin/AdminPermission/router.map.js
@@ -15,7 +15,7 @@ const AdminPermissionRouterMap = {
icon: 'idcard',
component: view.page,
authority: {
- permission:[''],
+ permission:['AdminPermission','AdminPermission-All'],
}
},
AdminPermissionList:{
@@ -24,7 +24,7 @@ const AdminPermissionRouterMap = {
path: '/AdminPermission/AdminPermissionList',
component: () => import('@/pages/Middle/Admin/AdminPermission/PermissionList'),
authority: {
- permission:[''],
+ permission:['AdminPermission-List'],
}
},
AdminPermissionDetail:{
@@ -36,7 +36,7 @@ const AdminPermissionRouterMap = {
},
component: () => import('@/pages/Middle/Admin/AdminPermission/PermissionDetail'),
authority: {
- permission:[''],
+ permission:['AdminPermission-Detail'],
},
},
AdminPermissionAdd:{
@@ -48,7 +48,7 @@ const AdminPermissionRouterMap = {
},
component: () => import('@/pages/Middle/Admin/AdminPermission/PermissionAdd'),
authority: {
- permission:[''],
+ permission:['AdminPermission-Add'],
},
},
AdminPermissionUpdate:{
@@ -60,9 +60,34 @@ const AdminPermissionRouterMap = {
},
component: () => import('@/pages/Middle/Admin/AdminPermission/PermissionUpdate'),
authority: {
- permission:[''],
+ permission:['AdminPermission-Update'],
},
},
+ AdminPermissionSettings:{
+ name: '权限设置',
+ icon: 'idcard',
+ path: '/AdminPermission/AdminPermissionSettings',
+ meta: {
+ invisible:true, // 不在菜单中显示
+ },
+ component: () => import('@/pages/Middle/Admin/AdminPermission/PermissionSettings'),
+ authority: {
+ permission:['AdminPermission-Settings'],
+ },
+ },
+ AdminPermissionLog:{
+ name: '权限日志',
+ icon: 'idcard',
+ path: '/AdminPermission/AdminPermissionLog',
+ component: () => import('@/pages/Middle/Admin/AdminPermission/PermissionLog'),
+ meta: {
+ invisible:true, // 不在菜单中显示
+ },
+ authority: {
+ permission:['AdminPermission-Log'],
+ },
+ },
+
}
export default AdminPermissionRouterMap
\ No newline at end of file
diff --git a/src/router/Middle/Admin/AdminService/router.map.js b/src/router/Middle/Admin/AdminService/router.map.js
index cd93a9c..8361d28 100644
--- a/src/router/Middle/Admin/AdminService/router.map.js
+++ b/src/router/Middle/Admin/AdminService/router.map.js
@@ -15,7 +15,7 @@ const AdminServiceRouterMap = {
icon: 'idcard',
component: view.page,
authority: {
- permission:[''],
+ permission:['AdminService','AdminService-All'],
}
},
AdminServiceList:{
@@ -24,7 +24,7 @@ const AdminServiceRouterMap = {
path: '/AdminService/AdminServiceList',
component: () => import('@/pages/Middle/Admin/AdminService/ServiceList'),
authority: {
- permission:[''],
+ permission:['AdminService-List'],
}
},
AdminServiceDetail:{
@@ -36,7 +36,7 @@ const AdminServiceRouterMap = {
},
component: () => import('@/pages/Middle/Admin/AdminService/ServiceDetail'),
authority: {
- permission:[''],
+ permission:['AdminService-Detail'],
},
},
AdminServiceAdd:{
@@ -48,7 +48,7 @@ const AdminServiceRouterMap = {
},
component: () => import('@/pages/Middle/Admin/AdminService/ServiceAdd'),
authority: {
- permission:[''],
+ permission:['AdminService-Add'],
},
},
AdminServiceUpdate:{
@@ -60,7 +60,31 @@ const AdminServiceRouterMap = {
},
component: () => import('@/pages/Middle/Admin/AdminService/ServiceUpdate'),
authority: {
- permission:[''],
+ permission:['AdminService-Update'],
+ },
+ },
+ AdminServiceLog:{
+ name: '服务日志',
+ icon: 'idcard',
+ path: '/AdminService/AdminServiceLog',
+ meta: {
+ invisible:true, // 不在菜单中显示
+ },
+ component: () => import('@/pages/Middle/Admin/AdminService/ServiceLog'),
+ authority: {
+ permission:['AdminService-Log'],
+ },
+ },
+ AdminServiceSettings:{
+ name: '服务设置',
+ icon: 'idcard',
+ path: '/AdminService/AdminServiceSettings',
+ meta: {
+ invisible:true, // 不在菜单中显示
+ },
+ component: () => import('@/pages/Middle/Admin/AdminService/ServiceSettings'),
+ authority: {
+ permission:['AdminService-Settings'],
},
},
}
diff --git a/src/router/async/config.async.js b/src/router/async/config.async.js
index 29bd35e..40817db 100644
--- a/src/router/async/config.async.js
+++ b/src/router/async/config.async.js
@@ -1,4 +1,4 @@
-import routerMap from './router.map'
+import routerMap from '@/router/router.map'
import {parseRoutes} from '@/utils/routerUtil'
// 异步路由中的root为根路由
// 异步路由配置
diff --git a/src/router/guards.js b/src/router/guards.js
index 88086de..6173395 100644
--- a/src/router/guards.js
+++ b/src/router/guards.js
@@ -54,14 +54,16 @@ const loginGuard = (to, from, next, options) => {
const authorityGuard = (to, from, next, options) => {
const {store, message} = options
const permissions = store.getters['account/permissions'] // 获取权限数据
- if (!hasAuthority(to, permissions)) { // 判断是否有权限
- // 如果没有权限,跳转到403页面
- message.warning(`对不起,您无权访问页面: ${to.fullPath},请联系管理员`)
- next({path: '/403'})
- // NProgress.done()
- } else {
- // console.log('进入authorityGuard权限守卫next()')
- next() // 如果有权限,正常跳转到你设置好的页面
+ if (to.meta.authority !== undefined){
+ if (!hasAuthority(to, permissions)) { // 判断是否有权限
+ // 如果没有权限,跳转到403页面
+ message.warning(`对不起,您无权访问页面: ${to.fullPath},请联系管理员`)
+ next({path: '/403'})
+ // NProgress.done()
+ } else {
+ // console.log('进入authorityGuard权限守卫next()')
+ next() // 如果有权限,正常跳转到你设置好的页面
+ }
}
}
diff --git a/src/router/i18n.js b/src/router/i18n.js
index 905fc4d..f50cca0 100644
--- a/src/router/i18n.js
+++ b/src/router/i18n.js
@@ -1,3 +1,5 @@
+
+
module.exports = {
messages: {
CN: {
diff --git a/src/router/index.js b/src/router/index.js
index aad1b8a..5ba9ad5 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -17,7 +17,7 @@ if (Authorization != null) {
getUserInfo().then(result => { // 获取用户信息
if (result.data.data != null) {
const UserInfo = result.data.data.user_info
- store.commit('account/setRoutesConfig', UserInfo) // 将用户信息存入vuex
+ store.commit('account/setUser', UserInfo) // 将用户信息存入vuex
}
})
diff --git a/src/router/async/router.map.js b/src/router/router.map.js
similarity index 95%
rename from src/router/async/router.map.js
rename to src/router/router.map.js
index 5e80556..1897cf8 100644
--- a/src/router/async/router.map.js
+++ b/src/router/router.map.js
@@ -1,4 +1,4 @@
-import BaseRouterMap from './base.map.js'
+import BaseRouterMap from './async/base.map.js'
// 以下为中台服务的路由配置
diff --git a/src/services/base/api.js b/src/services/base/api.js
index de04c4e..2619541 100644
--- a/src/services/base/api.js
+++ b/src/services/base/api.js
@@ -2,14 +2,14 @@
// const API_PROXY_PREFIX='/api'
// const BASE_URL = process.env.NODE_ENV === 'production' ? process.env.VUE_APP_API_BASE_URL : API_PROXY_PREFIX
const BASE_URL = process.env.VUE_APP_API_BASE_URL // 获取环境变量VUE_APP_API_BASE_URL
-
+const USER_MODEL = process.env.VUE_APP_USER_MODEL
module.exports = {
BASE_URL,
- PROJECT: `${BASE_URL}/AdminUser/v1/project`,
- COMPANY: `${BASE_URL}/AdminUser/v1/company`,
- LOGIN: `${BASE_URL}/AdminUser/v1/login`,
- ROUTES: `${BASE_URL}/AdminUser/v1/routers`,
- USERINFO: `${BASE_URL}/AdminUser/v1/userinfo`,
- PERMISSION: `${BASE_URL}/AdminUser/v1/permission`,
- SETTINGS: `${BASE_URL}/AdminUser/v1/settings`,
+ PROJECT: `${BASE_URL}/${USER_MODEL}/v1/project`,
+ COMPANY: `${BASE_URL}/${USER_MODEL}/v1/company`,
+ LOGIN: `${BASE_URL}/${USER_MODEL}/v1/login`,
+ ROUTES: `${BASE_URL}/${USER_MODEL}/v1/routers`,
+ USERINFO: `${BASE_URL}/${USER_MODEL}/v1/userinfo`,
+ PERMISSION: `${BASE_URL}/${USER_MODEL}/v1/permission`,
+ SETTINGS: `${BASE_URL}/${USER_MODEL}/v1/settings`,
}
diff --git a/src/store/modules/account.js b/src/store/modules/account.js
index 448c92d..118192b 100644
--- a/src/store/modules/account.js
+++ b/src/store/modules/account.js
@@ -4,10 +4,10 @@ export default {
uid: 0,
routesConfig: undefined, // 路由配置
user: undefined, // 用户信息
- permissions: undefined, // 权限
- settings: undefined, // 用户配置
- project: undefined, // 项目信息
- company: undefined, // 公司信息
+ permissions: JSON.parse(localStorage.getItem(process.env.VUE_APP_PERMISSIONS_KEY)), // 权限
+ settings: JSON.parse(localStorage.getItem(process.env.VUE_APP_USER_SETTINGS_KEY)), // 用户配置
+ project: JSON.parse(localStorage.getItem(process.env.VUE_APP_PROJECT_KEY)), // 项目信息
+ company: JSON.parse(localStorage.getItem(process.env.VUE_APP_COMPANY_KEY)), // 公司信息
},
getters: {
uid: state => { // 用户id
@@ -71,7 +71,7 @@ export default {
}
return state.settings // 如果有用户配置,则返回用户配置
},
- project: state => { // 项目信息
+ project: state => { // 项目信息
if (!state.project) { // 如果没有项目信息
try {
const project = localStorage.getItem(process.env.VUE_APP_PROJECT_KEY) // 获取项目信息
@@ -81,7 +81,8 @@ export default {
console.error(e.message)
}
}
- console.log("gggggggggggggggggggggggggggggggggggggggggggggggggggggggg")
+ // const project = localStorage.getItem(process.env.VUE_APP_PROJECT_KEY) // 获取项目信息
+ // state.project = JSON.parse(project) // 将字符串转换为json对象
return state.project // 如果有项目信息,则返回项目信息
},
company: state => { // 公司信息
@@ -95,7 +96,8 @@ export default {
console.error(e.message)
}
}
- state.company = JSON.parse(state.company) // 将字符串转换为json对象
+ // const company = localStorage.getItem(process.env.VUE_APP_COMPANY_KEY) // 获取公司信息
+ // state.company = JSON.parse(company) // 将字符串转换为json对象
return state.company // 如果有公司信息,则返回公司信息
},
@@ -136,7 +138,6 @@ export default {
state.project = project
if (JSON.stringify(project) === undefined){
project = []
-
}
localStorage.setItem(process.env.VUE_APP_PROJECT_KEY, JSON.stringify(project)) // 将所有项目信息存储到process.env.VUE_APP_PROJECT_KEY中
},
diff --git a/src/store/modules/setting.js b/src/store/modules/setting.js
index 1659bc1..4b9d7dc 100644
--- a/src/store/modules/setting.js
+++ b/src/store/modules/setting.js
@@ -4,6 +4,8 @@ import {formatFullPath} from '@/utils/i18n' // 路由国际化
import {filterMenu} from '@/utils/authority-utils' // 菜单权限过滤
import {getLocalSetting} from '@/utils/themeUtil' // 主题配置
import deepClone from 'lodash.clonedeep' // 深拷贝
+// import Cookies from 'js-cookie'
+// const Cookie = require('js-cookie')
const localSetting = getLocalSetting(true) // 获取本地主题配置
const customTitlesStr = sessionStorage.getItem(process.env.VUE_APP_TBAS_TITLES_KEY) // 获取本地自定义标题
@@ -12,6 +14,7 @@ const customTitles = (customTitlesStr && JSON.parse(customTitlesStr)) || []
export default {
namespaced: true, // 命名空间
state: { // 状态
+ theme:undefined, // 主题
isMobile: false, // 是否是移动端
animates: ADMIN.animates, // 动画
palettes: ADMIN.palettes, // 主题
@@ -55,9 +58,16 @@ export default {
state.isMobile = isMobile
},
setTheme (state, theme) { // 设置主题
+ // if (theme.color){
+ // Cookie.set(process.env.VUE_APP_THEME_COLOR_KEY,theme.color)
+ // }
+ // if (theme.mode){
+ // Cookie.set(process.env.VUE_APP_THEME_MODE_KEY,theme.mode)
+ // }
state.theme = theme
},
setLayout (state, layout) { // 设置布局
+ // Cookies.set(process.env.VUE_APP_LAYOUT_KEY,layout) // 设置cookie
state.layout = layout
},
setMultiPage (state, multiPage) { // 设置多页签
diff --git a/src/utils/routerUtil.js b/src/utils/routerUtil.js
index ba0a350..d4963d6 100644
--- a/src/utils/routerUtil.js
+++ b/src/utils/routerUtil.js
@@ -1,4 +1,4 @@
-import routerMap from '@/router/async/router.map'
+import routerMap from '@/router/router.map'
import { mergeI18nFromRoutes } from '@/utils/i18n'
import Router from 'vue-router'
import deepMerge from 'deepmerge'
@@ -148,7 +148,8 @@ function loadRoutes(routesConfig) { // 加载路由
// 根据权限过滤路由配置
const filteredRoutesConfig = filterRoutesConfig(routesConfig, Permission) // 根据权限过滤路由配置
- console.log("=====filteredRoutesConfig:", filteredRoutesConfig)
+ // console.log("=====filteredRoutesConfig:", filteredRoutesConfig)
+ filteredRoutesConfig
// routesConfig = filteredRoutesConfig // 路由配置等于过滤后的路由配置
// 如果开启了异步路由,则加载异步路由配置
diff --git a/src/utils/themeUtil.js b/src/utils/themeUtil.js
index 2e21b26..e836d73 100644
--- a/src/utils/themeUtil.js
+++ b/src/utils/themeUtil.js
@@ -2,7 +2,7 @@ const client = require('webpack-theme-color-replacer/client') // 加载webpack-t
const {theme} = require('../config') // 加载配置文件中的主题配置
const {getMenuColors, getAntdColors, getThemeToggleColors, getFunctionalColors} = require('../utils/colors') // 加载颜色配置文件
const {ANTD} = require('../config/default') // 加载默认配置文件中的ANTD配置
-
+const Cookie = require('js-cookie')
// 获取主题颜色
function getThemeColors(color, $theme) {
const _color = color || theme.color // 获取主题颜色
@@ -86,8 +86,14 @@ function loadLocalTheme(localSetting) {
function getLocalSetting(loadTheme) {
let localSetting = {}
try {
- const localSettingStr = localStorage.getItem(process.env.VUE_APP_SETTING_KEY)
- localSetting = JSON.parse(localSettingStr)
+ const localSettingCookieStr = Cookie.get(process.env.VUE_APP_THEME_SETTING_KEY)
+ const localSettingStr = localStorage.getItem(process.env.VUE_APP_THEME_SETTING_KEY)
+ if (!localSettingStr){
+ localSetting = JSON.parse(localSettingCookieStr)
+ }else{
+ localSetting = JSON.parse(localSettingStr)
+ }
+
} catch (e) {
console.error(e)
}