|  |  |  | from contextlib import asynccontextmanager | 
					
						
							|  |  |  | from fastapi import FastAPI | 
					
						
							|  |  |  | from config.env import AppConfig | 
					
						
							|  |  |  | from config.get_db import init_create_table | 
					
						
							|  |  |  | from config.get_redis import RedisUtil | 
					
						
							|  |  |  | from config.get_scheduler import SchedulerUtil | 
					
						
							|  |  |  | from exceptions.handle import handle_exception | 
					
						
							|  |  |  | from middlewares.handle import handle_middleware | 
					
						
							|  |  |  | from module_admin.controller.cache_controller import cacheController | 
					
						
							|  |  |  | from module_admin.controller.captcha_controller import captchaController | 
					
						
							|  |  |  | from module_admin.controller.common_controller import commonController | 
					
						
							|  |  |  | from module_admin.controller.config_controller import configController | 
					
						
							|  |  |  | from module_admin.controller.dept_controller import deptController | 
					
						
							|  |  |  | from module_admin.controller.dict_controller import dictController | 
					
						
							|  |  |  | from module_admin.controller.log_controller import logController | 
					
						
							|  |  |  | from module_admin.controller.login_controller import loginController | 
					
						
							|  |  |  | from module_admin.controller.job_controller import jobController | 
					
						
							|  |  |  | from module_admin.controller.menu_controller import menuController | 
					
						
							|  |  |  | from module_admin.controller.notice_controller import noticeController | 
					
						
							|  |  |  | from module_admin.controller.online_controller import onlineController | 
					
						
							|  |  |  | from module_admin.controller.post_controler import postController | 
					
						
							|  |  |  | from module_admin.controller.role_controller import roleController | 
					
						
							|  |  |  | from module_admin.controller.server_controller import serverController | 
					
						
							|  |  |  | from module_admin.controller.user_controller import userController | 
					
						
							|  |  |  | from module_admin.controller.aichat_controller import aichatController | 
					
						
							|  |  |  | from module_admin.controller.metatask_controller import metataskController | 
					
						
							|  |  |  | from module_admin.controller.meta_controller import metaController | 
					
						
							|  |  |  | from module_admin.controller.metasecurity_controller import metaSecurityController | 
					
						
							|  |  |  | from module_admin.controller.datastd_controller import datastdController | 
					
						
							|  |  |  | from module_admin.controller.approval_controller import approvalController | 
					
						
							|  |  |  | from module_admin.controller.data_ast_content_controller import dataCatalogController | 
					
						
							|  |  |  | from module_admin.controller.tsmcb_controller import tsmcbController | 
					
						
							|  |  |  | from module_admin.controller.fccbd_controller import fccbdController | 
					
						
							|  |  |  | from module_admin.controller.cdplb_controller import cdplbController | 
					
						
							|  |  |  | from module_admin.controller.sscf_controller import sscfController | 
					
						
							|  |  |  | from module_admin.controller.vecset_controller import vecsetController | 
					
						
							|  |  |  | from module_admin.controller.data_asset_controller import dataAssetController | 
					
						
							|  |  |  | from module_admin.controller.metadata_config_controller import metadataConfigController | 
					
						
							|  |  |  | from sub_applications.handle import handle_sub_applications | 
					
						
							|  |  |  | from utils.common_util import worship | 
					
						
							|  |  |  | from utils.log_util import logger | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # 生命周期事件 | 
					
						
							|  |  |  | @asynccontextmanager | 
					
						
							|  |  |  | async def lifespan(app: FastAPI): | 
					
						
							|  |  |  |     logger.info(f'{AppConfig.app_name}开始启动') | 
					
						
							|  |  |  |     worship() | 
					
						
							|  |  |  |     await init_create_table() | 
					
						
							|  |  |  |     app.state.redis = await RedisUtil.create_redis_pool() | 
					
						
							|  |  |  |     await RedisUtil.init_sys_dict(app.state.redis) | 
					
						
							|  |  |  |     await RedisUtil.init_sys_config(app.state.redis) | 
					
						
							|  |  |  |     await SchedulerUtil.init_system_scheduler() | 
					
						
							|  |  |  |     logger.info(f'{AppConfig.app_name}启动成功') | 
					
						
							|  |  |  |     yield | 
					
						
							|  |  |  |     await RedisUtil.close_redis_pool(app) | 
					
						
							|  |  |  |     await SchedulerUtil.close_system_scheduler() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # 初始化FastAPI对象 | 
					
						
							|  |  |  | app = FastAPI( | 
					
						
							|  |  |  |     title=AppConfig.app_name, | 
					
						
							|  |  |  |     description=f'{AppConfig.app_name}接口文档', | 
					
						
							|  |  |  |     version=AppConfig.app_version, | 
					
						
							|  |  |  |     lifespan=lifespan, | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # 挂载子应用 | 
					
						
							|  |  |  | handle_sub_applications(app) | 
					
						
							|  |  |  | # 加载中间件处理方法 | 
					
						
							|  |  |  | handle_middleware(app) | 
					
						
							|  |  |  | # 加载全局异常处理方法 | 
					
						
							|  |  |  | handle_exception(app) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # 加载路由列表 | 
					
						
							|  |  |  | controller_list = [ | 
					
						
							|  |  |  |     {'router': loginController, 'tags': ['登录模块']}, | 
					
						
							|  |  |  |     {'router': captchaController, 'tags': ['验证码模块']}, | 
					
						
							|  |  |  |     {'router': userController, 'tags': ['系统管理-用户管理']}, | 
					
						
							|  |  |  |     {'router': roleController, 'tags': ['系统管理-角色管理']}, | 
					
						
							|  |  |  |     {'router': menuController, 'tags': ['系统管理-菜单管理']}, | 
					
						
							|  |  |  |     {'router': deptController, 'tags': ['系统管理-部门管理']}, | 
					
						
							|  |  |  |     {'router': postController, 'tags': ['系统管理-岗位管理']}, | 
					
						
							|  |  |  |     {'router': dictController, 'tags': ['系统管理-字典管理']}, | 
					
						
							|  |  |  |     {'router': configController, 'tags': ['系统管理-参数管理']}, | 
					
						
							|  |  |  |     {'router': noticeController, 'tags': ['系统管理-通知公告管理']}, | 
					
						
							|  |  |  |     {'router': logController, 'tags': ['系统管理-日志管理']}, | 
					
						
							|  |  |  |     {'router': onlineController, 'tags': ['系统监控-在线用户']}, | 
					
						
							|  |  |  |     {'router': jobController, 'tags': ['系统监控-定时任务']}, | 
					
						
							|  |  |  |     {'router': serverController, 'tags': ['系统监控-菜单管理']}, | 
					
						
							|  |  |  |     {'router': cacheController, 'tags': ['系统监控-缓存监控']}, | 
					
						
							|  |  |  |     {'router': commonController, 'tags': ['通用模块']}, | 
					
						
							|  |  |  |     {'router': metataskController, 'tags': ['元数据管理-元数据任务模块']}, | 
					
						
							|  |  |  |     {'router': metaSecurityController, 'tags': ['元数据管理-数据安全']}, | 
					
						
							|  |  |  |     {'router': aichatController, 'tags': ['智能问答模块']}, | 
					
						
							|  |  |  |     {'router': metaController, 'tags': ['元数据信息模块']}, | 
					
						
							|  |  |  |     {'router': approvalController, 'tags': ['审批模块']}, | 
					
						
							|  |  |  |     {'router': datastdController, 'tags': ['数据标准模块']}, | 
					
						
							|  |  |  |     {'router': dataCatalogController, 'tags': ['系统管理-数据目录管理']}, | 
					
						
							|  |  |  |     {'router': tsmcbController, 'tags': ['智能数据-特殊名词补充']}, | 
					
						
							|  |  |  |     {'router': fccbdController, 'tags': ['智能数据-分词词典补充']}, | 
					
						
							|  |  |  |     {'router': cdplbController, 'tags': ['智能数据-词典批量补充']}, | 
					
						
							|  |  |  |     {'router': sscfController, 'tags': ['智能数据-短句配置']}, | 
					
						
							|  |  |  |     {'router': vecsetController, 'tags': ['智能数据-全句配置']}, | 
					
						
							|  |  |  |     {'router': dataAssetController, 'tags': ['系统管理-数据资产详情']}, | 
					
						
							|  |  |  |     {'router': metadataConfigController, 'tags': ['元数据管理-元数据配置管理']}, | 
					
						
							|  |  |  | ] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | for controller in controller_list: | 
					
						
							|  |  |  |     app.include_router(router=controller.get('router'), tags=controller.get('tags')) |