1 line
22 KiB
JSON
1 line
22 KiB
JSON
{"ast":null,"code":"import \"core-js/modules/es.object.to-string.js\";\nimport \"core-js/modules/es.string.iterator.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\n\n/*\r\n * @Description: \r\n * @Author: Rabbiter\r\n * @Date: 2023-03-26 15:27:05\r\n */\nimport Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport request from '../utils/request';\nVue.use(VueRouter); //requireAuth: 是否需要检查登录\n\nvar routes = [//前台\n{\n path: '/',\n name: 'front',\n redirect: \"/topview\",\n component: function component() {\n return import('../views/front/Front.vue');\n },\n meta: {\n title: '在线商城',\n path: '在线商城',\n requireAuth: false\n },\n children: [{\n path: 'person',\n name: 'person',\n meta: {\n title: '个人信息',\n requireLogin: true\n },\n component: function component() {\n return import('../views/Person.vue');\n }\n }, {\n path: 'topview',\n name: 'topview',\n meta: {\n title: '在线商城'\n },\n component: function component() {\n return import('../views/front/TopView.vue');\n }\n }, {\n path: 'cart',\n name: 'cart',\n meta: {\n title: '我的购物车',\n requireLogin: true\n },\n component: function component() {\n return import('../views/front/good/Cart.vue');\n }\n }, {\n path: 'goodList',\n name: 'goodList',\n meta: {\n title: '商品界面'\n },\n component: function component() {\n return import('../views/front/good/GoodList.vue');\n }\n }, {\n path: 'goodView/:goodId',\n name: 'goodview',\n meta: {\n title: '商品详情'\n },\n component: function component() {\n return import('../views/front/good/GoodView.vue');\n }\n }, {\n path: 'preOrder',\n name: 'preOrder',\n meta: {\n title: '确认订单',\n requireLogin: true\n },\n component: function component() {\n return import('../views/front/order/PreOrder.vue');\n }\n }, {\n path: 'pay',\n name: 'pay',\n meta: {\n title: '支付',\n requireLogin: true\n },\n component: function component() {\n return import('../views/front/order/Pay.vue');\n }\n }, {\n path: 'orderList',\n name: 'orderList',\n meta: {\n title: '我的订单',\n requireLogin: true\n },\n component: function component() {\n return import('../views/front/order/OrderList.vue');\n }\n }]\n}, //后台\n{\n path: '/manage',\n name: 'manage',\n component: function component() {\n return import('../views/manage/Manage.vue');\n },\n redirect: \"/manage/home\",\n meta: {\n title: '后台',\n path: '后台',\n requireAuth: true\n },\n children: [{\n path: 'home',\n name: 'home',\n meta: {\n title: '主页',\n path: '主页',\n requireAuth: true\n },\n component: function component() {\n return import('../views/manage/Home.vue');\n }\n }, {\n path: 'user',\n name: 'user',\n meta: {\n title: '用户管理',\n path: '系统管理/用户管理',\n requireAuth: true\n },\n component: function component() {\n return import('../views/manage/User.vue');\n }\n }, {\n path: 'person',\n name: 'person',\n meta: {\n title: '个人信息',\n path: '个人信息',\n requireAuth: true\n },\n component: function component() {\n return import('../views/Person.vue');\n }\n }, {\n path: 'file',\n name: 'file',\n meta: {\n title: '文件管理',\n path: '文件/文件管理',\n requireAuth: true\n },\n component: function component() {\n return import('../views/manage/file/File.vue');\n }\n }, {\n path: 'avatar',\n name: 'avatar',\n meta: {\n title: '头像管理',\n path: '文件/头像管理',\n requireAuth: true\n },\n component: function component() {\n return import('../views/manage/file/Avatar.vue');\n }\n }, {\n path: 'carousel',\n name: 'carousel',\n meta: {\n title: '轮播图管理',\n path: '商品/轮播图管理',\n requireAuth: true\n },\n component: function component() {\n return import('../views/manage/good/Carousel.vue');\n }\n }, {\n path: 'category',\n name: 'category',\n meta: {\n title: '商品分类管理',\n path: '商品/商品分类管理',\n requireAuth: true\n },\n component: function component() {\n return import('../views/manage/good/Category.vue');\n }\n }, {\n path: 'good',\n name: 'good',\n meta: {\n title: '商品管理',\n path: '商品/商品管理',\n requireAuth: true\n },\n component: function component() {\n return import('../views/manage/good/Goods.vue');\n }\n }, {\n path: 'goodInfo',\n name: 'goodInfo',\n meta: {\n title: '商品管理',\n path: '商品/商品管理/商品信息',\n requireAuth: true\n },\n component: function component() {\n return import('../views/manage/good/GoodInfo.vue');\n }\n }, {\n path: 'order',\n name: 'order',\n meta: {\n title: '订单管理',\n path: '商品/订单管理',\n requireAuth: true\n },\n component: function component() {\n return import('../views/manage/Order.vue');\n }\n }, {\n path: 'incomeChart',\n name: 'incomeChart',\n meta: {\n title: '收入图表',\n path: '营收/收入图表',\n requireAuth: true\n },\n component: function component() {\n return import('../views/manage/income/IncomeChart.vue');\n }\n }, {\n path: 'incomeRank',\n name: 'incomeRank',\n meta: {\n title: '收入排行',\n path: '营收/收入排行',\n requireAuth: true\n },\n component: function component() {\n return import('../views/manage/income/IncomeRank.vue');\n }\n }]\n}, {\n path: '/login',\n name: 'login',\n meta: {\n title: '登录',\n requireAuth: false\n },\n component: function component() {\n return import(\n /* webpackChunkName: \"about\" */\n '../views/Login.vue');\n }\n}, {\n path: '/register',\n name: 'register',\n meta: {\n title: '注册',\n requireAuth: false\n },\n component: function component() {\n return import(\n /* webpackChunkName: \"about\" */\n '../views/Register.vue');\n }\n}, {\n path: '/*',\n name: 'notFound',\n meta: {\n title: '找不到页面'\n },\n component: function component() {\n return import(\n /* webpackChunkName: \"about\" */\n '../views/404NotFound.vue');\n }\n}];\nvar router = new VueRouter({\n mode: 'history',\n base: process.env.BASE_URL,\n routes: routes\n}); //beforeEach是router的钩子函数,在进入路由前执行\n\nrouter.beforeEach(function (to, from, next) {\n // if(to.path === '/manage'){\n // let user = localStorage.getItem(\"user\");\n // if(!user.token){\n // next('/login');\n // }\n // }\n var role;\n var allow = false;\n\n if (to.meta.requireAuth === true) {\n //在后台获得该用户的身份\n request.post(\"http://localhost:9191/role\").then(function (res) {\n if (res.code === '200') {\n role = res.data;\n console.log('您的身份是:' + role);\n\n if (role === 'admin') {\n allow = true;\n } else if (role === 'user') {\n alert(\"您没有权限\");\n allow = false;\n next(\"/\");\n }\n } else {\n //查询身份失败\n alert(res.msg);\n next('/login');\n } //放行\n\n\n if (allow === true) {\n //设置网页title\n if (to.meta.title) {\n document.title = to.meta.title;\n } else {\n document.title = '未知页面';\n }\n\n next();\n }\n });\n } else {\n //不需要判断权限\n if (to.meta.requireLogin === true) {\n if (!isLogin()) {\n next('/login');\n }\n }\n\n if (to.meta.title) {\n document.title = to.meta.title;\n } else {\n document.title = '未知页面';\n }\n\n next();\n }\n});\n\nfunction isLogin() {\n var user = localStorage.getItem(\"user\");\n\n if (user) {\n return true;\n } else {\n return false;\n }\n}\n\nexport default router;","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src/ElectronicMallVue/src/router/index.js"],"names":["Vue","VueRouter","request","use","routes","path","name","redirect","component","meta","title","requireAuth","children","requireLogin","router","mode","base","process","env","BASE_URL","beforeEach","to","from","next","role","allow","post","then","res","code","data","console","log","alert","msg","document","isLogin","user","localStorage","getItem"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA,OAAOA,GAAP,MAAgB,KAAhB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,OAAP,MAAoB,kBAApB;AAGAF,GAAG,CAACG,GAAJ,CAAQF,SAAR,E,CACA;;AACA,IAAMG,MAAM,GAAG,CACX;AACF;AACEC,EAAAA,IAAI,EAAE,GADR;AAEEC,EAAAA,IAAI,EAAE,OAFR;AAGEC,EAAAA,QAAQ,EAAE,UAHZ;AAIEC,EAAAA,SAAS,EAAE;AAAA,WAAM,OAAO,0BAAP,CAAN;AAAA,GAJb;AAKEC,EAAAA,IAAI,EAAE;AAACC,IAAAA,KAAK,EAAC,MAAP;AAAeL,IAAAA,IAAI,EAAE,MAArB;AAA6BM,IAAAA,WAAW,EAAE;AAA1C,GALR;AAMEC,EAAAA,QAAQ,EAAE,CACR;AAACP,IAAAA,IAAI,EAAE,QAAP;AAAiBC,IAAAA,IAAI,EAAE,QAAvB;AAAiCG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,MAAP;AAAcG,MAAAA,YAAY,EAAE;AAA5B,KAAvC;AAA0EL,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,qBAAP,CAAN;AAAA;AAArF,GADQ,EAER;AAACH,IAAAA,IAAI,EAAE,SAAP;AAAkBC,IAAAA,IAAI,EAAE,SAAxB;AAAmCG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC;AAAP,KAAzC;AAAyDF,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,4BAAP,CAAN;AAAA;AAApE,GAFQ,EAGR;AAACH,IAAAA,IAAI,EAAE,MAAP;AAAeC,IAAAA,IAAI,EAAE,MAArB;AAA6BG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,OAAP;AAAeG,MAAAA,YAAY,EAAE;AAA7B,KAAnC;AAAuEL,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,8BAAP,CAAN;AAAA;AAAlF,GAHQ,EAIR;AAACH,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,IAAI,EAAE,UAAzB;AAAqCG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC;AAAP,KAA3C;AAA2DF,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,kCAAP,CAAN;AAAA;AAAtE,GAJQ,EAKR;AAACH,IAAAA,IAAI,EAAE,kBAAP;AAA2BC,IAAAA,IAAI,EAAE,UAAjC;AAA6CG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC;AAAP,KAAnD;AAAmEF,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,kCAAP,CAAN;AAAA;AAA9E,GALQ,EAMR;AAACH,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,IAAI,EAAE,UAAzB;AAAqCG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,MAAP;AAAcG,MAAAA,YAAY,EAAE;AAA5B,KAA3C;AAA8EL,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,mCAAP,CAAN;AAAA;AAAzF,GANQ,EAOR;AAACH,IAAAA,IAAI,EAAE,KAAP;AAAcC,IAAAA,IAAI,EAAE,KAApB;AAA2BG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,IAAP;AAAYG,MAAAA,YAAY,EAAE;AAA1B,KAAjC;AAAkEL,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,8BAAP,CAAN;AAAA;AAA7E,GAPQ,EAQR;AAACH,IAAAA,IAAI,EAAE,WAAP;AAAoBC,IAAAA,IAAI,EAAE,WAA1B;AAAuCG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,MAAP;AAAcG,MAAAA,YAAY,EAAE;AAA5B,KAA7C;AAAgFL,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,oCAAP,CAAN;AAAA;AAA3F,GARQ;AANZ,CAFa,EAoBX;AACF;AACEH,EAAAA,IAAI,EAAE,SADR;AAEEC,EAAAA,IAAI,EAAE,QAFR;AAGEE,EAAAA,SAAS,EAAE;AAAA,WAAM,OAAO,4BAAP,CAAN;AAAA,GAHb;AAIED,EAAAA,QAAQ,EAAE,cAJZ;AAKEE,EAAAA,IAAI,EAAE;AAACC,IAAAA,KAAK,EAAC,IAAP;AAAaL,IAAAA,IAAI,EAAE,IAAnB;AAAwBM,IAAAA,WAAW,EAAE;AAArC,GALR;AAMEC,EAAAA,QAAQ,EAAE,CACR;AAACP,IAAAA,IAAI,EAAE,MAAP;AAAeC,IAAAA,IAAI,EAAE,MAArB;AAA6BG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,IAAP;AAAaL,MAAAA,IAAI,EAAE,IAAnB;AAAwBM,MAAAA,WAAW,EAAE;AAArC,KAAnC;AAA+EH,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,0BAAP,CAAN;AAAA;AAA1F,GADQ,EAER;AAACH,IAAAA,IAAI,EAAE,MAAP;AAAeC,IAAAA,IAAI,EAAE,MAArB;AAA6BG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,MAAP;AAAcL,MAAAA,IAAI,EAAE,WAApB;AAAgCM,MAAAA,WAAW,EAAE;AAA7C,KAAnC;AAAuFH,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,0BAAP,CAAN;AAAA;AAAlG,GAFQ,EAGR;AAACH,IAAAA,IAAI,EAAE,QAAP;AAAiBC,IAAAA,IAAI,EAAE,QAAvB;AAAiCG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,MAAP;AAAcL,MAAAA,IAAI,EAAE,MAApB;AAA2BM,MAAAA,WAAW,EAAE;AAAxC,KAAvC;AAAsFH,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,qBAAP,CAAN;AAAA;AAAjG,GAHQ,EAIR;AAACH,IAAAA,IAAI,EAAE,MAAP;AAAeC,IAAAA,IAAI,EAAE,MAArB;AAA6BG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,MAAP;AAAcL,MAAAA,IAAI,EAAE,SAApB;AAA8BM,MAAAA,WAAW,EAAE;AAA3C,KAAnC;AAAqFH,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,+BAAP,CAAN;AAAA;AAAhG,GAJQ,EAKR;AAACH,IAAAA,IAAI,EAAE,QAAP;AAAiBC,IAAAA,IAAI,EAAE,QAAvB;AAAiCG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,MAAP;AAAcL,MAAAA,IAAI,EAAE,SAApB;AAA8BM,MAAAA,WAAW,EAAE;AAA3C,KAAvC;AAAyFH,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,iCAAP,CAAN;AAAA;AAApG,GALQ,EAMR;AAACH,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,IAAI,EAAE,UAAzB;AAAqCG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,OAAP;AAAeL,MAAAA,IAAI,EAAE,UAArB;AAAgCM,MAAAA,WAAW,EAAE;AAA7C,KAA3C;AAA+FH,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,mCAAP,CAAN;AAAA;AAA1G,GANQ,EAOR;AAACH,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,IAAI,EAAE,UAAzB;AAAqCG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,QAAP;AAAgBL,MAAAA,IAAI,EAAE,WAAtB;AAAkCM,MAAAA,WAAW,EAAE;AAA/C,KAA3C;AAAiGH,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,mCAAP,CAAN;AAAA;AAA5G,GAPQ,EAQR;AAACH,IAAAA,IAAI,EAAE,MAAP;AAAeC,IAAAA,IAAI,EAAE,MAArB;AAA6BG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,MAAP;AAAcL,MAAAA,IAAI,EAAE,SAApB;AAA8BM,MAAAA,WAAW,EAAE;AAA3C,KAAnC;AAAqFH,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,gCAAP,CAAN;AAAA;AAAhG,GARQ,EASR;AAACH,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,IAAI,EAAE,UAAzB;AAAqCG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,MAAP;AAAcL,MAAAA,IAAI,EAAE,cAApB;AAAmCM,MAAAA,WAAW,EAAE;AAAhD,KAA3C;AAAkGH,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,mCAAP,CAAN;AAAA;AAA7G,GATQ,EAUR;AAACH,IAAAA,IAAI,EAAE,OAAP;AAAgBC,IAAAA,IAAI,EAAE,OAAtB;AAA+BG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,MAAP;AAAcL,MAAAA,IAAI,EAAE,SAApB;AAA8BM,MAAAA,WAAW,EAAE;AAA3C,KAArC;AAAuFH,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,2BAAP,CAAN;AAAA;AAAlG,GAVQ,EAWR;AAACH,IAAAA,IAAI,EAAE,aAAP;AAAsBC,IAAAA,IAAI,EAAE,aAA5B;AAA2CG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,MAAP;AAAcL,MAAAA,IAAI,EAAE,SAApB;AAA8BM,MAAAA,WAAW,EAAE;AAA3C,KAAjD;AAAmGH,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,wCAAP,CAAN;AAAA;AAA9G,GAXQ,EAYR;AAACH,IAAAA,IAAI,EAAE,YAAP;AAAqBC,IAAAA,IAAI,EAAE,YAA3B;AAAyCG,IAAAA,IAAI,EAAE;AAACC,MAAAA,KAAK,EAAC,MAAP;AAAcL,MAAAA,IAAI,EAAE,SAApB;AAA8BM,MAAAA,WAAW,EAAE;AAA3C,KAA/C;AAAiGH,IAAAA,SAAS,EAAE;AAAA,aAAM,OAAO,uCAAP,CAAN;AAAA;AAA5G,GAZQ;AANZ,CArBa,EA2Cb;AACEH,EAAAA,IAAI,EAAE,QADR;AAEEC,EAAAA,IAAI,EAAE,OAFR;AAGEG,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,EAAE,IADH;AAEJC,IAAAA,WAAW,EAAE;AAFT,GAHR;AAOEH,EAAAA,SAAS,EAAE;AAAA,WAAM;AAAO;AAAgC,wBAAvC,CAAN;AAAA;AAPb,CA3Ca,EAoDb;AACEH,EAAAA,IAAI,EAAE,WADR;AAEEC,EAAAA,IAAI,EAAE,UAFR;AAGEG,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,EAAE,IADH;AACQC,IAAAA,WAAW,EAAE;AADrB,GAHR;AAMEH,EAAAA,SAAS,EAAE;AAAA,WAAM;AAAO;AAAgC,2BAAvC,CAAN;AAAA;AANb,CApDa,EA4Db;AACEH,EAAAA,IAAI,EAAE,IADR;AAEEC,EAAAA,IAAI,EAAE,UAFR;AAGEG,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,EAAE;AADH,GAHR;AAMEF,EAAAA,SAAS,EAAE;AAAA,WAAM;AAAO;AAAgC,8BAAvC,CAAN;AAAA;AANb,CA5Da,CAAf;AAsEA,IAAMM,MAAM,GAAG,IAAIb,SAAJ,CAAc;AAC3Bc,EAAAA,IAAI,EAAE,SADqB;AAE3BC,EAAAA,IAAI,EAAEC,OAAO,CAACC,GAAR,CAAYC,QAFS;AAG3Bf,EAAAA,MAAM,EAANA;AAH2B,CAAd,CAAf,C,CAMA;;AACAU,MAAM,CAACM,UAAP,CAAkB,UAACC,EAAD,EAAKC,IAAL,EAAWC,IAAX,EAAoB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,MAAIC,IAAJ;AACA,MAAIC,KAAK,GAAG,KAAZ;;AACA,MAAGJ,EAAE,CAACZ,IAAH,CAAQE,WAAR,KAAsB,IAAzB,EAA8B;AAC5B;AACAT,IAAAA,OAAO,CAACwB,IAAR,CAAa,4BAAb,EAA2CC,IAA3C,CAAgD,UAAAC,GAAG,EAAE;AACnD,UAAGA,GAAG,CAACC,IAAJ,KAAW,KAAd,EAAoB;AAClBL,QAAAA,IAAI,GAAGI,GAAG,CAACE,IAAX;AACAC,QAAAA,OAAO,CAACC,GAAR,CAAY,WAASR,IAArB;;AACA,YAAGA,IAAI,KAAK,OAAZ,EAAoB;AAClBC,UAAAA,KAAK,GAAG,IAAR;AACD,SAFD,MAGK,IAAGD,IAAI,KAAG,MAAV,EAAiB;AAClBS,UAAAA,KAAK,CAAC,OAAD,CAAL;AACAR,UAAAA,KAAK,GAAG,KAAR;AACAF,UAAAA,IAAI,CAAC,GAAD,CAAJ;AACH;AACF,OAXD,MAYI;AAAG;AACLU,QAAAA,KAAK,CAACL,GAAG,CAACM,GAAL,CAAL;AACAX,QAAAA,IAAI,CAAC,QAAD,CAAJ;AACD,OAhBkD,CAiBnD;;;AACA,UAAGE,KAAK,KAAK,IAAb,EAAkB;AAChB;AACA,YAAIJ,EAAE,CAACZ,IAAH,CAAQC,KAAZ,EAAmB;AACjByB,UAAAA,QAAQ,CAACzB,KAAT,GAAiBW,EAAE,CAACZ,IAAH,CAAQC,KAAzB;AACD,SAFD,MAEO;AACLyB,UAAAA,QAAQ,CAACzB,KAAT,GAAgB,MAAhB;AACD;;AACDa,QAAAA,IAAI;AACL;AACF,KA3BD;AA6BD,GA/BD,MAgCI;AAAK;AACP,QAAGF,EAAE,CAACZ,IAAH,CAAQI,YAAR,KAAuB,IAA1B,EAA+B;AAC7B,UAAG,CAACuB,OAAO,EAAX,EAAc;AACZb,QAAAA,IAAI,CAAC,QAAD,CAAJ;AACD;AACF;;AACD,QAAIF,EAAE,CAACZ,IAAH,CAAQC,KAAZ,EAAmB;AACjByB,MAAAA,QAAQ,CAACzB,KAAT,GAAiBW,EAAE,CAACZ,IAAH,CAAQC,KAAzB;AACD,KAFD,MAEO;AACLyB,MAAAA,QAAQ,CAACzB,KAAT,GAAgB,MAAhB;AACD;;AACDa,IAAAA,IAAI;AACL;AAEF,CAvDD;;AAyDA,SAASa,OAAT,GAAmB;AACjB,MAAIC,IAAI,GAAGC,YAAY,CAACC,OAAb,CAAqB,MAArB,CAAX;;AACA,MAAGF,IAAH,EAAQ;AACN,WAAO,IAAP;AACD,GAFD,MAEK;AACH,WAAO,KAAP;AACD;AACF;;AACD,eAAevB,MAAf","sourcesContent":["/*\r\n * @Description: \r\n * @Author: Rabbiter\r\n * @Date: 2023-03-26 15:27:05\r\n */\r\nimport Vue from 'vue'\r\nimport VueRouter from 'vue-router'\r\nimport request from '../utils/request';\r\n\r\n\r\nVue.use(VueRouter)\r\n//requireAuth: 是否需要检查登录\r\nconst routes = [\r\n //前台\r\n {\r\n path: '/',\r\n name: 'front',\r\n redirect: \"/topview\",\r\n component: () => import('../views/front/Front.vue'),\r\n meta: {title:'在线商城', path: '在线商城', requireAuth: false},\r\n children: [\r\n {path: 'person', name: 'person', meta: {title:'个人信息',requireLogin: true}, component: () => import('../views/Person.vue'),},\r\n {path: 'topview', name: 'topview', meta: {title:'在线商城'}, component: () => import('../views/front/TopView.vue'),},\r\n {path: 'cart', name: 'cart', meta: {title:'我的购物车',requireLogin: true}, component: () => import('../views/front/good/Cart.vue'),},\r\n {path: 'goodList', name: 'goodList', meta: {title:'商品界面'}, component: () => import('../views/front/good/GoodList.vue'),},\r\n {path: 'goodView/:goodId', name: 'goodview', meta: {title:'商品详情'}, component: () => import('../views/front/good/GoodView.vue'),},\r\n {path: 'preOrder', name: 'preOrder', meta: {title:'确认订单',requireLogin: true}, component: () => import('../views/front/order/PreOrder.vue'),},\r\n {path: 'pay', name: 'pay', meta: {title:'支付',requireLogin: true}, component: () => import('../views/front/order/Pay.vue'),},\r\n {path: 'orderList', name: 'orderList', meta: {title:'我的订单',requireLogin: true}, component: () => import('../views/front/order/OrderList.vue'),},\r\n\r\n ]\r\n },\r\n //后台\r\n {\r\n path: '/manage',\r\n name: 'manage',\r\n component: () => import('../views/manage/Manage.vue'),\r\n redirect: \"/manage/home\",\r\n meta: {title:'后台', path: '后台',requireAuth: true},\r\n children: [\r\n {path: 'home', name: 'home', meta: {title:'主页', path: '主页',requireAuth: true}, component: () => import('../views/manage/Home.vue'),},\r\n {path: 'user', name: 'user', meta: {title:'用户管理',path: '系统管理/用户管理',requireAuth: true}, component: () => import('../views/manage/User.vue'),},\r\n {path: 'person', name: 'person', meta: {title:'个人信息',path: '个人信息',requireAuth: true}, component: () => import('../views/Person.vue'),},\r\n {path: 'file', name: 'file', meta: {title:'文件管理',path: '文件/文件管理',requireAuth: true}, component: () => import('../views/manage/file/File.vue'),},\r\n {path: 'avatar', name: 'avatar', meta: {title:'头像管理',path: '文件/头像管理',requireAuth: true}, component: () => import('../views/manage/file/Avatar.vue'),},\r\n {path: 'carousel', name: 'carousel', meta: {title:'轮播图管理',path: '商品/轮播图管理',requireAuth: true}, component: () => import('../views/manage/good/Carousel.vue'),},\r\n {path: 'category', name: 'category', meta: {title:'商品分类管理',path: '商品/商品分类管理',requireAuth: true}, component: () => import('../views/manage/good/Category.vue'),},\r\n {path: 'good', name: 'good', meta: {title:'商品管理',path: '商品/商品管理',requireAuth: true}, component: () => import('../views/manage/good/Goods.vue'),},\r\n {path: 'goodInfo', name: 'goodInfo', meta: {title:'商品管理',path: '商品/商品管理/商品信息',requireAuth: true}, component: () => import('../views/manage/good/GoodInfo.vue'),},\r\n {path: 'order', name: 'order', meta: {title:'订单管理',path: '商品/订单管理',requireAuth: true}, component: () => import('../views/manage/Order.vue'),},\r\n {path: 'incomeChart', name: 'incomeChart', meta: {title:'收入图表',path: '营收/收入图表',requireAuth: true}, component: () => import('../views/manage/income/IncomeChart.vue'),},\r\n {path: 'incomeRank', name: 'incomeRank', meta: {title:'收入排行',path: '营收/收入排行',requireAuth: true}, component: () => import('../views/manage/income/IncomeRank.vue'),},\r\n\r\n ]\r\n },\r\n {\r\n path: '/login',\r\n name: 'login',\r\n meta: {\r\n title: '登录',\r\n requireAuth: false,\r\n },\r\n component: () => import(/* webpackChunkName: \"about\" */ '../views/Login.vue')\r\n },\r\n {\r\n path: '/register',\r\n name: 'register',\r\n meta: {\r\n title: '注册',requireAuth: false,\r\n },\r\n component: () => import(/* webpackChunkName: \"about\" */ '../views/Register.vue')\r\n },\r\n {\r\n path: '/*',\r\n name: 'notFound',\r\n meta: {\r\n title: '找不到页面'\r\n },\r\n component: () => import(/* webpackChunkName: \"about\" */ '../views/404NotFound.vue')\r\n },\r\n]\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes\r\n})\r\n\r\n//beforeEach是router的钩子函数,在进入路由前执行\r\nrouter.beforeEach((to, from, next) => {\r\n // if(to.path === '/manage'){\r\n // let user = localStorage.getItem(\"user\");\r\n // if(!user.token){\r\n // next('/login');\r\n // }\r\n // }\r\n let role;\r\n let allow = false;\r\n if(to.meta.requireAuth===true){\r\n //在后台获得该用户的身份\r\n request.post(\"http://localhost:9191/role\").then(res=>{\r\n if(res.code==='200'){\r\n role = res.data;\r\n console.log('您的身份是:'+role);\r\n if(role === 'admin'){\r\n allow = true;\r\n }\r\n else if(role==='user'){\r\n alert(\"您没有权限\");\r\n allow = false;\r\n next(\"/\")\r\n }\r\n }\r\n else{ //查询身份失败\r\n alert(res.msg);\r\n next('/login');\r\n }\r\n //放行\r\n if(allow === true){\r\n //设置网页title\r\n if (to.meta.title) {\r\n document.title = to.meta.title\r\n } else {\r\n document.title ='未知页面'\r\n }\r\n next()\r\n }\r\n }\r\n )\r\n }\r\n else{ //不需要判断权限\r\n if(to.meta.requireLogin===true){\r\n if(!isLogin()){\r\n next('/login');\r\n }\r\n }\r\n if (to.meta.title) {\r\n document.title = to.meta.title\r\n } else {\r\n document.title ='未知页面'\r\n }\r\n next()\r\n }\r\n\r\n})\r\n\r\nfunction isLogin() {\r\n let user = localStorage.getItem(\"user\");\r\n if(user){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n}\r\nexport default router\r\n"]},"metadata":{},"sourceType":"module"} |