feat: 首页功能特点根据用户类型动态显示

- 访客/免费/VIP各等级显示不同可用功能
- 有权限显示,无权限显示
- 添加.gitignore排除uploads/outputs/cache目录
This commit is contained in:
2026-04-14 18:00:06 +08:00
parent d338522692
commit f55f2027e5
3 changed files with 45 additions and 4 deletions

37
app.py
View File

@@ -120,12 +120,47 @@ def index():
daily_remaining = limits['daily_translations'] - guest.daily_count
max_pages = limits['max_pages']
# 获取用户的功能列表
if user:
user_features = limits.get('features', [])
else:
user_features = USER_LIMITS['guest']['features']
# 定义所有功能及其描述
all_features = {
'basic_translate': {'name': '自动翻译缓存,相同文件秒出结果', 'base': True},
'custom_instruction': {'name': '自定义翻译要求', 'base': False},
'compare_view': {'name': '原文译文对比查看', 'base': False},
'history': {'name': '翻译历史记录', 'base': False},
'retranslate': {'name': '不满意重新翻译', 'base': False},
'export_pdf': {'name': '导出PDF格式', 'base': False},
'batch_translate': {'name': '批量翻译', 'base': False},
'custom_terms': {'name': '自定义术语库', 'base': False},
'priority_queue': {'name': '优先队列处理', 'base': False},
}
# 判断功能是否可用vip_enterprise 的 features=["all"] 表示全部可用)
if user_features == ['all']:
user_features = list(all_features.keys())
# 构建功能展示列表
feature_display = []
for feat_key, feat_info in all_features.items():
has_feature = feat_key in user_features
# 基础功能(所有用户都有)不显示,只显示需要权限的功能
if not feat_info['base']:
feature_display.append({
'name': feat_info['name'],
'has': has_feature
})
return render_template('index.html',
user=user,
limits=limits,
daily_remaining=daily_remaining,
max_pages=max_pages,
plans=MEMBERSHIP_PLANS
plans=MEMBERSHIP_PLANS,
features=feature_display
)