**功能概述**: 实现简易模式(Simple Mode),为个人用户和小团队提供简化的使用体验,隐藏复杂的分组、订阅、配额等概念。 **后端改动**: 1. 配置系统 - 新增 run_mode 配置项(standard/simple) - 支持环境变量 RUN_MODE - 默认值为 standard 2. 数据库初始化 - 自动创建3个默认分组:anthropic-default、openai-default、gemini-default - 默认分组配置:无并发限制、active状态、非独占 - 幂等性保证:重复启动不会重复创建 3. 账号管理 - 创建账号时自动绑定对应平台的默认分组 - 如果未指定分组,自动查找并绑定默认分组 **前端改动**: 1. 状态管理 - authStore 新增 isSimpleMode 计算属性 - 从后端API获取并同步运行模式 2. UI隐藏 - 侧边栏:隐藏分组管理、订阅管理、兑换码菜单 - 账号管理页面:隐藏分组列 - 创建/编辑账号对话框:隐藏分组选择器 3. 路由守卫 - 限制访问分组、订阅、兑换码相关页面 - 访问受限页面时自动重定向到仪表板 **配置示例**: ```yaml run_mode: simple run_mode: standard ``` **影响范围**: - 后端:配置、数据库迁移、账号服务 - 前端:认证状态、路由、UI组件 - 部署:配置文件示例 **兼容性**: - 简易模式和标准模式可无缝切换 - 不需要数据迁移 - 现有数据不受影响
89 lines
3.6 KiB
Plaintext
89 lines
3.6 KiB
Plaintext
# =============================================================================
|
||
# Sub2API Docker Environment Configuration
|
||
# =============================================================================
|
||
# Copy this file to .env and modify as needed:
|
||
# cp .env.example .env
|
||
# nano .env
|
||
#
|
||
# Then start with: docker-compose up -d
|
||
# =============================================================================
|
||
|
||
# -----------------------------------------------------------------------------
|
||
# Server Configuration
|
||
# -----------------------------------------------------------------------------
|
||
# Bind address for host port mapping
|
||
BIND_HOST=0.0.0.0
|
||
|
||
# Server port (exposed on host)
|
||
SERVER_PORT=8080
|
||
|
||
# Server mode: release or debug
|
||
SERVER_MODE=release
|
||
|
||
# 运行模式: standard (默认) 或 simple (内部自用)
|
||
# standard: 完整 SaaS 功能,包含计费/余额校验;simple: 隐藏 SaaS 功能并跳过计费/余额校验
|
||
RUN_MODE=standard
|
||
|
||
# Timezone
|
||
TZ=Asia/Shanghai
|
||
|
||
# -----------------------------------------------------------------------------
|
||
# PostgreSQL Configuration (REQUIRED)
|
||
# -----------------------------------------------------------------------------
|
||
POSTGRES_USER=sub2api
|
||
POSTGRES_PASSWORD=change_this_secure_password
|
||
POSTGRES_DB=sub2api
|
||
|
||
# -----------------------------------------------------------------------------
|
||
# Redis Configuration
|
||
# -----------------------------------------------------------------------------
|
||
# Leave empty for no password (default for local development)
|
||
REDIS_PASSWORD=
|
||
REDIS_DB=0
|
||
|
||
# -----------------------------------------------------------------------------
|
||
# Admin Account
|
||
# -----------------------------------------------------------------------------
|
||
# Email for the admin account
|
||
ADMIN_EMAIL=admin@sub2api.local
|
||
|
||
# Password for admin account
|
||
# Leave empty to auto-generate (will be shown in logs on first run)
|
||
ADMIN_PASSWORD=
|
||
|
||
# -----------------------------------------------------------------------------
|
||
# JWT Configuration
|
||
# -----------------------------------------------------------------------------
|
||
# Leave empty to auto-generate (recommended)
|
||
JWT_SECRET=
|
||
JWT_EXPIRE_HOUR=24
|
||
|
||
# -----------------------------------------------------------------------------
|
||
# Gemini OAuth (OPTIONAL, required only for Gemini OAuth accounts)
|
||
# -----------------------------------------------------------------------------
|
||
# Sub2API supports TWO Gemini OAuth modes:
|
||
#
|
||
# 1. Code Assist OAuth (需要 GCP project_id)
|
||
# - Uses: cloudcode-pa.googleapis.com (Code Assist API)
|
||
# - Auto scopes: cloud-platform + userinfo.email + userinfo.profile
|
||
# - OAuth Client: Can use built-in Gemini CLI client (留空即可)
|
||
# - Requires: Google Cloud Platform project with Code Assist enabled
|
||
#
|
||
# 2. AI Studio OAuth (不需要 project_id)
|
||
# - Uses: generativelanguage.googleapis.com (AI Studio API)
|
||
# - Default scopes: generative-language
|
||
# - OAuth Client: Requires your own OAuth 2.0 Client (内置 Gemini CLI client 不能申请 generative-language scope)
|
||
# - Requires: Create OAuth 2.0 Client in GCP Console + OAuth consent screen
|
||
# - Setup Guide: https://ai.google.dev/gemini-api/docs/oauth
|
||
# - ⚠️ IMPORTANT: OAuth Client 必须发布为正式版本 (Production)
|
||
# Testing 模式限制: 只能添加 100 个测试用户, refresh token 7 天后过期
|
||
# 发布步骤: GCP Console → OAuth consent screen → PUBLISH APP
|
||
#
|
||
# Configuration:
|
||
# Leave empty to use the built-in Gemini CLI OAuth client (Code Assist OAuth only).
|
||
# To enable AI Studio OAuth, set your own OAuth client ID/secret here.
|
||
GEMINI_OAUTH_CLIENT_ID=
|
||
GEMINI_OAUTH_CLIENT_SECRET=
|
||
# Optional; leave empty to auto-select scopes based on oauth_type
|
||
GEMINI_OAUTH_SCOPES=
|