Skip to content

Commit a1180b9

Browse files
committed
feat: 域名根据domain决定
1 parent d37a583 commit a1180b9

File tree

4 files changed

+37
-14
lines changed

4 files changed

+37
-14
lines changed

.env.sample

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,4 @@ DATABASE_PORT=3306
44
DATABASE_USER=""
55
DATABASE_PASSWD=""
66

7-
ICP_BEIAN=""
8-
ICP_URL="https://beian.miit.gov.cn/"
9-
ICP_ENTITY=""
10-
117
STATIC_APP_DIR="/app/static"

src/ICP/__init__.py

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,34 @@
1-
from datetime import datetime
21
from fastapi import APIRouter, Request
32
from loguru import logger
43

5-
from src.config import settings
4+
from src.database import ICP
65

76
router = APIRouter()
87

8+
AllICP = ICP.select()
9+
910

1011
@router.get("/icp")
11-
async def query_icp():
12+
async def query_icp(request: Request):
13+
domain = str(request.base_url)
14+
15+
icp = next(
16+
(icp for icp in AllICP if icp.domain in domain),
17+
None,
18+
)
19+
20+
if icp is None:
21+
logger.error(f"domain not found: {domain}")
22+
return {
23+
"domain": domain,
24+
"icp_beian": "",
25+
"icp_url": "",
26+
"icp_entity": "",
27+
}
28+
1229
return {
13-
"icp_beian": settings.icp_beian,
14-
"icp_url": settings.icp_url,
15-
"icp_entity": settings.icp_entity,
30+
"domain": domain,
31+
"icp_beian": icp.beian,
32+
"icp_url": icp.url,
33+
"icp_entity": icp.entity,
1634
}

src/config/__init__.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@ class Settings(BaseSettings):
77
database_port: int
88
database_user: str
99
database_passwd: str
10-
icp_beian: str
11-
icp_url: str
12-
icp_entity: str
10+
1311
static_app_dir: str
1412

1513
class Config:

src/database/__init__.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,17 @@ class Meta:
7676
database = db
7777
table_name = "project"
7878

79+
class ICP(Model):
80+
domain = CharField()
81+
beian = CharField()
82+
entity = CharField()
83+
url = CharField()
84+
85+
class Meta:
86+
database = db
87+
table_name = "icp"
88+
7989
Anno.create_table()
8090
Plan.create_table()
81-
Project.create_table()
91+
Project.create_table()
92+
ICP.create_table()

0 commit comments

Comments
 (0)