|
1 | | -from fastapi import FastAPI, Request |
2 | 1 | import uvicorn |
3 | | -from fastapi.exceptions import HTTPException |
4 | | -from fastapi.middleware.cors import CORSMiddleware |
5 | | -from module_admin.controller.login_controller import loginController |
6 | | -from module_admin.controller.captcha_controller import captchaController |
7 | | -from module_admin.controller.user_controller import userController |
8 | | -from module_admin.controller.menu_controller import menuController |
9 | | -from module_admin.controller.dept_controller import deptController |
10 | | -from module_admin.controller.role_controller import roleController |
11 | | -from module_admin.controller.post_controler import postController |
12 | | -from module_admin.controller.dict_controller import dictController |
13 | | -from module_admin.controller.config_controller import configController |
14 | | -from module_admin.controller.notice_controller import noticeController |
15 | | -from module_admin.controller.log_controller import logController |
16 | | -from module_admin.controller.online_controller import onlineController |
17 | | -from module_admin.controller.job_controller import jobController |
18 | | -from module_admin.controller.server_controller import serverController |
19 | | -from module_admin.controller.cache_controller import cacheController |
20 | | -from module_admin.controller.common_controller import commonController |
21 | | -from config.env import AppConfig |
22 | | -from config.get_redis import RedisUtil |
23 | | -from config.get_db import init_create_table |
24 | | -from config.get_scheduler import SchedulerUtil |
25 | | -from utils.response_util import * |
26 | | -from utils.log_util import logger |
27 | | -from utils.common_util import worship |
| 2 | +from server import app, AppConfig # noqa: F401 |
28 | 3 |
|
29 | | -app = FastAPI( |
30 | | - title=AppConfig.app_name, |
31 | | - description=f'{AppConfig.app_name}接口文档', |
32 | | - version=AppConfig.app_version, |
33 | | - root_path=AppConfig.app_root_path, |
34 | | -) |
35 | | - |
36 | | -# 前端页面url |
37 | | -origins = [ |
38 | | - "http://localhost:8088", |
39 | | - "http://127.0.0.1:8088", |
40 | | -] |
41 | | - |
42 | | -# 后台api允许跨域 |
43 | | -app.add_middleware( |
44 | | - CORSMiddleware, |
45 | | - allow_origins=origins, |
46 | | - allow_credentials=True, |
47 | | - allow_methods=["*"], |
48 | | - allow_headers=["*"], |
49 | | -) |
50 | | - |
51 | | - |
52 | | -@app.on_event("startup") |
53 | | -async def startup_event(): |
54 | | - logger.info(f"{AppConfig.app_name}开始启动") |
55 | | - worship() |
56 | | - await init_create_table() |
57 | | - app.state.redis = await RedisUtil.create_redis_pool() |
58 | | - await RedisUtil.init_sys_dict(app.state.redis) |
59 | | - await RedisUtil.init_sys_config(app.state.redis) |
60 | | - await SchedulerUtil.init_system_scheduler() |
61 | | - logger.info(f"{AppConfig.app_name}启动成功") |
62 | | - |
63 | | - |
64 | | -@app.on_event("shutdown") |
65 | | -async def shutdown_event(): |
66 | | - await RedisUtil.close_redis_pool(app) |
67 | | - await SchedulerUtil.close_system_scheduler() |
68 | | - |
69 | | - |
70 | | -# 自定义token检验异常 |
71 | | -@app.exception_handler(AuthException) |
72 | | -async def auth_exception_handler(request: Request, exc: AuthException): |
73 | | - return response_401(data=exc.data, message=exc.message) |
74 | | - |
75 | | - |
76 | | -# 自定义权限检验异常 |
77 | | -@app.exception_handler(PermissionException) |
78 | | -async def permission_exception_handler(request: Request, exc: PermissionException): |
79 | | - return response_403(data=exc.data, message=exc.message) |
80 | | - |
81 | | - |
82 | | -@app.exception_handler(HTTPException) |
83 | | -async def http_exception_handler(request: Request, exc: HTTPException): |
84 | | - return JSONResponse( |
85 | | - content=jsonable_encoder({"message": exc.detail, "code": exc.status_code}), |
86 | | - status_code=exc.status_code |
87 | | - ) |
88 | | - |
89 | | - |
90 | | -app.include_router(loginController, prefix="/login", tags=['登录模块']) |
91 | | -app.include_router(captchaController, prefix="/captcha", tags=['验证码模块']) |
92 | | -app.include_router(userController, prefix="/system", tags=['系统管理-用户管理']) |
93 | | -app.include_router(menuController, prefix="/system", tags=['系统管理-菜单管理']) |
94 | | -app.include_router(deptController, prefix="/system", tags=['系统管理-部门管理']) |
95 | | -app.include_router(roleController, prefix="/system", tags=['系统管理-角色管理']) |
96 | | -app.include_router(postController, prefix="/system", tags=['系统管理-岗位管理']) |
97 | | -app.include_router(dictController, prefix="/system", tags=['系统管理-字典管理']) |
98 | | -app.include_router(configController, prefix="/system", tags=['系统管理-参数管理']) |
99 | | -app.include_router(noticeController, prefix="/system", tags=['系统管理-通知公告管理']) |
100 | | -app.include_router(logController, prefix="/system", tags=['系统管理-日志管理']) |
101 | | -app.include_router(onlineController, prefix="/monitor", tags=['系统监控-在线用户']) |
102 | | -app.include_router(jobController, prefix="/monitor", tags=['系统监控-定时任务']) |
103 | | -app.include_router(serverController, prefix="/monitor", tags=['系统监控-服务监控']) |
104 | | -app.include_router(cacheController, prefix="/monitor", tags=['系统监控-缓存监控']) |
105 | | -app.include_router(commonController, prefix="/common", tags=['通用模块']) |
106 | 4 |
|
107 | 5 | if __name__ == '__main__': |
108 | 6 | uvicorn.run( |
109 | 7 | app='app:app', |
110 | 8 | host=AppConfig.app_host, |
111 | 9 | port=AppConfig.app_port, |
112 | | - reload=AppConfig.app_reload |
| 10 | + root_path=AppConfig.app_root_path, |
| 11 | + reload=AppConfig.app_reload, |
113 | 12 | ) |
0 commit comments