
    Bգid                        d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d d	lmZmZmZmZ  e j        e j        
            e j        e          Z e            Zedefd            Z edde          Ze                    edgddgdg           e                    e           e                    e           e                    e           e                    e           e                    e           dede fd            Z!e"                    d edd          d           edk    r$d dl#Z# e#j$        dej%        ej&        d           dS dS )    N)asynccontextmanager)FastAPIRequest)CORSMiddleware)JSONResponse)StaticFiles)get_settings)init_db)auth_routerroom_routerchat_routergame_router)levelappc                   K   t                       d{V  t          dt          j         dt          j                    dW V  dS )u0   应用生命周期：启动时初始化数据库Nu   🚀 Server running at http://:)r
   printsettingsSERVER_HOSTSERVER_PORT)r   s    ./root/workspace/TheGreatWar/server/app/main.pylifespanr      sQ       ))OOOOOOO	
X8+?
X
X(BV
X
XYYY	EEEEEE    zThe Great War - Game Serverz0.1.0)titleversionr   *T)allow_originsallow_credentialsallow_methodsallow_headersrequestexcc                    K   t                               d| j         d| j         d| d           t	          dddt          |           d d	
          S )NzUnhandled error on  z: T)exc_infoi  i  u   服务器内部错误: )codemessagedata)status_codecontent)loggererrormethodurlr   str)r!   r"   s     r   global_exception_handlerr0   2   sq      
LLLw~LLLLsLLW[L\\\*NCHH*N*NX\]]   r   /static)	directoryhtml)name__main__zapp.main:app)hostportreload)'logging
contextlibr   fastapir   r   fastapi.middleware.corsr   fastapi.responsesr   fastapi.staticfilesr   
app.configr	   app.databaser
   
app.routesr   r   r   r   basicConfigINFO	getLogger__name__r+   r   r   r   add_middlewareinclude_routerexception_handler	Exceptionr0   mountuvicornrunr   r    r   r   <module>rO      su    * * * * * * $ $ $ $ $ $ $ $ 2 2 2 2 2 2 * * * * * * + + + + + + # # # # # #             I I I I I I I I I I I I  ', ' ' ' '		8	$	$<>> 
 
 
 
 
 g
'     %%%       ;      ;      ;      ;    y!!G )    "! 		#{{XD999	 I I I zNNNGK!!	      r   