init test

This commit is contained in:
2026-01-24 00:43:25 +08:00
parent 51aed643a0
commit 5657bffd39
22 changed files with 1182 additions and 18 deletions

35
html/src/b.ts Normal file
View File

@@ -0,0 +1,35 @@
// const jwtToken = "...";
console.log("jose loaded:", Math.floor(Date.now() / 1000) + 3600);
import { api } from "../../convex/_generated/api.js";
import { ConvexClient, AuthTokenFetcher } from "convex/browser";
const CONVEX_URL = "https://convex.kevisual.cn";
const client = new ConvexClient(CONVEX_URL, {
});
// 生成 RS256 JWT
const jwtToken = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InRlc3Qta2V5LTEifQ.eyJpc3MiOiJodHRwczovL2NvbnZleC5rZXZpc3VhbC5jbiIsInN1YiI6InVzZXI6OGZhMmJlNzNjMjIyOWU4NSIsImF1ZCI6InRlc3QtY29udmV4LWFwcCIsImV4cCI6MTc2OTE4MDE1MSwibmFtZSI6IlRlc3QgVXNlciIsImVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSJ9.Kqkzs9qvisOjo4QGvUgc1J9m0MFO2H2KKnghx00LMsBoMciOGggGYwnn1tuhHwNmxUBhUHl9M2nmA8L2ict24mV28iKaFbbDEVTMAFkNsHHrkEO1VCtBypwMfC8xwmWMfAb_lrz0u5DXv19xhAA6LZN55DGrP3SibWyrNejhd3o64VGr9NEP-Ko8c8fZZdtM6dMW8HN2jKC2RaO3wpD8DUfZA1UQrKeWRBoQ1g5zPA4zwfIREoVx7Iudnb-wVqXojj5BIfnS2mWB76Ukyb_OkpJDn2Oh-wBFqj8YRpUpH_-oh_rsS2gpO5aHzwmVEQ4JRG1YASlV5jKlPiwDz7xHFQ"
const main = async () => {
const res = await fetch("https://api-convex.kevisual.cn/abcv/get", {
headers: {
Authorization: `Bearer ${jwtToken}`,
},
}).then((r) => r.text());
console.log("Fetch response:", res);
}
// main();
const main2 = async () => {
client.setAuth(async ({ forceRefreshToken }: { forceRefreshToken: boolean }) => {
console.log("AuthTokenFetcher called, forceRefreshToken:", forceRefreshToken);
return jwtToken;
}, async (isAuthenticated) => {
console.log("Auth state isAuthenticated", isAuthenticated);
if (isAuthenticated) {
const list = await client.query(api.abcv.get, {});
console.log("Initial list:", list);
}
const isAuth = client.client.hasAuth();
console.log("Has auth:", isAuth);
});
}
main2();

24
html/src/index.ts Normal file
View File

@@ -0,0 +1,24 @@
import { ConvexClient, AuthTokenFetcher } from "convex/browser";
import { api } from "../../convex/_generated/api.js";
const CONVEX_URL = "https://convex.kevisual.cn";
const client = new ConvexClient(CONVEX_URL, {
unsavedChangesWarning: true,
});
client.setAuth(async ({ forceRefreshToken }: { forceRefreshToken: boolean }) => {
console.log("AuthTokenFetcher called, forceRefreshToken:", forceRefreshToken);
return null;
}, (isAuthenticated) => {
console.log("Auth state isAuthenticated", isAuthenticated);
});
client.onUpdate(api.abcv.get, {}, (tasks) =>
console.log('api.abcv.get', tasks),
);
const list = await client.query(api.abcv.get, {});
console.log("Initial list:", list);
// const list = await client.action(api.abcv.chat, { message: "Hello, 1+1=?" });
// console.log("Chat response:", list);