🎉 init: 小龙的工作空间

This commit is contained in:
大海
2026-06-06 10:40:48 +08:00
commit a188ee1426
3201 changed files with 231817 additions and 0 deletions
@@ -0,0 +1,47 @@
// Auto-generated API client for MealPrep
const API_BASE = process.env.NEXT_PUBLIC_API_URL || "http://localhost:3001/api";
interface RequestOptions extends RequestInit {
params?: Record<string, string | number>;
}
async function request<T>(endpoint: string, options: RequestOptions = {}): Promise<T> {
const { params, ...init } = options;
let url = `${API_BASE}${endpoint}`;
if (params) {
const searchParams = new URLSearchParams();
Object.entries(params).forEach(([k, v]) => searchParams.set(k, String(v)));
url += `?${searchParams.toString()}`;
}
const res = await fetch(url, {
...init,
headers: {
"Content-Type": "application/json",
...init.headers,
},
});
if (!res.ok) {
const err = await res.json().catch(() => ({ message: res.statusText }));
throw new Error(err.message || `API Error: ${res.status}`);
}
return res.json();
}
export const api = {
get: <T>(url: string, params?: Record<string, string | number>) =>
request<T>(url, { method: "GET", params }),
post: <T>(url: string, data?: unknown) =>
request<T>(url, { method: "POST", body: JSON.stringify(data) }),
put: <T>(url: string, data?: unknown) =>
request<T>(url, { method: "PUT", body: JSON.stringify(data) }),
delete: <T>(url: string) =>
request<T>(url, { method: "DELETE" }),
};
@@ -0,0 +1,10 @@
// Auto-generated auth service
import { api } from "./api";
export function postlogin(data: Record<string, unknown>) {
return api.post("/api/auth", data);
}
export function getme() {
return api.get("/api/auth");
}
@@ -0,0 +1,10 @@
// Auto-generated 客户管理 service
import { api } from "./api";
export function get() {
return api.get("/api/客户管理");
}
export function post(data: Record<string, unknown>) {
return api.post("/api/客户管理", data);
}
@@ -0,0 +1,10 @@
// Auto-generated 营养计算 service
import { api } from "./api";
export function get() {
return api.get("/api/营养计算");
}
export function post(data: Record<string, unknown>) {
return api.post("/api/营养计算", data);
}
@@ -0,0 +1,10 @@
// Auto-generated 食物库 service
import { api } from "./api";
export function get() {
return api.get("/api/食物库");
}
export function post(data: Record<string, unknown>) {
return api.post("/api/食物库", data);
}
@@ -0,0 +1,10 @@
// Auto-generated 餐计划 service
import { api } from "./api";
export function get() {
return api.get("/api/餐计划");
}
export function post(data: Record<string, unknown>) {
return api.post("/api/餐计划", data);
}