title: auto

des: auto
note:auto
This commit is contained in:
2023-10-03 10:22:31 +08:00
parent 64a3ce9a25
commit ab1bb590bf
3 changed files with 43 additions and 13 deletions

View File

@@ -1,12 +1,18 @@
import { getConfig } from '@/bin/config';
import { unsealData } from 'iron-session';
import { getConfig } from "@/bin/config";
import { unsealData } from "iron-session";
import { cookies } from "next/headers";
import { NextResponse } from "next/server";
import yaml from "yaml";
import fs from "fs";
import path from 'path'
const config = yaml.parse(
fs.readFileSync("config.yaml").toString()
);
export async function GET() {
const c = cookies().get("ssn");
const data = JSON.parse(
await unsealData(c?.value as string, {password: ((await getConfig()).server.password)})
)
return NextResponse.json(data);
await unsealData(c?.value as string, { password: config.server.password })
);
return NextResponse.json({});
}

View File

@@ -0,0 +1,16 @@
"use server";
import prisma from "@/app/lib/prisma";
import { getConfig } from "@/bin/config";
import { unsealData } from "iron-session";
import { cookies } from "next/headers";
export async function getToken() {
const c = cookies().get("ssn");
const token = await unsealData(c?.value as string, {
password: (await getConfig()).server.password,
});
return token
}

View File

@@ -5,24 +5,32 @@ import { Logout } from "../auth";
import { useState } from "react";
import { ApiHipmi } from "@/app/lib/api";
import { useShallowEffect } from "@mantine/hooks";
import { getToken } from "./fun/get-token";
export default function HomeView() {
const [token, setToken] = useState<any | null>(null);
// useShallowEffect(() => {
// userToken();
// }, []);
// async function userToken() {
// await fetch(ApiHipmi.get_token)
// .then((res) => res.json())
// .then((val) => setToken(val));
// }
useShallowEffect(() => {
userToken();
getUserId();
}, []);
async function userToken() {
await fetch(ApiHipmi.get_token)
.then((res) => res.json())
.then((val) => setToken(val));
async function getUserId() {
const data = await getToken();
setToken(data);
}
return (
<>
{/* <pre>{JSON.stringify(token, null, 2)}</pre> */}
<pre>{JSON.stringify(token, null, 2)}</pre>
<Title>Home</Title>
<Text>Welcome, {token?.username}</Text>
<Logout />