32 lines
945 B
Dart
32 lines
945 B
Dart
import 'dart:convert';
|
|
import 'package:flutter/services.dart';
|
|
|
|
/// 서비스 데이터를 관리하는 저장소 클래스
|
|
class ServiceDataRepository {
|
|
Map<String, dynamic>? _servicesData;
|
|
bool _isInitialized = false;
|
|
|
|
/// JSON 데이터 초기화
|
|
Future<void> initialize() async {
|
|
if (_isInitialized) return;
|
|
|
|
try {
|
|
final jsonString =
|
|
await rootBundle.loadString('assets/data/subscription_services.json');
|
|
_servicesData = json.decode(jsonString);
|
|
_isInitialized = true;
|
|
print('ServiceDataRepository: JSON 데이터 로드 완료');
|
|
} catch (e) {
|
|
print('ServiceDataRepository: JSON 로드 실패 - $e');
|
|
// 로드 실패시 기존 하드코딩 데이터 사용
|
|
_isInitialized = true;
|
|
}
|
|
}
|
|
|
|
/// 서비스 데이터 가져오기
|
|
Map<String, dynamic>? getServicesData() => _servicesData;
|
|
|
|
/// 초기화 여부 확인
|
|
bool get isInitialized => _isInitialized;
|
|
}
|