编写设置更新项目

This commit is contained in:
wcq 2023-10-07 17:00:03 +08:00
parent 85d41feac4
commit 823c489c47
6 changed files with 67 additions and 17 deletions

View File

@ -2,7 +2,7 @@
<module type="PYTHON_MODULE" version="4"> <module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager"> <component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" /> <content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" /> <orderEntry type="jdk" jdkName="Python 3.9" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>
<component name="PyDocumentationSettings"> <component name="PyDocumentationSettings">

View File

@ -1,4 +1,4 @@
[mysql] [mysql]
host = 127.0.0.1 host = 127.0.0.1
post = 3306 post = 3306
user = root user = root
@ -12,7 +12,6 @@ user = postgres
password = 12345 password = 12345
db = wd_rating db = wd_rating
[redis] [redis]
host = 127.0.0.1 host = 127.0.0.1
port = 6379 port = 6379
@ -31,18 +30,13 @@ institution_user_jwt_key = SAXCASD15QA124WRTWET
host = 127.0.0.1 host = 127.0.0.1
port = 27017 port = 27017
db = 三方数据 db = 三方数据
;user = fecr
;password = fecr1988.wcq
[hw_msg]
[hw_msg] # 华为短信配置
url = https://smsapi.cn-north-4.myhuaweicloud.com:443/sms/batchSendSms/v1 url = https://smsapi.cn-north-4.myhuaweicloud.com:443/sms/batchSendSms/v1
app_key = 3h499M186sTF8046f9J9I28J1L9m app_key = 3h499M186sTF8046f9J9I28J1L9m
app_secret = TMCaZWxoMbuW55l27zdxoDfsiKAH app_secret = TMCaZWxoMbuW55l27zdxoDfsiKAH
# 通道号
sender = 8823032033987 sender = 8823032033987
template_id = 2e129e3ad70d4ccaa8cbadf528d69c3a template_id = 2e129e3ad70d4ccaa8cbadf528d69c3a
# 签名名称
signature = 远东资信 signature = 远东资信
status_call_back = "" status_call_back = ""
@ -50,7 +44,6 @@ status_call_back = ""
port = 8021 port = 8021
title = 维德评级v3.0 title = 维德评级v3.0
sys_name = wd-rating sys_name = wd-rating
;host = https://testapi.fecribd.com
[tianyancha] [tianyancha]
token = 32737167-cb63-4ce9-9397-d66169488f51 token = 32737167-cb63-4ce9-9397-d66169488f51
@ -59,6 +52,5 @@ token = 32737167-cb63-4ce9-9397-d66169488f51
token = 92229502BD4C4B3E934607D4C1C5E711 token = 92229502BD4C4B3E934607D4C1C5E711
[rate_utils] [rate_utils]
;host = http://139.9.249.34:8010
host = http://127.0.0.1:8010 host = http://127.0.0.1:8010
;host = http://139.9.155.218:8010

View File

@ -21,16 +21,14 @@ from pathlib import Path
uvicorn_log = getLogger('uvicorn') uvicorn_log = getLogger('uvicorn')
# 配置数据 # 配置数据
conf = ConfigParser() conf = ConfigParser()
start_model = "dev" start_model = "dev"
if 'prod' in sys.argv: if 'prod' in sys.argv:
start_model = 'prod' start_model = 'prod'
conf_file_path = Path(__file__).parent.parent / 'config' / f'common{"." + start_model if start_model else ""}.ini'
print("start_model", start_model) print("start_model", start_model)
conf.read(Path(__file__).parent.parent / 'config' / f'common{"." + start_model if start_model else ""}.ini', conf.read(conf_file_path, encoding='utf-8-sig')
encoding='utf-8-sig')
class CompanyUserTokenDataModel(BaseModel): class CompanyUserTokenDataModel(BaseModel):

View File

@ -3,8 +3,10 @@ from fastapi import APIRouter
from .user.router import router as user_router from .user.router import router as user_router
# from .smebiz_rate.router import router as smebiz_rate_router # from .smebiz_rate.router import router as smebiz_rate_router
from .rate.router import router as rate_router from .rate.router import router as rate_router
from .system.router import router as system_router
router = APIRouter(prefix="") router = APIRouter(prefix="")
router.include_router(user_router) router.include_router(user_router)
router.include_router(rate_router) router.include_router(rate_router)
router.include_router(system_router)
# router.include_router(smebiz_rate_router) # router.include_router(smebiz_rate_router)

34
mods/system/router.py Normal file
View File

@ -0,0 +1,34 @@
from fastapi import APIRouter, Depends
from context.common import conf_file_path, conf, auth_util
from . import schemas
router = APIRouter(prefix="/system", dependencies=[Depends(auth_util.token_data_depend)])
@router.post("/setting/get", response_model=schemas.SettingGetRes)
def setting_get():
return schemas.SettingGetRes(data=conf._sections)
@router.post("/setting/update_item")
def setting_update_item(req: schemas.SettingUpdateItemReq):
with open(conf_file_path.parent / (conf_file_path.name + '.bak'), 'w', encoding="utf-8-sig") as configfile:
conf.write(configfile)
with open(conf_file_path, 'w', encoding="utf-8-sig") as configfile:
conf.set(req.section, req.option, req.value)
conf.write(configfile)
return "修改成功"
@router.post("/setting/update")
def setting_update(req: schemas.SettingUpdateReq):
with open(conf_file_path.parent / (conf_file_path.name + '.bak'), 'w', encoding="utf-8-sig") as configfile:
conf.write(configfile)
with open(conf_file_path, 'w', encoding="utf-8-sig") as configfile:
data = req.data
for section, item in data.items():
for option, value in item.items():
conf.set(section, option, value)
conf.write(configfile)
return "修改成功"

24
mods/system/schemas.py Normal file
View File

@ -0,0 +1,24 @@
from pydantic import BaseModel
from typing import Dict
class SettingItem(BaseModel):
section: str
option: str
value: str
class SettingData(BaseModel):
data: Dict[str, Dict[str, str]]
class SettingGetRes(SettingData):
pass
class SettingUpdateReq(SettingData):
pass
class SettingUpdateItemReq(SettingItem):
pass