diff --git a/Pipfile b/Pipfile new file mode 100644 index 0000000..fbd4030 --- /dev/null +++ b/Pipfile @@ -0,0 +1,35 @@ +[[source]] +url = "http://mirrors.cloud.aliyuncs.com/pypi/simple/" +verify_ssl = false +name = "pip_conf_index_global" + +[packages] +aiofiles = "==22.1.0" +aioredis = "==2.0.1" +aiomysql = "==0.1.1" +bcrypt = "==4.0.1" +email-validator = ">=2.0.0" +fastapi = "==0.111.0" +fastapi-plugins = "==0.13.0" +fastapi-sqlalchemy = "==0.2.1" +pydantic = ">=2.0.0" +pydantic-settings = "==2.2.1" +python-multipart = ">=0.0.7" +pytest = "==7.2.1" +requests = "==2.28.2" +sqlacodegen = "==2.3.0" +sqlalchemy = "==2.0.1" +uvicorn = "==0.20.0" +pyjwt = "==2.6.0" +passlib = "==1.7.4" +pillow = "==9.4.0" +captcha = "==0.4" +jinja2 = "==3.1.2" +pycryptodome = "==3.17" +qiniu = "==7.10.0" +pytz = "==2022.7.1" + +[dev-packages] + +[requires] +python_version = "3.10" diff --git a/conf/conf-dev.ini b/conf/conf-dev.ini index 6aa7713..dd787cd 100644 --- a/conf/conf-dev.ini +++ b/conf/conf-dev.ini @@ -11,8 +11,10 @@ database=test [redis] +redis_url="" redis_host=redis redis_port=6379 +redis_password="" [rabbitmq] rabbitmq_host=rabbitmq diff --git a/conf/conf-prod.ini b/conf/conf-prod.ini index 6aa7713..dd787cd 100644 --- a/conf/conf-prod.ini +++ b/conf/conf-prod.ini @@ -11,8 +11,10 @@ database=test [redis] +redis_url="" redis_host=redis redis_port=6379 +redis_password="" [rabbitmq] rabbitmq_host=rabbitmq diff --git a/config.py b/config.py index 42bba39..270b1b2 100644 --- a/config.py +++ b/config.py @@ -3,7 +3,7 @@ from configparser import ConfigParser from typing import Optional from fastapi_plugins import RedisSettings -from pydantic import BaseSettings +from pydantic_settings import BaseSettings class ReConfigParser(ConfigParser): diff --git a/main.py b/main.py index f546ad2..3a2fef1 100644 --- a/main.py +++ b/main.py @@ -29,10 +29,10 @@ def create_app(): mysql_config, redis_config = init_config() # 添加sqlalchemy数据库中间件 # once the middleware is applied, any route can then access the database session from the global ``db`` - app.add_middleware(DBSessionMiddleware, db_url=mysql_config.sqlalchemy_db_uri) + # app.add_middleware(DBSessionMiddleware, db_url=mysql_config.sqlalchemy_db_uri) # Redis 缓存初始化 - await fastapi_plugins.redis_plugin.init_app(app, redis_config) - await fastapi_plugins.redis_plugin.init() + # await fastapi_plugins.redis_plugin.init_app(app, redis_config) + # await fastapi_plugins.redis_plugin.init() @app.on_event("shutdown") async def shutdown_event(): diff --git a/requirements.txt b/requirements.txt index 6827614..44f68b8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,11 +2,12 @@ aiofiles==22.1.0 aioredis==2.0.1 aiomysql==0.1.1 bcrypt==4.0.1 -email-validator==1.3.1 +email_validator>=2.0.0 fastapi==0.111.0 -fastapi-plugins==0.11.0 +fastapi-plugins==0.13.0 FastAPI-SQLAlchemy==0.2.1 -pydantic==1.10.4 +pydantic>=2.0.0 +pydantic-settings==2.2.1 # pydantic-sqlalchemy==0.0.9 python-multipart>=0.0.7 pytest==7.2.1 diff --git a/src/request/__init__.py b/src/dtos/__init__.py similarity index 85% rename from src/request/__init__.py rename to src/dtos/__init__.py index df3a223..a50248d 100644 --- a/src/request/__init__.py +++ b/src/dtos/__init__.py @@ -52,9 +52,9 @@ class SendCaptchaSuccess(BaseResponse): class BadRequestError(ErrorModel): - code = 400 - message = "BAD REQUEST" - details = "请求参数错误" + code: int = 400 + message: str = "BAD REQUEST" + details: str = "请求参数错误" class BadRequestResponse(BaseResponse): @@ -62,9 +62,9 @@ class BadRequestResponse(BaseResponse): class ServerInternalError(ErrorModel): - code = 500 - message = "INTERNAL SERVER ERROR" - details = "服务器内部错误" + code: int = 500 + message: str = "INTERNAL SERVER ERROR" + details: str = "服务器内部错误" class ServerInternalResponse(BaseResponse): diff --git a/src/request/example.py b/src/dtos/example.py similarity index 100% rename from src/request/example.py rename to src/dtos/example.py diff --git a/start.sh b/start.sh old mode 100644 new mode 100755 index 6a97110..7c9b752 --- a/start.sh +++ b/start.sh @@ -1,2 +1,2 @@ export FAST_API_ENV=dev -uvicorn main:app --reload --host 0.0.0.0 --port 21021 \ No newline at end of file +uvicorn main:fast_api_app --reload --host 0.0.0.0 --port 21021 \ No newline at end of file