|
|
@@ -18,6 +18,8 @@ import Login from "@/views/Login.vue";
|
|
|
import Register from "@/views/Register.vue";
|
|
|
import Home from "@/views/Home.vue";
|
|
|
|
|
|
+import { judgeTeacher, judgeStudent } from "@/util/auth";
|
|
|
+
|
|
|
Vue.use(VueRouter);
|
|
|
|
|
|
const routes = [
|
|
|
@@ -110,4 +112,15 @@ const router = new VueRouter({
|
|
|
routes
|
|
|
});
|
|
|
|
|
|
+router.beforeEach((to, from, next) => {
|
|
|
+ let legal = false;
|
|
|
+ if (!to.path.startsWith("/student") && !to.path.startsWith("/teacher")) legal = true;
|
|
|
+ if (to.path.startsWith("/student") && judgeStudent()) legal = true;
|
|
|
+ if (to.path.startsWith("/teacher") && judgeTeacher()) legal = true;
|
|
|
+ if (to.name === "CoursePeek") legal = true;
|
|
|
+ if (legal) {
|
|
|
+ next();
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
export default router;
|