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 @@ - + @@ -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) }