小程序后端接入 talkingq 共享库并新增消息与定位能力

This commit is contained in:
stu2not
2026-04-20 20:07:35 +08:00
parent e7fe92b863
commit 24b1d1025b
22 changed files with 3469 additions and 762 deletions

View File

@@ -5,10 +5,12 @@ from urllib.parse import quote_plus
from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict
ENV_FILE = Path(__file__).resolve().parent.parent / ".env"
class Settings(BaseSettings):
model_config = SettingsConfigDict(
env_file=".env",
env_file=str(ENV_FILE),
env_file_encoding="utf-8",
extra="ignore",
)
@@ -27,7 +29,8 @@ class Settings(BaseSettings):
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_name: str = Field(default="talkingq", validation_alias="DB_NAME")
db_auto_init_tables: bool = Field(default=False, validation_alias="DB_AUTO_INIT_TABLES")
db_path: str = Field(default="./data.db", validation_alias="DB_PATH")
wechat_app_id: str = Field(default="", validation_alias="WECHAT_APP_ID")
wechat_app_secret: str = Field(default="", validation_alias="WECHAT_APP_SECRET")
@@ -89,6 +92,10 @@ class Settings(BaseSettings):
return self.sqlite_dsn
return self.mysql_dsn
@property
def uses_shared_talkingq_db(self) -> bool:
return self.db_type == "mysql" and self.db_name == "talkingq"
@lru_cache(maxsize=1)
def get_settings() -> Settings: