학교별 배포를 위해 서버주소/학교이름을 빌드타임 설정으로 전환

- config.dart의 baseUrl/webVapidKey와 학교 이름을 String.fromEnvironment로 전환
- 기본값은 기존 백산고 값 그대로라 인자 없이 빌드하면 지금과 동일하게 동작
- 다른 학교는 --dart-define=BASE_URL=...=SCHOOL_NAME=...=WEB_VAPID_KEY=...로 빌드
This commit is contained in:
2026-08-06 14:36:10 +09:00
parent 26d143d713
commit f9fa05f817
3 changed files with 24 additions and 8 deletions
+19 -4
View File
@@ -5,13 +5,28 @@ import 'package:device_info_plus/device_info_plus.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/foundation.dart' show kIsWeb;
// 🌐 기존에 사용하시던 실제 백엔드 서버 도메인 주소로 통일합니다.
const String baseUrl = 'https://backsanhi.mcv.kr';
// 🌐 학교마다 다른 값들. 빌드할 때 --dart-define으로 안 넘기면 지금 쓰는
// 백산고 값이 그대로 기본값이 된다 (기존 빌드 명령이 안 깨지게 하기 위함).
// 예: flutter build web --dart-define=BASE_URL=https://다른학교도메인.com
const String baseUrl = String.fromEnvironment(
'BASE_URL',
defaultValue: 'https://backsanhi.mcv.kr',
);
// 🔑 웹에서 FCM 토큰을 받으려면 필요한 VAPID 키
// (Firebase Console > 프로젝트 설정 > Cloud Messaging > 웹 구성 > 웹 푸시 인증서에서 발급)
const String webVapidKey =
'BG4LnirukBdW3cXVWxhvY9pcjevBKDhpsaq1SLZdBs2cOEiwLAFyuuZLkMqpEGp9uOuHdPOe_y3FdwdZaz3qdfk';
// 학교마다 Firebase 프로젝트가 다르므로 VAPID 키도 학교별로 --dart-define=WEB_VAPID_KEY=...로 지정.
const String webVapidKey = String.fromEnvironment(
'WEB_VAPID_KEY',
defaultValue:
'BG4LnirukBdW3cXVWxhvY9pcjevBKDhpsaq1SLZdBs2cOEiwLAFyuuZLkMqpEGp9uOuHdPOe_y3FdwdZaz3qdfk',
);
// 🏫 앱/로그인 화면에 표시할 학교 이름. --dart-define=SCHOOL_NAME=...으로 학교별 지정.
const String schoolName = String.fromEnvironment(
'SCHOOL_NAME',
defaultValue: '백산고등학교',
);
// 권한 요청 및 FCM 토큰을 가져와서 콘솔에 출력하는 함수
Future<void> printFCMToken() async {