UNPKG

pocketbase-tools

Version:

A TypeScript toolkit for PocketBase, featuring a standard service/action/types layered structure. It provides interfaces and implementations for common business logic such as users, products, company profiles, and file utilities, making it suitable for se

40 lines (39 loc) 1.16 kB
import { logger } from "./logger"; export class ErrorHandler { handle(error) { const apiError = this.parseError(error); logger.error(apiError.message, apiError); } parseError(error) { if (error.response) { return { code: error.response.code || "UNKNOWN_ERROR", message: error.response.message || "未知错误", details: error.response.data, }; } return { code: "UNKNOWN_ERROR", message: error.message || "发生未知错误", details: error, }; } } /** * 封装错误处理逻辑 * @param action 当前执行的动作描述,用于日志输出 * @param callback 要执行的操作 * @returns 成功返回结果,失败返回 null */ export const withErrorHandling = async (action, callback) => { try { const result = await callback(); logger.success(action, result); return result; } catch (error) { const message = error.response?.data?.message || error.message; logger.error(action, message); return null; } };