init test
This commit is contained in:
35
html/src/b.ts
Normal file
35
html/src/b.ts
Normal 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
24
html/src/index.ts
Normal 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);
|
||||
Reference in New Issue
Block a user