登录页面login.vue
<template><div><button @click="initRouter">登录</button></div>
</template><script setup lang="ts">
import { login } from "@/api/login";
import { useRouter } from "vue-router";
const router = useRouter();
const initRouter = async () => {const result = await login();console.log(result, "result");result.route.forEach((v: any) => {router.addRoute({path: v.path,name: v.name,component: () => import(`../views/${v.component}`),});});router.push("/about");
};
</script><style></style>
api:login
import axios from "axios";
import express, {Express,Router,Request,Response,NextFunction,
} from "express";const app: Express = express();app.all("*", (req: Request, res: Response, next: NextFunction) => {res.header("Access-Control-Allow-Origin", "*");next();
});const router: Router = express.Router();app.use("/api", router);router.get("/login", async (req: Request, res: Response) => {res.json({route: [{path: "/about",name: "about",component: "about.vue",},{path: "/news",name: "News",component: "news.vue",},],});
});router.get("/list", async (req: Request, res: Response) => {const result = await axios.get("https://c.m.163.com/ug/api/wuhan/app/data/list-total?t=341219827928");res.json({data: result.data.data,});
});app.listen(3333, () => {console.log("success server http:localhost:3333");
});