代码拉取完成,页面将自动刷新
同步操作将从 飞牛/vue+ts+vite技术演示测试站 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
const express = require("express");
const { createServer: createViteServer } = require("vite");
var session = require("express-session");
// const jwt = require("jsonwebtoken");
// const secret = "pi-sso"
async function createServer() {
const app = express();
app.use(
session({
secret: "$pi-data",
name: "integration",
cookie: { maxAge: 60 * 60000 },
resave: false,
saveUninitialized: true,
})
);
app.get("/api/login", (req, res) => {
req.session.token = "123456789";
res.send({
code: 0,
msg: "登陆成功",
});
});
app.get("/api/logout", (req, res) => {
req.session.token = null;
res.send({
code: 0,
msg: "退出成功",
});
});
app.use(async (req, res, next) => {
if (req.query.token) {
req.session.token = req.query.token;
res.redirect(`http://${req.headers.host}${req.path}`);
return;
}
let token = req.session.token;
if (token) {
req.session.token = token;
req.headers.access_token = token;
req.headers.token = token;
next();
} else {
res.redirect(`/api/login`);
}
});
// 以中间件模式创建 Vite 应用,这将禁用 Vite 自身的 HTML 服务逻辑
// 并让上级服务器接管控制
//
// 如果你想使用 Vite 自己的 HTML 服务逻辑(将 Vite 作为
// 一个开发中间件来使用),那么这里请用 'html'
const vite = await createViteServer({
server: { middlewareMode: "html" },
});
// 使用 vite 的 Connect 实例作为中间件
app.use(vite.middlewares);
app.use("*", async (req, res) => {
// 服务 index.html - 下面我们来处理这个问题
});
app.listen(3002);
}
createServer();
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。