新增小程序后端代码,包括数据库、路由、服务层等。
小程序前后端打通,包括登录、注册、绑定设备、查询绑定信息,修改小朋友名称等功能。
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from functools import lru_cache
|
||||
from pathlib import Path
|
||||
from urllib.parse import quote_plus
|
||||
|
||||
from pydantic import Field
|
||||
@@ -21,11 +22,13 @@ class Settings(BaseSettings):
|
||||
host: str = Field(default="0.0.0.0", validation_alias="HOST")
|
||||
port: int = Field(default=8001, validation_alias="PORT")
|
||||
|
||||
db_type: str = Field(default="mysql", validation_alias="DB_TYPE")
|
||||
db_host: str = Field(default="127.0.0.1", validation_alias="DB_HOST")
|
||||
db_port: int = Field(default=3306, validation_alias="DB_PORT")
|
||||
db_user: str = Field(default="root", validation_alias="DB_USER")
|
||||
db_password: str = Field(default="", validation_alias="DB_PASSWORD")
|
||||
db_name: str = Field(default="mini_program", validation_alias="DB_NAME")
|
||||
db_path: str = Field(default="./data.db", validation_alias="DB_PATH")
|
||||
jwt_secret: str = Field(
|
||||
default="dev_only_change_jwt_secret",
|
||||
validation_alias="JWT_SECRET",
|
||||
@@ -49,6 +52,18 @@ class Settings(BaseSettings):
|
||||
f"{self.db_name}?charset=utf8mb4"
|
||||
)
|
||||
|
||||
@property
|
||||
def sqlite_dsn(self) -> str:
|
||||
db_path = Path(self.db_path)
|
||||
db_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
return f"sqlite:///{db_path.absolute()}"
|
||||
|
||||
@property
|
||||
def database_dsn(self) -> str:
|
||||
if self.db_type == "sqlite":
|
||||
return self.sqlite_dsn
|
||||
return self.mysql_dsn
|
||||
|
||||
|
||||
@lru_cache(maxsize=1)
|
||||
def get_settings() -> Settings:
|
||||
|
||||
Reference in New Issue
Block a user