Compare commits
2 Commits
02f3cd9bd1
...
eb83e221e4
Author | SHA1 | Date | |
---|---|---|---|
eb83e221e4 | |||
e0cdf51507 |
@ -1,4 +1,7 @@
|
|||||||
|
export const BASE_API_URL = 'http://localhost:8080/';
|
||||||
|
|
||||||
export async function fetcher(url: string) {
|
export async function fetcher(url: string) {
|
||||||
const res = await fetch(url);
|
const u = new URL(url, BASE_API_URL);
|
||||||
|
const res = await fetch(u);
|
||||||
return res.json();
|
return res.json();
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { atom, useAtomValue, setAtomValue } from "../lib/atom.ts";
|
import { atom, useAtomValue, setAtomValue } from "../lib/atom.ts";
|
||||||
|
import { BASE_API_URL } from "../hook/fetcher.ts";
|
||||||
|
|
||||||
type LoginLocalStorage = {
|
type LoginLocalStorage = {
|
||||||
username: string;
|
username: string;
|
||||||
@ -22,8 +23,9 @@ function getUserSessions() {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function refresh() {
|
export async function refresh() {
|
||||||
const res = await fetch("/user/refresh", {
|
const u = new URL("/user/refresh", BASE_API_URL);
|
||||||
|
const res = await fetch(u, {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
});
|
});
|
||||||
if (res.status !== 200) throw new Error("Maybe Network Error");
|
if (res.status !== 200) throw new Error("Maybe Network Error");
|
||||||
@ -47,7 +49,8 @@ async function refresh() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const doLogout = async () => {
|
export const doLogout = async () => {
|
||||||
const req = await fetch("/api/user/logout", {
|
const u = new URL("/user/refresh", BASE_API_URL);
|
||||||
|
const req = await fetch(u, {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
});
|
});
|
||||||
const setVal = setAtomValue(userLoginStateAtom);
|
const setVal = setAtomValue(userLoginStateAtom);
|
||||||
@ -76,7 +79,8 @@ export const doLogin = async (userLoginInfo: {
|
|||||||
username: string;
|
username: string;
|
||||||
password: string;
|
password: string;
|
||||||
}): Promise<string | LoginLocalStorage> => {
|
}): Promise<string | LoginLocalStorage> => {
|
||||||
const res = await fetch("/api/user/login", {
|
const u = new URL("/user/refresh", BASE_API_URL);
|
||||||
|
const res = await fetch(u, {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
body: JSON.stringify(userLoginInfo),
|
body: JSON.stringify(userLoginInfo),
|
||||||
headers: { "content-type": "application/json" },
|
headers: { "content-type": "application/json" },
|
||||||
|
@ -103,7 +103,6 @@ async function renderZipImage(ctx: Context, path: string, page: number) {
|
|||||||
|
|
||||||
ctx.body = nodeReadableStream;
|
ctx.body = nodeReadableStream;
|
||||||
ctx.response.length = entry.uncompressedSize;
|
ctx.response.length = entry.uncompressedSize;
|
||||||
// console.log(`${entry.name}'s ${page}:${entry.size}`);
|
|
||||||
ctx.response.type = entry.filename.split(".").pop() as string;
|
ctx.response.type = entry.filename.split(".").pop() as string;
|
||||||
ctx.status = 200;
|
ctx.status = 200;
|
||||||
ctx.set("Date", new Date().toUTCString());
|
ctx.set("Date", new Date().toUTCString());
|
||||||
|
@ -24,7 +24,6 @@ const ContentIDHandler = (controller: DocumentAccessor) => async (ctx: Context,
|
|||||||
}
|
}
|
||||||
ctx.body = document;
|
ctx.body = document;
|
||||||
ctx.type = "json";
|
ctx.type = "json";
|
||||||
console.log(document.additional);
|
|
||||||
};
|
};
|
||||||
const ContentTagIDHandler = (controller: DocumentAccessor) => async (ctx: Context, next: Next) => {
|
const ContentTagIDHandler = (controller: DocumentAccessor) => async (ctx: Context, next: Next) => {
|
||||||
const num = Number.parseInt(ctx.params.num);
|
const num = Number.parseInt(ctx.params.num);
|
||||||
|
@ -98,12 +98,14 @@ class ServerApplication {
|
|||||||
if (setting.mode === "development") {
|
if (setting.mode === "development") {
|
||||||
let mm_count = 0;
|
let mm_count = 0;
|
||||||
app.use(async (ctx, next) => {
|
app.use(async (ctx, next) => {
|
||||||
console.log(`==========================${mm_count++}`);
|
console.log(`=== Request No ${mm_count++} \t===`);
|
||||||
const ip = ctx.get("X-Real-IP") ?? ctx.ip;
|
const ip = ctx.get("X-Real-IP").length > 0 ? ctx.get("X-Real-IP") : ctx.ip;
|
||||||
const fromClient = ctx.state.user.username === "" ? ip : ctx.state.user.username;
|
const fromClient = ctx.state.user.username === "" ? ip : ctx.state.user.username;
|
||||||
console.log(`${fromClient} : ${ctx.method} ${ctx.url}`);
|
console.log(`${mm_count} ${fromClient} : ${ctx.method} ${ctx.url}`);
|
||||||
|
const start = Date.now();
|
||||||
await next();
|
await next();
|
||||||
// console.log(`404`);
|
const end = Date.now();
|
||||||
|
console.log(`${mm_count} ${fromClient} : ${ctx.method} ${ctx.url} ${ctx.status} ${end - start}ms`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
app.use(router.routes());
|
app.use(router.routes());
|
||||||
|
@ -39,9 +39,7 @@ export async function readZip(path: string): Promise<{
|
|||||||
return { reader, handle: fd };
|
return { reader, handle: fd };
|
||||||
}
|
}
|
||||||
export async function entriesByNaturalOrder(zip: ZipReader<FileHandle>) {
|
export async function entriesByNaturalOrder(zip: ZipReader<FileHandle>) {
|
||||||
// console.log(zip);
|
|
||||||
const entries = await zip.getEntries();
|
const entries = await zip.getEntries();
|
||||||
// console.log(entries.map((v) => v.filename));
|
|
||||||
const ret = orderBy(entries, (v) => v.filename);
|
const ret = orderBy(entries, (v) => v.filename);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user