save
This commit is contained in:
+13
-6
@@ -13,11 +13,15 @@ app = Flask(__name__)
|
||||
app.config.from_object(Config)
|
||||
CORS(app) # 启用CORS,允许跨域请求
|
||||
|
||||
# 发型预览图本地目录(相对 frontend,经 Nginx /hair 对外提供)
|
||||
HAIRSTYLE_IMAGE_DIR = os.path.join(os.path.dirname(__file__), '../frontend/images/hairstyles')
|
||||
HAIRSTYLE_IMAGE_URL_PREFIX = '/hair/images/hairstyles'
|
||||
|
||||
# 加载发型数据
|
||||
def load_hairstyles_from_file():
|
||||
"""
|
||||
从hairId2url.txt文件加载发型数据
|
||||
解析文件中的发型ID和URL对应关系
|
||||
图片改为本机静态资源路径,不再直接返回 OSS URL
|
||||
"""
|
||||
hairstyles = []
|
||||
try:
|
||||
@@ -25,30 +29,33 @@ def load_hairstyles_from_file():
|
||||
with open('../hairId2url.txt', 'r', encoding='utf-8') as f:
|
||||
lines = f.readlines()
|
||||
|
||||
# 解析文件内容,提取发型ID和URL
|
||||
# 解析文件内容,提取发型ID
|
||||
for line in lines:
|
||||
line = line.strip()
|
||||
|
||||
# 查找包含 -> 分隔符的行,这些是发型ID和URL的映射
|
||||
if '->' in line and '.jpg' in line:
|
||||
# 分割行获取文件名和URL
|
||||
# 分割行获取文件名
|
||||
parts = line.split('->')
|
||||
if len(parts) == 2:
|
||||
filename = parts[0].strip()
|
||||
url = parts[1].strip()
|
||||
|
||||
# 提取发型ID(去掉.jpg后缀)
|
||||
if filename.endswith('.jpg'):
|
||||
hair_id = filename[:-4]
|
||||
local_path = os.path.join(HAIRSTYLE_IMAGE_DIR, filename)
|
||||
if not os.path.isfile(local_path):
|
||||
print(f'警告: 本地发型图片不存在: {local_path}')
|
||||
continue
|
||||
|
||||
# 生成发型名称
|
||||
hairstyle_name = f'发型{hair_id[-4:]}'
|
||||
|
||||
# 添加到发型列表
|
||||
# 添加到发型列表(本服务器静态路径)
|
||||
hairstyles.append({
|
||||
'id': hair_id,
|
||||
'name': hairstyle_name,
|
||||
'image_url': url
|
||||
'image_url': f'{HAIRSTYLE_IMAGE_URL_PREFIX}/{filename}'
|
||||
})
|
||||
except Exception as e:
|
||||
print(f'加载发型数据失败: {str(e)}')
|
||||
|
||||
Reference in New Issue
Block a user