Commit da0d79e4 authored by Chunchi Che's avatar Chunchi Che

fix upload API

parent 886577a8
Pipeline #27787 passed with stages
in 7 minutes and 18 seconds
import { useConfig } from "@/config"; import { useConfig } from "@/config";
import { MdproResp } from "./schema";
import { handleHttps, mdproHeaders } from "./util"; import { handleHttps, mdproHeaders } from "./util";
const { mdproServer } = useConfig(); const { mdproServer } = useConfig();
const API_PATH = "/api/mdpro3/deck/deckId"; const API_PATH = "/api/mdpro3/deck/deckId";
export async function generateDeck(): Promise<string | undefined> { export async function generateDeck(): Promise<MdproResp<string> | undefined> {
const myHeaders = mdproHeaders(); const myHeaders = mdproHeaders();
const resp = await fetch(`${mdproServer}/${API_PATH}`, { const resp = await fetch(`${mdproServer}/${API_PATH}`, {
......
...@@ -17,8 +17,13 @@ export interface UploadReq { ...@@ -17,8 +17,13 @@ export interface UploadReq {
export async function uploadDeck( export async function uploadDeck(
req: UploadReq, req: UploadReq,
): Promise<MdproResp<void> | undefined> { ): Promise<MdproResp<void> | undefined> {
const deckId = await generateDeck(); const generateResp = await generateDeck();
if (deckId === undefined) return undefined; if (generateResp === undefined) return undefined;
if (generateResp.code !== 0 || generateResp.data === undefined)
return { code: generateResp.code, message: generateResp.message };
const deckId = generateResp.data;
const syncRes = await syncDeck({ const syncRes = await syncDeck({
userId: req.userId, userId: req.userId,
...@@ -40,7 +45,7 @@ export async function uploadDeck( ...@@ -40,7 +45,7 @@ export async function uploadDeck(
return await updatePublic({ return await updatePublic({
userId: req.userId, userId: req.userId,
token: req.token, token: req.token,
deckId: deckId, deckId,
isPublic: true, isPublic: true,
}); });
} else { } else {
......
...@@ -82,6 +82,8 @@ export const handleSSOLogin = async (search: string) => { ...@@ -82,6 +82,8 @@ export const handleSSOLogin = async (search: string) => {
const sso = new URLSearchParams(search).get("sso"); const sso = new URLSearchParams(search).get("sso");
const user = sso ? getSSOUser(new URLSearchParams(atob(sso))) : undefined; const user = sso ? getSSOUser(new URLSearchParams(atob(sso))) : undefined;
if (user) { if (user) {
// Convert userID to [`Number`] here
user.id = Number(user.id);
accountStore.login(user); accountStore.login(user);
setCookie(CookieKeys.USER, JSON.stringify(user)); setCookie(CookieKeys.USER, JSON.stringify(user));
// TODO: toast显示登录成功 // TODO: toast显示登录成功
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment