添加对food sort项目支持

main
Xiaohang 2025-10-18 15:56:20 +08:00
parent 49e7757202
commit 8bc64c9fe0
3 changed files with 32 additions and 2 deletions

View File

@ -44,6 +44,7 @@ class project(enum.Enum):
find_master = 'find_master'
find_it = 'find_it'
find_object = 'find_object'
food_sort = 'food_sort'
# endregion
@ -61,6 +62,8 @@ def get_firebase_instance(project_id) -> FirebaseHelper:
return firebase_helper.get_firebase_find_it()
elif project_id == project.find_object.value:
return firebase_helper.get_firebase_find_object()
elif project_id == project.food_sort.value:
return firebase_helper.get_firebase_food_sort()
else:
return None
# endregion
@ -89,5 +92,7 @@ def get_project_cdn(project_id):
return 'https://cdn3-find-it.fungame.cloud'
elif project_id == project.find_object.value:
return 'https://cdn3-find-object.fungame.cloud'
elif project_id == project.food_sort.value:
return 'https://cdn3-food-sort.fungame.cloud'
else:
return None

View File

@ -23,6 +23,7 @@ FindOut_GOOGLE_SERVER_FILE = os.path.join(curr_dir, "dof2-b9070.json")
FindMaster_GOOGLE_SERVER_FILE = os.path.join(curr_dir, "find-master-387702.json")
FindIt_GOOGLE_SERVER_FILE = os.path.join(curr_dir, "find-it-a08e5.json")
FindObject_GOOGLE_SERVER_FILE = os.path.join(curr_dir, "find-object-a08e5-f833603c7dd7.json")
FoodSort_GOOGLE_SERVER_FILE = os.path.join(curr_dir, "food-sort-387702-712f402473f6.json")
DOF_PROJECT_ID = "find-differences-65e47"
D2_PROJECT_ID = "dof2-b9070"
@ -30,6 +31,7 @@ FindOut_PROJECT_ID = "dof2-b9070"
FindMaster_PROJECT_ID = "find-master-88ffb"
FindIt_PROJECT_ID = "find-it-a08e5"
FindObject_PROJECT_ID = "find-object-45a0d"
FoodSort_PROJECT_ID = "food-sort-1703a"
BASE_URL = "https://firebaseremoteconfig.googleapis.com"
@ -56,6 +58,7 @@ class FirebaseHelperInstance(Singleton):
self.firebase_find_master = None
self.firebase_find_it = None
self.firebase_find_object = None
self.firebase_food_sort = None
def get_firebase_dof(self):
if self.firebase_dof is None:
@ -85,7 +88,10 @@ class FirebaseHelperInstance(Singleton):
if self.firebase_find_object is None:
self.firebase_find_object = FirebaseHelper(FindObject_PROJECT_ID, FindObject_GOOGLE_SERVER_FILE)
return self.firebase_find_object
def get_firebase_food_sort(self):
if self.firebase_food_sort is None:
self.firebase_food_sort = FirebaseHelper(FindObject_PROJECT_ID, FindObject_GOOGLE_SERVER_FILE)
return self.firebase_food_sort
class FirebaseHelper:
def __init__(self, project_id, google_service_file):
@ -105,6 +111,8 @@ class FirebaseHelper:
def init_firebase(self, project_id):
storage_bucket = "gs://" + project_id + ".appspot.com"
if project_id == FoodSort_PROJECT_ID:
storage_bucket = "gs://" + project_id + ".firebasestorage.app"
databaseURL = "https://" + project_id + ".firebaseio.com/"
cred = credentials.Certificate(self.GOOGLE_SERVER_FILE)
self.firebase_app = firebase_admin.initialize_app(cred, {
@ -116,7 +124,11 @@ class FirebaseHelper:
print("初始 firebase 成功")
def init_storage(self, project_id):
bucket = project_id + ".appspot.com"
bucket = ''
if project_id == FoodSort_PROJECT_ID:
bucket = project_id + ".firebasestorage.app"
else:
bucket = project_id + ".appspot.com"
if self.firebase_app:
self.storage_instance = storage.bucket(name=bucket, app=self.firebase_app)
print("初始 storage 成功")

View File

@ -0,0 +1,13 @@
{
"type": "service_account",
"project_id": "infra-387702",
"private_key_id": "712f402473f6cba20985e7f14427759d00476326",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDCNJUOoZM5MDIA\n/yeyEiuHmkX4FEg/RTXIkyJrfVSdnlFYXpIzizyL6lMCjRcFpP3P9t62kvD8pkhI\nK9KJdLYOt5+gXaX+hwbytbNU22ZifRyB59DiZCncTKaRP5uFbPgXpbmZjFG3kohm\nu3KTADQs+sSktAsVy2nnha0xP40dgtCqGRuIXr2cxTwyLQ4OfebPuVM1uz8Hp3nv\nBwSwjzXye5jyGS8UgsUjv+RuHA4q1NZ8xgmtz5d3NEaO1eyNpvrB+DABcCjAX7B/\n0db/kYqlPGKpq3tIKTvhY9dz/oDdSvAOMgT5ZBbuhTNYD+1qbpHvnQ3AbS6e1BRL\nj51kg6RfAgMBAAECggEAHTWNabrxirtt+epmjQjglS+l8G8UgrelJDrFBYe/L0m9\nkF4A/VGm1KB0xcB0wvuS1TGbQ7iMGGPmITy+GMB+FW6WyqbrLYIfkGe1xkCNgKiy\nnfNA3pwUE7dPoi7/9Cx0kBHz/V02eTbH3zO4QtXYAx/gbalKtYd3sUPQzcRyNArS\niJJhRrLek+3nQp7EIVhoFsjOYKs9tZty4IUShS02FvyarAWCCKcwmtmpCE8bTMK5\nvpARh7r8q9HffhUos/n7oZLQbpDVb5jmWevJPQSRYBmNFCK8bsipJIE70CxPAuTy\nAFqAOq7GgYWf4XOLaWH6eIEA2Lx7FVmVx77yy1K3YQKBgQDyz0Yo+03Jh4n29Rkq\n+yQIvM0tBBajHp7bW9PsAuKedJ2DK48meaqJihX5B48VUQW2yhaddJbsgQ3wQDSd\nsQEw4nw8nIz9AedcsgkJsB837lxDeVXd+WOOUPXJHfEprnIzJ4/pKCjCu9Ecno4r\ne6xVogOHFEzcDFwENvo20flf0QKBgQDMwV/R+xptAs4o4+Qod99Su4FnDuCRMCOk\noIzaPJoKkNWnOZ0fA5TbOCkGzRurRxiVcd2STYR+bPRpeaXVKAz7q/IEPVoeq1IF\nWVM5sazng1mjKFcN2q15fLvbp8fqC8KqOD+O3aVdfPPJQABsb8zp4iTNMQNry3V2\nWN6S81J9LwKBgF2OiBYaXqqcUwiZAA2TnxrOxK/nt2E61zLmew2hPviXLmnwSsQk\ndRVx422FABjSk0UPMQ+ScOTIBTrhQmTQYwkW+4/PMnP6W89XuivFdQH0EhDdm7xf\n74BSqaHIq7fHw7D6OXU5SBtgiv5gCZ+vk4ObXYiaxdKz4HCvTlH5LgFBAoGAH+Oy\nJ8MC/51jPG0Z2M+qoXkAk2t2wEYOFxLGPSsZFrIuBGhttynYojfh8+Q3/foJsyTT\nzHh0PTh87Hx8vnEJbJ0ACXcAtSwbjye1VZP9iOUlLcsXm9nGENjDbVd5RFNmkxpF\nk9ujaKcQVPS53CmhcX++GZMbpEtA1RjMOXjaDRMCgYEAwoR2VXzC5nmi7jImuIXj\nSoB9z3fotkROgMoBRRrPiN6UIyfMm9xAUJCTInmVdmpnIJFbKir4Iv3nuu3gUzfs\nuYxG6GtESfGEtvCSLx8HO/BH9zSqeXLxLLXXmTgIRr8MGYex3kCbIjGhn+n7HPSr\nURTUl0awSpo8dkHE+8ZVbDs=\n-----END PRIVATE KEY-----\n",
"client_email": "food-sort-remoteconfig@infra-387702.iam.gserviceaccount.com",
"client_id": "111617096795205926162",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/food-sort-remoteconfig%40infra-387702.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}