92 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import Home from "./pages/Home.vue";
 | |
| import ProgramPage from "./pages/ProgramPage.vue";
 | |
| import CoursePage from "./pages/CoursePage.vue";
 | |
| import ContentPage from "./pages/ContentPage.vue";
 | |
| import ListPage from "./pages/ListPage.vue";
 | |
| import ProfilePage from "./pages/ProfilePage.vue";
 | |
| 
 | |
| const routes = [{
 | |
| 	name: 'home',
 | |
| 	path: '',
 | |
| 	component: Home
 | |
| },
 | |
| {
 | |
| 	name: 'program',
 | |
| 	path: '/Program/:program_name',
 | |
| 	component: ProgramPage,
 | |
| 	props: true
 | |
| },
 | |
| {
 | |
| 	name: 'course',
 | |
| 	path: '/Program/:program_name/:course_name/',
 | |
| 	component: CoursePage,
 | |
| 	props: true,
 | |
| },
 | |
| {
 | |
| 	name: 'content',
 | |
| 	path: '/Program/:program_name/:course_name/:topic/:type/:content',
 | |
| 	component: ContentPage,
 | |
| 	props: true,
 | |
| 	beforeRouteUpdate (to, from, next) {
 | |
| 		if (lms.store.checkProgramEnrollment(to.params.program_name)) {
 | |
| 			next()
 | |
| 		} else {
 | |
| 			next({
 | |
| 				name: 'program',
 | |
| 				params: {
 | |
| 					program_name: to.params.program_name
 | |
| 				}
 | |
| 			})
 | |
| 		}
 | |
| 	}
 | |
| },
 | |
| {
 | |
| 	name: 'list',
 | |
| 	path: '/List/:master',
 | |
| 	component: ListPage,
 | |
| 	props: true
 | |
| },
 | |
| {
 | |
| 	name: 'signup',
 | |
| 	path: '/Signup',
 | |
| 	beforeEnter(to, from, next) {
 | |
| 		window.location = window.location.origin.toString() + '/login#signup'
 | |
| 	},
 | |
| 	component: Home,
 | |
| 	props: true
 | |
| },
 | |
| {
 | |
| 	name: 'login',
 | |
| 	path: '/Login',
 | |
| 	beforeEnter(to, from, next) {
 | |
| 		window.location = window.location.origin.toString() + '/login#login'
 | |
| 	},
 | |
| 	component: Home,
 | |
| 	props: true
 | |
| },
 | |
| {
 | |
| 	name: 'logout',
 | |
| 	path: '/Logout',
 | |
| 	beforeEnter(to, from, next) {
 | |
| 		window.location = window.location.origin.toString() + '/?cmd=web_logout'
 | |
| 	},
 | |
| 	component: Home,
 | |
| 	props: true
 | |
| },
 | |
| {
 | |
| 	name: 'profile',
 | |
| 	path: '/Profile',
 | |
| 	component: ProfilePage,
 | |
| 	props: true,
 | |
| 	beforeEnter: (to, from, next) => {
 | |
| 		if (!lms.store.checkLogin()) {
 | |
| 			next({
 | |
| 				name: 'home'
 | |
| 			})
 | |
| 		} else {
 | |
| 			next()
 | |
| 		}
 | |
| 	}
 | |
| }];
 | |
| 
 | |
| export default routes; |