날짜 형식 처리 안정성 강화 및 트랜잭션 삭제 시 앱 먹통 문제 해결

This commit is contained in:
hansoo
2025-03-18 01:07:17 +09:00
parent 6f91afeebe
commit acb9ae3d70
23 changed files with 732 additions and 18 deletions

View File

@@ -0,0 +1,43 @@
import { Capacitor, registerPlugin } from '@capacitor/core';
/**
* 네이티브 이미지 플러그인 인터페이스
*/
export interface ImagePluginInterface {
getResourceImage(options: { resourceName: string }): Promise<{ base64Image: string }>;
}
// 네이티브 플러그인을 사용할 수 없을 때 대체할 웹 구현
const ImagePluginWeb: ImagePluginInterface = {
async getResourceImage(options: { resourceName: string }): Promise<{ base64Image: string }> {
// 웹에서는 일반 경로 사용
return { base64Image: `/${options.resourceName}.png` };
},
};
// 네이티브 플러그인 등록
const ImagePlugin = registerPlugin<ImagePluginInterface>('ImagePlugin', {
web: ImagePluginWeb,
});
/**
* 이미지 리소스를 가져오는 함수
*
* @param resourceName 리소스 이름 (확장자 제외)
* @returns 플랫폼에 맞는 이미지 경로 또는 Base64 문자열
*/
export async function getResourceImage(resourceName: string): Promise<string> {
try {
if (Capacitor.isNativePlatform()) {
// 네이티브 환경에서는 플러그인 사용
const result = await ImagePlugin.getResourceImage({ resourceName });
return result.base64Image;
} else {
// 웹 환경에서는 일반 URL 반환
return `/${resourceName}.png`;
}
} catch (error) {
console.error('이미지 리소스 로드 오류:', error);
return `/${resourceName}.png`; // 오류 시 기본 경로 사용
}
}