diff --git a/.gitignore b/.gitignore index 6d006b1..54d08ba 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ instance/ *.db __pycache__/ +uploads/ +outputs/ +cache/ diff --git a/app.py b/app.py index d519d83..a1f841d 100644 --- a/app.py +++ b/app.py @@ -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 ) diff --git a/templates/index.html b/templates/index.html index 5090611..056eb74 100644 --- a/templates/index.html +++ b/templates/index.html @@ -72,10 +72,13 @@