| 12345678910111213141516171819202122232425262728 |
- import { type PluginConfig } from "@/.cool";
- import { isNull, router, useStore } from "@/.cool";
- export default {
- install(app) {
- /**
- * 路由跳转前的全局钩子(如修改 pages.json 后需重新编译项目以确保路由信息生效)
- * @param to 跳转页
- * @param from 当前页
- * @param next 跳转函数
- */
- router.beforeEach((to, from, next) => {
- const { user } = useStore();
- // 判断是否需要登录
- if (to.isAuth == true || (isNull(to.meta) ? true : to.meta.isAuth == true)) {
- // 如果用户信息为空,则跳转到登录页
- if (!user.isNull()) {
- next();
- } else {
- router.login();
- }
- } else {
- next();
- }
- });
- }
- } as PluginConfig;
|