diff --git a/.env.dev b/.env.dev index 1c9a1a1..c249191 100644 --- a/.env.dev +++ b/.env.dev @@ -2,7 +2,7 @@ NODE_ENV=development # app -VITE_TITLE=GuXuan-Admin +VITE_TITLE=海邻后台管理系统 VITE_PUBLIC_PATH=/ VITE_OUT_DIR=dist VITE_PERMISSION=false @@ -12,7 +12,7 @@ VITE_ROUTER_BASE=/ VITE_ROUTER_HISTORY=hash # api -VITE_API_BASIC=/ +VITE_API_BASIC=http://10.10.1.6:8060 VITE_API_HTTP=/api/v1/ # storage VITE_STORAGE_NAMESPACE = gin-admin_local_ \ No newline at end of file diff --git a/.env.prod b/.env.prod index ed098e8..d68d87a 100644 --- a/.env.prod +++ b/.env.prod @@ -2,7 +2,7 @@ NODE_ENV=production # app -VITE_TITLE=GuXuan-Admin +VITE_TITLE=海邻后台管理系统 VITE_PUBLIC_PATH=/ VITE_OUT_DIR=dist VITE_PERMISSION=true diff --git a/.prettierrc b/.prettierrc index d43185c..cdf5127 100644 --- a/.prettierrc +++ b/.prettierrc @@ -6,5 +6,5 @@ "singleQuote": true, "printWidth": 120, "endOfLine": "auto", - "singleAttributePerLine": true + "singleAttributePerLine": false } diff --git a/config/useServer.js b/config/useServer.js index acb6a73..c39286e 100644 --- a/config/useServer.js +++ b/config/useServer.js @@ -3,7 +3,7 @@ export default () => ({ port: 8080, proxy: { '/api': { - target: 'http://101.42.232.163:8080/api', + target: 'https://mock.apifox.cn/m1/3156808-0-default', // target: 'http://127.0.0.1:8045/api', changeOrigin: true, rewrite: (path) => path.replace('/api', ''), diff --git a/package-lock.json b/package-lock.json index a3c1264..bd4e09d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "gin-admin", + "name": "guxuan-admin", "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "gin-admin", + "name": "guxuan-admin", "version": "1.0.0", "dependencies": { "@ant-design/colors": "^7.0.0", @@ -49,6 +49,7 @@ "husky": "^8.0.3", "less": "^4.2.0", "lint-staged": "^14.0.0", + "mockjs": "^1.1.0", "rollup-plugin-visualizer": "^5.9.2", "vite": "^4.4.9", "vite-plugin-compression": "^0.5.1", @@ -3385,6 +3386,18 @@ "integrity": "sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg==", "dev": true }, + "node_modules/mockjs": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/mockjs/-/mockjs-1.1.0.tgz", + "integrity": "sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==", + "dev": true, + "dependencies": { + "commander": "*" + }, + "bin": { + "random": "bin/random" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -7431,6 +7444,15 @@ "integrity": "sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg==", "dev": true }, + "mockjs": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/mockjs/-/mockjs-1.1.0.tgz", + "integrity": "sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==", + "dev": true, + "requires": { + "commander": "*" + } + }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", diff --git a/package.json b/package.json index 3daff3e..bd767dd 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "husky": "^8.0.3", "less": "^4.2.0", "lint-staged": "^14.0.0", + "mockjs": "^1.1.0", "rollup-plugin-visualizer": "^5.9.2", "vite": "^4.4.9", "vite-plugin-compression": "^0.5.1", diff --git a/src/locales/lang/zh-CN/menu.js b/src/locales/lang/zh-CN/menu.js index 42d2e5b..e9e9315 100644 --- a/src/locales/lang/zh-CN/menu.js +++ b/src/locales/lang/zh-CN/menu.js @@ -32,4 +32,6 @@ export default { account: '个人页', 'account.trigger': '触发报错', 'account.logout': '退出登录', + imgMgt:'图片管理', + homeBanner:'首页轮播图' } diff --git a/src/locales/lang/zh-CN/pages.js b/src/locales/lang/zh-CN/pages.js index 43d9a74..0d2b938 100644 --- a/src/locales/lang/zh-CN/pages.js +++ b/src/locales/lang/zh-CN/pages.js @@ -1,6 +1,6 @@ export default { 'pages.layouts.userLayout.title': - '基于 GIN + GORM 2.0 + Casbin 2.0 + Wire DI 的轻量级、灵活、优雅且功能齐全的 RBAC 脚手架。', + '轻量级、灵活、优雅且功能齐全的脚手架。', 'pages.login.accountLogin.tab': '账户密码登录', 'pages.login.failure': '登录失败,请重试!', 'pages.login.success': '登录成功!', diff --git a/src/router/routes/imgMgt.js b/src/router/routes/imgMgt.js new file mode 100644 index 0000000..81f2bfb --- /dev/null +++ b/src/router/routes/imgMgt.js @@ -0,0 +1,62 @@ +import { SettingOutlined } from '@ant-design/icons-vue' + +export default [ + { + path: 'imgMgt', + name: 'imgMgt', + component: 'RouteViewLayout', + meta: { + icon: SettingOutlined, + title: '图片管理', + isMenu: true, + keepAlive: true, + permission: '*', + }, + children: [ + { + path: 'homeBanner', + name: 'homeBanner', + component: 'imgMgt/homeBanner/index.vue', + meta: { + title: '首页轮播图', + isMenu: true, + keepAlive: true, + permission: '*', + }, + }, + { + path: 'role', + name: 'role', + component: 'system/role/index.vue', + meta: { + title: '角色管理', + isMenu: true, + keepAlive: true, + permission: '*', + }, + }, + { + path: 'menu', + name: 'menu', + component: 'system/menu/index.vue', + meta: { + title: '菜单管理', + isMenu: true, + keepAlive: true, + permission: '*', + }, + }, + { + path: 'logger', + name: 'logger', + component: 'system/logger/index.vue', + meta: { + title: '日志管理', + isMenu: true, + keepAlive: true, + permission: '*', + }, + }, + ], + }, +] diff --git a/src/router/routes/index.js b/src/router/routes/index.js index 5877eb6..7186110 100644 --- a/src/router/routes/index.js +++ b/src/router/routes/index.js @@ -9,6 +9,7 @@ import system from './system' import link from './link' import iframe from './iframe' import other from './other' +import imgMgt from './imgMgt' export default [ ...home, @@ -22,4 +23,5 @@ export default [ ...link, ...iframe, ...other, + ...imgMgt ] diff --git a/src/router/util.js b/src/router/util.js index 46f97a4..d219068 100644 --- a/src/router/util.js +++ b/src/router/util.js @@ -73,7 +73,9 @@ export function formatRoutes(routes = [], parent = {}) { const modules = import.meta.glob('../views/**/*.vue') return routes .map((item) => { + console.log(item.name,localRoutes) const localRoute = find(toList(localRoutes), { name: item.name }) + console.log(localRoute) if (!localRoute) return const component = localRoute?.component || 'exception/404' const isLink = localRoute?.meta?.type === 'link' diff --git a/src/store/modules/router.js b/src/store/modules/router.js index b118604..d4ceaa1 100644 --- a/src/store/modules/router.js +++ b/src/store/modules/router.js @@ -24,17 +24,15 @@ const useRouterStore = defineStore('router', { return new Promise((resolve, reject) => { ;(async () => { try { - const { success, data } = await apis.user.getUserMenu().catch(() => { - throw new Error() - }) + const { success, data } = await apis.user.getUserMenu().catch(() => {throw new Error()}) if (config('http.code.success') === success) { const list = formatApiData(data) - + console.log(list) list.push(...addWebPage()) - const validRoutes = formatRoutes(list) - + console.log('validRoutes',validRoutes) const menuList = generateMenuList(validRoutes) + console.log('menuList',menuList) const routes = [...generateRoutes(validRoutes), notFoundRoute] const indexRoute = getFirstValidRoute(menuList) routes.forEach((route) => { @@ -43,6 +41,9 @@ const useRouterStore = defineStore('router', { this.routes = routes this.menuList = menuList this.indexRoute = indexRoute + console.log('routes',routes) + console.log('menuList',routes) + console.log('indexRoute',routes) resolve() } } catch (error) { diff --git a/src/views/imgMgt/homeBanner/components/Department.vue b/src/views/imgMgt/homeBanner/components/Department.vue new file mode 100644 index 0000000..efaefad --- /dev/null +++ b/src/views/imgMgt/homeBanner/components/Department.vue @@ -0,0 +1,169 @@ + + + + + diff --git a/src/views/imgMgt/homeBanner/components/EditDepartmentDialog.vue b/src/views/imgMgt/homeBanner/components/EditDepartmentDialog.vue new file mode 100644 index 0000000..e5a271f --- /dev/null +++ b/src/views/imgMgt/homeBanner/components/EditDepartmentDialog.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/views/imgMgt/homeBanner/components/EditDialog.vue b/src/views/imgMgt/homeBanner/components/EditDialog.vue new file mode 100644 index 0000000..3f3aa09 --- /dev/null +++ b/src/views/imgMgt/homeBanner/components/EditDialog.vue @@ -0,0 +1,293 @@ + + + + + diff --git a/src/views/imgMgt/homeBanner/index.vue b/src/views/imgMgt/homeBanner/index.vue new file mode 100644 index 0000000..fe2a008 --- /dev/null +++ b/src/views/imgMgt/homeBanner/index.vue @@ -0,0 +1,234 @@ + + + + + diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 5626bcb..30ed4f6 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -2,17 +2,10 @@
- - + + -