同步操作将从 likeadmin/likeadmin(Python版)- MIT协议-免费任意商用- 管理后台_小程序_手机H5_PC端_uni-app 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import osfrom fastapi import FastAPI, Dependsfrom fastapi.staticfiles import StaticFilesfrom fastapi_pagination import add_paginationdef configure_event(app: FastAPI):"""配置事件处理, 并初始化三方库"""from fastapi_cache import FastAPICachefrom .config import get_settingsfrom .dependencies.database import dbfrom .dependencies.cache import redis_be, custom_key_buildersettings = get_settings()@app.on_event('startup')async def startup():await db.connect()FastAPICache.init(redis_be, prefix=settings.redis_prefix, key_builder=custom_key_builder)@app.on_event('shutdown')async def shutdown():await db.disconnect()def configure_middleware(app: FastAPI):"""配置中间件"""from uvicorn.middleware.proxy_headers import ProxyHeadersMiddlewarefrom .middlewares import init_cors_middleware, init_timeout_middlewareapp.add_middleware(ProxyHeadersMiddleware)init_cors_middleware(app)init_timeout_middleware(app)def configure_static(app: FastAPI):"""配置静态资源"""from .config import get_settingssettings = get_settings()# 上传路径创建if not os.path.exists(settings.upload_directory):os.makedirs(settings.upload_directory)# 上传路径配置app.mount(settings.upload_prefix, StaticFiles(directory=settings.upload_directory), name='upload')# 静态资源路径配置if settings.enabled_static:app.mount(settings.static_path, StaticFiles(directory=settings.static_directory), name='static')def configure_admin_router(app: FastAPI, prefix='/api'):"""配置后台路由"""from .dependencies.verify import verify_token, verify_show_modefrom .config import get_settingsfrom .admin.routers import user, common, system, monitor, setting, channel, article, decoratefrom .generator.routers import gensettings = get_settings()# 后台依赖admin_deps = [Depends(verify_token)]if settings.disallow_modify:admin_deps.append(Depends(verify_show_mode))# adminapp.include_router(user.router, prefix=prefix, dependencies=admin_deps)app.include_router(common.router, prefix=prefix, dependencies=admin_deps)app.include_router(system.router, prefix=prefix, dependencies=admin_deps)app.include_router(monitor.router, prefix=prefix, dependencies=admin_deps)app.include_router(setting.router, prefix=prefix, dependencies=admin_deps)app.include_router(article.router, prefix=prefix, dependencies=admin_deps)app.include_router(channel.router, prefix=prefix, dependencies=admin_deps)app.include_router(decorate.router, prefix=prefix, dependencies=admin_deps)# genapp.include_router(gen.router, prefix=prefix, dependencies=admin_deps)def configure_front_router(app: FastAPI, prefix='/api'):"""配置前台路由"""from .dependencies.verify import front_login_verifyfrom .front.routers import index, upload, article, login, user, sms# front 依赖front_deps = [Depends(front_login_verify)]# frontapp.include_router(index.router, prefix=prefix, dependencies=front_deps)app.include_router(upload.router, prefix=prefix, dependencies=front_deps)app.include_router(article.router, prefix=prefix, dependencies=front_deps)app.include_router(login.router, prefix=prefix, dependencies=front_deps)app.include_router(user.router, prefix=prefix, dependencies=front_deps)app.include_router(sms.router, prefix=prefix, dependencies=front_deps)def create_app() -> FastAPI:"""创建FastAPI后台应用,并初始化"""from .exceptions.global_exc import configure_exceptionapp = FastAPI()configure_static(app)configure_exception(app)configure_event(app)configure_middleware(app)configure_admin_router(app)add_pagination(app)return appdef create_front() -> FastAPI:"""创建FastAPI前台应用,并初始化"""from .exceptions.global_exc import configure_exceptionapp = FastAPI()configure_static(app)configure_exception(app)configure_event(app)configure_middleware(app)configure_front_router(app)add_pagination(app)return app
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。