| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319 |
- import Vue from 'vue'
- import VueRouter from 'vue-router'
- // 加载条
- import NProgress from 'nprogress'
- import 'nprogress/nprogress.css'
- import VueAMap from 'vue-amap';
- Vue.use(VueRouter);
- // Vue.use(VueAMap);
- // VueAMap.initAMapApiLoader({
- // key: 'your amap key',
- // plugin: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor'],
- // // 默认高德 sdk 版本为 1.4.4
- // v: '1.4.4'
- // });
- const routes = [
- {
- path: '/',
- component: () => import( '../views/Index.vue'),
- children: [
- {
- path: '/',
- name: 'Main',
- component: () => import('@/views/Main.vue'),
- meta: {
- title: "首页",
- clmid: "1",
- }
- }, {
- path: '/member',
- name: 'Member',
- component: () => import('@/views/Member.vue'),
- meta: {
- title: "会员管理",
- clmid: "2",
- }
- }, {
- path: '/lesson',
- name: 'Lesson',
- component: () => import('@/views/Lesson.vue'),
- meta: {
- title: "课程模板",
- clmid: "3",
- }
- }, {
- path: '/lessonTable',
- name: 'lessonTable',
- component: () => import('@/views/LessonTable.vue'),
- meta: {
- title: "课程表模板",
- clmid: "4",
- }
- }, {
- path: '/editLessonTable',
- name: 'EditLessonTable',
- component: () => import('@/views/EditLessonTable.vue'),
- meta: {
- title: "编辑课程表模板",
- clmid: "4",
- }
- }, {
- path: '/editLessonManage',
- name: 'EditLessonManage',
- component: () => import('@/views/EditLessonManage.vue'),
- meta: {
- title: "编辑课程表",
- clmid: "5",
- }
- }, {
- path: '/adminManage',
- name: 'AdminManage',
- component: () => import('@/views/AdminManage.vue'),
- meta: {
- title: "管理员管理",
- clmid: "13",
- }
- }, {
- path: '/log',
- name: 'Log',
- component: () => import('@/views/Log.vue'),
- meta: {
- title: "操作日志",
- clmid: "14",
- }
- }, {
- path: '/shopManage',
- name: 'ShopManage',
- component: () => import('@/views/ShopManage.vue'),
- meta: {
- title: "店面管理",
- clmid: "12",
- }
- }, {
- path: '/adminSetting',
- name: 'AdminSetting',
- component: () => import('@/views/AdminSetting.vue'),
- meta: {
- title: "系统设置",
- clmid: "22",
- }
- }, {
- path: '/lessonManage',
- name: 'lessonManage',
- component: () => import('@/views/lessonManage.vue'),
- meta: {
- title: "课程表管理",
- clmid: "5",
- }
- }, {
- path: '/coach',
- name: 'coach',
- component: () => import('@/views/coach.vue'),
- meta: {
- title: "教练管理",
- clmid: "6",
- }
- }, {
- path: '/appoint',
- name: 'appoint',
- component: () => import('@/views/appoint.vue'),
- meta: {
- title: "预约管理",
- clmid: "7",
- }
- }, {
- path: '/record',
- name: 'record',
- component: () => import('@/views/record.vue'),
- meta: {
- title: "预约记录",
- clmid: "8",
- }
- }, {
- path: '/cost',
- name: 'cost',
- component: () => import('@/views/cost.vue'),
- meta: {
- title: "消费记录",
- clmid: "9",
- }
- }, {
- path: '/setting',
- name: 'setting',
- component: () => import('@/views/setting.vue'),
- meta: {
- title: "系统设置",
- clmid: "22",
- }
- }, {
- path: '/finish',
- name: 'finish',
- component: () => import('@/views/finish.vue'),
- meta: {
- title: "下课管理",
- clmid: "10",
- }
- }, {
- path: '/finishDetail',
- name: 'finishDetail',
- component: () => import('@/views/finishDetail.vue'),
- meta: {
- title: "下课管理",
- clmid: "10",
- }
- }, {
- path: '/courses',
- name: 'courses',
- component: () => import('@/views/courses.vue'),
- meta: {
- title: "课程管理",
- clmid: "10",
- }
- },{
- path: '/coursesHistory',
- name: 'coursesHistory',
- component: () => import('@/views/coursesHistory.vue'),
- meta: {
- title: "课程管理 历史记录",
- clmid: "10",
- }
- }, {
- path: '/classPrepare',
- name: 'classPrepare',
- component: () => import('@/views/classPrepare.vue'),
- meta: {
- title: "准备上课",
- clmid: "10",
- }
- }, {
- path: '/classInfoDetail',
- name: 'classInfoDetail',
- component: () => import('@/views/classInfoDetail.vue'),
- meta: {
- title: "课程成绩",
- clmid: "10",
- }
- }, {
- path: '/courseEdit',
- name: 'courseEdit',
- component: () => import('@/views/courseEdit.vue'),
- meta: {
- title: "课程管理",
- clmid: "10",
- }
- }, {
- path: '/heartEquip',
- name: 'heartEquip',
- component: () => import('@/views/heartEquip.vue'),
- meta: {
- title: "心率设备",
- clmid: "10",
- }
- }, {
- path: '/heartEquipPerson',
- name: 'heartEquipPerson',
- component: () => import('@/views/heartEquipPerson.vue'),
- meta: {
- title: "私有心率设备",
- clmid: "10",
- }
- }, {
- path: '/heartLog',
- name: 'heartLog',
- component: () => import('@/views/heartLog.vue'),
- meta: {
- title: "设备记录",
- clmid: "10",
- }
- }, {
- path: '/bindRecord',
- name: 'bindRecord',
- component: () => import('@/views/bindRecord.vue'),
- meta: {
- title: "绑定记录",
- clmid: "10",
- }
- }, {
- path: '/region',
- name: 'region',
- component: () => import('@/views/region.vue'),
- meta: {
- title: "区域管理",
- clmid: "10",
- }
- },{
- path: '/test',
- name: 'Test',
- component: () => import('@/views/Test.vue'),
- meta: {
- title: "test",
- clmid: "10",
- }
- }, {
- path: '/regionEquip',
- name: 'regionEquip',
- component: () => import('@/views/regionEquip.vue'),
- meta: {
- title: "区域设备",
- clmid: "10",
- }
- }, {
- path: '/relevancePhone',
- name: 'relevancePhone',
- component: () => import('@/views/relevancePhone.vue'),
- meta: {
- title: "关联手机",
- clmid: "11",
- }
- },{
- path: '/AcrossVip',
- name: 'AcrossVip',
- component: () => import('@/views/AcrossVip.vue'),
- meta: {
- title: "跨店会员",
- clmid: "11",
- }
- },
- ]
- }, {
- path: '/login',
- name: 'Login',
- component: () => import( '../views/Login.vue')
- }, , {
- path: '*',
- name: '404',
- component: () => import( '../views/404.vue')
- },
- ]
- const originalPush = VueRouter.prototype.push;
- VueRouter.prototype.push = function push(location) {
- return originalPush.call(this, location).catch(err => err)
- };
- const router = new VueRouter({
- mode: 'history',
- base: process.env.BASE_URL,
- routes
- });
- // 路由守卫
- router.beforeEach((to, from, next) => {
- NProgress.start()
- const isLogin = localStorage.token ? true : false;
- if (to.path == '/login' || to.path == '/register') {//'login'和'register'相当于是路由白名单
- next();
- } else {
- //如果token存在,就正常跳转,如果不存在,则说明未登陆,则跳转到'login'
- isLogin ? next() : next("/login");
- }
- });
- router.afterEach(() => {
- NProgress.done()
- })
- export default router
|