mirror of
https://github.com/PaiGramTeam/fastapi_genshin_map.git
synced 2024-11-23 23:04:34 +00:00
✨ 增加别名查找资源点的功能
This commit is contained in:
parent
886d0ba362
commit
61d61dee09
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -1,3 +1,3 @@
|
|||||||
[submodule "fastapi_genshin_map/GenshinMap"]
|
[submodule "fastapi_genshin_map/GetMapImage/GenshinMap"]
|
||||||
path = fastapi_genshin_map/GetMapImage/GenshinMap
|
path = fastapi_genshin_map/GetMapImage/GenshinMap
|
||||||
url = https://github.com/MingxuanGame/GenshinMap.git
|
url = https://github.com/MingxuanGame/GenshinMap.git
|
||||||
|
@ -4,6 +4,8 @@ from pathlib import Path
|
|||||||
from time import time
|
from time import time
|
||||||
from typing import Optional, Union
|
from typing import Optional, Union
|
||||||
|
|
||||||
|
import yaml
|
||||||
|
|
||||||
from fastapi import APIRouter, HTTPException, Query
|
from fastapi import APIRouter, HTTPException, Query
|
||||||
from fastapi.responses import FileResponse, StreamingResponse
|
from fastapi.responses import FileResponse, StreamingResponse
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
@ -21,6 +23,8 @@ CHASM_PATH = MAP / 'chasm.png'
|
|||||||
ENKANOMIYA_PATH = MAP / 'enkanomiya.png'
|
ENKANOMIYA_PATH = MAP / 'enkanomiya.png'
|
||||||
TEYVAT_PATH = MAP / 'teyvat.png'
|
TEYVAT_PATH = MAP / 'teyvat.png'
|
||||||
|
|
||||||
|
with open(Path(__file__).parent / 'map.yaml', 'r', encoding='utf-8') as ymlfile:
|
||||||
|
resource_aliases = yaml.load(ymlfile, Loader=yaml.SafeLoader)
|
||||||
|
|
||||||
MAP_ID_DICT = {
|
MAP_ID_DICT = {
|
||||||
'2': models.MapID.teyvat, # 提瓦特
|
'2': models.MapID.teyvat, # 提瓦特
|
||||||
@ -75,6 +79,13 @@ async def get_map_by_point(
|
|||||||
is_cluster: bool = False,
|
is_cluster: bool = False,
|
||||||
):
|
):
|
||||||
req_id = random.randint(10000, 99999)
|
req_id = random.randint(10000, 99999)
|
||||||
|
# 判断别名
|
||||||
|
for m in resource_aliases:
|
||||||
|
for a in resource_aliases[m]:
|
||||||
|
for r in resource_aliases[m][a]:
|
||||||
|
if resource_name == r:
|
||||||
|
resource_name = a
|
||||||
|
|
||||||
prefix = f'>> [请求序列:{req_id}]'
|
prefix = f'>> [请求序列:{req_id}]'
|
||||||
logger.info(f'{prefix} 收到资源点访问请求! [资源名称] {resource_name} [地图ID] {map_id}')
|
logger.info(f'{prefix} 收到资源点访问请求! [资源名称] {resource_name} [地图ID] {map_id}')
|
||||||
ERROR = {
|
ERROR = {
|
||||||
@ -168,6 +179,13 @@ async def get_map_by_point(
|
|||||||
lt_point = group_point[0][0]
|
lt_point = group_point[0][0]
|
||||||
rb_point = group_point[0][1]
|
rb_point = group_point[0][1]
|
||||||
|
|
||||||
|
# 增加裁切长宽
|
||||||
|
x = rb_point[0] - lt_point[0]
|
||||||
|
y = rb_point[1] - lt_point[1]
|
||||||
|
if x < 500 or y < 500:
|
||||||
|
lt_point = models.XYPoint(lt_point.x - 400, lt_point.y - 400)
|
||||||
|
rb_point = models.XYPoint(rb_point.x + 400, rb_point.y + 400)
|
||||||
|
|
||||||
# 开始裁切
|
# 开始裁切
|
||||||
genshin_map = genshin_map.crop(
|
genshin_map = genshin_map.crop(
|
||||||
(int(lt_point.x), int(lt_point.y), int(rb_point.x), int(rb_point.y))
|
(int(lt_point.x), int(lt_point.y), int(rb_point.x), int(rb_point.y))
|
||||||
|
@ -305,8 +305,13 @@
|
|||||||
劫波莲:
|
劫波莲:
|
||||||
- 劫波莲
|
- 劫波莲
|
||||||
- 多莉突破材料
|
- 多莉突破材料
|
||||||
|
- 纳西妲突破材料
|
||||||
|
- 草神突破材料
|
||||||
|
- 羽毛球突破材料
|
||||||
|
- 财迷突破材料
|
||||||
树王圣体菇:
|
树王圣体菇:
|
||||||
- 树王圣体菇
|
- 树王圣体菇
|
||||||
|
- 树菇
|
||||||
- 科莱突破材料
|
- 科莱突破材料
|
||||||
帕蒂沙兰:
|
帕蒂沙兰:
|
||||||
- 帕蒂沙兰
|
- 帕蒂沙兰
|
Loading…
Reference in New Issue
Block a user